]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 weeks ago* doc/misc/rcirc.texi: Rephrase recent addition
Philip Kaludercic [Sat, 14 Jun 2025 13:22:06 +0000 (15:22 +0200)]
* doc/misc/rcirc.texi: Rephrase recent addition

https://lists.gnu.org/archive/html/emacs-devel/2025-06/msg00184.html
(cherry picked from commit d97ddce0aac5fc0e114e7274dd286c5909dced79)

3 weeks agoSupport 'C-g C-g C-g' "urgent quit" feature on MS-Windows
Eli Zaretskii [Sat, 14 Jun 2025 08:57:42 +0000 (11:57 +0300)]
Support 'C-g C-g C-g' "urgent quit" feature on MS-Windows

* src/w32fns.c (post_character_message): Support triple-C-g.
(Bug#78737)

(cherry picked from commit 3927402af0affcb13989a7afbacb5107badb9f80)

3 weeks ago; * doc/misc/rcirc.texi (Configuration): Fix cross-reference.
Eli Zaretskii [Sat, 14 Jun 2025 06:14:51 +0000 (09:14 +0300)]
; * doc/misc/rcirc.texi (Configuration): Fix cross-reference.

(cherry picked from commit d9aa098a32ff60f5e3cfef1b4672e2229a1725d5)

3 weeks agoNew user option: vc-allow-async-diff
Dmitry Gutov [Fri, 13 Jun 2025 03:00:17 +0000 (06:00 +0300)]
New user option: vc-allow-async-diff

Centralize the control for whether 'vc-diff' is asynchronous
across the backends, while also allowing 'vc-BACKEND-diff' to be
called asynchronously when needed.  Previously in bug#21969.

* lisp/vc/vc.el (vc-allow-async-diff): New user option.

* lisp/vc/vc.el (vc-version-diff, vc-diff, vc-diff-mergebase)
(vc-root-diff): Obey it.

* lisp/vc/log-view.el (log-view-diff-common): Same.

* lisp/vc/vc-annotate.el
(vc-annotate-show-diff-revision-at-line-internal): Same.

* lisp/vc/vc-git.el (vc-git-diff): Follow the ASYNC argument.

* lisp/vc/vc-hg.el (vc-hg-diff): Same.

* lisp/vc/vc-rcs.el (vc-rcs-diff): Same.

(cherry picked from commit bec823b107ef7d3b51b8e430ccab82c81bd63d24)

3 weeks agoAdd 'treesit-sexp-thing' to use instead of 'treesit-sexp-type-regexp'.
Juri Linkov [Thu, 12 Jun 2025 17:22:42 +0000 (20:22 +0300)]
Add 'treesit-sexp-thing' to use instead of 'treesit-sexp-type-regexp'.

* lisp/treesit.el (treesit-sexp-thing): New variable to use
instead of 'treesit-sexp-type-regexp'.
(treesit-sexp-thing-down-list): Rename from 'treesit-sexp-type-down-list'.
(treesit-sexp-thing-up-list): Rename from 'treesit-sexp-type-up-list'.
(treesit-forward-sexp, treesit--forward-list-with-default)
(treesit-down-list, treesit-up-list): Update references to the
above variables.
(treesit-cycle-sexp-thing): Rename from 'treesit-cycle-sexp-type'.

* lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode): Update same variables.

* lisp/progmodes/heex-ts-mode.el (heex-ts-mode): Set these variables
instead of calling the function that sets them.

* lisp/progmodes/python.el (python-ts-mode): Check if variables
'treesit-sentence-type-regexp' and 'treesit-sexp-type-regexp' are bound.

https://lists.gnu.org/archive/html/emacs-devel/2025-06/msg00182.html
(cherry picked from commit 76f422da26b09a5d2646c0597871423f019a9573)

3 weeks ago; * lisp/vc/log-edit.el (log-edit-show-diff): Insert comma.
Sean Whitton [Thu, 12 Jun 2025 10:17:27 +0000 (11:17 +0100)]
; * lisp/vc/log-edit.el (log-edit-show-diff): Insert comma.

(cherry picked from commit 799cef5d94bb69d5a1b6bcc8e90819ed90edfd00)

3 weeks agovc-finish-logentry: Fix syncing buffers: include whole fileset
Sean Whitton [Thu, 12 Jun 2025 10:15:56 +0000 (11:15 +0100)]
vc-finish-logentry: Fix syncing buffers: include whole fileset

* lisp/vc/vc-dispatcher.el (log-edit-vc-backend)
(vc-buffer-sync-fileset): Declare.
(vc-finish-logentry): Call vc-buffer-sync-fileset instead of
just vc-buffer-sync.

(cherry picked from commit 651d4b11bcf227cd2f33bca0af5a5710101e9b39)

3 weeks agolog-edit-diff-fileset: Pass NOT-ESSENTIAL non-nil to vc-diff
Sean Whitton [Thu, 12 Jun 2025 10:14:49 +0000 (11:14 +0100)]
log-edit-diff-fileset: Pass NOT-ESSENTIAL non-nil to vc-diff

* lisp/vc/log-edit.el (log-edit-diff-fileset): Pass
NOT-ESSENTIAL non-nil to vc-diff.

(cherry picked from commit 28f40f79974245f6b144d09cc3df91c171834bf9)

3 weeks agoReplace vc-async-checkin-backends with a backend properties function
Sean Whitton [Thu, 12 Jun 2025 09:18:54 +0000 (10:18 +0100)]
Replace vc-async-checkin-backends with a backend properties function

* lisp/vc/vc-git.el (vc-git-async-checkins):
* lisp/vc/vc-hg.el (vc-hg-async-checkins):
* lisp/vc/vc.el (vc-default-async-checkins): New functions.
(vc-checkin): Use them.
(vc-async-checkin-backends): Delete.

(cherry picked from commit 932e413f8afb290fa38476b0f8a78c4073240ff5)

3 weeks ago; Fix char encoding in term-tests.el
Stephane Zermatten [Thu, 12 Jun 2025 08:10:05 +0000 (11:10 +0300)]
; Fix char encoding in term-tests.el

* test/lisp/term-tests.el (term-handle-osc): Fix unicode
characters using "\u" notation.  (Bug#78263)

(cherry picked from commit 3b7fc1b717321d44e283432a6942ec7109eb2093)

3 weeks ago; Fix last change.
Eli Zaretskii [Thu, 12 Jun 2025 07:04:51 +0000 (10:04 +0300)]
; Fix last change.

(cherry picked from commit 323ac96236cac34a4c63b4b9be8a7369650069a7)

3 weeks agoHandle OSC sequences in term (bug#78263)
Stephane Zermatten [Wed, 4 Jun 2025 18:00:42 +0000 (21:00 +0300)]
Handle OSC sequences in term (bug#78263)

Handlers can be registered to term-osc-handler, which by defaults,
supports OSC 0, 2, 7 and 8, using handlers defined in ansi-osc.
Unknown OSC sequences are ignored.

* lisp/term.el (term-emulate-terminal): Handle OSC sequences.
(term-osc-handler): New configuration variable.
(term-control-seq-regexp): Extended regexp.
(term--osc-max-bytes): New private constant.
* lisp/ansi-osc.el (ansi-osc-handler): Handle OSC 0 like OSC 2.
* test/lisp/term-tests.el (term-ignore-osc, term-handle-osc)
(term-call-ansi-osc-handlers): New tests.

(cherry picked from commit 6c13da2caf629b14853e9aa57e59aeeeec14e68f)

3 weeks ago; Skip commit 3939623d76baae16374937d865294577f86fc743
Eshel Yaron [Wed, 18 Jun 2025 08:11:21 +0000 (10:11 +0200)]
; Skip commit 3939623d76baae16374937d865294577f86fc743

3 weeks agoAdd simpler binds for calendar month/year navigation
Paul Nelson [Tue, 10 Jun 2025 09:33:05 +0000 (11:33 +0200)]
Add simpler binds for calendar month/year navigation

* lisp/calendar/calendar.el (calendar-mode-map): Add keybindings
'{' and '}' for month navigation, '[' and ']' for year
navigation (bug#78753).
* doc/emacs/calendar.texi (Calendar Unit Motion): Document
them.

(cherry picked from commit fbb77abc816844ccad761d246cfb833c424ae0b8)

3 weeks agoMake file-notify--call-handler more robust
Michael Albinus [Wed, 11 Jun 2025 17:20:43 +0000 (19:20 +0200)]
Make file-notify--call-handler more robust

* lisp/filenotify.el (file-notify--call-handler): Make it more
robust.  (Bug#78712)

(cherry picked from commit 81a3e4e51167be51c63eae682331210bc62f7280)

3 weeks agoNormalize URL path correctly for http
Robert Pluim [Tue, 10 Jun 2025 07:52:39 +0000 (09:52 +0200)]
Normalize URL path correctly for http

* lisp/url/url-http.el (url-http-create-request): Prepend "/" if
it's missing from the filename.  (Bug#78640)

(cherry picked from commit 7e62c2cf3aadb52397bcff8439d00084cd36afa0)

3 weeks agoInsert missing step to make use of directory tracking OSC codes
Sean Whitton [Wed, 11 Jun 2025 14:23:32 +0000 (15:23 +0100)]
Insert missing step to make use of directory tracking OSC codes

* doc/emacs/misc.texi (Interactive Shell): Say to add
comint-osc-process-output to comint-output-filter-function.

(cherry picked from commit df3fb94f09143285980348a3c6264ace913d3c73)

3 weeks ago; Skip commit 8be65cf6e02ffdc6396af61a13413c7065c832d9
Eshel Yaron [Wed, 18 Jun 2025 08:10:46 +0000 (10:10 +0200)]
; Skip commit 8be65cf6e02ffdc6396af61a13413c7065c832d9

3 weeks agoAmend CC Mode so that the test suite in XEmacs runs error free
Alan Mackenzie [Wed, 11 Jun 2025 13:43:50 +0000 (13:43 +0000)]
Amend CC Mode so that the test suite in XEmacs runs error free

* lisp/progmodes/cc-awk.el (awk-font-lock-keywords):
Reformulate this using backquote and ,@.  Only include the
entry for _" in Emacs.

* lisp/progmodes/cc-defs.el (c--mapcan, c--set-difference)
c--intersection, c--macroexpand-all, c--delete-duplicates): No
longer use the existence of cl-lib.el as the criterion for
what to expand to.
(c-min-property-position): Use c-next-single-property-change
rather than next-single-property-change.  This now works in
XEmacs.

* lisp/progmodes/cc-engine.el
(c-invalidate-sws-region-after-del)
(c-invalidate-sws-region-after-ins, c-forward-sws)
(c-backward-sws, c-find-decl-spots): Replace
next/previous-single-property-change by
c-next/previous-single-property-change to ensure functionality
in XEmacs.
(c-forward-sws, c-backward-sws): Handle NO-BREAKING-SPACE as
whitespace.  This corrects the error in hardspace.c in the test
suite.

* lisp/progmodes/cc-fonts.el (c-font-lock-ml-strings): Refactor
some nested `if's into a cond form.  Don't fontify multiline
string delimiters in XEmacs, in keeping with its string
conventions.

* lisp/progmodes/cc-langs.el (c-populate-syntax-table): Set the
syntax of NO-BREAKING-SPACE to whitespace rather than
punctuation.

* lisp/progmodes/cc-mode.el (c-before-change): Use
c-previous-single-property-change rather than
previous-single-property-change to ensure functionality in
XEmacs.

(cherry picked from commit 1468daf1d1b3ea2916384e4ae78050a9451a64d8)

3 weeks ago* lisp/keymap.el (keymap-set): Refer to 'key-description'. (Bug#78714)
Robert Pluim [Tue, 10 Jun 2025 07:48:20 +0000 (09:48 +0200)]
* lisp/keymap.el (keymap-set): Refer to 'key-description'.  (Bug#78714)

(cherry picked from commit 1bed29495836dab96fe642dbd6f4c1625c50b12a)

3 weeks agovc-next-action: Leave files unregistered if user aborts the checkin
Sean Whitton [Wed, 11 Jun 2025 10:28:24 +0000 (11:28 +0100)]
vc-next-action: Leave files unregistered if user aborts the checkin

* lisp/vc/vc.el (vc-only-files-state-and-model):
Don't call vc-register.
(vc-checkin): New REGISTER parameter.
Call vc-register when it's non-nil.
(vc-next-action): Pass new REGISTER parameter to vc-checkin.

(cherry picked from commit bf418cd836c40795ec4ee19de5c5742d3ca698ea)

3 weeks agoSupport new tree-sitter grammar filename format (bug#78754)
Yuan Fu [Wed, 11 Jun 2025 05:55:58 +0000 (22:55 -0700)]
Support new tree-sitter grammar filename format (bug#78754)

Previously Emacs only looks for filenames like
libtree-sitter-json.so.0.0.  Now Emacs also look for filenames
like libtree-sitter-json.so.15.0.

* src/treesit.c:
(treesit_load_language_push_for_each_suffix): Add versioned
candidate to candidate list too.

(cherry picked from commit 941158fc133f9722abbca8b89a0a346230b83998)

3 weeks ago* test/lisp/repeat-tests.el: Add a command for global continue.
Juri Linkov [Wed, 11 Jun 2025 06:43:45 +0000 (09:43 +0300)]
* test/lisp/repeat-tests.el: Add a command for global continue.

(repeat-tests-call-g): New command (bug#78742).
Put 'repeat-continue' with t on this symbol.
(repeat-tests-global-map): Bind it to 'C-M-g'.
(repeat-tests-continue-another): Add 'C-M-g' that should continue.

(cherry picked from commit de2daa74bd5304364931fd19ad81a94f5f7d8d09)

3 weeks agoImprove repeat-continue property handling
Paul Nelson [Tue, 10 Jun 2025 07:21:52 +0000 (09:21 +0200)]
Improve repeat-continue property handling

* lisp/repeat.el (repeat-get-map-sym): Support 'repeat-continue'
property value of t to continue any active repeat map (suggested
by Karthik Chikmagalur <karthikchikmagalur@gmail.com>).
Simplify logic so that repeat-continue does not interfere with
repeat-map activation.
(repeat-check-map): Allow commands with 'repeat-continue'
property value of t to continue without checking the key.
(repeat-mode): Update and tweak docstring.
* lisp/bind-key.el (bind-keys-form): Update handling of
':continue-only' keyword: only add keymap to 'repeat-continue'
if current value is a list.
(bind-keys): Update documentation, mirroring bind-keys-form.
* lisp/keymap.el (defvar-keymap): Update handling of ':continue'
keyword: only add keymap to 'repeat-continue' if current value
is a list.
* test/lisp/repeat-tests.el (repeat-tests-continue)
(repeat-tests-continue-another): Enable previously commented
tests that now work correctly.
* etc/NEWS: Update announcement of 'repeat-continue' (bug#78742).

(cherry picked from commit 3a0def802cf576902faafde404d15f079786a2f8)

3 weeks ago; Remove superfluous POSITION argument from 'visual-wrap--apply-to-line'
Jim Porter [Wed, 28 May 2025 17:16:02 +0000 (10:16 -0700)]
; Remove superfluous POSITION argument from 'visual-wrap--apply-to-line'

* lisp/visual-wrap.el (visual-wrap--apply-to-line): Remove POSITION and
just use point instead.  Update caller.

(cherry picked from commit 38c57855ae2b5d4245bce0bb444ee86c35dfcdc5)

3 weeks agoClean up text properties in 'visual-wrap-prefix-mode'
Jim Porter [Wed, 28 May 2025 16:44:34 +0000 (09:44 -0700)]
Clean up text properties in 'visual-wrap-prefix-mode'

Before refontifying a region, remove any text properties we care about
so that we don't end up with stray properties.  Additionally, make sure
to remove all the properties when deactivating the mode.

* lisp/emacs-lisp/subr-x.el (add-remove--display-text-property): New
function, extracted from...
(add-display-text-property): ... here.
(remove-display-text-property): New function.

* lisp/visual-wrap.el (visual-wrap--remove-properties): New function...
(visual-wrap-prefix-function, visual-wrap-prefix-mode): ... call it.

* test/lisp/emacs-lisp/subr-x-tests.el
(subr-x-test-remove-display-text-property): New test.

* test/lisp/visual-wrap-tests.el
(visual-wrap-tests/wrap-prefix-stickiness, visual-wrap-tests/cleanup):
New tests.

* doc/lispref/display.texi (Display Property): Document
'remove-display-text-property'.

* etc/NEWS: Announce 'remove-display-text-property' (bug#76018).

(cherry picked from commit 90c0c9a01ed11944c5502f809817a028a1096ee6)

3 weeks agoImprove documentation for display property functions
Jim Porter [Sat, 31 May 2025 19:11:01 +0000 (12:11 -0700)]
Improve documentation for display property functions

Specifically, use the term "display specification" more consistently to
distinguish from "display property", which is the full value of the
'display' text property.

* src/xdisp.c (find_display_property): Rename PROP to SPEC.
(Fget_display_property): Rename PROP to SPEC and improve docstring.

* lisp/emacs-lisp/subr-x.el (add-display-text-property): Rename PROP to
SPEC and improve docstring.

* doc/lispref/display.texi (Display Property): Reword documentation to
more-consistently refer to display specifications.

(cherry picked from commit 24e6cd42330c341f3525e3fdc384e4a646dec733)

3 weeks agoDon't delete in-place when replacing a display property
Jim Porter [Wed, 28 May 2025 16:55:58 +0000 (09:55 -0700)]
Don't delete in-place when replacing a display property

When calling 'add-display-text-property' on a region of text that
already contains PROP, we first delete the old display specification
from the region.  If the region's 'display' property is a list of
display specifications, we need to avoid destructively modifying the
list; other regions of text could be using the same list object.  (For a
'display' property that's a vector or a single display spec, this
doesn't matter since we first make a new list in the code.)

In addition, be more careful when working with a display property like
((margin ...) ...).  This is a single display specification, not a list
of display specs.

* lisp/emacs-lisp/subr-x.el (add-display-text-property): Don't delete
in-place for list values.  Handle (margin ...) display specification
type correctly.

* test/lisp/emacs-lisp/subr-x-tests.el
(subr-x-test-add-display-text-property): Update test.

(cherry picked from commit 4a3c8e6e1df44b187b7286747e363232e8b4e0ea)

3 weeks agoUpdate modus-themes to their version 4.8.0
Protesilaos Stavrou [Wed, 11 Jun 2025 05:09:05 +0000 (08:09 +0300)]
Update modus-themes to their version 4.8.0

* doc/misc/modus-themes.org (Preview theme colors):(Get a single color from the palette with ~modus-themes-get-color-value~):
(DIY Do not extend the region background, Note on SHR fonts): Fix some typos.
(Full support for packages or face groups): Include tmr in the
list of supported packages.
(Acknowledgements): Mention more people who have contributed to
the project in some capacity.

* etc/themes/modus-operandi-deuteranopia-theme.el:
* etc/themes/modus-operandi-theme.el:
* etc/themes/modus-operandi-tinted-theme.el:
* etc/themes/modus-operandi-tritanopia-theme.el:
* etc/themes/modus-vivendi-deuteranopia-theme.el:
* etc/themes/modus-vivendi-theme.el:
* etc/themes/modus-vivendi-tinted-theme.el:
* etc/themes/modus-vivendi-tritanopia-theme.el: Make small changes to the palette of each theme.

* etc/themes/modus-themes.el
(modus-themes-after-load-theme-hook): Reword the doc string
(modus-themes--rotate, modus-themes--rotate-p)
(modus-themes--next-in-rotation, modus-themes-rotate): Make
rotation optionally move in the opposite direction.
(modus-themes-faces): Tweak some faces.

Release notes: <https://protesilaos.com/codelog/2025-06-11-emacs-modus-themes-4-8-0/>.

(cherry picked from commit 7416595e2fc0ff676ef98a139328722ac9220ca0)

3 weeks ago* configure.ac: Detect Android API 36.
Po Lu [Wed, 11 Jun 2025 02:35:28 +0000 (10:35 +0800)]
* configure.ac: Detect Android API 36.

(cherry picked from commit 82af5c10c5cbe203d8b5d605bb51bf82af75428a)

3 weeks agoPort to Android API 36
Po Lu [Wed, 11 Jun 2025 02:34:49 +0000 (10:34 +0800)]
Port to Android API 36

* java/AndroidManifest.xml.in: Update targetSdkVersion to 36.

* java/INSTALL: Document revised compilation dependencies.

* java/org/gnu/emacs/EmacsActivity.java (interceptBackGesture):
New function.
(onCreate): Invoke the same to register back gesture callbacks
on Android 16 or better.

* java/org/gnu/emacs/EmacsWindow.java (onBackInvoked): New
function.

* src/keyboard.c (lispy_function_keys): Amend with new symbols
introduced in Android API 36.

(cherry picked from commit 231c4f20ea17a406519d5797e8ea1afdd0111a7c)

3 weeks agoPrint a message when failing to recover a file
Pip Cet [Tue, 10 Jun 2025 12:26:22 +0000 (12:26 +0000)]
Print a message when failing to recover a file

* lisp/files.el (recover-session-finish): Call 'message' rather than
evaluating a string and a variable without using the result.

(cherry picked from commit f69b822fb0e804a13ff7a4eb55fc2ae618e0de72)

3 weeks agoFix crash when evaluating "(signal nil 5)" (bug#78738)
Pip Cet [Tue, 10 Jun 2025 12:00:30 +0000 (12:00 +0000)]
Fix crash when evaluating "(signal nil 5)" (bug#78738)

The docstring already warns against calling signal with a nil
error symbol, which is for internal use only, but we can avoid crashing
in this case.

* src/eval.c (Fsignal): Produce a "peculiar error" for more arguments
involving non-lists.

(cherry picked from commit 888f846d377a589c6fca5be5d2f4274f423e5fcf)

3 weeks ago* test/lisp/repeat-tests.el: Add a command to continue but not activate.
Juri Linkov [Tue, 10 Jun 2025 06:34:28 +0000 (09:34 +0300)]
* test/lisp/repeat-tests.el: Add a command to continue but not activate.

(repeat-tests-call-e): New command.
(repeat-tests-global-map): Bind it to 'C-M-e'.
(repeat-tests-another-repeat-map, repeat-tests-repeat-map):
Add 'repeat-tests-call-e' to :continue.
(repeat-tests-continue, repeat-tests-continue-another):
Add 'C-M-e' that should continue but not activate.

(cherry picked from commit 073d06e34e1eca224e33b5b350645b4c4af04244)

3 weeks agoAdd tree-sitter version of prog-fill-reindent-defun (bug#78703)
Yuan Fu [Tue, 10 Jun 2025 05:35:34 +0000 (22:35 -0700)]
Add tree-sitter version of prog-fill-reindent-defun (bug#78703)

Add a tree-sitter version of prog-fill-reindent-defun that
indents the defun that encloses point, rather than the sibling
defun after point when there is one.

* lisp/progmodes/prog-mode.el:
(prog-fill-reindent-defun): Turns into a wrapper function.
(prog-fill-reindent-defun-function): New variable.
(prog-fill-reindent-defun-default): Old prog-fill-reindent-defun
becomes this function.
* lisp/treesit.el (treesit-fill-reindent-defun): New function.
(treesit-major-mode-setup): Setup
prog-fill-reindent-defun-function.

(cherry picked from commit f904ff5ca2535356e1353e5fc95d9b0643b8570b)

3 weeks ago; Create a new section for sexp functions in treesit.el.
Yuan Fu [Tue, 10 Jun 2025 05:34:11 +0000 (22:34 -0700)]
; Create a new section for sexp functions in treesit.el.

(cherry picked from commit 5390593c42d46942cd4016bf11653db96246986d)

3 weeks agoExtract out prog--text-at-point-p from prog-fill-reindent-defun
Yuan Fu [Tue, 10 Jun 2025 05:12:49 +0000 (22:12 -0700)]
Extract out prog--text-at-point-p from prog-fill-reindent-defun

* lisp/progmodes/prog-mode.el (prog--text-at-point-p): New function.
(prog-fill-reindent-defun): Use new function.

(cherry picked from commit 32bc6914e5fe696e51f03a035f7ca73c98dbb1a5)

3 weeks ago; * lisp/progmodes/prog-mode.el (prog-fill-reindent-defun): Typo.
Yuan Fu [Tue, 10 Jun 2025 04:54:43 +0000 (21:54 -0700)]
; * lisp/progmodes/prog-mode.el (prog-fill-reindent-defun): Typo.

(cherry picked from commit f9487d2b2898b455f9a828091c10adae312098c2)

3 weeks agoAdd new tactic to treesit-navigate-thing (bug#78703)
Yuan Fu [Tue, 10 Jun 2025 04:41:17 +0000 (21:41 -0700)]
Add new tactic to treesit-navigate-thing (bug#78703)

* doc/emacs/programs.texi (Moving by Defuns):
* doc/lispref/parsing.texi (User-defined Things): Describe the
new tactic.
* lisp/treesit.el (treesit-navigate-thing): Add new tactic.

(cherry picked from commit 0a629abfbbdb34efcefe7b7d6f933bc7d90b5501)

3 weeks agoSupport checking auth-source for NickServ password for rcirc
Philip Kaludercic [Mon, 9 Jun 2025 13:13:19 +0000 (15:13 +0200)]
Support checking auth-source for NickServ password for rcirc

* doc/misc/rcirc.texi: Mention new feature.
* etc/NEWS: Mention new feature.
* lisp/net/rcirc.el (rcirc-authinfo): Update type and documentation.
(rcirc-authenticate): Handle a special type to indicate that the
password is stored via auth-source.

(cherry picked from commit 1009e3d1fd6a40cf7a07a0f75a24f704737e4c6b)

3 weeks ago; * lisp/net/rcirc.el (rcirc-channel-p): Simplify implementation
Philip Kaludercic [Mon, 9 Jun 2025 11:16:17 +0000 (13:16 +0200)]
; * lisp/net/rcirc.el (rcirc-channel-p): Simplify implementation

(cherry picked from commit 2438aaf76413e7255136f9ec900f1900188a0887)

3 weeks agoPrompt just once when deleting multiple files with C-x v v
Sean Whitton [Mon, 9 Jun 2025 11:13:06 +0000 (12:13 +0100)]
Prompt just once when deleting multiple files with C-x v v

* lisp/vc/vc.el (vc-delete-file): Accept lists of files in
addition to single files.
(vc-next-action): Call vc-delete-file once for all the files.

(cherry picked from commit d660ed0b4cdd59c4ba1b61a2e6384dc485ef0dea)

3 weeks agoRequire CertFP files for rcirc to exist
Philip Kaludercic [Mon, 9 Jun 2025 11:09:53 +0000 (13:09 +0200)]
Require CertFP files for rcirc to exist

* lisp/net/rcirc.el (rcirc-authinfo): Adjust the types for the
key and certificate file from 'string' to 'file'.

(cherry picked from commit 00a30a752ecdf927f532ccf504d52392ef9d98da)

3 weeks agoRevert "Fix function arity check for noncompiled callees (bug#78685)"
Mattias Engdegård [Mon, 9 Jun 2025 10:55:11 +0000 (12:55 +0200)]
Revert "Fix function arity check for noncompiled callees (bug#78685)"

This reverts commit 8b0f5b05976a99e82e54d6c602d47a8668ccd9d5.

This change wasn't quite right; the solution requires greater care.

(cherry picked from commit 7f6244364b73f0200704708babf6d22367898912)

3 weeks ago; Document recent VC changes regarding file removal
Sean Whitton [Mon, 9 Jun 2025 10:51:48 +0000 (11:51 +0100)]
; Document recent VC changes regarding file removal

* doc/emacs/maintaining.texi (VC With A Merging VCS)
(VC With A Locking VCS): Update text about 'C-x v v' with mixed
file statuses.
* etc/NEWS: Announce the recent improvements.

(cherry picked from commit e58635a184a6d725c0c89516132fe4c4b0ec850a)

3 weeks ago* lisp/progmodes/c-ts-mode.el (c-ts-mode-menu): Add 'bound-and-true-p'.
Juri Linkov [Mon, 9 Jun 2025 06:40:12 +0000 (09:40 +0300)]
* lisp/progmodes/c-ts-mode.el (c-ts-mode-menu): Add 'bound-and-true-p'.

Use 'bound-and-true-p' for the case when 'subword-mode' is not loaded.

(cherry picked from commit 3c04806b44843e2e07ff3344e2b3f68ffc62575a)

3 weeks ago; Fix last change.
Eshel Yaron [Sun, 8 Jun 2025 19:58:18 +0000 (21:58 +0200)]
; Fix last change.

Thanks to Daniel Mendler <mail@daniel-mendler.de> for
pointing out my mistake in commit 4be63c85d2a.

(cherry picked from commit 86eb733aef49fc91b6f2cf4ecb384c05e899ffa5)

3 weeks ago; * doc/lispref/modes.texi (Font Lock Basics): Remove old info (bug#78720).
Eli Zaretskii [Sun, 8 Jun 2025 15:43:20 +0000 (18:43 +0300)]
; * doc/lispref/modes.texi (Font Lock Basics): Remove old info (bug#78720).

(cherry picked from commit c0a913ea4f3445567ded55da7cd8436a4b872276)

3 weeks ago; Skip commit 37de076017a7967296bb80a4282a46e3de75322f
Eshel Yaron [Wed, 18 Jun 2025 07:59:20 +0000 (09:59 +0200)]
; Skip commit 37de076017a7967296bb80a4282a46e3de75322f

3 weeks agoDrop elint.el
Eshel Yaron [Wed, 18 Jun 2025 07:57:27 +0000 (09:57 +0200)]
Drop elint.el

4 weeks agoelisp-mode.el: Some Xref improvements
Eshel Yaron [Mon, 16 Jun 2025 20:45:23 +0000 (22:45 +0200)]
elisp-mode.el: Some Xref improvements

4 weeks agoscope.el: Support setopt
Eshel Yaron [Sat, 14 Jun 2025 18:42:52 +0000 (20:42 +0200)]
scope.el: Support setopt

4 weeks ago; Update lisp/ldefs-boot.el
Eshel Yaron [Fri, 13 Jun 2025 20:07:00 +0000 (22:07 +0200)]
; Update lisp/ldefs-boot.el

4 weeks agoDrop tex-mode, RefTeX, texinfo.el
Eshel Yaron [Fri, 13 Jun 2025 19:05:37 +0000 (21:05 +0200)]
Drop tex-mode, RefTeX, texinfo.el

4 weeks agoelisp-mode.el: Optimize Xref integration
Eshel Yaron [Fri, 13 Jun 2025 17:56:59 +0000 (19:56 +0200)]
elisp-mode.el: Optimize Xref integration

4 weeks agoDrop vcursor.el
Eshel Yaron [Thu, 12 Jun 2025 15:29:17 +0000 (17:29 +0200)]
Drop vcursor.el

4 weeks agoDrop compare-w.el
Eshel Yaron [Thu, 12 Jun 2025 15:28:17 +0000 (17:28 +0200)]
Drop compare-w.el

4 weeks agoscope.el: Improve cl-defun support
Eshel Yaron [Thu, 12 Jun 2025 14:27:22 +0000 (16:27 +0200)]
scope.el: Improve cl-defun support

4 weeks agoNew minor mode for persisting ELisp completion frecency data
Eshel Yaron [Thu, 12 Jun 2025 05:52:41 +0000 (07:52 +0200)]
New minor mode for persisting ELisp completion frecency data

4 weeks ago(c-a-p-f-with-frecency-sorting): Add argument CONTEXT-FN.
Eshel Yaron [Thu, 12 Jun 2025 05:52:10 +0000 (07:52 +0200)]
(c-a-p-f-with-frecency-sorting): Add argument CONTEXT-FN.

4 weeks ago(c-a-p-f-with-frecency-sorting): Respect existing :exit-function
Eshel Yaron [Wed, 11 Jun 2025 20:14:39 +0000 (22:14 +0200)]
(c-a-p-f-with-frecency-sorting): Respect existing :exit-function

4 weeks ago(c-a-p-f-with-frecency-sorting): Simplify, use OClosure.
Eshel Yaron [Wed, 11 Jun 2025 18:58:53 +0000 (20:58 +0200)]
(c-a-p-f-with-frecency-sorting): Simplify, use OClosure.

4 weeks agoscope.el: Handle oclosure-lambda
Eshel Yaron [Wed, 11 Jun 2025 18:58:22 +0000 (20:58 +0200)]
scope.el: Handle oclosure-lambda

4 weeks agoscope.el: Fix tooltip help for local variables
Eshel Yaron [Wed, 11 Jun 2025 18:57:03 +0000 (20:57 +0200)]
scope.el: Fix tooltip help for local variables

4 weeks agoelisp-mode.el: Better support for charsets
Eshel Yaron [Wed, 11 Jun 2025 12:07:58 +0000 (14:07 +0200)]
elisp-mode.el: Better support for charsets

4 weeks agoAlso show value of special variables in help tooltip
Eshel Yaron [Wed, 11 Jun 2025 09:14:01 +0000 (11:14 +0200)]
Also show value of special variables in help tooltip

4 weeks agoelisp-mode.el: Better support for coding-systems
Eshel Yaron [Wed, 11 Jun 2025 06:45:12 +0000 (08:45 +0200)]
elisp-mode.el: Better support for coding-systems

5 weeks agoscope.el: Handle oclosure--define
Eshel Yaron [Mon, 9 Jun 2025 06:22:56 +0000 (08:22 +0200)]
scope.el: Handle oclosure--define

5 weeks ago; Document 'completion-table-with-metadata' in the ELisp manual
Eshel Yaron [Sun, 8 Jun 2025 19:07:20 +0000 (21:07 +0200)]
; Document 'completion-table-with-metadata' in the ELisp manual

* doc/lispref/minibuf.texi (Programmed Completion): Document
'completion-table-with-metadata'.

(cherry picked from commit 4be63c85d2a5ec325f6724cb3a78cdcee18094db)

5 weeks agoMore language server on emba
Michael Albinus [Sun, 8 Jun 2025 14:45:06 +0000 (16:45 +0200)]
More language server on emba

* test/infra/Dockerfile.emba (emacs-eglot): Install also
typescript-language-server and vscode-json-languageserver.

(cherry picked from commit 13a4cd5ed1ed0e44dc64ae8d08d36f7e02e2efd1)

5 weeks agoImprove emba integration
Michael Albinus [Sun, 8 Jun 2025 13:47:44 +0000 (15:47 +0200)]
Improve emba integration

* admin/notes/emba: Mention generated compatibility-report.html.

* test/infra/Dockerfile.emba (emacs-base): Install man-db.
(emacs-inotify): Don't install clangd.
(emacs-eglot): Derive from debian:trixie.  Install rust-analyzer.

* test/infra/gitlab-ci.yml (.job-template): Make actions in
after_script more robust.

(cherry picked from commit f1766fd2b35b70093bb4caab79a8dcdfec666ee0)

5 weeks agovc-next-action: On mixed state sets, treat missing files as removed
Sean Whitton [Sun, 8 Jun 2025 10:25:17 +0000 (11:25 +0100)]
vc-next-action: On mixed state sets, treat missing files as removed

* lisp/vc/vc.el (vc-only-files-state-and-model, vc-next-action):
Add the 'missing' state to the set of compatible states for
mixed state actions.  This means you can commit removals of
files without first moving them to the 'removed' state.

(cherry picked from commit 988110fb6d13ce263574c8f4610a89a38ebb6835)

5 weeks agovc-next-action: Offer to delete missing files
Sean Whitton [Sun, 8 Jun 2025 10:22:28 +0000 (11:22 +0100)]
vc-next-action: Offer to delete missing files

* lisp/vc/vc.el (vc-next-action): Call vc-delete-file on a set
of missing files, to move them to the 'removed' state, instead
of just erroring out.

(cherry picked from commit 9b4fec7a97c9969452f048c0f851aca2b5914b74)

5 weeks ago; Skip commit ff8c0648fb4dd67bfad44167e70f25a12b1149bd
Eshel Yaron [Sun, 8 Jun 2025 19:21:28 +0000 (21:21 +0200)]
; Skip commit ff8c0648fb4dd67bfad44167e70f25a12b1149bd

5 weeks ago; Skip commit b7560fb63dce3a1c7cc7048ebcfca7c694e566d2
Eshel Yaron [Sun, 8 Jun 2025 19:21:09 +0000 (21:21 +0200)]
; Skip commit b7560fb63dce3a1c7cc7048ebcfca7c694e566d2

5 weeks agoFix 'save-some-buffers' when file name has embedded '%'
Eli Zaretskii [Sat, 7 Jun 2025 13:35:42 +0000 (16:35 +0300)]
Fix 'save-some-buffers' when file name has embedded '%'

* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Don't assume the
prompt will never include the '%' character.  (Bug#78715)

(cherry picked from commit 62014576dcd7fb71aa0e5dce01d451de8c24efc6)

5 weeks agovc-git: Properly track unstaged deletions
Sean Whitton [Sat, 7 Jun 2025 12:25:59 +0000 (13:25 +0100)]
vc-git: Properly track unstaged deletions

* lisp/vc/vc-git.el (vc-git--git-status-to-vc-state)
(vc-git-after-dir-status-stage): Return/set 'missing' VC state,
not 'removed' state, for unstaged deletions.
(vc-git-dir-status-goto-stage): Add 'ls-files-missing' stage.

(cherry picked from commit b195ccfe892277075503f6b9c4c67a12db2632c1)

5 weeks ago; * lisp/vc/vc-git.el (vc-git-after-dir-status-stage): Comments.
Sean Whitton [Sat, 7 Jun 2025 12:09:19 +0000 (13:09 +0100)]
; * lisp/vc/vc-git.el (vc-git-after-dir-status-stage): Comments.

(cherry picked from commit 29990aadda8d4f9fcf8961fdbc0a107469829e8c)

5 weeks agoInline sole call to vc-git--state-code
Sean Whitton [Sat, 7 Jun 2025 11:50:52 +0000 (12:50 +0100)]
Inline sole call to vc-git--state-code

* lisp/vc/vc-git.el (vc-git--state-code): Delete.
(vc-git-after-dir-status-stage): Inline it here.

(cherry picked from commit 82109aa7261ef98f41201b775f92d50ab7a4e6bb)

5 weeks ago; Fix last change (bug#78396)
Eli Zaretskii [Sat, 7 Jun 2025 10:32:41 +0000 (13:32 +0300)]
; Fix last change (bug#78396)

* lisp/paren.el (show-paren-not-in-comments-or-strings):
* etc/NEWS:
* doc/emacs/programs.texi (Matching): Fix wording and punctuation
in doc string, defcustom tags, manual, and NEWS.

(cherry picked from commit bed490f0f2d2a8ec7181a7a6b65520a7e40f78fb)

5 weeks agoAdd option for not highlight parens inside comments or strings
Elías Gabriel Pérez [Mon, 12 May 2025 18:04:46 +0000 (12:04 -0600)]
Add option for not highlight parens inside comments or strings

* lisp/paren.el (show-paren-not-in-comments-or-strings):
New user option.  (Bug#78396)
(show-paren-function): Enclose code in 'catch' function.
* etc/NEWS: Announce changes.
* doc/emacs/programs.texi (Matching): Document new option.

(cherry picked from commit 12397e3eb00c052455f03dc024e9335834f0c6ef)

5 weeks agoFix vertical-motion when an image is at EOL under word-wrap
JD Smith [Wed, 4 Jun 2025 20:47:48 +0000 (16:47 -0400)]
Fix vertical-motion when an image is at EOL under word-wrap

* src/xdisp.c (move_it_in_display_line_to): Fix return value under
word-wrap when a screen line ends with an image that "just fits".
(Bug#67604)

(cherry picked from commit 9b30934756ab4872134847ad98350637d690b988)

5 weeks ago; Fix last change (bug#77945)
Eli Zaretskii [Sat, 7 Jun 2025 09:43:39 +0000 (12:43 +0300)]
; Fix last change (bug#77945)

* lisp/faces.el (face-all-attributes):
* etc/NEWS: Reformat and fix wording in documentation.

(cherry picked from commit 0bc2a5a2c178ac5e79ea577affe91e711b410123)

5 weeks agoAdd optional inherit argument to 'face-all-attributes' (bug#77945)
shipmints [Sun, 20 Apr 2025 17:09:35 +0000 (13:09 -0400)]
Add optional inherit argument to 'face-all-attributes' (bug#77945)

* lisp/faces.el (face-all-attributes): Add 'inherit' argument
and pass to 'face-attribute'.

(cherry picked from commit 13fa74b73c36de2439f7cae13f25647fb46161e9)

5 weeks agoAvoid whitespace-mode breaking standard-display-unicode-special-glyphs
Eli Zaretskii [Sat, 7 Jun 2025 09:21:38 +0000 (12:21 +0300)]
Avoid whitespace-mode breaking standard-display-unicode-special-glyphs

* lisp/whitespace.el (whitespace-display-char-on): Copy from
'standard-display-table' if 'buffer-display-table' is nil.  This
avoids overwriting display-table customizations by features that
modify 'standard-display-table' for global effects.  (Bug#78522)

(cherry picked from commit fc96cc1feb488dfeffd760d63872515f04033894)

5 weeks agoTeach checkdoc about (:this that) in cl-defun
Eli Zaretskii [Sat, 7 Jun 2025 09:15:33 +0000 (12:15 +0300)]
Teach checkdoc about (:this that) in cl-defun

* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
Support more complex keyword args.  (Bug#78543)

(cherry picked from commit 9629ade0b0366d62202419f37b467fe0e6caf227)

5 weeks ago; Skip commit e1fcb25fc3aa05d878d385302b62cd00760bc1a3
Eshel Yaron [Sat, 7 Jun 2025 20:01:58 +0000 (22:01 +0200)]
; Skip commit e1fcb25fc3aa05d878d385302b62cd00760bc1a3

5 weeks ago; Skip commit d8993eff116a7dc350fb7ccc1ef3fa99f5c57b2e
Eshel Yaron [Sat, 7 Jun 2025 20:01:54 +0000 (22:01 +0200)]
; Skip commit d8993eff116a7dc350fb7ccc1ef3fa99f5c57b2e

5 weeks ago; * doc/emacs/misc.texi (Network Security): Fix typo.
Robert Pluim [Thu, 5 Jun 2025 14:09:11 +0000 (16:09 +0200)]
; * doc/emacs/misc.texi (Network Security): Fix typo.

(cherry picked from commit e4ba279b014417c77cf494575434c0714b03eaa3)

5 weeks agoNew revert-files VC backend function for faster mass reverts
Sean Whitton [Fri, 6 Jun 2025 10:52:32 +0000 (11:52 +0100)]
New revert-files VC backend function for faster mass reverts

* lisp/vc/vc-git.el (vc-git-revert-files):
* lisp/vc/vc-hg.el (vc-hg-revert-files):
* lisp/vc/vc.el (vc-revert-files): New functions.
(vc-revert-files): Incorporate vc-revert's calls to message here
so that the messages are displayed more consistently.
(vc-next-action, vc-default-checkin-patch, vc-revert): Use
vc-revert-files instead of vc-revert-file.

(cherry picked from commit 757f6cb0ac710533d5e18035e8b20a4bc7dcdc7c)

5 weeks agoFix apparent thinko in vc-next-action
Sean Whitton [Fri, 6 Jun 2025 10:47:10 +0000 (11:47 +0100)]
Fix apparent thinko in vc-next-action

* lisp/vc/vc.el (vc-next-action): Pass an argument to
buffer-modified-p because the loop does not set the current
buffer before calling that function.

(cherry picked from commit 8f85cf2ae93a089ea78f55915aa5f7c6776d3362)

5 weeks agoVC: Deprecate log-incoming and log-outgoing backend functions
Sean Whitton [Fri, 6 Jun 2025 08:53:32 +0000 (09:53 +0100)]
VC: Deprecate log-incoming and log-outgoing backend functions

* lisp/vc/vc-git.el (vc-git-incoming-revision):
Inline vc-git--fetch-incoming.
(vc-git--fetch-incoming, vc-git-log-incoming)
(vc-git-log-outgoing): Delete.
* lisp/vc/vc-hg.el (vc-hg-mergebase):
* lisp/vc/vc.el (vc-default-log-incoming)
(vc-default-log-outgoing): New functions.
* lisp/vc/vc.el:
* etc/NEWS: Document the deprecation.

(cherry picked from commit ac4869c71293c28f861f306420f5d0620cf3a7cc)

5 weeks ago* lisp/vc/vc.el: Update specification of print-log backend function.
Sean Whitton [Fri, 6 Jun 2025 08:49:37 +0000 (09:49 +0100)]
* lisp/vc/vc.el: Update specification of print-log backend function.

(cherry picked from commit b3f4486b04d92fd1b34c43edb5c864f3cada234b)

5 weeks ago; vc--with-backend-in-rootdir: Fix Edebug declaration.
Sean Whitton [Fri, 6 Jun 2025 08:48:01 +0000 (09:48 +0100)]
; vc--with-backend-in-rootdir: Fix Edebug declaration.

(cherry picked from commit 4456ca3d3bebf35f4ed3a89bac437f35940dfe1b)

5 weeks ago; Skip commit 1110696f022b29c2b5029e8fadaaeba6ebe58da8
Eshel Yaron [Sat, 7 Jun 2025 20:01:37 +0000 (22:01 +0200)]
; Skip commit 1110696f022b29c2b5029e8fadaaeba6ebe58da8

5 weeks ago; * lisp/treesit.el (treesit-beginning-of-defun): Doc fix (bug#78703).
Eli Zaretskii [Fri, 6 Jun 2025 07:00:20 +0000 (10:00 +0300)]
; * lisp/treesit.el (treesit-beginning-of-defun): Doc fix (bug#78703).

(cherry picked from commit 8fdb2d19b495e392f47046513e05c8992fee2b4c)

5 weeks agoproject-switch-to-buffer: Don't disambiguate too much
Dmitry Gutov [Fri, 6 Jun 2025 02:38:55 +0000 (05:38 +0300)]
project-switch-to-buffer: Don't disambiguate too much

* lisp/progmodes/project.el (project--read-project-buffer):
Use the new function from 'uniquify' to generate buffer names that
are just unique to the current project, not globally (bug#77312).

(cherry picked from commit 1c465fc0879b68b1cd7a05c033f6bb82fd5fa3aa)

5 weeks agoAdd uniquify-get-unique-names (bug#77312)
Spencer Baugh [Thu, 27 Mar 2025 13:32:47 +0000 (09:32 -0400)]
Add uniquify-get-unique-names (bug#77312)

This new function provides an interface to uniquify.el which doesn't
change the actual names of the buffers.  This is useful for any commands
which deal with a subset of all buffers; for example, project.el.

* lisp/uniquify.el (uniquify-rationalize--generic): Add.
(uniquify-rationalize, uniquify-rationalize-a-list)
(uniquify-rationalize-conflicting-sublist): Explicitly pass
RENAME-BUFFER-FN and GET-BUFFER-FN.
(uniquify--stateless-curname, uniquify-get-unique-names): Add.

(cherry picked from commit 79cd1cc30e0c9a5f058279dc6f618e5dc22a1945)

5 weeks agoFix function arity check for noncompiled callees (bug#78685)
Mattias Engdegård [Thu, 5 Jun 2025 16:11:43 +0000 (18:11 +0200)]
Fix function arity check for noncompiled callees (bug#78685)

This is a regression from Emacs 29.

* lisp/emacs-lisp/bytecomp.el (byte-compile-fdefinition):
Make it work for functions that aren't compiled.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--f):
(bytecomp-tests--warn-arity-noncompiled-callee): Add test.

(cherry picked from commit 8b0f5b05976a99e82e54d6c602d47a8668ccd9d5)

5 weeks agoFix Tramp connection property
Michael Albinus [Thu, 5 Jun 2025 14:29:18 +0000 (16:29 +0200)]
Fix Tramp connection property

* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
Set "connected" property in time.

(cherry picked from commit 7393d7419e97272fbca6323cf374ec021dbe82e2)