Mattias Engdegård [Thu, 26 Jan 2023 11:36:20 +0000 (12:36 +0100)]
Fix xref-clear-marker-stack refactoring mistake
* lisp/progmodes/xref.el (xref-clear-marker-stack):
Clear the history correctly. Changing a lexical variable has no effect.
Po Lu [Thu, 26 Jan 2023 00:40:27 +0000 (08:40 +0800)]
Increase DUMPED_HEAP_SIZE
* src/w32heap.c (DUMPED_HEAP_SIZE): Add 5 megabytes.
Richard Stallman [Wed, 25 Jan 2023 21:35:37 +0000 (16:35 -0500)]
When base64-decoding part of decrypted text, save the decoding
permanently if we save the decryption permanently.
(rmail-epa-decode): Take arguments BEG and BACK-FROM-END to designate region.
(rmail-epa-decrypt-1): Call rmail-epa-decode from here, when decrypting one
encrypted passage.
(rmail-epa-decrypt): Not from here.
Paul Eggert [Tue, 24 Jan 2023 23:18:55 +0000 (15:18 -0800)]
Pacify Apple clang version 13.0.0 (clang-1300.0.29.30):
* src/coding.c: When compiling with Apple clang, ignore
-Wunused-but-set-variable only in Clang 14 and greater.
Problem reported by Mattias Engdegård.
Alan Mackenzie [Mon, 23 Jan 2023 20:25:53 +0000 (20:25 +0000)]
CC Mode: Don't do c-backward-syntactic-ws following a forward movement
This was happening in, e.g., c-forward-type, which moves over whitespace at
the end of the scanned type. This WS movement can exit a comment or a macro,
such that a c-backward-syntactic-ws does not return to the desired point, but
to before the entire comment/macro.
* lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id)
(c-forward-id-comma-list, c-forward-noise-clause, c-forward-keyword-clause)
(c-forward-name, c-forward-type): Add a new &optional parameter `stop-at-end'
which when non-nil means "do not move over syntactic WS after performing the
main job", and adapt the internals of these macros and functions accordingly.
(c-forward-declarator, c-forward-decl-or-cast-1): In the calls to
c-forward-type and c-forward-name, set the stop-at-end argument to t, and call
c-forward-sytactic-ws later.
Robert Pluim [Mon, 23 Jan 2023 13:42:11 +0000 (14:42 +0100)]
; * lisp/calendar/appt.el (appt-check): Fix byte-compile warning
Theodor Thornhill [Sun, 22 Jan 2023 18:17:41 +0000 (19:17 +0100)]
Swap tag and element in html-ts-mode (bug#60972)
* lisp/textmodes/html-ts-mode.el: New values for
'treesit-sentence-type-regexp' and 'treesit-sexp-type-regexp'.
Robert Pluim [Mon, 23 Jan 2023 10:33:23 +0000 (11:33 +0100)]
; * lisp/eshell/esh-arg.el (eshell-prepare-splice): Fix quoting.
Michael Albinus [Mon, 23 Jan 2023 10:02:56 +0000 (11:02 +0100)]
Factor out some Tramp code
* lisp/net/tramp-compat.el (tramp-file-name-handler): Don't declare.
* lisp/net/tramp.el (tramp-skeleton-file-truename)
(tramp-skeleton-handle-make-symbolic-link): New defmacros.
(tramp-handle-file-truename):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
(tramp-sh-handle-file-truename):
* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-truename)
(tramp-sudoedit-handle-make-symbolic-link): Use them.
* lisp/net/tramp.el (tramp-call-process, tramp-call-process-region):
Let-bind `temporary-file-directory'.
* test/lisp/net/tramp-tests.el (tramp-action-yesno):
Suppress run in tests.
(tramp-test21-file-links, tramp-test29-start-file-process)
(tramp-test30-make-process, tramp-test42-utf8): Adapt tests.
Robert Pluim [Tue, 3 Jan 2023 16:09:53 +0000 (17:09 +0100)]
Add `yes-or-no-prompt' user option
This implements Bug#60312
* src/fns.c (syms_of_fns): Define `yes-or-no-prompt' Lisp variable.
(Fyes_or_no_p): Use `yes-or-no-prompt' instead of a hard-coded string.
* lisp/cus-start.el (standard): Add custom specification for it.
* doc/emacs/mini.texi (Yes or No Prompts): Document `yes-or-no-prompt'
* doc/lispref/minibuf.texi (Yes-or-No Queries): And here.
* etc/NEWS: Announce the new option.
Stefan Kangas [Mon, 23 Jan 2023 05:30:18 +0000 (06:30 +0100)]
Merge from origin/emacs-29
647cc9c65e7 Update to Org 9.6.1-16-ge37e9b
Kyle Meyer [Mon, 23 Jan 2023 02:53:39 +0000 (21:53 -0500)]
Update to Org 9.6.1-16-ge37e9b
Stefan Kangas [Mon, 23 Jan 2023 01:09:15 +0000 (02:09 +0100)]
Merge from origin/emacs-29
b3814b43f60 (ruby-ts--predefined-variables): Fix the $` and $' entries
db02cbdfe02 * lisp/find-dired.el (find-dired-with-command): Quote fin...
2343a067c3d Generalize vc-pull-and-push to support more backends (bug...
846838dbab8 Add test suite for sgml-html-meta-auto-coding-function
0fb90f524db Fix decoding HTML files from archives
c854ef7a187 ; Fix last change (bug#60556).
8e83604dfe0 Avoid crashes in batch Emacs sub-processes on MS-Windows
808e101fabe Tweak BSD style indentation (bug#60984)
204519a2e73 Fix typo of exposed symbol name
9296e0c6495 Fix typo after move to common lib (bug#61001)
e74ba72a6a3 ruby-ts-mode: Fix two additional cases with ruby-method-c...
ae7e28a4372 ruby-mode.el: Expand some docstrings with examples
89cb3c3f157 Minor fixes for Haiku
6adc193ad66 Move c-like common utils into own library (bug#60961)
# Conflicts:
# lisp/progmodes/typescript-ts-mode.el
Stefan Kangas [Mon, 23 Jan 2023 00:34:43 +0000 (01:34 +0100)]
; Merge from origin/emacs-29
The following commit was skipped:
161706ec331 ; Actually use dummy package descriptor
Stefan Kangas [Mon, 23 Jan 2023 00:34:43 +0000 (01:34 +0100)]
Merge from origin/emacs-29
b875c9bf67e Fix file-regular-p in Tramp
63fa225d443 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
9f5d6c541e5 ; * doc/emacs/custom.texi (Init Rebinding): Fix wording i...
a91b435d0d5 ; Reword user documentation on binding keys in Lisp
0400de6a7de Fix typo in c-ts-mode (bug#60932)
Stefan Kangas [Mon, 23 Jan 2023 00:34:43 +0000 (01:34 +0100)]
; Merge from origin/emacs-29
The following commit was skipped:
0400de6a7de Fix typo in c-ts-mode (bug#60932)
Stefan Kangas [Mon, 23 Jan 2023 00:34:39 +0000 (01:34 +0100)]
Merge from origin/emacs-29
b3de81a6ee3 MH-E: handle removal of mhparam libdir from nmh 1.8
d63e1a89518 Use point-min to anchor top-level constructs (bug#60602)
34793337783 * lisp/org/ob-ruby.el: Fix outdated comments.
472f1425985 ; ruby-ts-mode: Add a Version tag
0cf053648a4 ; ruby-ts-mode: Update font-lock features list in Commentary
67ee627c38d (project-try-vc): Add string-start and string-end anchors...
06953fc8e1d Make `keymap-set-after' work for menus
dcd59457b48 Use `key-parse' in `keymap-lookup'
8904a26a9d2 Improve `keymap-set-after' documentation
c7e02eaa3d9 Handle after arg correctly in `keymap-set-after'
628b6241763 Don't load erc-goodies atop erc.el
40cf494b7ce ; * etc/NEWS: Fix typos.
6b2f85caa6c Make tree-sitter based modes optional
b56cf28b325 ; (ruby-ts--predefined-variables): Make it a little shorter
d94dc606a09 ruby-ts-mode: Claw back half of the performance drop from...
d0d34514097 (ruby-ts-mode): Rename 'builtin-functions' to 'builtin-fu...
d66ac5285f7 ruby-ts-mode: Highlight builtin methods
370b1ac99ec ; ruby-ts-mode.el: Add customize-group mention to commentary
7b7b2b95138 Fix c-ts-mode indent (bug#60873)
7ca71d66dc7 Fix various problems in treesit-explore-mode (bug#60800)
b7d6bb47ee5 ; * lisp/treesit.el (treesit-font-lock-fontify-region): M...
0c6bfeddb21 ; Update tree-sitter major mode manual
c289786886b ; Add commentary and dostring in c-ts-mode
# Conflicts:
# etc/NEWS
# lisp/progmodes/c-ts-mode.el
# lisp/progmodes/go-ts-mode.el
Dmitry Gutov [Sun, 22 Jan 2023 18:50:54 +0000 (20:50 +0200)]
(ruby-ts--predefined-variables): Fix the $` and $' entries
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--predefined-variables):
Fix the $` and $' entries, somehow replaced by curly quote.
Reported by Mattias Engdegård.
Juri Linkov [Sun, 22 Jan 2023 17:51:51 +0000 (19:51 +0200)]
* lisp/find-dired.el (find-dired-with-command): Quote find-command-history.
Juri Linkov [Sun, 22 Jan 2023 17:27:10 +0000 (19:27 +0200)]
Generalize vc-pull-and-push to support more backends (bug#60569)
* lisp/vc/vc-git.el (vc-git-pull-and-push): Remove and move its logic to
vc-pull-and-push.
* lisp/vc/vc.el (vc-pull-and-push): Add code from vc-git-pull-and-push.
Benjamin Riefenstahl [Tue, 17 Jan 2023 18:13:39 +0000 (20:13 +0200)]
Add test suite for sgml-html-meta-auto-coding-function
* test/lisp/international/mule-tests.el (sgml-html-meta-pre)
(sgml-html-meta-post, sgml-html-meta-run, sgml-html-meta-utf-8)
(sgml-html-meta-windows-hebrew, sgml-html-meta-none)
(sgml-html-meta-unknown-coding, sgml-html-meta-no-pre)
(sgml-html-meta-no-post-less-than-10lines)
(sgml-html-meta-no-post-10lines, sgml-html-meta-utf-8-with-bom): Add.
Benjamin Riefenstahl [Tue, 17 Jan 2023 18:08:15 +0000 (20:08 +0200)]
Fix decoding HTML files from archives
* lisp/international/mule.el (sgml-xml-auto-coding-function): Avoid
signaling an error from coding-system-equal when the XML encoding tag
specifies an encoding whose type is 'charset'. (Bug#61005)
This is the same fix as in #
df7ed10e for
sgml-xml-auto-coding-function.
Eli Zaretskii [Sun, 22 Jan 2023 13:12:05 +0000 (15:12 +0200)]
; Fix last change (bug#60556).
Eli Zaretskii [Sun, 22 Jan 2023 13:07:55 +0000 (15:07 +0200)]
Avoid crashes in batch Emacs sub-processes on MS-Windows
* src/w32.c (shutdown_handler): When run in a separate thread,
don't call functions that only the main (a.k.a. "Lisp") thread can
call; instead, arrange for maybe_quit to kill Emacs.
* src/w32fns.c (emacs_abort): Don't show GUI Abort dialogs in
non-interactive sessions. (Bug#60556)
Theodor Thornhill [Sat, 21 Jan 2023 19:05:52 +0000 (20:05 +0100)]
Use element as a sentence in html-ts-mode
* lisp/textmodes/html-ts-mode.el (html-ts-mode): Tweak the regexp.
Theodor Thornhill [Sun, 22 Jan 2023 10:14:00 +0000 (11:14 +0100)]
Tweak BSD style indentation (bug#60984)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Simplify
rules.
* test/lisp/progmodes/c-ts-mode-resources/indent-bsd.erts: New
testfile with bsd style indentation examples.
* test/lisp/progmodes/c-ts-mode-tests.el
(c-ts-mode-test-indentation-bsd): Add a test for the new style.
Theodor Thornhill [Sun, 22 Jan 2023 09:58:31 +0000 (10:58 +0100)]
Fix typo of exposed symbol name
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Remove
double hyphen.
Theodor Thornhill [Sun, 22 Jan 2023 09:46:08 +0000 (10:46 +0100)]
Fix typo after move to common lib (bug#61001)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Use correct
preset.
Dmitry Gutov [Sun, 22 Jan 2023 02:55:13 +0000 (04:55 +0200)]
ruby-ts-mode: Fix two additional cases with ruby-method-call-indent=nil
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules):
Fix two additional cases with ruby-method-call-indent=nil.
* test/lisp/progmodes/ruby-mode-resources/ruby-method-call-indent.rb:
Add examples.
Dmitry Gutov [Sun, 22 Jan 2023 02:40:40 +0000 (04:40 +0200)]
ruby-mode.el: Expand some docstrings with examples
* lisp/progmodes/ruby-mode.el (ruby-align-chained-calls)
(ruby-method-params-indent): Expand docstrings with examples.
Po Lu [Sun, 22 Jan 2023 00:37:06 +0000 (08:37 +0800)]
Minor fixes for Haiku
* lisp/frame.el (display-symbol-keys-p):
* lisp/simple.el (normal-erase-is-backspace-setup-frame): Add
support for Haiku.
Theodor Thornhill [Sat, 21 Jan 2023 11:24:55 +0000 (12:24 +0100)]
Move c-like common utils into own library (bug#60961)
* lisp/progmodes/c-ts-common.el: New file.
* lisp/progmodes/c-ts-mode.el (treesit-induce-sparse-tree): Remove
unused declaration.
(c-ts-mode--indent-styles): Refer to the new library.
(c-ts-mode--looking-at-star,
c-ts-mode--comment-start-after-first-star,
c-ts-mode--comment-2nd-line-matcher,
c-ts-mode--comment-2nd-line-anchor, c-ts-mode--comment-regexp,
c-ts-mode--fill-paragraph, c-ts-mode--fill-block-comment): Move to
c-ts-common and expose as public.
(c-ts-mode-comment-setup): Move to c-ts-common.
* lisp/progmodes/csharp-mode.el (c-ts-common): Require new library.
(csharp-ts-mode--indent-rules): Refer to the new symbols.
(csharp-ts-mode): Use new function.
* lisp/progmodes/java-ts-mode.el (c-ts-common): Require new library.
(java-ts-mode--indent-rules): Refer to the new symbols.
(java-ts-mode): Use new function.
* lisp/progmodes/js.el (c-ts-common): Require new library.
(js--treesit-indent-rules): Refer to the new symbols.
(js-ts-mode): Use new function.
* lisp/progmodes/rust-ts-mode.el (c-ts-common): Require new library.
(rust-ts-mode--indent-rules): Refer to the new symbols.
(rust-ts-mode): Use new function.
* lisp/progmodes/typescript-ts-mode.el (c-ts-common): Require new
library.
(typescript-ts-mode--indent-rules): Refer to the new symbols.
(typescript-ts-base-mode): Use new function.
Evgeni Kolev [Sat, 14 Jan 2023 06:28:06 +0000 (08:28 +0200)]
Extend go-ts-mode with command to add docstring to function
go-ts-mode is extended with command go-ts-mode-docstring which adds
docstring comment to the defun at point. If a comment already exists,
the point is instead moved to the top-most comment line. The command
is bound to "C-c C-d".
* lisp/progmodes/go-ts-mode.el (go-ts-mode): Extend docstring.
(go-ts-mode-docstring): New function.
(go-ts-mode--comment-on-previous-line-p): New function.
(go-ts-mode-map): New map variable.
* etc/NEWS: Mention the change.
(bug#60805)
Philip Kaludercic [Sat, 21 Jan 2023 17:56:47 +0000 (18:56 +0100)]
; Actually use dummy package descriptor
* lisp/emacs-lisp/package-vc.el (package-vc--unpack): Set pkg-desc if
nil.
This revises the changes from
70947da708c8e06e31a2930520b38bafe43dba39.
Philip Kaludercic [Sat, 21 Jan 2023 17:56:47 +0000 (18:56 +0100)]
; Actually use dummy package descriptor
* lisp/emacs-lisp/package-vc.el (package-vc--unpack): Set pkg-desc if
nil.
This revises the changes from
70947da708c8e06e31a2930520b38bafe43dba39.
Theodor Thornhill [Sat, 21 Jan 2023 13:47:34 +0000 (14:47 +0100)]
Add sexp navigation to js/typescript/tsx-ts-mode
* lisp/progmodes/js.el (js--treesit-sexp-nodes): Add node types.
(js-ts-mode): Set 'treesit-sexp-type-regexp'.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--sexp-nodes): Add node types.
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-base-mode): Set
'treesit-sexp-type-regexp'.
(tsx-ts-mode): Add in jsx nodes.
Theodor Thornhill [Sat, 21 Jan 2023 12:35:10 +0000 (13:35 +0100)]
Add sentence and sexp movement to c-ts-mode
* lisp/progmodes/c-ts-mode.el (c-ts-base-mode): Add
'treesit-sentence-type-regexp' and 'treesit-sexp-type-regexp' node
types.
Michael Albinus [Sat, 21 Jan 2023 11:04:50 +0000 (12:04 +0100)]
Fix file-regular-p in Tramp
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test18-file-attributes)
(tramp-archive-test21-file-links):
* test/lisp/net/tramp-tests.el (tramp-test18-file-attributes)
(tramp-test21-file-links): Adapt tests.
* lisp/net/tramp.el (tramp-handle-file-regular-p): Fix symlink
case. (Bug#60943)
Eli Zaretskii [Sat, 21 Jan 2023 07:51:34 +0000 (09:51 +0200)]
Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29
Eli Zaretskii [Sat, 21 Jan 2023 07:50:59 +0000 (09:50 +0200)]
; * doc/emacs/custom.texi (Init Rebinding): Fix wording in last change.
Panagiotis Koutsourakis [Tue, 17 Jan 2023 18:57:41 +0000 (20:57 +0200)]
; Reword user documentation on binding keys in Lisp
* doc/emacs/custom.texi (Init Rebinding): Move the description of
'kbd' farther down. (Bug#60859)
Theodor Thornhill [Fri, 20 Jan 2023 21:16:25 +0000 (22:16 +0100)]
Fix typo in c-ts-mode (bug#60932)
* lisp/progmodes/c-ts-mode.el (c-ts-mode-indent-block-type-regexp):
enumerator, not enumeratior.
Eli Zaretskii [Sat, 21 Jan 2023 06:48:13 +0000 (08:48 +0200)]
; * etc/NEWS: Mark 2 entries as documented.
Eli Zaretskii [Sat, 21 Jan 2023 06:46:32 +0000 (08:46 +0200)]
; * test/lisp/eshell/esh-var-tests.el: Fix punctuation in doc strings.
Eli Zaretskii [Sat, 21 Jan 2023 06:35:53 +0000 (08:35 +0200)]
; Fix documentation of 'kill-matching-buffers-no-ask'
* etc/NEWS: Fix wording of 'kill-matching-buffers-no-ask's entry.
* lisp/files.el (kill-matching-buffers)
(kill-matching-buffers-no-ask): Doc fix.
Eli Zaretskii [Sat, 21 Jan 2023 06:25:51 +0000 (08:25 +0200)]
; * etc/NEWS: Fix wording of 'html-ts-mode's entry.
Mike Kupfer [Mon, 16 Jan 2023 21:50:49 +0000 (13:50 -0800)]
MH-E: handle removal of mhparam libdir from nmh 1.8
* lisp/mh-e/mh-e.el (mh-variant-nmh-info): If "libdir" doesn't
work, try "libexecdir" (Bug#60952) (SF#491).
Theodor Thornhill [Fri, 20 Jan 2023 21:59:51 +0000 (22:59 +0100)]
Change top-level anchor to point-min
* lisp/textmodes/html-ts-mode.el (html-ts-mode--indent-rules): Anchor
to point-min.
Theodor Thornhill [Fri, 20 Jan 2023 21:37:47 +0000 (22:37 +0100)]
Use point-min to anchor top-level constructs (bug#60602)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): New anchor.
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): New
anchor.
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules): New anchor.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): New anchor.
Dmitry Gutov [Fri, 20 Jan 2023 21:32:21 +0000 (23:32 +0200)]
* lisp/org/ob-ruby.el: Fix outdated comments.
Theodor Thornhill [Fri, 20 Jan 2023 21:16:25 +0000 (22:16 +0100)]
Fix typo in c-ts-mode (bug#60932)
* lisp/progmodes/c-ts-mode.el (c-ts-mode-indent-block-type-regexp):
enumerator, not enumeratior.
Theodor Thornhill [Fri, 20 Jan 2023 20:05:41 +0000 (21:05 +0100)]
Add html-ts-mode (bug#60972)
* lisp/textmodes/html-ts-mode.el: New major mode for HTML support
powered by Tree-sitter.
* etc/NEWS: Mention it in NEWS.
Dmitry Gutov [Fri, 20 Jan 2023 17:25:12 +0000 (19:25 +0200)]
; ruby-ts-mode: Add a Version tag
Dmitry Gutov [Fri, 20 Jan 2023 17:08:22 +0000 (19:08 +0200)]
; ruby-ts-mode: Update font-lock features list in Commentary
Dmitry Gutov [Fri, 20 Jan 2023 16:43:56 +0000 (18:43 +0200)]
(project-try-vc): Add string-start and string-end anchors to marker-re
* lisp/progmodes/project.el (project-try-vc):
Add string-start and string-end anchors to marker-re (bug#60956).
Robert Pluim [Thu, 19 Jan 2023 15:05:45 +0000 (16:05 +0100)]
Make `keymap-set-after' work for menus
It still doesn't work for an AFTER that's a key, though, since
`key-parse' produces vectors, and keymaps contain integers.
* lisp/keymap.el (keymap-set-after): Only parse AFTER as a key if it's
a string. For consistency, use `key-parse' on the definition if it's
a string, just like `keymap-set'.
* test/src/keymap-tests.el (keymap-tests--command-3): New dummy command.
(keymap-set-after-menus): New test. Check that we can insert a menu
item after a specific entry.
Robert Pluim [Thu, 19 Jan 2023 14:58:51 +0000 (15:58 +0100)]
Use `key-parse' in `keymap-lookup'
It's stricter than `kbd', and doesn't try to do anything with key
sequences that look like macros.
* lisp/keymap.el (keymap-lookup): Use `key-parse' instead of `kbd'.
* test/src/keymap-tests.el (keymap-set-after-menus): Test the
`keymap-set-after' API.
Robert Pluim [Thu, 19 Jan 2023 14:56:21 +0000 (15:56 +0100)]
Improve `keymap-set-after' documentation
* doc/lispref/keymaps.texi (Changing Key Bindings): Mention `key-valid-p'
(Modifying Menus): Correct description of KEY arg.
Robert Pluim [Thu, 19 Jan 2023 13:34:10 +0000 (14:34 +0100)]
Handle after arg correctly in `keymap-set-after'
* lisp/keymap.el (keymap-set-after): AFTER: t means the same as nil,
so just change it to nil. (Bug#60867)
F. Jason Park [Fri, 20 Jan 2023 04:19:40 +0000 (20:19 -0800)]
Don't load erc-goodies atop erc.el
* lisp/erc/erc.el: Commit
c2d657e7c4fd9685591f2120007eabf78745919d
"Move ERC's core dependencies to a separate file" ironed out ERC's
interwoven dependencies for the better but didn't cleanly sidestep the
goodies interdependency, specifically with regard to custom options.
This reverts the tiny portion impacting this aspect by once again
requiring `erc-goodies' at the very end of ERC's main library. Special
thanks to Libera.Chat user jrm for reporting this bug.
Michael Albinus [Fri, 20 Jan 2023 11:27:07 +0000 (12:27 +0100)]
; * etc/NEWS: Fix typos.
Michael Albinus [Fri, 20 Jan 2023 11:20:08 +0000 (12:20 +0100)]
; * etc/NEWS: Fix typos.
Stefan Kangas [Fri, 20 Jan 2023 10:30:22 +0000 (11:30 +0100)]
; Merge from origin/emacs-29
The following commit was skipped:
4fb7b0b0b88 Fix an oversight in advice.el
Stefan Kangas [Fri, 20 Jan 2023 10:30:22 +0000 (11:30 +0100)]
Merge from origin/emacs-29
78b83a744fa ; * etc/NEWS: Rearrange instructions for building tree-si...
fb82d4e3286 (treesit-simple-indent-presets): Have n-p-gp check for gr...
25ddb3f7d99 ; ruby-ts--indent-rules: Minor cleanup
a0ce569d3b7 ruby-toggle-block: Fix in ruby-ts-mode
0d3b6518e39 (ruby-ts--indent-rules): Indent inside empty parens properly
7fb69ce233b ; * doc/emacs/modes.texi (Choosing Modes): Add index entr...
# Conflicts:
# etc/NEWS
Stefan Kangas [Fri, 20 Jan 2023 10:30:22 +0000 (11:30 +0100)]
; Merge from origin/emacs-29
The following commit was skipped:
12d7670b90f Fix bug in 'sieve-manage--append-to-log'
Stefan Kangas [Fri, 20 Jan 2023 10:30:22 +0000 (11:30 +0100)]
Merge from origin/emacs-29
21be03cccb6 CC Mode: Prevent two classes of "type" prematurely enteri...
Andrea Corallo [Wed, 18 Jan 2023 14:15:51 +0000 (15:15 +0100)]
Add new command `kill-matching-buffers-no-ask' (bug#60714)
* lisp/files.el (kill-matching-buffers-no-ask): New function.
* etc/NEWS: Announce `kill-matching-buffers-no-ask'.
Eli Zaretskii [Fri, 20 Jan 2023 08:28:26 +0000 (10:28 +0200)]
Make tree-sitter based modes optional
* lisp/progmodes/c-ts-mode.el: Update Commentary. Make
'auto-mode-alist' update conditional on the tree-sitter and
grammar libraries being available.
* lisp/progmodes/cmake-ts-mode.el:
* lisp/progmodes/csharp-mode.el:
* lisp/progmodes/dockerfile-ts-mode.el:
* lisp/progmodes/go-ts-mode.el:
* lisp/progmodes/java-ts-mode.el:
* lisp/progmodes/js.el:
* lisp/progmodes/json-ts-mode.el:
* lisp/progmodes/python.el:
* lisp/progmodes/ruby-ts-mode.el:
* lisp/progmodes/typescript-ts-mode.el:
* lisp/textmodes/css-mode.el:
* lisp/textmodes/toml-ts-mode.el:
* lisp/textmodes/yaml-ts-mode.el: Make 'auto-mode-alist' update
for tree-sitter based modes be conditional on the tree-sitter and
grammar libraries being available. (Bug#60559)
Dmitry Gutov [Fri, 20 Jan 2023 03:41:39 +0000 (05:41 +0200)]
; (ruby-ts--predefined-variables): Make it a little shorter
Dmitry Gutov [Fri, 20 Jan 2023 03:35:12 +0000 (05:35 +0200)]
ruby-ts-mode: Claw back half of the performance drop from last change
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--builtin-method-p):
New function.
(ruby-ts--font-lock-settings): Use it instead of :match.
Paul Eggert [Thu, 19 Jan 2023 23:15:52 +0000 (15:15 -0800)]
Pacify clang 15.0.6 on Fedora 37
* configure.ac: Suppress clang -Wbitwise-instead-of-logical,
as there’s nothing wrong with using & and | on bool.
* src/coding.c: Suppress -Wunused-but-set-variable in this file,
as it’s too much trouble to recode to pacify clang.
Dmitry Gutov [Fri, 20 Jan 2023 02:14:38 +0000 (04:14 +0200)]
(ruby-ts-mode): Rename 'builtin-functions' to 'builtin-function'
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings)
(ruby-ts-mode): Rename 'builtin-functions' to 'builtin-function',
for consistency with similar features.
Dmitry Gutov [Fri, 20 Jan 2023 01:56:44 +0000 (03:56 +0200)]
ruby-ts-mode: Highlight builtin methods
* lisp/progmodes/ruby-mode.el (ruby-builtin-methods-with-reqs)
(ruby-builtin-methods-no-reqs): New constants, extracted.
(ruby-font-lock-keywords): Replace values with references.
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--builtin-methods): New
variable. Construct regexp from aforementioned constants' values.
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Use it.
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
Add new font-lock feature: builtin-functions.
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--predefined-constants)
(ruby-ts--predefined-variables): Unrelated to the rest of the
patch, add string-start and string-end anchors.
Dmitry Gutov [Fri, 20 Jan 2023 01:54:36 +0000 (03:54 +0200)]
; ruby-ts-mode.el: Add customize-group mention to commentary
Jim Porter [Thu, 19 Jan 2023 03:15:38 +0000 (19:15 -0800)]
Fix evaluation of asynchronous expansions in Eshell indices
Previously, this code passed the indices to a separate function, which
called 'eval' on them, but it should instead make an S-expr that
'eshell-do-eval' can evaluate (bug#60942).
* lisp/eshell/esh-var.el (eshell-eval-indices): Mark obsolete.
(eshell-prepare-indices): New function...
(eshell-parse-variable): ... use it. Also, remove irrelevant comment.
(eshell-parse-variable-ref): Fix quoting in docstring.
(eshell-parse-indices): Fix typo in docstring.
* test/lisp/eshell/esh-var-tests.el
(esh-var-test/interp-var-indices-subcommand)
(esh-var-test/quoted-interp-var-indices-subcommand): New tests.
Yuan Fu [Thu, 19 Jan 2023 22:46:17 +0000 (14:46 -0800)]
Fix c-ts-mode indent (bug#60873)
* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--statement-offset): Handle the edge case.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: Add a test.
Yuan Fu [Thu, 19 Jan 2023 22:22:56 +0000 (14:22 -0800)]
Fix various problems in treesit-explore-mode (bug#60800)
* lisp/treesit.el:
(treesit--explorer-kill-explorer-buffer): New function.
(treesit-explore-mode):
1. Move prompt for language earlier, and terminate early if language
not available.
2. Make sure desktop-save doesn't save the explorer buffer.
3. Kill the explorer buffer when the source buffer is killed.
Yuan Fu [Thu, 19 Jan 2023 19:53:14 +0000 (11:53 -0800)]
; * lisp/treesit.el (treesit-font-lock-fontify-region): Minor fix.
The check for treesit--font-lock-fast-mode is not really necessary,
but anyway.
Yuan Fu [Wed, 18 Jan 2023 23:45:29 +0000 (15:45 -0800)]
; Update tree-sitter major mode manual
* doc/lispref/parsing.texi (Tree-sitter Major Modes): Update.
Yuan Fu [Wed, 18 Jan 2023 23:32:12 +0000 (15:32 -0800)]
; Add commentary and dostring in c-ts-mode
* lisp/progmodes/c-ts-mode.el: Add commentary.
(c-ts-mode, c++-ts-mode): Add docstring.
Michael Heerdegen [Wed, 18 Jan 2023 11:32:05 +0000 (12:32 +0100)]
Fix an oversight in advice.el
This fixes an oversight from
77c3c464a16: "* lisp/emacs-lisp/advice.el
(ad-advised-functions): Make it a plain list" that caused an issue as
reported in Bug#60893.
* lisp/emacs-lisp/advice.el (ad-read-advised-function): Adjust to
handle the new type of elements of `ad-advised-functions'.
Theodor Thornhill [Tue, 17 Jan 2023 20:18:29 +0000 (21:18 +0100)]
Add treesit-forward-sexp (bug#60894)
* lisp/progmodes/java-ts-mode.el (java-ts-mode): Use
treesit-sexp-type-regexp.
* lisp/treesit.el (treesit-sexp-type-regexp): New defvar.
(treesit-forward-sexp): New command.
(treesit-major-mode-setup): Conditionally set forward-sexp-function.
* lisp/progmodes/ruby-ts-mode.el: Add some types to ruby-ts-mode.
* doc/lispref/positions.texi (List Motion): Mention the change in the
manual.
* etc/NEWS: Mention the change.
Eli Zaretskii [Thu, 19 Jan 2023 18:13:54 +0000 (20:13 +0200)]
; * etc/NEWS: Rearrange instructions for building tree-sitter grammars.
Dmitry Gutov [Thu, 19 Jan 2023 17:43:19 +0000 (19:43 +0200)]
(treesit-simple-indent-presets): Have n-p-gp check for grandparent's presence
* lisp/treesit.el (treesit-simple-indent-presets): Have n-p-gp
check for grandparent's presence before checking its type.
Dmitry Gutov [Thu, 19 Jan 2023 16:31:57 +0000 (18:31 +0200)]
; ruby-ts--indent-rules: Minor cleanup
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules): Remove
the (match "begin" "assignment") rule. The catch-all has the same
effect. Update a comment referring to rules removed previously.
Dmitry Gutov [Thu, 19 Jan 2023 15:42:05 +0000 (17:42 +0200)]
ruby-toggle-block: Fix in ruby-ts-mode
* lisp/progmodes/ruby-mode.el (ruby-toggle-block): Make it work
with ruby-ts-mode. ruby-forward-sexp checks ruby-use-smie.
Dmitry Gutov [Thu, 19 Jan 2023 15:31:43 +0000 (17:31 +0200)]
(ruby-ts--indent-rules): Indent inside empty parens properly
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules):
Consider the case when there are no arguments inside the call yet.
* test/lisp/progmodes/ruby-ts-mode-tests.el
(ruby-ts-indent-call-no-args): Add test.
Michael Heerdegen [Wed, 18 Jan 2023 11:32:05 +0000 (12:32 +0100)]
Fix an oversight in advice.el
This fixes an oversight from
77c3c464a16: "* lisp/emacs-lisp/advice.el
(ad-advised-functions): Make it a plain list" that caused an issue as
reported in Bug#60893.
* lisp/emacs-lisp/advice.el (ad-read-advised-function): Adjust to
handle the new type of elements of `ad-advised-functions'.
Eli Zaretskii [Thu, 19 Jan 2023 14:15:13 +0000 (16:15 +0200)]
; * doc/emacs/modes.texi (Choosing Modes): Add index entries.
Kai Tetzlaff [Thu, 19 Jan 2023 02:16:14 +0000 (03:16 +0100)]
Fix bug in 'sieve-manage--append-to-log'
* lisp/net/sieve-manage.el (sieve-manage--append-to-log): Fix
log buffer creation. (Bug#54154) Do not merge to master.
Alan Mackenzie [Thu, 19 Jan 2023 10:59:10 +0000 (10:59 +0000)]
CC Mode: Prevent two classes of "type" prematurely entering c-found-types
This fixes bug #60769. The two classes of "type" are foo and bar in
"foo d(bar () ...)", where the d could be a mistyped C-M-d.
* list/progmodes/cc-engine.el (c-forward-decl-or-cast-1): New local variable
got-arglist. Refactor a sequence of enclosed `if' forms into a `cond' form.
Set got-arglist when needed. In CASE 2, set unsafe-maybe to inhibit foo
being entered into c-found-types. In CASE 19, likewise set unsafe-maybe, to
inhibit bar entering c-found-types.
Stefan Kangas [Thu, 19 Jan 2023 05:30:25 +0000 (06:30 +0100)]
Merge from origin/emacs-29
db727873803 ruby-ts-mode: Use font-lock-constant-face for true/false/nil
819719330ad (ruby-ts--indent-rules): Add a rule for continuation of a...
94b9cbf96fb (ruby-ts--parent-call-or-bol): Handle more cases with nes...
ba33b83ce4b (ruby-ts--statement-container-regexp): Remove "parenthesi...
f2bedf695c1 ruby-ts-mode: Handle indent in parenless calls much close...
758ac5eabbe Fix split-window-below for the case when split-window-kee...
8e9783b4ce4 Rebind in read-regexp-map ‘M-c’ to ‘M-s c’ compatible wit...
78f93d92b28 * lisp/vc/vc-dir.el: Make keys ‘% m’ and ‘* %’ compatible...
dc3f85fd4b0 Use proper types for Eshell warnings
6a8338a8bc8 ; Avoid byte-compiler warning in cc-fonts.el.
9186be20aeb ; Clarify doc strings of some functions in files.el
bd5ef3ef95e Improve the documentation of 'auto-mode-alist' search
1798ff5a663 ; Fix minor mistakes in documentation
faee7e1f1bd ; * lisp/treesit.el (treesit-font-lock-fontify-region): M...
24f0dfd3731 Revert "Revert "Add c-or-c++-ts-mode (bug#59613)""
ac3bc775b6f Make it harder to misactivate tree-sitter font-lock fast ...
bdd82fa7977 ; * src/treesit.c: Remove unused boilerplate.
343b9b3dfe3 ruby-ts-mode: Obey the option ruby-method-call-indent
045404d1aac ruby-ts-mode: Obey the option ruby-after-operator-indent
300ca6ac372 ruby-ts-mode: Fix indent after operator or conditional
ac5516bd7d5 ruby-ts-mode: Fix/change indentation of a continuation me...
5e2e68a0c2d ruby-ts-mode: Fix indent inside parenthesized_expr and el...
9ed9ff4690a ruby-ts-mode: Fix the rules for hanging arrays and hashes
c4f0b6ccea1 Add more detail about how to invoke Eshell commands
dbac923b9df CC Mode: On removal of "typedef", remove pertinent types ...
56d69c2fc47 ; Relax timeouts for failing ERC test
183e7492702 Don't preserve non-module minor modes in erc-open
7b8322f6285 Use correct buffer for local-module vars in erc-open
7b13422298a ; Avoid plist-get as generalized var in erc-compat
09e9d7c7496 Fix display of warnings on w32 console
bd094207c76 Fix buffer-list-update-hook for indirect buffers
9e7a5d58eea ; Fix tree-sitter indent anchor preset
7c61a304104 Fix treesit-node-first-child-for-pos (bug#60127)
b36cc7e7bbb ; * src/treesit.c (Ftreesit_induce_sparse_tree): Minor ch...
# Conflicts:
# etc/NEWS
Dmitry Gutov [Thu, 19 Jan 2023 03:43:10 +0000 (05:43 +0200)]
ruby-ts-mode: Use font-lock-constant-face for true/false/nil
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Use font-lock-constant-face for true/false/nil.
Dmitry Gutov [Thu, 19 Jan 2023 03:26:03 +0000 (05:26 +0200)]
(ruby-ts--indent-rules): Add a rule for continuation of a hash pair
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules):
Add a rule for continuation of a hash pair.
* test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb: Add examples.
Dmitry Gutov [Thu, 19 Jan 2023 03:10:05 +0000 (05:10 +0200)]
(ruby-ts--parent-call-or-bol): Handle more cases with nested literals
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--parent-call-or-bol):
Handle more cases with nested literals.
* test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb: Add examples.
Dmitry Gutov [Thu, 19 Jan 2023 01:51:51 +0000 (03:51 +0200)]
(ruby-ts--statement-container-regexp): Remove "parenthesized_statements"
* lisp/progmodes/ruby-ts-mode.el
(ruby-ts--statement-container-regexp): Remove
"parenthesized_statements", it's not really a statement container,
not one we'd use for indentation alignment anyway.
* test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb: Add examples.
Dmitry Gutov [Thu, 19 Jan 2023 01:38:58 +0000 (03:38 +0200)]
ruby-ts-mode: Handle indent in parenless calls much closer to ruby-mode
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--parent-call-or-bol):
New function.
(ruby-ts--indent-rules): Use it for cases which need special
anchoring logic when inside a parenless method call.
Remove the ad-hoc handling of pair-hash-pair etc indentation,
which was there only for the parenless cases, apparently.
Have "No paren, ruby-parenless-call-arguments-indent is nil" case
align to the statement, if only because ruby-mode does that.
* test/lisp/progmodes/ruby-ts-mode-tests.el:
Run indent test for ruby-parenless-call-arguments-indent.rb.
Juri Linkov [Wed, 18 Jan 2023 18:24:26 +0000 (20:24 +0200)]
Fix split-window-below for the case when split-window-keep-point is nil.
* lisp/window.el (split-window-below): Don't try to move point when
split-window-keep-point is nil and window-to-split is not the selected window
or nil (that defaults to the selected window) because code makes sense
only for the selected window.
(split-window-below, split-window-right): Improve docstrings (bug#60886)
Juri Linkov [Wed, 18 Jan 2023 18:05:19 +0000 (20:05 +0200)]
Rebind in read-regexp-map ‘M-c’ to ‘M-s c’ compatible with search-map
Also it's compatible with 'M-s c' (isearch-toggle-case-fold)
used during Isearch. Also makes possible to use the global keybinding
'M-c' (capitalize-dwim) in the minibuffer.
* doc/lispref/minibuf.texi (Text from Minibuffer): Rename ‘M-c’ to ‘M-s c’.
* lisp/replace.el (read-regexp-map): Rebind ‘M-c’ to ‘M-s c’ (bug#60741).
(read-regexp-toggle-case-fold): Rename from read-regexp-toggle-case-folding
to more standard name.
Juri Linkov [Wed, 18 Jan 2023 17:55:10 +0000 (19:55 +0200)]
* lisp/vc/vc-dir.el: Make keys ‘% m’ and ‘* %’ compatible with Dired
(vc-dir-mode-map): Replace ‘%’ for vc-dir-mark-by-regexp
with ‘% m’ in regexp-map and ‘* %’ in mark-map (bug#60887).
* doc/emacs/maintaining.texi (VC Directory Commands): Replace ‘%’
with ‘% m’ and ‘* %’. Mention vc-dir-mark-registered-files.