1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-11 22:11:21 -08:00
Commit graph

13082 commits

Author SHA1 Message Date
Stefan Monnier
c79a509384 Add non-TS modes as extra parent of TS modes (bug#68246)
Record the fact that TS modes are alternatives to the non-TS
modes using the new `derived-mode-add-parents` functionality.
Do the same for long standing similar issues with CPerl-mode.

* lisp/textmodes/yaml-ts-mode.el (yaml-ts-mode):
* lisp/textmodes/toml-ts-mode.el (toml-ts-mode):
* lisp/textmodes/html-ts-mode.el (html-ts-mode):
* lisp/textmodes/css-mode.el (css-ts-mode):
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode, tsx-ts-mode):
* lisp/progmodes/sh-script.el (bash-ts-mode):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
* lisp/progmodes/python.el (python-ts-mode):
* lisp/progmodes/lua-ts-mode.el (lua-ts-mode):
* lisp/progmodes/json-ts-mode.el (json-ts-mode):
* lisp/progmodes/js.el (js-ts-mode):
* lisp/progmodes/java-ts-mode.el (java-ts-mode):
* lisp/progmodes/heex-ts-mode.el (heex-ts-mode):
* lisp/progmodes/go-ts-mode.el (go-ts-mode, go-mod-ts-mode):
* lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode):
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode):
* lisp/progmodes/csharp-mode.el (csharp-ts-mode):
* lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode):
* lisp/progmodes/c-ts-mode.el (c-ts-mode, c++-ts-mode):
Add non-TS mode as extra parent.

* lisp/progmodes/cperl-mode.el (cperl-mode): Add `perl-mode` as
extra parent.
2024-03-09 10:29:06 -05:00
Stefan Monnier
4fdcbd09af cl-preloaded.el (built-in-class): New type
Add classes describing the built-in types.

* lisp/emacs-lisp/cl-preloaded.el (built-in-class): New type.
(cl--define-built-in-type): New aux macro.
(all built-in types): "Define" them with it.
(cl--builtin-type-p): New aux function.
(cl--struct-name-p): Use it.
(cl--direct-supertypes-of-type, cl--typeof-types, cl--all-builtin-types):
Move the definitions to after the built-in classes are defined,
and rewrite to make use of those classes.

* lisp/emacs-lisp/cl-extra.el (cl-describe-type):
Accept two (unused) optional args, for use with `describe-symbol-backends`.
(describe-symbol-backends): Simplify accordingly and
add ourselves at the end.
(cl--class-children): New function.
(cl--describe-class): Use it.  Also don't show a silly empty list of slots
for the built-in types.
2024-03-08 02:03:55 -05:00
Mattias Engdegård
61b2f5f96b Single string literal in body is return value only, not doc string
A function or macro body consisting of a single string literal now only
uses it as a return value.  Previously, it had the dual uses as return
value and doc string, which was never what the programmer wanted and
had some inconvenient consequences (bug#69387).

This change applies to `lambda`, `defun`, `defsubst` and `defmacro`
forms; most other defining forms already worked in the sensible way.

* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda):
Don't use a lone string literal as doc string.
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defun.el
(foo): Update docstring warning test.
* doc/lispref/functions.texi (Function Documentation): Update.
* etc/NEWS: Announce.
2024-03-07 13:47:53 +01:00
Jim Porter
59e470dd5d When navigating through history in EWW, don't keep adding to 'eww-history'
This resolves an issue where navigating back and then forward kept
adding new history entries so you could never hit the "end" (bug#69232).

* lisp/net/eww.el (eww-before-browse-history-function): New option.
(eww-history-position): Add docstring.
(eww-mode-map, eww-context-menu): Use correct predicates for when to
enable back/forward.
(eww-save-history): Save history entry in its original place when
viewing a historical page.
(eww--before-browse): New function...
(eww, eww-follow-link, eww-readable): ... call it.
(eww-render): Don't set 'eww-history-position' here...
(eww--before-browse): ... instead, set it here.
(eww-back-url): Set 'eww-history-position' based on the result of
'eww-save-history'.
(eww-forward-url): Set 'eww-history-position' directly, since
'eww-save-history' no longer adds a new entry in this case.
(eww-delete-future-history, eww-clone-previous-history): New functions.

* test/lisp/net/eww-tests.el: New file.

* etc/NEWS: Announce this change.
2024-03-06 14:36:23 -08:00
Eli Zaretskii
33976ecf24 ; * etc/NEWS: Fix wording and punctuation of a recently added entry. 2024-03-05 19:32:29 +02:00
Juri Linkov
3cb0614507 * lisp/tab-bar.el (tab-bar-tab-post-select-functions): New hook (bug#69093).
(tab-bar-select-tab): Call tab-bar-tab-post-select-functions at the end.
2024-03-05 19:14:28 +02:00
Juri Linkov
f16a85e317 New property 'context-menu-functions' (bug#62250)
* lisp/iimage.el (iimage-mode-buffer): Set context-menu-functions
text property to '(image-context-menu)'.

* lisp/image.el (image-context-menu): New function.
(put-image): Set context-menu-functions overlay property
to '(image-context-menu)'.
(insert-image, insert-sliced-image): Set context-menu-functions
text property to '(image-context-menu)'.

* lisp/mouse.el (context-menu-map): Use mouse-posn-property
'context-menu-functions' and call its funs at the end.
2024-03-05 18:50:51 +02:00
Stefan Monnier
167c17c1ad admin/syncdoc-type-hierarchy.el: Move from etc
AFAICT `admin` is where we keep these kinds of files.
2024-03-04 12:02:45 -05:00
Mattias Engdegård
3b7cb55e5b ; * etc/NEWS: add missing definite article 2024-03-04 14:13:26 +01:00
Stefan Monnier
2b5d43081a (major-mode-remap(-defaults)): New var and function (bug#69191)
While `major-mode-remap-alist` provides a way for users to indicate the
major mode of their choice, we need a similar variable for the
use of packages.

This patch adds a new `major-mode-remap-defaults` and changes various
packages to obey it or make use of it.
I think it nicely cleans the regexp duplication between CC-mode and
`c-ts-mode.el` and also makes it easier/cleaner for users to override
the changes made by `*-ts-mode.el`.

* lisp/files.el (major-mode-remap-defaults): New variable.
(major-mode-remap): New function.
(set-auto-mode-0): Use it.
* doc/lispref/modes.texi (Auto Major Mode): Document them.

* lisp/textmodes/tex-mode.el (tex--redirect-to-submode):
Use `major-mode-remap`.
(major-mode-remap-defaults): Set it to remap AUCTeX modes by default.
* lisp/progmodes/ruby-ts-mode.el (auto-mode-alist): Leave it alone.
(major-mode-remap-defaults): Set this one instead.
* lisp/progmodes/c-ts-mode.el (c-or-c++-ts-mode): Use `major-mode-remap`.
(auto-mode-alist): Leave it alone.
(major-mode-remap-defaults): Set this one instead.
* lisp/org/ox.el (org-export-to-buffer): Modernize docstring accordingly.
* lisp/progmodes/cc-mode.el (c-or-c++-mode):
* lisp/org/ox-latex.el (org-latex-export-as-latex):
* lisp/org/ox-koma-letter.el (org-koma-letter-export-as-latex):
* lisp/org/ox-beamer.el (org-beamer-export-as-latex):
Use `major-mode-remap` when available.
2024-03-03 23:58:18 -05:00
Yoshiku Onu
c3dc64a107 Add new input method "english-colemak"
* lisp/leim/quail/latin-post.el ("english-colemak"): New input
method.  (Bug#69471)

* etc/NEWS: Announce it.

Copyright-paperwork-exempt: yes
2024-03-02 10:00:10 +02:00
Andrea Corallo
c55694785e Merge branch 'feature/type-hierarchy' into 'master' 2024-03-01 09:30:44 +01:00
Eli Zaretskii
4dd4f145b8 ; Improve documentation of last changeset (bug#69305)
* etc/NEWS (Example):
* doc/lispref/modes.texi (Tabulated List Mode): Improve
documentation of 'Buffer-menu-group-by' and
'tabulated-list-groups'.

* lisp/buff-menu.el (Buffer-menu-group-by): Doc fix.
2024-02-29 20:57:12 +02:00
Juri Linkov
8305d0e0c9 Add tabulated-list-groups and Buffer-menu-group-by (bug#69305)
* doc/lispref/modes.texi (Tabulated List Mode):
Add defvar tabulated-list-groups.

* lisp/buff-menu.el (Buffer-menu-group-by): New defcustom.
(Buffer-menu-unmark-all-buffers): Use tabulated-list-get-entry
to check whether the current line contains an entry.
(list-buffers-noselect): Enable outline-minor-mode
for tabulated-list-groups.
(list-buffers--refresh): When Buffer-menu-group-by is non-nil,
set tabulated-list-groups.
(Buffer-menu-group-by-mode, Buffer-menu-group-by-root):
New functions.

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-groups):
New buffer-local variable.
(tabulated-list-print-fake-header): Add distinct overlay
property 'fake-header'.
(tabulated-list-header-overlay-p): Filter out overlays that
don't have the property 'fake-header'.
(tabulated-list-print): Use the variable 'tabulated-list-groups'
to sort entries in groups separately.
(tabulated-list-print-entries): New function factored out from
'tabulated-list-print'.

* test/lisp/emacs-lisp/tabulated-list-tests.el (tabulated-list-groups):
New test.
2024-02-29 19:50:04 +02:00
Eli Zaretskii
e18a6fbb44 ; Tweak recently-added NEWS entry. 2024-02-29 18:25:12 +02:00
Eli Zaretskii
3923998240 Improve documentation of recent changes in comp-run.el
* lisp/emacs-lisp/comp-run.el
(native-comp-async-warnings-errors-kind): Rename from
'native-comp-async-report-warnings-errors-kind', and rename
'importants' to 'important'; all users changed.  Doc fix.

* etc/NEWS: Announce the new option.
2024-02-29 15:37:19 +02:00
Andrea Corallo
62bdd307a7 * etc/TODO (Native compiler improvements): Remove an entry as completed. 2024-02-29 14:21:49 +01:00
Andrea Corallo
1fbe56c327 Merge remote-tracking branch 'origin/master' into 'feature/type-hierarchy' 2024-02-28 20:47:57 +01:00
Po Lu
babe6a5e94 Introduce a new TRAMP method `androidsu'
* doc/misc/tramp.texi (Quick Start Guide): Document the new
method.

* etc/NEWS (Tramp): Announce new method.

* lisp/net/tramp-adb.el (tramp-adb-handle-file-attributes)
(tramp-adb-handle-directory-files-and-attributes)
(tramp-adb-handle-file-name-all-completions): Properly print
ls's exit status in the presence of a pipe.
(tramp-adb-handle-copy-file): If the androidsu backend is in
use, call cp rather than adb push.
(tramp-adb-send-command): Disable ADB-specific code under
androidsu.
(tramp-adb-send-command-and-check): New argument
COMMAND-AUGMENTED-P.

* lisp/net/tramp-androidsu.el (tramp, tramp-adb, tramp-sh)
(tramp-androidsu-method, add-to-list)
(tramp-androidsu-maybe-open-connection)
(tramp-androidsu-generate-wrapper)
(tramp-androidsu-handle-access-file)
(tramp-androidsu-handle-add-name-to-file)
(tramp-androidsu-handle-copy-directory)
(tramp-androidsu-adb-handle-copy-file)
(tramp-androidsu-adb-handle-delete-directory)
(tramp-androidsu-adb-handle-delete-file)
(tramp-androidsu-handle-directory-file-name)
(tramp-androidsu-handle-directory-files)
(tramp-androidsu-adb-handle-directory-files-and-attributes)
(tramp-androidsu-handle-dired-uncache)
(tramp-androidsu-adb-handle-exec-path)
(tramp-androidsu-handle-expand-file-name)
(tramp-androidsu-handle-file-accessible-directory-p)
(tramp-androidsu-adb-handle-file-attributes)
(tramp-androidsu-handle-file-directory-p)
(tramp-androidsu-handle-file-equal-p)
(tramp-androidsu-adb-handle-file-executable-p)
(tramp-androidsu-adb-handle-file-exists-p)
(tramp-androidsu-handle-file-group-gid)
(tramp-androidsu-handle-file-in-directory-p)
(tramp-androidsu-sh-handle-file-local-copy)
(tramp-androidsu-handle-file-locked-p)
(tramp-androidsu-handle-file-modes)
(tramp-androidsu-adb-handle-file-name-all-completions)
(tramp-androidsu-handle-file-name-as-directory)
(tramp-androidsu-handle-file-name-case-insensitive-p)
(tramp-androidsu-handle-file-name-completion)
(tramp-androidsu-handle-file-name-directory)
(tramp-androidsu-handle-file-name-nondirectory)
(tramp-androidsu-handle-file-newer-than-file-p)
(tramp-androidsu-handle-file-notify-add-watch)
(tramp-androidsu-handle-file-notify-rm-watch)
(tramp-androidsu-handle-file-notify-valid-p)
(tramp-androidsu-adb-handle-file-readable-p)
(tramp-androidsu-handle-file-regular-p)
(tramp-androidsu-handle-file-remote-p)
(tramp-androidsu-handle-file-selinux-context)
(tramp-androidsu-handle-file-symlink-p)
(tramp-androidsu-adb-handle-file-system-info)
(tramp-androidsu-handle-file-truename)
(tramp-androidsu-handle-file-user-uid)
(tramp-androidsu-adb-handle-file-writable-p)
(tramp-androidsu-handle-find-backup-file-name)
(tramp-androidsu-handle-insert-directory)
(tramp-androidsu-handle-insert-file-contents)
(tramp-androidsu-handle-list-system-processes)
(tramp-androidsu-handle-load, tramp-androidsu-handle-lock-file)
(tramp-androidsu-handle-make-auto-save-file-name)
(tramp-androidsu-adb-handle-make-directory)
(tramp-androidsu-handle-make-lock-file-name)
(tramp-androidsu-handle-make-nearby-temp-file)
(tramp-androidsu-adb-handle-make-process)
(tramp-androidsu-sh-handle-make-symbolic-link)
(tramp-androidsu-handle-memory-info)
(tramp-androidsu-handle-process-attributes)
(tramp-androidsu-adb-handle-process-file)
(tramp-androidsu-adb-handle-rename-file)
(tramp-androidsu-adb-handle-set-file-modes)
(tramp-androidsu-adb-handle-set-file-times)
(tramp-androidsu-handle-set-visited-file-modtime)
(tramp-androidsu-handle-shell-command)
(tramp-androidsu-handle-start-file-process)
(tramp-androidsu-handle-substitute-in-file-name)
(tramp-androidsu-handle-temporary-file-directory)
(tramp-androidsu-adb-handle-get-remote-gid)
(tramp-androidsu-adb-handle-get-remote-groups)
(tramp-androidsu-adb-handle-get-remote-uid)
(tramp-androidsu-handle-unlock-file)
(tramp-androidsu-handle-verify-visited-file-modtime)
(tramp-androidsu-handle-write-region)
(tramp-androidsu-file-name-handler-alist)
(tramp-androidsu-file-name-p, tramp-androidsu-file-name-handler)
(tramp-register-foreign-file-name-handler)
(tramp-adb-connection-local-default-ps-profile, shell)
(tramp-unload-hook, tramp-androidsu): New file.
2024-02-26 14:13:14 +08:00
Michael Albinus
39e3fce0d5 'read-passwd' can toggle the visibility of passwords
* doc/lispref/minibuf.texi (Reading a Password):
* etc/NEWS: 'read-passwd' can toggle the visibility of passwords.

* etc/images/README: Mention the new images below.
* etc/images/conceal.pbm:
* etc/images/conceal.svg:
* etc/images/reveal.pbm:
* etc/images/reveal.svg: New images.

* lisp/simple.el (read-passwd--mode-line-buffer)
(read-passwd--mode-line-icon): New defvars.
(read-passwd--toggle-visibility, read-passwd-mode): New defuns.

* lisp/subr.el (read-passwd-map): Add 'TAB' binding.
(read-passwd--hide-password): New defvar.
(read-passwd--hide-password): Rename function from
`read-password--hide-password'.  Adapt callees.  Implement both
hiding and showing the password.  (Bug#69237)
(read-passwd): Call `read-passwd-mode'.
2024-02-25 10:06:09 +01:00
Stefan Monnier
0503657a9c * etc/NEWS.25: Add 'obarrayp' as well 2024-02-24 13:12:20 -05:00
Stefan Monnier
5fa6042c73 * etc/NEWS.25: Add missing announcement of 'obarray' package 2024-02-24 12:49:51 -05:00
Eli Zaretskii
3076e79a6a ; Fix a recent change in diff-mode.el
* lisp/vc/diff-mode.el (diff-refine-nonmodified): Doc fix.

* etc/NEWS: Improve wording.
2024-02-24 17:13:47 +02:00
Eli Zaretskii
229b3edb07 Merge from origin/emacs-29
01ebc95114 Fix 'help-quick-toggle'
afe49c7e2a ; * admin/authors.el (authors-aliases): Fix last change.
8b1f10f8cf ; Normalize Morgan Smith's attributions.
70cf4b694b ; * etc/PROBLEMS: Describe input lags due to GTK IM (bug#...
f28a557c7d * doc/lispref/modes.texi (Tabulated List Mode): Update.
d6131b5902 * lisp/net/tramp.el (tramp-methods): Fix typo in docstrin...
2eb85a9de1 ; * lisp/emacs-lisp/pcase.el (pcase-let*, pcase-let): Ano...
4c6653f23a ; * lisp/emacs-lisp/pcase.el (pcase-let*, pcase-let): Doc...
5a64d2c759 java-ts-mode: Indentation for opening brace on a separate...
9e56bd5ed8 Removed decommissioned PGP keyservers
e56f0ef51b org: Fix security prompt for downloading remote resource
65ba327465 Revert "Update to Org 9.6.19"
07a392f445 Update to Org 9.6.19
2024-02-24 06:35:16 -05:00
Eli Zaretskii
4eed2768b1 ; Fix last change. 2024-02-24 13:03:11 +02:00
Mattias Engdegård
1972beda6d ; * etc/NEWS: Recommend obarray-make as correct replacement. 2024-02-24 11:43:28 +01:00
Eli Zaretskii
15b6d72599 ; * etc/NEWS: How to fix old code that uses vectors as obarrays. 2024-02-24 09:21:35 +02:00
Emanuel Berg
15a140a246 Make erc-cmd-AMSG session local; add /GMSG, /AME and /GME
* etc/ERC-NEWS: Mention new slash commands.
* lisp/erc/erc.el (erc-cmd-AMSG): Make it consistent with the doc
string by only affecting the current connection.
(erc-cmd-GMSG, erc-cmd-AME, erc-cmd-GME): New IRC slash commands.
* test/lisp/erc/erc-scenarios-misc-commands.el
(erc-scenarios-misc-commands--AMSG-GMSG-AME-GME): New test.
* test/lisp/erc/resources/commands/amsg-barnet.eld: New file.
* test/lisp/erc/resources/commands/amsg-foonet.eld: New file.
(Bug#68401)
2024-02-23 18:45:44 -08:00
F. Jason Park
56706254a8 ; Don't mention erc-branded Compat macros in ERC-NEWS
* doc/misc/erc.texi: Change fancy SASL example to also demonstrate
`let'-binding a local module.
* etc/ERC-NEWS: Don't mention `erc-compat-call' and
`erc-compat-function' because Emacs now ships with a compat.el stub
library.
* lisp/erc/erc-backend.el (erc-decode-parsed-server-response): Add
comments.
* lisp/erc/erc.el (erc): Mention return value.
2024-02-23 18:29:07 -08:00
Stefan Monnier
26290870b3 diff-mode.el (diff-refine-nonmodified): New option
* lisp/vc/diff-mode.el (diff-font-lock-keywords): Refer directly to
font-lock faces.
(diff-apply-hunk): Use `user-error` for errors usually not due to bugs.
(diff--refine-propertize): New function.
(diff-refine-nonmodified): New custom var (bug#61396).
(diff--refine-hunk): Use them.
2024-02-23 17:03:10 -05:00
Mattias Engdegård
90d3b3408e Warn about docstrings with control characters
It is easy to include control chars in doc strings by mistake, and the
result is often an unreadable mess.

* lisp/emacs-lisp/bytecomp.el (byte-compile-warning-types)
(byte-compile-warnings, byte-compile--docstring-style-warn):
Add `docstrings-control-chars` warning.
* etc/NEWS: Announce.
2024-02-23 15:16:30 +01:00
Mattias Engdegård
6803b70c19 Update NEWS and manual after obarray changes
* doc/lispref/abbrevs.texi (Abbrev Tables):
* doc/lispref/symbols.texi (Creating Symbols):
* doc/lispref/objects.texi (Type Predicates): Update text for obarray
now being an opaque type.
* etc/NEWS: Announce.
2024-02-23 13:02:27 +01:00
Mattias Engdegård
462d8ba813 Add a proper type for obarrays
The new opaque type replaces the previous use of vectors for obarrays.
`obarray-make` now returns objects of this type.  Functions that take
obarrays continue to accept vectors for compatibility, now just using
their first slot to store an actual obarray object.

obarray-size and obarray-default-size now obsolete.

* lisp/obarray.el (obarray-default-size, obarray-size):
Declare obsolete.
(obarray-make, obarrayp, obarray-clear): Remove from here.
* src/fns.c (reduce_emacs_uint_to_hash_hash): Remove from here.
* src/lisp.h (struct Lisp_Obarray, OBARRAYP, XOBARRAY, CHECK_OBARRAY)
(make_lisp_obarray, obarray_size, check_obarray)
(obarray_iter_t, make_obarray_iter, obarray_iter_at_end)
(obarray_iter_step, obarray_iter_symbol, DOOBARRAY, knuth_hash): New.
(reduce_emacs_uint_to_hash_hash): Moved here.
* src/lread.c (check_obarray): Renamed and reworked as...
(checked_obarray_slow): ...this.
(intern_sym, Funintern, oblookup, map_obarray)
(Finternal__obarray_buckets): Adapt to new type.
(obarray_index, allocate_obarray, make_obarray, grow_obarray)
(obarray_default_bits, Fobarray_make, Fobarrayp, Fobarray_clear): New.
* etc/emacs_lldb.py (Lisp_Object):
* lisp/emacs-lisp/cl-macs.el (`(,type . ,pred)):
* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types):
* lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers):
* lisp/emacs-lisp/comp.el (comp-known-predicates):
* src/alloc.c (cleanup_vector, process_mark_stack):
* src/data.c (Ftype_of, syms_of_data):
* src/minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
* src/pdumper.c (dump_obarray_buckets, dump_obarray, dump_vectorlike):
* src/print.c (print_vectorlike_unreadable):
* test/lisp/abbrev-tests.el (abbrev-make-abbrev-table-test):
* test/lisp/obarray-tests.el (obarrayp-test)
(obarrayp-unchecked-content-test, obarray-make-default-test)
(obarray-make-with-size-test):
Adapt to new type.
2024-02-23 13:02:27 +01:00
Juri Linkov
cc58626f64 * lisp/help-fns.el (describe-mode-outline): New user option (bug#64684).
(describe-mode, describe-mode--minor-modes): Use 'describe-mode-outline'.

* lisp/help-mode.el (help-setup-xref): After disabling outline-minor-mode
also kill all outline-related local variables.  So that they won't affect
the output of other help commands in the same help buffer.
2024-02-22 19:38:17 +02:00
Eli Zaretskii
70cf4b694b ; * etc/PROBLEMS: Describe input lags due to GTK IM (bug#69246). 2024-02-22 15:15:53 +02:00
Michael Albinus
4e9993cada Add Tramp methods dockercp and podmancp
* doc/misc/tramp.texi (External methods):  Add dockercp and podmancp.

* etc/NEWS: Add Tramp methods "dockercp" and "podmancp".

* lisp/net/tramp.el (tramp-handle-make-process):
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-maybe-open-connection):
* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-process-file)
(tramp-sshfs-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-send-command): Adapt
`tramp-expand-args' calls.

* lisp/net/tramp-container.el (tramp-dockercp-method)
(tramp-podmancp-method): New defconst.
(tramp-methods) <dockercp, podmancp>: Add new methods.
(tramp-container--completion-function): Adapt docstring.  Use it
for "dockercp" and "podmancp" completion.

* lisp/net/tramp.el (tramp-get-remote-tmpdir):
* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use a default
value with `tramp-get-method-parameter'.

* lisp/net/tramp-sh.el (tramp-methods) <nc>: Add `tramp-copy-file-name'.
(tramp-default-copy-file-name): New defconst.
(tramp-make-copy-file-name): Rename from
`tramp-make-copy-program-file-name'.  Use method parameter
`tramp-copy-file-name'.  (Bug#69085)
(tramp-do-copy-or-rename-file-out-of-band): Adapt callees.

* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-get-method-parameter, tramp-expand-args): New optional
argument DEFAULT.

* test/lisp/net/tramp-tests.el (tramp--test-container-p): Adapt.
(tramp--test-container-oob-p): New defun.
(tramp-test17-dired-with-wildcards, tramp-test35-remote-path)
(tramp-test41-special-characters): Use it.
(tramp--test-set-ert-test-documentation): Use `split-string'.
2024-02-20 12:52:40 +01:00
Andrea Corallo
6a2b43c569 * etc/syncdoc-type-hierarchy.el (syncdoc-lispref-dir): Clean-up. 2024-02-19 17:47:45 +01:00
Andrea Corallo
afed7f959a * etc/syncdoc-type-hierarchy.el: Update comment. 2024-02-19 17:47:37 +01:00
Andrea Corallo
0393bfdc91 Make type hierarchy textual representation a table
* etc/syncdoc-type-hierarchy.el (syncdoc-make-type-table): New function.
(syncdoc-update-type-hierarchy): Make use of.
* doc/lispref/type_hierarchy.txt: Regenerate.
2024-02-19 17:47:37 +01:00
Eli Zaretskii
65ba327465 Revert "Update to Org 9.6.19"
This reverts commit 07a392f445.
It was installed by mistake.
2024-02-17 18:53:05 +02:00
Kyle Meyer
07a392f445 Update to Org 9.6.19 2024-02-17 10:17:41 -05:00
Aleksandr Vityazev
6477be93bd Make key selection method configurable in EPA.
* lisp/epa.el (epa-keys-select-method): New defcustom.
(epa--select-keys-in-minibuffer): New function.
(epa-select-keys): Use new option and function.
* etc/NEWS: Announce it.
* doc/misc/epa.texi (Key Management): Document it.
(Bug#69133)
2024-02-17 11:27:09 +02:00
F. Jason Park
d7c18a7b4f Ignore the TGT-LIST parameter in erc-open
* etc/ERC-NEWS: Mention `erc-open' now ignores TGT-LIST.
* lisp/erc/erc.el (erc-open): Set `erc-default-recipients' to a list
containing only the supplied target.  Other values may cause ERC to
malfunction.  Also redo doc string.
2024-02-16 19:58:35 -08:00
Andrea Corallo
3211825fe7 Generate automatically graphical and textual type hierarchy representation
* etc/syncdoc-type-hierarchy.el: New file.
* doc/lispref/type_hierarchy.txt: Likewise.
* doc/lispref/type_hierarchy.jpg: Likewise.
2024-02-15 16:48:36 +01:00
Simen Heggestøyl
60cff1ac9d Add support for reading/writing IELM input history (bug#67000)
* lisp/ielm.el (inferior-emacs-lisp-mode): Add support for saving input
history to a file.
(ielm--history-file-name): New variable indicating IELM input history
file.
(ielm--exit): Holds a function to call when Emacs is killed to write
out the input history.
(ielm--input-history-writer): Helper function for writing the IELM
input history out to file.

* lisp/comint.el (comint-input-ring-file-name): Improve defcustom tag.
2024-02-15 08:46:28 +01:00
Stefan Monnier
fbef8ff2a4 titdic-cnv.el: Bring all definitions under the tit- namespace
Add a `tit-` or `tit--` prefix where necessary.  Adjust all callers.
I kept the old names via obsolete aliases for now, although it's probably not
worth the trouble.

* lisp/international/titdic-cnv.el: Bring all definitions under the
`tit-` namespace.
(tit-quail-cxterm-package-ext-info): Rename var from
`quail-cxterm-package-ext-info`.  Adjust value to new names.
(tit-dic-convert): Rename from `titdic-convert`.
(batch-tit-dic-convert): Rename from `batch-titdic-convert`.
(tit-quail-misc-package-ext-info): Rename var from
`quail-misc-package-ext-info`.  Adjust value to new names.
(tit--tsang-quick-converter): Rename from `tsang-quick-converter`.
(tit--tsang-b5-converter): Rename from `tsang-b5-converter`.
(tit--quick-b5-converter): Rename from `quick-b5-converter`.
(tit--tsang-cns-converter): Rename from `tsang-cns-converter`.
(tit--quick-cns-converter): Rename from `quick-cns-converter`.
(tit--py-converter): Rename from `py-converter`.
(tit--ziranma-converter): Rename from `ziranma-converter`.
(tit--ctlau-converter): Rename from `ctlau-converter`.
(tit--ctlau-gb-converter): Rename from `ctlau-gb-converter`.
(tit--ctlau-b5-converter): Rename from `ctlau-b5-converter`.
(tit-miscdic-convert): Rename from `miscdic-convert`.
(batch-tit-miscdic-convert): Rename from `batch-miscdic-convert`.
(tit-pinyin-convert): Rename from `pinyin-convert`.

* leim/Makefile.in (${leimdir}/quail/%.el, misc_convert)
(${srcdir}/../lisp/language/pinyin.el): Use the new names.
2024-02-14 17:18:50 -05:00
Philip Kaludercic
371ccf09fe Add 'custom-variable' command
* lisp/cus-edit.el (customize-toggle-option): Add command.
(toggle-option): Add shorter alias for 'customize-toggle-option'.
* etc/NEWS: Document it.  (Bug#69079)
2024-02-13 21:09:23 +01:00
Juri Linkov
3b90e5052c Tree-sitter support for outline-minor-mode (bug#68824)
* doc/emacs/text.texi (Outline Format): Add 'outline-search-function'.

* doc/lispref/elisp.texi (Top): Add new menu item "Outline Minor Mode"
after "Imenu".

* doc/lispref/modes.texi (Modes): Add new menu item "Outline Minor Mode"
after "Imenu".
(Major Mode Conventions): Mention "Outline Minor Mode" with @pxref.
(Outline Minor Mode): New node.

* doc/lispref/parsing.texi (Tree-sitter Major Modes): Mention
'treesit-outline-predicate' with @pxref.

* lisp/treesit.el (treesit-outline-predicate): New buffer-local variable.
(treesit-outline-predicate--from-imenu): New internal function.
(treesit-outline-search, treesit-outline-level): New functions.
(treesit-major-mode-setup): Set up treesit-outline-predicate,
outline-search-function and outline-level.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--outline-predicate):
New internal function.
(c-ts-base-mode): Set 'treesit-outline-predicate' to
'c-ts-mode--outline-predicate'.

* lisp/progmodes/heex-ts-mode.el (heex-ts-mode): Kill inherited
local variables 'outline-heading-end-regexp', 'outline-regexp',
'outline-level'.

* lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Remove 'outline-regexp'.
Suggested by john muhl <jm@pub.pink>.

* lisp/textmodes/html-ts-mode.el (html-ts-mode): Kill inherited
local variables 'outline-heading-end-regexp', 'outline-regexp',
'outline-level'.
2024-02-12 20:18:24 +02:00
Stefan Monnier
806759dc0a (pcase): New _ syntax in pred/app functions
The current syntax for functions in `app` and `pred` patterns
allows a shorthand (F ARGS) where the object being matched is
added as an extra last argument.  This is nice for things like
(pred (< 5)) but sometimes the object needs to be at
another position.
Until now you had to use (pred (lambda (x) (memq x my-list)))
or (pred (pcase--flip memq my-list)) in those cases.
So, introduce a new shorthand where `_` can be used to indicate
where the object should be passed: (pred (memq _ my-list))

* lisp/emacs-lisp/pcase.el (pcase--split-pred): Document new syntax
for pred/app functions.
(pcase--funcall): Support new syntax.
(pcase--flip): Declare obsolete.
(pcase--u1, \`): Use `_` instead.
(pcase--split-pred): Adjust accordingly.

* doc/lispref/control.texi (pcase Macro): Document new syntax
for pred/app functions.

* lisp/progmodes/opascal.el (pcase-defmacro):
* lisp/emacs-lisp/seq.el (seq--make-pcase-bindings):
* lisp/emacs-lisp/eieio.el (eieio):
* lisp/emacs-lisp/cl-macs.el (cl-struct, cl-type):
Use _ instead of `pcase--flip`.
(cl--pcase-mutually-exclusive-p): Adjust accordingly.

* lisp/emacs-lisp/map.el (map--pcase-map-elt): Declare obsolete.
(map--make-pcase-bindings): Use `_` instead.
2024-02-11 22:00:44 -05:00
Philip Kaludercic
db195116a4 Add the public API of Compat to the core
* lisp/emacs-lisp/compat.el: Add stub file with minimal definitions,
so that core packages, that haven't been installed from ELPA, can make
use of the public API and use more recent function signatures.
* lisp/progmodes/python.el (compat): Remove 'noerror flag, because
Compat can now be required without the real package being available.
* doc/lispref/package.texi (Forwards-Compatibility): Mention Compat
and link to the manual.
* etc/NEWS: Document change.  (Bug#66554)
2024-02-11 22:50:29 +01:00