]> git.eshelyaron.com Git - emacs.git/log
emacs.git
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)

5 weeks ago* lisp/subr.el (play-sound): Update docstring (bug#78694).
Kazuhiro Ito [Wed, 4 Jun 2025 11:40:06 +0000 (20:40 +0900)]
* lisp/subr.el (play-sound): Update docstring (bug#78694).

(cherry picked from commit b15743d71399ed44fb431adb149f98c6ac86d26f)

5 weeks ago; Improve documentation of treesit nodes
Eli Zaretskii [Thu, 5 Jun 2025 11:25:06 +0000 (14:25 +0300)]
; Improve documentation of treesit nodes

* doc/lispref/parsing.texi (Retrieving Nodes): Fix and describe the
printed representation of treesit nodes.

(cherry picked from commit 5bf6585de23a7efc1a01d907704325e702e9410a)

5 weeks agoDelay running vc-checkin-hook for an async checkin
Sean Whitton [Fri, 30 May 2025 12:32:00 +0000 (13:32 +0100)]
Delay running vc-checkin-hook for an async checkin

* lisp/vc/vc-git.el (vc-git-checkin):
* lisp/vc/vc-hg.el (vc-hg-checkin, vc-hg-checkin-patch): Run
vc-checkin-hook using vc-run-delayed.
* lisp/vc/vc.el (vc-checkin): Don't pass vc-checkin-hook to
vc-start-logentry when doing an async checkin.  That runs the
hook too early.

(cherry picked from commit 7d0a605a70215acd79f920d1c250d6ea4e40bb78)

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

5 weeks agoImprove documentation of treesit "thing"
Eli Zaretskii [Thu, 5 Jun 2025 07:30:44 +0000 (10:30 +0300)]
Improve documentation of treesit "thing"

* src/treesit.c (syms_of_treesit):
* lisp/treesit.el (treesit-cycle-sexp-type):
(treesit-thing-at, treesit-thing-at-point): Doc fixes.

* doc/lispref/parsing.texi (User-defined Things): Improve
documentation of treesit "thing" and related functions; add
cross-references and indexing.

(cherry picked from commit bcf005fa774194d434c68cc191566b58c297ca86)

5 weeks ago(cl-deftype): Silence spurious warnings in `xcb-types.el`
Stefan Monnier [Wed, 4 Jun 2025 23:27:08 +0000 (19:27 -0400)]
(cl-deftype): Silence spurious warnings in `xcb-types.el`

* lisp/emacs-lisp/cl-macs.el (cl-deftype): Don't warn if the predicate
doesn't use its argument, e.g. when the type is equivalent to `t`.

(cherry picked from commit 1903b0062b1688241d1485b3e460264e124ba757)

5 weeks ago(outline--hidden-headings-paths): Fix slow saves (bug#78665)
Stefan Monnier [Wed, 4 Jun 2025 20:36:27 +0000 (16:36 -0400)]
(outline--hidden-headings-paths): Fix slow saves (bug#78665)

* lisp/outline.el: Prefer #' to quote function names.
(outline--end-of-previous): New function, extracted from
`outline-end-of-subtree`.
(outline-end-of-subtree): Use it.
(outline--hidden-headings-paths): Distinguish headings where just the
entry is hidden from those where a whole subtree is hidden (bug#78673).
(outline--hidden-headings-restore-paths): Adjust accordingly and don't
delegate to functions like `outline-hide-subtree` so as to avoid
an O(N²) behavior.

(cherry picked from commit 77a4c63fda5ca5d4c6d82092eaa06f1eb9b51302)

5 weeks ago* lisp/tab-line.el: Use 'tab-line-event-start' in remaining functions.
Juri Linkov [Wed, 4 Jun 2025 17:22:22 +0000 (20:22 +0300)]
* lisp/tab-line.el: Use 'tab-line-event-start' in remaining functions.

(tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab):
Use 'tab-line-event-start' instead of 'event-start'
like in all other functions.

(cherry picked from commit 6f24725323dce786dd06ecf82b49c20eff8a98f7)

5 weeks ago; * src/nsterm.m (ns_draw_stretch_glyph_string): Fix a thinko (bug#78654).
Eli Zaretskii [Wed, 4 Jun 2025 16:56:58 +0000 (19:56 +0300)]
; * src/nsterm.m (ns_draw_stretch_glyph_string): Fix a thinko (bug#78654).

(cherry picked from commit 8c4ff60cf400dc26a2e32c9d1dbada5ecac6f2d5)

5 weeks agoUpdate to Transient v0.9.1-7-gd7d2c1c2
Jonas Bernoulli [Wed, 4 Jun 2025 13:17:51 +0000 (15:17 +0200)]
Update to Transient v0.9.1-7-gd7d2c1c2

(cherry picked from commit 680fa61b5989b84c0e19ac568be012afd8345f0c)

5 weeks agoFactor out vc--with-backend-in-rootdir
Sean Whitton [Wed, 4 Jun 2025 12:11:14 +0000 (13:11 +0100)]
Factor out vc--with-backend-in-rootdir

* lisp/vc/vc.el (vc--with-backend-in-rootdir): New macro.
(vc-root-version-diff, vc-diff-mergebase, vc-root-diff)
(vc-print-root-log, vc-log-mergebase): Use it.
(vc-log-incoming, vc-log-outgoing): Use it here too in order to
prompt for a directory if current buffer is not VCS-controlled.

(cherry picked from commit 69b245cf4fe54203a330553954250ca76b40ab47)

5 weeks ago; * lisp/vc/vc.el (vc-print-log-internal): Fix some indentation.
Sean Whitton [Wed, 4 Jun 2025 11:03:08 +0000 (12:03 +0100)]
; * lisp/vc/vc.el (vc-print-log-internal): Fix some indentation.

(cherry picked from commit 0ca6667c00e89f2fc7ad367a585ebb1f91669838)

5 weeks ago; vc-bzr-incoming-revision: Rewrite to match buffer text directly.
Sean Whitton [Wed, 4 Jun 2025 08:36:23 +0000 (08:36 +0000)]
; vc-bzr-incoming-revision: Rewrite to match buffer text directly.

(cherry picked from commit e3472e8ec5852fb2b3f29c174a085b8f5b8f6f42)

5 weeks agoBetter command subst fontification in bash-ts-mode (bug#78567)
Jostein Kjønigsen [Mon, 5 May 2025 20:29:37 +0000 (22:29 +0200)]
Better command subst fontification in bash-ts-mode (bug#78567)

* lisp/progmodes/sh-script.el (sh-mode--treesit-settings):
fontify command-substition command only.  Don't include
enclosing brackets.

(cherry picked from commit 61d711652054e6b12e9cb3c8a85285fdfbee38eb)

5 weeks ago* lisp/tab-line.el: Remove unnecessary checks for nil event.
Juri Linkov [Wed, 4 Jun 2025 06:49:01 +0000 (09:49 +0300)]
* lisp/tab-line.el: Remove unnecessary checks for nil event.

(tab-line-hscroll-right, tab-line-hscroll-left)
(tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab)
(tab-line-close-tab, tab-line-close-other-tabs):
Remove '(consp event)' to use the window returned by
'(posn-window (tab-line-event-start event))' even in case
when 'event' is nil.

(cherry picked from commit 47837adf8c874356d598fb0a5224a137083d5be7)

5 weeks ago; Fix recent changes in typescript-ts-mode.el
Yuan Fu [Wed, 4 Jun 2025 05:44:13 +0000 (22:44 -0700)]
; Fix recent changes in typescript-ts-mode.el

* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts--standalone-parent-p): Add a limit to the
looking-back call.

(cherry picked from commit d1fa5115123ec913c11f9e3ea43772855495f03a)

5 weeks agolisp/progmodes/sh-script.el (sh-popup-occur-buffer): Remove unused var
Stefan Monnier [Tue, 3 Jun 2025 21:13:51 +0000 (17:13 -0400)]
lisp/progmodes/sh-script.el (sh-popup-occur-buffer): Remove unused var

(cherry picked from commit a4a66d9628e7c75250424a8cdcadc42e34de3fa9)

5 weeks ago(lisp-imenu-generic-expression): Add `oclosure-define`
Thierry Volpiatto [Tue, 3 Jun 2025 20:03:27 +0000 (16:03 -0400)]
(lisp-imenu-generic-expression): Add `oclosure-define`

* lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
Add `oclosure-define` alongside the other type definition forms.

(cherry picked from commit eb788fd8fd2026fa4d29b918ff95b12d8e3e0bab)

5 weeks ago; Fix recent changes in typescript-ts-mode.el
Eli Zaretskii [Tue, 3 Jun 2025 16:32:29 +0000 (19:32 +0300)]
; Fix recent changes in typescript-ts-mode.el

* lisp/progmodes/typescript-ts-mode.el
(typescript-ts--standalone-parent-p): Fix warning and punctuation
in a comment.

(cherry picked from commit 9fcea4a263a004e5a2996a0dae2305434ed423c5)

5 weeks ago* lisp/tab-line.el: Use 'consp' on mouse events instead of 'listp'.
Juri Linkov [Tue, 3 Jun 2025 15:49:31 +0000 (18:49 +0300)]
* lisp/tab-line.el: Use 'consp' on mouse events instead of 'listp'.

(tab-line-hscroll-right, tab-line-hscroll-left, tab-line-new-tab)
(tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab)
(tab-line-close-tab, tab-line-close-other-tabs):
Replace '(listp event)' with '(consp event)' that allows
calling the functions non-interactively with nil event arguments.

(cherry picked from commit 332f733d88bab937120fc4de5679db92d7636d15)

5 weeks agoRestore c-ts-common-comment-setup in js-ts-mode and typescript-ts-mode.
Juri Linkov [Tue, 3 Jun 2025 15:41:01 +0000 (18:41 +0300)]
Restore c-ts-common-comment-setup in js-ts-mode and typescript-ts-mode.

* lisp/progmodes/js.el (js-ts-mode):
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-base-mode):
Add 'c-ts-common-comment-setup' back removed in 8bccccedb65a
since it does more than setting comment variables (bug#78680).

(cherry picked from commit 6b668c2213432db04d29d36b8bf25a8f3f853c62)

5 weeks agoAdd ansible password prompts to `comint-password-prompt-regexp'
Michael Albinus [Tue, 3 Jun 2025 14:56:52 +0000 (16:56 +0200)]
Add ansible password prompts to `comint-password-prompt-regexp'

* lisp/comint.el (comint-password-prompt-regexp):
* test/lisp/comint-tests.el (comint-testsuite-password-strings):
Add ansible password prompts. (Bug#78442)

(cherry picked from commit f60ad8d1e0bf3352af8f30bc4d4de25030447d3a)

5 weeks agoFix NS port screen geometry report (bug#76051)
Alan Third [Mon, 26 May 2025 19:27:39 +0000 (20:27 +0100)]
Fix NS port screen geometry report (bug#76051)

* src/nsfns.m (Fns_display_monitor_attributes_list): Fix the arithmetic
to calculate the origin of the visible frame.

(cherry picked from commit 50e3bce315eb499917c1d208f87f84315f1a8b4e)

5 weeks agoFix ns_make_monitor_attribute_list (bug#76691)
shipmints [Tue, 4 Mar 2025 14:56:56 +0000 (09:56 -0500)]
Fix ns_make_monitor_attribute_list (bug#76691)

This is the NS implementation for 'display-monitor-attributes-list'.
Change implementation from IORegistry to direct introspection
of NSScreen.

* src/nsfns.m (ns_make_monitor_attribute_list): Use localizedName
selector on NSScreen.  For anonymous displays, synthesize names
of the form ("%dx%d@%d,%d" width height x y).
(ns_get_name_from_ioreg) (ns_screen_name): Removed.

(cherry picked from commit 9cc5f1c697c1a47470651ff4293f335eaa10ea9a)

5 weeks ago; * etc/PROBLEMS: Improve the item about 'C-S-u' in PGTK build.
Eli Zaretskii [Mon, 2 Jun 2025 15:34:21 +0000 (18:34 +0300)]
; * etc/PROBLEMS: Improve the item about 'C-S-u' in PGTK build.

(cherry picked from commit cd57a05542bd9cc5b9866d2b6b15d5125cf9e40e)

5 weeks agoTramp: Do not raise an error when not connected (Bug#78572)
Michael Albinus [Mon, 2 Jun 2025 09:44:43 +0000 (11:44 +0200)]
Tramp: Do not raise an error when not connected  (Bug#78572)

* lisp/net/tramp-cmds.el (tramp-cleanup-connection):
Use read syntax #' for `tramp-timeout-session',

* lisp/net/tramp.el (tramp-barf-if-file-missing): Do not raise an error
when not connected.  (Bug#78572)
(tramp-file-name-handler): Do not force the backtrace.
(tramp-connectable-p): Check also, whether initial handshake is finished.
(tramp-skeleton-directory-files)
(tramp-skeleton-directory-files-and-attributes)
(tramp-skeleton-set-file-modes-times-uid-gid): Rearrange sending
`file-missing' error.
(tramp-handle-access-file, tramp-handle-unlock-file):
Use `tramp-connectable-p'.

* test/lisp/net/tramp-tests.el (project-mode-line-format)
(project-mode-line): Declare.
(tramp-test48-session-timeout): New test.
(tramp-test49-auto-load, tramp-test49-delay-load)
(tramp-test49-recursive-load, tramp-test49-remote-load-path)
(tramp-test50-without-remote-files, tramp-test51-unload): Rename.

(cherry picked from commit 55691c61d4af972b999bb97bffb46cb8571c912c)

5 weeks agoPacify Clang's -Wformat-signedness.
Collin Funk [Mon, 2 Jun 2025 01:01:33 +0000 (18:01 -0700)]
Pacify Clang's -Wformat-signedness.

* configure.ac: Enable -Wno-format-signedness if Clang is being used.

(cherry picked from commit 1b03a348f7e7a01961108867985006fdfcc0a8cf)

5 weeks agoFix typescript-ts-mode tenary indentation (bug#77901)
Yuan Fu [Sun, 1 Jun 2025 23:14:12 +0000 (16:14 -0700)]
Fix typescript-ts-mode tenary indentation (bug#77901)

Fixes indentation for nested ternary expressions:

const a = cond1 ? 1 :
  cond2 ? 2 :
  cond3 ? 3 :
  cond 4: 5;

instead of

const a = cond1 ? 1 :
  cond2 ? 2 :
    cond3 ? 3 :
      cond 4: 5;

* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts--standalone-parent-p): New function.
(typescript-ts-mode):
(tsx-ts-mode): Use new function.

(cherry picked from commit 8d132359d19b8efbdbd17786fa67c0c20efba35b)

5 weeks agoFontificatiomn improvements for typescrip-ts-mode.el (bug#78594)
Jostein Kjønigsen [Fri, 7 Mar 2025 13:39:11 +0000 (14:39 +0100)]
Fontificatiomn improvements for typescrip-ts-mode.el (bug#78594)

- Fontify type-names for static function calls directly on types.
- Special-case "document" and "console" and constants/builtins.
- Fontify variable-use in string-interpolation expressions.
- Fontify variable-use in function-calls.
- Fontify variable-use in member-access expressions.
- Fontify variable-use in JSX-expressions.
- Fontify variable-use when using explicit nullability override.

* lisp/progmodes/typescript-ts-mode.el:
(tsx-ts-mode--font-lock-compatibility-bb1f97b):
(typescript-ts-mode--font-lock-settings): Improve font-lock settings.

(cherry picked from commit c3f4e6ca0e379bf082b1262ff5d4c07a79a434f7)

5 weeks ago; Skip commit dfd57f350a0cca1942c194685d3eb9fe7291ea4d
Eshel Yaron [Sat, 7 Jun 2025 19:59:25 +0000 (21:59 +0200)]
; Skip commit dfd57f350a0cca1942c194685d3eb9fe7291ea4d

5 weeks ago* lisp/vc/vc-bzr.el (vc-bzr-incoming-revision): New function.
Sean Whitton [Sun, 1 Jun 2025 15:21:04 +0000 (15:21 +0000)]
* lisp/vc/vc-bzr.el (vc-bzr-incoming-revision): New function.

(cherry picked from commit 34e03d198e19cfe065e85f2b77fc13182deada8f)

5 weeks agotime-stamp-tests: Hygienic macros
Stephen Gildea [Sun, 1 Jun 2025 15:06:55 +0000 (08:06 -0700)]
time-stamp-tests: Hygienic macros

* test/lisp/time-stamp-test.el (with-time-stamp-test-time,
time-stamp-should-warn, formatz-should-equal): Use cl-with-gensyms.

(cherry picked from commit 3fa8c36f235d7a26e397f357dc7110dbf6650644)

5 weeks agoNew incoming-revision VC backend action
Sean Whitton [Sun, 1 Jun 2025 10:55:27 +0000 (11:55 +0100)]
New incoming-revision VC backend action

* lisp/vc/vc.el: New incoming-revision backend action (bug#62940).
* lisp/vc/vc-git.el (vc-git--fetch-incoming): New function,
factored out of vc-git-log-incoming.
(vc-git-log-incoming): Use it.
(vc-git-incoming-revision):
* lisp/vc/vc-hg.el (vc-hg-incoming-revision): New functions.

(cherry picked from commit 59516a75eb70296da426184b3bf22990198fd569)

5 weeks ago; Avoid compiler warnings in MinGW builds
Eli Zaretskii [Sun, 1 Jun 2025 09:05:23 +0000 (12:05 +0300)]
; Avoid compiler warnings in MinGW builds

* src/w32proc.c (child_proc_count, child_procs)
(Vw32_valid_locale_ids, Vw32_valid_codepages): Declare 'static'.
* src/w32inevt.c (faked_key): Declare.
* src/w32heap.c (data_region_base, data_region_end, heap): Declare.
* src/w32console.c (keyboard_handle, current_tty, cost): Declare.
* src/w32.c: Declare function pointers 'static'.
(excptr, excprec, ctxrec, g_b_init_compare_string_w)
(g_b_init_debug_break_process, LookupAccountSid_Name, dir_static)
(winsock_lib, _wsa_errlist): Declare.
* src/w32uniscribe.c: Declare function pointers 'static'.
(uniscribe_available, harfbuzz_available): Declare.
* src/w32term.c: Declare function pointers 'static'.
(vertical_scroll_bar_min_handle, horizontal_scroll_bar_min_handle)
(vertical_scroll_bar_top_border)
(vertical_scroll_bar_bottom_border)
(horizontal_scroll_bar_left_border)
(horizontal_scroll_bar_right_border, last_scroll_bar_drag_pos):
Declare 'static'.
* src/w32xfns.c (input_available, interrupt_handle, lpHead)
(lpTail, nQueue): Declare.
* src/w32menu.c: Declare function pointers 'static'.
* src/w32term.h (w32_frame_parm_handlers): Declare.
* src/w32fns.c: Declare function pointers 'static'.
(w32_darkmode, w32_color_map, deferred_msg_head, tip_frame)
(tip_timer, tip_last_string, tip_last_frame, tip_last_parms):
* src/lisp.h (daemon_type): Declare for WINDOWSNT as well.
* nt/cmdproxy.c (escape_char, child, interactive): Declare 'static'.
(Bug#78193)

(cherry picked from commit f77c8c7d45c0efa12bea148778772b557de18b95)

5 weeks ago(load-path-filter-cache-directory-files): Filter only for `must-suffix`
Stefan Monnier [Sat, 31 May 2025 17:29:05 +0000 (13:29 -0400)]
(load-path-filter-cache-directory-files): Filter only for `must-suffix`

Most loads set the `must-suffix` (e.g. `require and
`autoload-do-load`), but some don't (e.g. `load-library`).
This results in two separate entries in
`load-path-filter--cache` with two hash-tables.  The entry for
`must-suffix=nil` is larger and much less often used than the
other, so just skip filtering when `must-suffix=nil`.
Reduces the memory size of the cache from ~1MB to ~400kB in my
test case.

* lisp/startup.el (load-path-filter-cache-directory-files):
Don't use a filtering cache when `must-suffix` is nil.

(cherry picked from commit c3d9581f84107c2e137c71bb8fbf386bc20c944c)

5 weeks ago; * src/fns.c (fixnum_float_cmp): Don't use non-ASCII characters.
Eli Zaretskii [Sat, 31 May 2025 14:32:49 +0000 (17:32 +0300)]
; * src/fns.c (fixnum_float_cmp): Don't use non-ASCII characters.

(cherry picked from commit 4b527088e66fe9f39ca4060cf1bc5918feb37c49)

5 weeks ago; Skip commit 9d6a4fdd7e4e82ea804a83f428e395ffbbc3e8dd
Eshel Yaron [Sat, 7 Jun 2025 19:59:09 +0000 (21:59 +0200)]
; Skip commit 9d6a4fdd7e4e82ea804a83f428e395ffbbc3e8dd

5 weeks agoFix Tramp bug#78508
Michael Albinus [Sat, 31 May 2025 13:08:06 +0000 (15:08 +0200)]
Fix Tramp bug#78508

* lisp/net/tramp-container.el (tramp-methods) <docker, dockercp, podman>
<podmancp, apptainer, nspawn>:
* lisp/net/tramp-sh.el (tramp-methods) <scp, scpx, rsync>
<ssh, sshx, sudo>:
* lisp/net/tramp-sshfs.el (tramp-methods) <sshfs>: Set TERM environment.
(Bug#78508)

* lisp/net/tramp-sh.el (tramp-find-executable): Handle superlong PATH.
(tramp-set-remote-path): Simplify command.
(tramp-timeout-session): Add ;;;###tramp-autoload cookie.

* lisp/net/tramp-smb.el (tramp-smb-errors): Add string.
(tramp-smb-winexe-program): Adapt docstring.
(tramp-smb-handle-copy-directory, tramp-smb-handle-file-acl)
(tramp-smb-handle-set-file-acl, tramp-smb-maybe-open-connection):
Simplify argument handling.
(tramp-smb-handle-process-file): Flush " process-exit-status" property.
(tramp-smb-call-winexe): Set $winsize.Width to 102 only.

* lisp/net/tramp.el (tramp-process-sentinel): Adapt docstring.
Set " process-exit-status" property.

* test/lisp/net/tramp-tests.el (tramp--test-enabled):
Make it more robust.
(tramp-test18-file-attributes)
(tramp-test26-interactive-file-name-completion)
(tramp-test26-file-name-completion-boundaries)
(tramp-test35-remote-path): Adapt tests.

(cherry picked from commit 5ce0e1372bb41ac83c513a632a57b3ffb643971e)

5 weeks agoansi-osc.el: Use marker (bug#78184)
Matthias Meulien [Thu, 8 May 2025 14:51:46 +0000 (16:51 +0200)]
ansi-osc.el: Use marker (bug#78184)

* lisp/ansi-osc.el (ansi-osc-apply-on-region)
(ansi-osc-filter-region): Use marker to properly handle
unfinished escape sequence.

* test/lisp/ansi-osc-tests.el (ansi-osc-tests--strings)
(ansi-osc-tests-apply-region-no-handlers)
(ansi-osc-tests-apply-region-no-handlers-multiple-calls)
(ansi-osc-tests-filter-region)
(ansi-osc-tests-filter-region-with-multiple-calls): Cover
bug#78184.

(cherry picked from commit 6f8cee03316e166e4204ba49fbb9964a075968ca)

5 weeks agoRemove unused user options in sh-script.el
Eli Zaretskii [Sat, 31 May 2025 12:09:42 +0000 (15:09 +0300)]
Remove unused user options in sh-script.el

* lisp/progmodes/sh-script.el (sh-indent-comment)
(sh-first-lines-indent, sh-indent-for-else): Remove variables that
are no longer obeyed.
(sh-var-list): Likewise.  (Bug#78592)

(cherry picked from commit 32d911cddfd6ccdf288247a5d7eaf3d9a977b87c)

5 weeks ago; * lisp/startup.el (load-path-filter--cache): Doc fix.
Eli Zaretskii [Sat, 31 May 2025 11:53:50 +0000 (14:53 +0300)]
; * lisp/startup.el (load-path-filter--cache): Doc fix.

(cherry picked from commit bcc7c4dbbbc1a68a6467c336db2b0910f3362ae0)

5 weeks agoRestore & obsolete vc-finish-logentry-hook
Sean Whitton [Sat, 31 May 2025 08:36:25 +0000 (09:36 +0100)]
Restore & obsolete vc-finish-logentry-hook

* lisp/vc/vc-dispatcher.el (vc-finish-logentry-hook): Declare,
document and mark obsolete.
(vc-finish-logentry): Call vc-finish-logentry-hook again.

(cherry picked from commit 98c3f4c371d2c31745ea056c1286f5f407397bc2)

5 weeks ago; * lisp/subr.el (setq-local): Doc fix (bug#78644).
Eli Zaretskii [Sat, 31 May 2025 08:12:58 +0000 (11:12 +0300)]
; * lisp/subr.el (setq-local): Doc fix (bug#78644).

(cherry picked from commit 9dc6c21b4148222f404fe5af4dc6a24613a58d7c)

5 weeks agoRevert "; * lisp/subr.el (setq-local): Doc fix (bug#78644)."
Eli Zaretskii [Sat, 31 May 2025 08:08:45 +0000 (11:08 +0300)]
Revert "; * lisp/subr.el (setq-local): Doc fix (bug#78644)."

This reverts commit cb9556d669c037c4e2f1a9c80adacad55948c706.
Some of its parts were not supposed to be installed.

(cherry picked from commit 1bb88a86cb38d47006b257fa18a150f23345ad56)

5 weeks ago; * lisp/subr.el (setq-local): Doc fix (bug#78644).
Eli Zaretskii [Sat, 31 May 2025 07:05:06 +0000 (10:05 +0300)]
; * lisp/subr.el (setq-local): Doc fix (bug#78644).

(cherry picked from commit cb9556d669c037c4e2f1a9c80adacad55948c706)

5 weeks agoAdd more "safe" display specs to 'visual-wrap-prefix-mode'
Jim Porter [Sat, 31 May 2025 05:21:40 +0000 (22:21 -0700)]
Add more "safe" display specs to 'visual-wrap-prefix-mode'

* lisp/visual-wrap.el (visual-wrap--safe-display-specs): Add
'space-width' and 'min-width'.
(visual-wrap--display-property-safe-p): Use 'member' instead of 'memq'
to more-closely match the behavior of other code that works with display
properties.

(cherry picked from commit d25e9f518082f31ab730623eea36da45cd73ac06)

5 weeks ago; reftex.el: Checkdoc fixes, comments to docstrings
Jeremy Bryant [Fri, 16 May 2025 22:28:13 +0000 (23:28 +0100)]
; reftex.el: Checkdoc fixes, comments to docstrings

* lisp/textmodes/reftex.el (reftex-next-multifile-index):
(reftex-TeX-master-file, reftex-is-multi):
(reftex-get-cite-format, reftex-ensure-compiled-variables):
(reftex-erase-all-selection-and-index-buffers):
(reftex-compile-variables, reftex-parse-args):
(reftex-access-scan-info, reftex-check-parse-consistency):
(reftex-select-external-document, reftex-find-file-externally):
(reftex-access-search-path, reftex-find-file-on-path):
(reftex-parse-colon-path, reftex-expand-path):
(reftex-recursive-directory-list, reftex-typekey-check):
(reftex-check-recursive-edit, reftex-no-props):
(reftex-match-string, reftex-kill-buffer):
(reftex-erase-buffer, reftex-this-word, reftex-all-assq):
(reftex-all-assoc-string, reftex-last-assoc-before-elt):
(reftex-sublist-nth, reftex-make-selection-buffer-name):
(reftex-make-index-buffer-name, reftex-truncate):
(reftex-nearest-match, reftex-auto-mode-alist):
(reftex-enlarge-to-fit, reftex-select-with-char):
(reftex-make-regexp-allow-for-ctrl-m, reftex-visited-files):
(reftex-get-file-buffer-force, reftex-kill-temporary-buffers):
(reftex-splice-symbols-into-list, reftex-uniquify):
(reftex-uniquify-by-car, reftex-nicify-text, reftex-refontify):
(reftex-fontify-select-label-buffer):
(reftex-select-font-lock-fontify-region):
(reftex-verified-face, reftex-highlight-shall-die): Convert
comment to docstring in functions.
(reftex-silence-toc-markers): Convert comment to docstring and
capitalize argument.
(reftex-set-cite-format): Capitalize argument.  (AUCTeX bug#77864)

(cherry picked from commit 9e322088b01f45a024827ead350a02f29d197e0b)

5 weeks agovc-finish-logentry: Don't run vc-finish-logentry-hook
Sean Whitton [Fri, 30 May 2025 12:21:07 +0000 (13:21 +0100)]
vc-finish-logentry: Don't run vc-finish-logentry-hook

* lisp/vc/vc-dispatcher.el (vc-finish-logentry): Don't run
undocumented, undeclared 'vc-finish-logentry-hook'.  There is
already 'vc-log-after-operation-hook'; it is not clear we need
both.

(cherry picked from commit c459ba692ece6ed7c9d4be9cf3821b4efe04cd30)

5 weeks agoGather variable binding tests in data-tests.el
Sean Whitton [Fri, 30 May 2025 10:41:06 +0000 (11:41 +0100)]
Gather variable binding tests in data-tests.el

* test/lisp/emacs-lisp/lisp-tests.el (c-e-x, c-e-l):
Move to data-tests.el.
(core-elisp-tests-2-window-configurations): Rename ...
(core-elisp-tests-1-window-configurations): ... to this.
(core-elisp-tests-3-backquote): Rename ...
(core-elisp-tests-2-backquote): ... to this.
(core-elisp-tests-1-defvar-in-let)
(core-elisp-tests-4-toplevel-values): Move and rename ...
* test/src/data-tests.el (binding-test-defvar-in-let)
(binding-test-toplevel-values): ... to these.
(c-e-x, c-e-l): Moved from data-tests.el.

(cherry picked from commit f699b6e4f409c0cc98703a2cea9b243ff8cb570a)

5 weeks agoFix bug in `tramp-find-executable'
Michael Albinus [Fri, 30 May 2025 10:28:15 +0000 (12:28 +0200)]
Fix bug in `tramp-find-executable'

* lisp/net/tramp-sh.el (tramp-find-executable): Use "command -v",
preserving non-standard PATH search.  Bug#78633)

(cherry picked from commit 30c2ef6d6ab73b913ee5c4da7b6cfc26477f5faa)

5 weeks agoproject-remember-project: Support calling it interactively
Dmitry Gutov [Thu, 29 May 2025 19:26:59 +0000 (22:26 +0300)]
project-remember-project: Support calling it interactively

* lisp/progmodes/project.el (project-remember-project):
Support interactive invocation (bug#78099) and react with
appropriate messages when called so, depending on the blacklist.

(cherry picked from commit f0bec20ac58ab84895b832fc545ea14c442d8332)

5 weeks agoUse 'outline-heading-end-regexp' consistently.
Juri Linkov [Thu, 29 May 2025 16:52:20 +0000 (19:52 +0300)]
Use 'outline-heading-end-regexp' consistently.

* lisp/outline.el (outline-font-lock-keywords):
For non-nil 'outline-search-function' also search for
'outline-heading-end-regexp' afterwards like there is
'outline-heading-end-regexp' at the end of the regexp counterpart.
(outline-minor-mode-highlight-buffer): Use 'outline-heading-end-regexp'
like in 'outline-font-lock-keywords' instead of "$".
For non-nil 'outline-search-function' also use
'outline-heading-end-regexp' the same way.

* lisp/help.el (describe-bindings): Remove unnecessary
buffer-local 'outline-heading-end-regexp'.

(cherry picked from commit c9cb89edd500e8a142a7e7cc44a4f8335795d038)

5 weeks ago; * doc/lispref/searching.texi (Char Classes): Add speedup advice.
Eli Zaretskii [Thu, 29 May 2025 16:02:13 +0000 (19:02 +0300)]
; * doc/lispref/searching.texi (Char Classes): Add speedup advice.

(cherry picked from commit 8881dca81c95bac1977aa2c924be173382444c4a)

5 weeks agoNew user option vc-dir-hide-up-to-date-on-revert
Sean Whitton [Thu, 29 May 2025 11:53:37 +0000 (12:53 +0100)]
New user option vc-dir-hide-up-to-date-on-revert

* lisp/vc/vc-dir.el (vc-dir-hide-up-to-date-on-revert):
New defcustom.
(vc-dir-revert-buffer-function): Use it.
* etc/NEWS: Document it.

(cherry picked from commit f9b311464db2e1cc34faaf2c86a9c46216337013)

5 weeks agoFactor out vc-async-checkin-backends
Sean Whitton [Thu, 29 May 2025 11:41:36 +0000 (12:41 +0100)]
Factor out vc-async-checkin-backends

This allows third party backends to indicate they support async
checkins.

* lisp/vc/vc.el (vc-async-checkin-backends): New variable.
(vc-checkin): Use it.

(cherry picked from commit 6519fb5d2b22ec571de1d09095df4ad30345e988)

5 weeks agoHave 'delete-frame' delete initial daemon frame only if FORCE is non-nil
Martin Rudalics [Thu, 29 May 2025 09:33:28 +0000 (11:33 +0200)]
Have 'delete-frame' delete initial daemon frame only if FORCE is non-nil

* src/frame.c (delete_frame): Delete initial daemon frame only
if FORCE is non-nil (Bug#78583).
(Fdelete_frame): Rewrite doc-string to mention that it can
delete an initial daemon frame if and only if FORCE is non-nil.
* etc/NEWS:
* doc/lispref/frames.texi (Deleting Frames): Mention that
'delete-frame' can delete an initial daemon frame if and only if
FORCE is non-nil.

(cherry picked from commit 433a031d249a28a29bdc6c2c4cf880f26a262627)

5 weeks agoFix unsafe SDATA usage in print.c (bug#78590)
Pip Cet [Wed, 28 May 2025 14:11:07 +0000 (14:11 +0000)]
Fix unsafe SDATA usage in print.c (bug#78590)

* src/print.c (print_string_1): Renamed from 'print_string', with an
extra argument to disable nonascii escaping.
(print_string): New function.
(print_object): Use 'print_string_1', not 'strout'.

(cherry picked from commit d14fc6b75f128ed538c123ec79bd3d955ca9bf70)

5 weeks ago* lisp/isearch.el (search-within-boundaries): Optimize (bug#78520).
Juri Linkov [Wed, 28 May 2025 17:15:21 +0000 (20:15 +0300)]
* lisp/isearch.el (search-within-boundaries): Optimize (bug#78520).

For non-subregexp case, search for the first match and continue
from its position.  This avoids unnecessary scan for all text properties
until the first match.  When nothing is found, skip the entire body.

(cherry picked from commit 295f73d23d337593959ec7d73ecbcfa61a732f0f)

5 weeks agoFix bug in 'todo-jump-to-category' (bug#78608)
Stephen Berman [Wed, 28 May 2025 15:17:23 +0000 (17:17 +0200)]
Fix bug in 'todo-jump-to-category' (bug#78608)

* lisp/calendar/todo-mode.el (todo-jump-to-category): Eliminate
comparison of the number of Todo categories before and after
specifying the category to jump to and replace it by a check of
whether there are any items in the category, since an existing
category should always have at least one item (perhaps done or
archived).

(cherry picked from commit 4507b6a9c7587c2b3caa241982db13e999197b1c)