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

5 weeks agoDo child frame shortcut only on Cocoa (bug#78616)
Gerd Möllmann [Wed, 28 May 2025 10:56:42 +0000 (12:56 +0200)]
Do child frame shortcut only on Cocoa (bug#78616)

* src/nsterm.m ([EmacsWindow constrainFrameRect:toScreen:]):
Return early for child frames only on Cocoa.

(cherry picked from commit 6279a9e8ef701c2eef8c198b7b26f235bb41f2b0)

5 weeks ago* lisp/tab-line.el: Make tab closing commands work without mouse.
Juri Linkov [Tue, 27 May 2025 18:11:22 +0000 (21:11 +0300)]
* lisp/tab-line.el: Make tab closing commands work without mouse.

(tab-line--current-tab): New function.
(tab-line-close-tab, tab-line-close-other-tabs): Use it
when the 'event' arg doesn't originate from mouse.
Suggested by pinmacs <pinmacs@cas.cat>.

(cherry picked from commit b6d5f50bc2782829e896bfe1f9826afa6d904b48)

5 weeks ago; Skip commit 3e57c35323abe0782ba6a70adeecf99c27497e48
Eshel Yaron [Sat, 7 Jun 2025 19:52:54 +0000 (21:52 +0200)]
; Skip commit 3e57c35323abe0782ba6a70adeecf99c27497e48

5 weeks agotypescript-ts-mode: Improve function body indentation (bug#78121)
Konstantin Kharlamov [Tue, 29 Apr 2025 14:51:18 +0000 (21:51 +0700)]
typescript-ts-mode: Improve function body indentation (bug#78121)

Older code was calculating body indentation depending on function
parameters alignment.  This is incorrect, because if parameters are
misaligned, so will the function body.  Instead, use offset of the
previous standalone parent.

* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--indent-rules): Stop depending on function
parameters indentation for calculating body content and the closing
`}'.
* test/lisp/progmodes/typescript-ts-mode-resources/indent.erts:
(Function body with params misindented (bug#78121)): Add new test.

(cherry picked from commit 1d2ae31b8bcca5f00c3c707cc7af3a347749c332)

5 weeks ago; Skip commit 421ecbcf6b476c413675e93c074f1399db146fc8
Eshel Yaron [Sat, 7 Jun 2025 19:52:48 +0000 (21:52 +0200)]
; Skip commit 421ecbcf6b476c413675e93c074f1399db146fc8

7 weeks agoFix configure.ac
Eshel Yaron [Tue, 27 May 2025 14:48:17 +0000 (16:48 +0200)]
Fix configure.ac

7 weeks ago; Skip commit 5883ceedc85827041d4f1d64fd15f6b7a28d9221
Eshel Yaron [Tue, 27 May 2025 14:35:03 +0000 (16:35 +0200)]
; Skip commit 5883ceedc85827041d4f1d64fd15f6b7a28d9221

7 weeks agoHave 'delete-other-frames' only delete frames on same terminal (Bug#78583)
Martin Rudalics [Tue, 27 May 2025 08:45:04 +0000 (10:45 +0200)]
Have 'delete-other-frames' only delete frames on same terminal (Bug#78583)

* lisp/frame.el (delete-other-frames): Only delete frames on
same terminal as FRAME's (Bug#78583).

(cherry picked from commit 93934b645bcda5cc07ead14c35615a44efae0681)

7 weeks ago* test/infra/gitlab-ci.yml (.job-template): Fix config.log name.
Michael Albinus [Tue, 27 May 2025 07:20:54 +0000 (09:20 +0200)]
* test/infra/gitlab-ci.yml (.job-template): Fix config.log name.

(cherry picked from commit 42a002f31f0931c6ef2dedc55d20ab8ae046cbab)

7 weeks agoDon't add visual-wrap-prefix properties to unsafe multi-line display specs
Jim Porter [Fri, 4 Oct 2024 00:24:18 +0000 (17:24 -0700)]
Don't add visual-wrap-prefix properties to unsafe multi-line display specs

This makes sure we don't interfere with other display specs, e.g. for
images displayed in 'image-mode' (bug#73600).

* lisp/visual-wrap.el (visual-wrap--safe-display-specs): New variable.
(visual-wrap--display-property-safe-p): New function.
(visual-wrap--apply-to-line): Use 'pos-eol'; we don't want to respect
field boundaries here.
(visual-wrap-prefix-function): Check for unsafe display properties at
the end of the line and skip past them if present.

* test/lisp/visual-wrap-tests.el: New test file.

(cherry picked from commit 8762f6c7c974d028816a74169e3d6fdecaec8d6d)

7 weeks agoFix DST time calculations on MS-Windows
Eli Zaretskii [Mon, 26 May 2025 16:53:21 +0000 (19:53 +0300)]
Fix DST time calculations on MS-Windows

* src/w32.c (w32_fix_tzset): New function.
* src/timefns.c (emacs_localtime_rz, tzlookup):
* src/w32.c (sys_localtime): Call 'w32_fix_tzset'.
(Bug#11281)

(cherry picked from commit 3b5226af3f737c82f9bbedd8fbe067bab4b4b67a)

7 weeks agoMake xoauth2 auth fail when a smtp server replies 334 (Bug#78366)
Xiyue Deng [Fri, 16 May 2025 09:48:52 +0000 (02:48 -0700)]
Make xoauth2 auth fail when a smtp server replies 334 (Bug#78366)

* lisp/mail/smtpmail.el (smtpmail-try-auth-method): Throw error 535
when receiving a "334 server challenge" reply.

(cherry picked from commit 53371c959462a677a29ee869b3b6627facf3ed79)

7 weeks ago* lisp/tab-line.el (tab-line-close-other-tabs): New command.
Juri Linkov [Sun, 25 May 2025 16:45:05 +0000 (19:45 +0300)]
* lisp/tab-line.el (tab-line-close-other-tabs): New command.

(tab-line-tab-context-menu): Bind 'tab-line-close-other-tabs'
to the menu item "Close other tabs".
Suggested by pinmacs <pinmacs@cas.cat>.

(cherry picked from commit 10e023c15c03ca32d3c9b1ad54111ef4ede6de73)

7 weeks ago; Fix last change
Michael Albinus [Sun, 25 May 2025 13:20:10 +0000 (15:20 +0200)]
; Fix last change

(cherry picked from commit 48e3d08cf36d5e5ea56c5653bd3410e2dcd3c02b)

7 weeks agoAdapt Emba files
Michael Albinus [Sun, 25 May 2025 12:04:09 +0000 (14:04 +0200)]
Adapt Emba files

* test/infra/Dockerfile.emba:
* test/infra/gitlab-ci.yml: Add me as maintainer.  Format.

* test/infra/Makefile.in (tree-sitter-files): Format.

(cherry picked from commit 300d7c1ad657d3631a42360bc746d52179075547)

7 weeks ago; Remove files deleted from nt/ which were mistakenly resurrected.
Eli Zaretskii [Sat, 24 May 2025 13:36:53 +0000 (16:36 +0300)]
; Remove files deleted from nt/ which were mistakenly resurrected.

(cherry picked from commit 492adf20b91520e96fb198e6e936e3145359c43b)

7 weeks agoFix detection of Dired with files whose name ends in a colon
Eli Zaretskii [Sat, 24 May 2025 13:25:34 +0000 (16:25 +0300)]
Fix detection of Dired with files whose name ends in a colon

* lisp/dired.el (dired-build-subdir-alist): Use a more general
regexp to detect file entries whose names end in a colon, when
various non-default 'ls' switches are used.  (Bug#78493)

(cherry picked from commit 463787c4e9a36d9218aaffacbfc85936e0ad86c8)

7 weeks agoAdd baseline pass/fail tests for `ert-test-erts-file'
Roi Martin [Sun, 20 Apr 2025 06:05:56 +0000 (08:05 +0200)]
Add baseline pass/fail tests for `ert-test-erts-file'

* test/lisp/emacs-lisp/ert-tests.el (ert-test-erts-pass)
(ert-test-erts-fail): Add tests to verify that the
`ert-test-erts-file' function can detect both passing a failing
test cases.
* test/lisp/emacs-lisp/ert-resources/erts-fail.erts:
* test/lisp/emacs-lisp/ert-resources/erts-pass.erts:
Add test data.  (Bug#78552)

(cherry picked from commit 9c00f55265a108b91189b6d8290a906749a45e8d)

7 weeks ago; * doc/misc/use-package.texi (Hooks): Fix typo (bug#77609).
Eli Zaretskii [Sat, 24 May 2025 09:59:19 +0000 (12:59 +0300)]
; * doc/misc/use-package.texi (Hooks): Fix typo (bug#77609).

(cherry picked from commit df9636f89276da6023cc4851d089665203961941)

7 weeks agoFix documentation of use-package's ':hook' keyword
Eli Zaretskii [Sat, 24 May 2025 09:56:30 +0000 (12:56 +0300)]
Fix documentation of use-package's ':hook' keyword

* doc/misc/use-package.texi (Hooks): Document how to add several
functions to the same hook (bug#77609).

(cherry picked from commit 36afdd2f6f9f6bbb6bcc95ff2fb1e426c0bcdb3d)

7 weeks agoSpeed up loading modules
Lin Sun [Wed, 14 May 2025 06:30:34 +0000 (06:30 +0000)]
Speed up loading modules

* src/lread.c (get-load-suffixes): Don't try loading modules with
suffixes from 'jka-compr-load-suffixes', since loading of
compressed shared libraries is not supported (so attempt to look
for them is just waste of cycles).  (Bug#78416.)

(cherry picked from commit 9f1cec6297d5c06dc38d52e8384d56811b35915a)

7 weeks ago; Fix documentation of a recent commit
Eli Zaretskii [Sat, 24 May 2025 07:23:11 +0000 (10:23 +0300)]
; Fix documentation of a recent commit

* etc/NEWS:
* doc/lispref/loading.texi (How Programs Do Loading): Document the
new variable and function.

* src/lread.c (load-path-filter-function):
* lisp/startup.el (load-path-filter-cache-directory-files)
(load-path-filter--cache): Doc fixes.

(cherry picked from commit da174e4a15229ae498713444e70c382d7e0e90cd)

7 weeks agoAdd load-path-filter-function and use it to optimize loading
Spencer Baugh [Thu, 1 May 2025 18:27:30 +0000 (14:27 -0400)]
Add load-path-filter-function and use it to optimize loading

When there are many directories on load-path, the part of load which
searches load-path can become very slow.  By filtering load-path up
front to only contain directories which are likely to contain the
searched-for file, load becomes much faster.

This can be set in early-init.el for maximum effect.

* lisp/startup.el (load-path-filter--cache)
(load-path-filter-cache-directory-files): Add.
* src/lread.c (Fload): Call load-path-filter-function.
(syms_of_lread): Add load-path-filter-function.

(cherry picked from commit e5218df144203ff1b5da3d46b7579b6455008ee7)

7 weeks ago* test/infra/Dockerfile.emba (emacs-tree-sitter): Cosmetic change.
Michael Albinus [Fri, 23 May 2025 11:40:11 +0000 (13:40 +0200)]
* test/infra/Dockerfile.emba (emacs-tree-sitter): Cosmetic change.

(cherry picked from commit c8795767292caaaa3765ef6fffb12a7c0809d642)

7 weeks agoMinor fix.
Vincent Belaïche [Fri, 23 May 2025 07:57:25 +0000 (09:57 +0200)]
Minor fix.

* lisp/ses.el (ses--align): fix /Unused lexical variable 'half'/ warning.

(cherry picked from commit 9f80363f8cbba078cc6e8c02501a4d25ef7b3a84)

7 weeks agoMore SES printer functions.
Vincent Belaïche [Fri, 23 May 2025 07:28:56 +0000 (09:28 +0200)]
More SES printer functions.

* lisp/ses.el (ses-standard-printer-functions): add 'ses-left' &
'ses-left-span' to the list.
(ses--align): New helper function, takes most of the code
previously in 'ses-center'
(ses-center): Use 'ses--align'.
(ses--span):  New helper function, takes most of the code
previously in 'ses-center-span.
(ses-center-span): Use 'ses--span'.'
(ses-left): New function.
(ses-left-span): New function.

(cherry picked from commit ce08defd0a9a02a69edb781671047545baae14d7)

7 weeks ago; * lisp/help-fns.el (help-fns-edit-variable): Fix typo (bug#78554).
Eli Zaretskii [Fri, 23 May 2025 06:59:15 +0000 (09:59 +0300)]
; * lisp/help-fns.el (help-fns-edit-variable): Fix typo (bug#78554).

(cherry picked from commit c9690f10fdce0896eff02ae7a68710fe26dd1f59)

7 weeks ago(perform-replace): Make it work with F-keys in TTYs (bug#78113)
Stefan Monnier [Thu, 22 May 2025 13:32:33 +0000 (09:32 -0400)]
(perform-replace): Make it work with F-keys in TTYs (bug#78113)

* lisp/replace.el (perform-replace): Use `read-key`.
* test/lisp/replace-tests.el (replace-tests-with-undo): Adjust accordingly.

(cherry picked from commit 772c4f036c38efd2a81d3643ad0bd718033d3b7f)

7 weeks agoCheck diagnostic types in compile-tests
Mattias Engdegård [Thu, 22 May 2025 13:03:51 +0000 (15:03 +0200)]
Check diagnostic types in compile-tests

* test/lisp/progmodes/compile-tests.el
(compile-tests--test-regexps-data, compile--test-error-line)
(compile-test-functions): Check the types (error, warning or info) for
most patterns.  Use names instead of numbers in the reference.

(cherry picked from commit 6e98316f0457af78852ce30aa503ca934ecec90c)

7 weeks ago* test/infra/gitlab-ci.yml (.job-template): Make it more robust.
Michael Albinus [Thu, 22 May 2025 11:18:11 +0000 (13:18 +0200)]
* test/infra/gitlab-ci.yml (.job-template): Make it more robust.

(cherry picked from commit d0c90bc9bfe8fedbff7f282086dc38458b1e0f9e)

7 weeks agoSupport Rust compiler messages in compile mode (bug#70794).
Vincenzo Pupillo [Mon, 19 May 2025 20:31:41 +0000 (22:31 +0200)]
Support Rust compiler messages in compile mode (bug#70794).

* etc/compilation.txt: Add examples of Rust compiler error, warning and
note messages.
* lisp/progmodes/compile.el
(compilation-error-regexp-alist-alist): Add Rust regexps for error,
warning and note messages.
* test/lisp/progmodes/compile-tests.el
(compile-tests--test-regexps-data): Add new test cases.
(compile-test-error-regexps): Increase expected errors.

(cherry picked from commit 676f12c65f751f14093c446a7b637a365de253a5)

7 weeks ago; Skip commit b8f24cbdbb0db2c8cfc89f103f9de8e5087f9d9f
Eshel Yaron [Tue, 27 May 2025 14:29:59 +0000 (16:29 +0200)]
; Skip commit b8f24cbdbb0db2c8cfc89f103f9de8e5087f9d9f

7 weeks agoEglot: always call ElDoc callbacks in correct buffer (bug#78530)
Yuan Fu [Wed, 21 May 2025 07:23:15 +0000 (00:23 -0700)]
Eglot: always call ElDoc callbacks in correct buffer (bug#78530)

Some minor modes adds their own eldoc display function to
'eldoc-display-functions' hook buffer-locally.  So when eldoc
uses 'eldoc-display-functions' to display docs, it should use
the buffer-local value of the hook.

But that's not always the case. In 'eldoc--invoke-strategy', the
code that runs 'eldoc-display-functions' hook is wrapped in a
callback function that eventually gets passed to each
documentation function in 'eldoc-documentation-functions'. So
now it's the documentation functions' responsibility to call the
eldoc callback in the original buffer.

All the eglot documentation functions indeed do that, using
'eglot--when-buffer-window' to switch to the original buffer
when calling the eldoc callback. But
'eglot-code-action-suggestion' is the exception, the callback is
called outside of the 'eglot--when-buffer-window' form.

This patch fixes that.

This bug was originally reported on eldoc-box [1]. The user
found that eldoc-box's display function are rarely called, even
though the minor mode is turned on. This patch fixes the issue.

[1] https://github.com/casouri/eldoc-box/issues/126#issuecomment-2896611278

* lisp/progmodes/eglot.el (eglot-code-action-suggestion): Move
the funcall form into the eglot--when-buffer-window form.

(cherry picked from commit 0b2ba13c978544317d1df18e7fe701c055a6419f)

7 weeks ago; Skip commit cb1b65f3923d5dcb88767f6736603ffbc4272557
Eshel Yaron [Tue, 27 May 2025 14:29:47 +0000 (16:29 +0200)]
; Skip commit cb1b65f3923d5dcb88767f6736603ffbc4272557

7 weeks agoWork around GCC bug 117423
Paul Eggert [Wed, 21 May 2025 17:07:04 +0000 (10:07 -0700)]
Work around GCC bug 117423

Problem reported by Oliver Reiter and Pip Cet (Emacs bug#78473).
It looks like GCC tree-sra is trouble in general with how Emacs
uses unions, so disable tree-sra until the GCC bug is fixed.
* configure.ac (C_SWITCH_MACHINE): Also work around GCC bug 117423.

(cherry picked from commit 9dfc605654bea7a1346da224cf7e1eec850e05c4)

7 weeks ago; * lisp/disp-table.el (standard-display-unicode-special-glyphs): Fix typo.
Robert Pluim [Wed, 21 May 2025 09:10:23 +0000 (11:10 +0200)]
; * lisp/disp-table.el (standard-display-unicode-special-glyphs): Fix typo.

(cherry picked from commit 8605221ef604d8f7663f1fb16e2f2ea872a7ce84)

7 weeks ago* lisp/treesit.el: New variables for 'down-list' and 'up-list'.
Juri Linkov [Wed, 21 May 2025 06:31:45 +0000 (09:31 +0300)]
* lisp/treesit.el: New variables for 'down-list' and 'up-list'.

(treesit-sexp-type-down-list, treesit-sexp-type-up-list):
New buffer-local variables.
(treesit-down-list): Use 'treesit-sexp-type-down-list'.
(treesit-up-list): Use 'treesit-sexp-type-up-list'.

* lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode):
Set 'treesit-sexp-type-down-list' and
'treesit-sexp-type-up-list' to 'list'.

(cherry picked from commit 822b6cca1e1f80ab6bd28d03f29d288cc6f6ad0e)

7 weeks agoFix todo-mode item insertion bug (bug#78506)
Stephen Berman [Tue, 20 May 2025 13:29:58 +0000 (15:29 +0200)]
Fix todo-mode item insertion bug (bug#78506)

* lisp/calendar/todo-mode.el (todo-insert-item--next-param): Unset
transient keymap on completing default or copy item insertion
command, to ensure that the next Todo mode key is recognized.

(cherry picked from commit e0c6f3e765684a7f6d93702ad3ca4abe2b802579)

7 weeks agoAdd support for Pyrefly LSP for Python
Jostein Kjønigsen [Mon, 19 May 2025 08:00:37 +0000 (10:00 +0200)]
Add support for Pyrefly LSP for Python

* lisp/progmodes/eglot.el (eglot-server-programs): Add config
for Pyrefly.  (Bug#78492)

(cherry picked from commit 328b316764f0b06f7b8c774e9855ff2426a13bfe)

7 weeks ago; Skip commit c526646d70d12889319a0178449b0ec060679627
Eshel Yaron [Tue, 27 May 2025 14:26:13 +0000 (16:26 +0200)]
; Skip commit c526646d70d12889319a0178449b0ec060679627

7 weeks agoAdapt Tramp version in customize-package-emacs-version-alist
Michael Albinus [Sun, 18 May 2025 19:12:41 +0000 (21:12 +0200)]
Adapt Tramp version in customize-package-emacs-version-alist

* lisp/net/trampver.el (customize-package-emacs-version-alist):
Add Tramp version integrated in Emacs 30.1.

(cherry picked from commit 661fa578d5133d334c0b34781773229c09d47da4)

7 weeks ago; Skip commit 0045a56d558d70572f3dd746d62b23661e841df7
Eshel Yaron [Tue, 27 May 2025 14:26:03 +0000 (16:26 +0200)]
; Skip commit 0045a56d558d70572f3dd746d62b23661e841df7

7 weeks ago; Skip commit 1136aed6dc5f8a2b7fad78bcd5dcd7eeba863e14
Eshel Yaron [Tue, 27 May 2025 14:25:56 +0000 (16:25 +0200)]
; Skip commit 1136aed6dc5f8a2b7fad78bcd5dcd7eeba863e14

7 weeks ago; Skip commit dfcde786ada0918326be849a263e2b8352db9d35
Eshel Yaron [Tue, 27 May 2025 14:25:33 +0000 (16:25 +0200)]
; Skip commit dfcde786ada0918326be849a263e2b8352db9d35

7 weeks ago; Bump Emacs version to 30.1.90
Eli Zaretskii [Sun, 18 May 2025 09:08:31 +0000 (05:08 -0400)]
; Bump Emacs version to 30.1.90

* README:
* configure.ac:
* exec/configure.ac:
* java/AndroidManifest.xml.in (Version-code):
* nt/README.W32:
* msdos/sed2v2.inp: Bump Emacs version to 30.1.90.

(cherry picked from commit 4c110212604d5d825abe95418db5dd822b7e9375)

8 weeks ago* lisp/tab-line.el (tab-line-move-tab-forward): New command.
Juri Linkov [Tue, 20 May 2025 18:30:38 +0000 (21:30 +0300)]
* lisp/tab-line.el (tab-line-move-tab-forward): New command.

(tab-line-move-tab-backward): New command.
(tab-line-mode-map): Bind 'C-x M-<left>' to
'tab-line-move-tab-backward' and 'C-x M-<right>' to
'tab-line-move-tab-forward'.
(tab-line-switch-repeat-map): Bind 'M-<left>' to
'tab-line-move-tab-backward' and 'M-<right>' to
'tab-line-move-tab-forward'.
Suggested by pinmacs <pinmacs@cas.cat>.

(cherry picked from commit 87fa5f565d70c514bd47b59bb0ef0cba8750e983)

8 weeks agolisp/progmodes/hideshow.el (hs--get-ellipsis): Simplify
Elijah Gabe Pérez [Mon, 19 May 2025 22:33:39 +0000 (18:33 -0400)]
lisp/progmodes/hideshow.el (hs--get-ellipsis): Simplify

Mostly using `truncate-string-ellipsis`.

(cherry picked from commit d8bf84f7f45620070f5666c023ca977eebf4dd90)

8 weeks agoFix 'completion-ignore-case' with 'completion--file-name-table'
Spencer Baugh [Mon, 19 May 2025 15:35:38 +0000 (11:35 -0400)]
Fix 'completion-ignore-case' with 'completion--file-name-table'

509cbe1c35b3d "Improve env var handling in read-file-name"
caused 'try-completion' and 'all-completion' operations with
'completion--file-name-table' to no longer update the case of
text which was already present in the input string.  That is,
completions would be returned ignoring case, but the completions
would have letter-casing which matched the input string rather
than matching the actual file names.
This was caused by unnecessarily replacing text in the returned
file name completions with text from the input string ORIG,
which in turn was caused by the desire to preserve text from
ORIG even after 'substitute-in-file-name' changed it.  Fix this
by detecting when ORIG was not substantially changed by
'substitute-in-file-name'; in that case, the returned file name
completions also don't need substantial changes.
* lisp/minibuffer.el (completion--file-name-table): Use text
from the completions, not the input string.  (Bug#78323)
* test/lisp/minibuffer-tests.el (completion-table-test-quoting):
Test with 'completion-ignore-case' as well.

(cherry picked from commit cd364a2119b81f58e0d8f6579809dceb86a8f63c)

8 weeks agoFix thinko in 'fit-frame-to-buffer-1' (Bug#78418)
Martin Rudalics [Mon, 19 May 2025 07:14:15 +0000 (09:14 +0200)]
Fix thinko in 'fit-frame-to-buffer-1' (Bug#78418)

* lisp/window.el (fit-frame-to-buffer-1): Don't add extra line
when character sizes evenly divide decorations sizes
(Bug#78418).

(cherry picked from commit 0de59ded25aa9f1751edb7170c51a98be70b7edf)

8 weeks ago; Fix last change
Michael Albinus [Mon, 19 May 2025 06:45:37 +0000 (08:45 +0200)]
; Fix last change

(cherry picked from commit baa33c3806074453a4410dd0128d47b576b5ed0c)

8 weeks agoeww.el: Misc changes
Stefan Monnier [Sun, 18 May 2025 19:48:54 +0000 (15:48 -0400)]
eww.el: Misc changes

* lisp/net/eww.el (eww--parse-html-region): Don't decode when it's a no-op.
(eww-display-raw): Simplify.
(eww-mode): Prefer #' to quote function names.
(eww-switch-to-buffer): Use `completion-table-with-metadata` instead of
`completion-extra-properties`.  Don't prompt the user when there's only
one choice.
(eww-buffer-list): Use `eww--buffer-p`.

(cherry picked from commit 860a6c86c5696513707f980dffbe7c58f0f52b7b)

8 weeks agoeww.el: Use `track-changes`
Stefan Monnier [Sun, 18 May 2025 19:44:35 +0000 (15:44 -0400)]
eww.el: Use `track-changes`

* lisp/net/eww.el: Require `track-changes`.
(eww-display-document): Don't `inhibit-modification-hooks` any more.
Use `track-changes-register` *at the end* instead.
(eww-mode): Don't use `after-change-functions` any more.
(eww--track-changes): New function.
(eww--process-text-input): Rename from `eww-process-text-input`.
Try and be more careful: don't presume `point` is near
the modification.  Check for a form both at BEG and at END.
Don't rely on `:start/:end` pointing to the right places.
Use `:length` instead and shrink the field back to its original length
when possible.
(eww-size-text-inputs): Set `:length` rather than `:start/:end`.

(cherry picked from commit 168b67b1eeb2e2b79d2e5f3712d8ebfda31fd753)

8 weeks agolisp/net/eww.el: Remove redundant `:group` arguments
Stefan Monnier [Sun, 18 May 2025 19:31:10 +0000 (15:31 -0400)]
lisp/net/eww.el: Remove redundant `:group` arguments

(cherry picked from commit 48c66f26c1454c449ac40407651d22dc5cc57424)

8 weeks agoGenerate tree-sitter compatibility report on emba
Michael Albinus [Sun, 18 May 2025 18:39:59 +0000 (20:39 +0200)]
Generate tree-sitter compatibility report on emba

* test/infra/Dockerfile.emba (emacs-tree-sitter): Generate
compatibility report.

* test/infra/gitlab-ci.yml (.job-template): Modify artifacts preparation.
(build-tree-sitter): Add artifact.

(cherry picked from commit c8294f3a0fc5eb3302cd3513fb99333d21fab33e)

8 weeks agoFactor out vc-git--with-apply-temp-to-staging
Sean Whitton [Sun, 18 May 2025 11:35:13 +0000 (12:35 +0100)]
Factor out vc-git--with-apply-temp-to-staging

* lisp/vc/vc-git.el (vc-git--with-apply-temp-to-staging): New macro.
(vc-git-checkin): Use it.

(cherry picked from commit a4424fb8cd2d638ee348ee7fd08d0e5f397fad75)

8 weeks ago; Skip commit 913b4e1c97c0b8ec279cfcf62ed40b5b58393e44
Eshel Yaron [Wed, 21 May 2025 06:09:49 +0000 (08:09 +0200)]
; Skip commit 913b4e1c97c0b8ec279cfcf62ed40b5b58393e44

8 weeks agoImprove reporting of language-grammar library ABI version mismatch
Eli Zaretskii [Sun, 18 May 2025 06:05:07 +0000 (09:05 +0300)]
Improve reporting of language-grammar library ABI version mismatch

* lisp/treesit.el (treesit-ready-p): More accurate wording of
message when grammar library fails to load.

* src/treesit.c (treesit_load_language): Improve message when
reporting library ABI version mismatch.  Suggested by Soham
Gumaste <sohamg2@gmail.com>.

(cherry picked from commit 38789e9a2878846cadb72fef58cc24872fe46ae4)

8 weeks agoeditorconfig.el: Fix bug#78097
Stefan Monnier [Sat, 17 May 2025 18:23:34 +0000 (14:23 -0400)]
editorconfig.el: Fix bug#78097

When there is no `.editorconfig` variable, the
`file-name-directory` call can signal an error, but that can
happen only if `editorconfig-get-local-variables-functions`
added entries "out of thin air".  So just skip running that hook
to avoid this corner case.

* lisp/editorconfig.el (editorconfig--get-dir-local-variables):
Don't run `editorconfig-get-local-variables-functions` when we found no
EditorConfig settings.

(cherry picked from commit 28a8bd6061d99c71ca2ac17868dfc8cf36a1c728)

8 weeks agoPrevent double frees in closing fonts provided by the Haiku font driver
Po Lu [Sun, 18 May 2025 00:46:27 +0000 (08:46 +0800)]
Prevent double frees in closing fonts provided by the Haiku font driver

* src/haikufont.c (haikufont_close): Clear INFO->metrics,
glyphs, be_font after they are released and do not attempt to
access them if NULL.  (bug#77478)

(cherry picked from commit b9b52f009289ede7967a176bc6ed069c87514794)

8 weeks ago(eww-switch-to-buffer): Don't let-bind `completion-extra-properties`
Stefan Monnier [Sat, 17 May 2025 16:34:33 +0000 (12:34 -0400)]
(eww-switch-to-buffer): Don't let-bind `completion-extra-properties`

* lisp/net/eww.el (eww--buffer-p): New function.
(eww-switch-to-buffer): Use it.  And set `completion-extra-properties`
buffer-locally rather than let-binding it.

(cherry picked from commit f77f464637c6ce86d5d69963543f86bc517ad14c)

8 weeks agoSupport 'dired-hide-details-mode' in find-lisp.el
Eli Zaretskii [Sat, 17 May 2025 13:46:07 +0000 (16:46 +0300)]
Support 'dired-hide-details-mode' in find-lisp.el

* lisp/find-lisp.el (find-lisp-find-dired-insert-file): Call
'dired-insert-set-properties' to support 'dired-hide-details-mode'
in the resulting Dired display.  (Bug#78455)

(cherry picked from commit e05f76667d5e723d5a817848ca2db1252827778a)

8 weeks ago* doc/lispref/searching.texi (Rx Notation): Fix example (bug#76731)
Mattias Engdegård [Sat, 17 May 2025 09:12:31 +0000 (11:12 +0200)]
* doc/lispref/searching.texi (Rx Notation): Fix example (bug#76731)

The example purporting to match C comments was wrong.
Reported by Yue Yi, whose proposed remedy is used here.

(cherry picked from commit 2606e3dd994d2d75850630707c00c0156afced9a)

8 weeks ago* src/lread.c (read0): Don't allow radix 0 or 1.
Mattias Engdegård [Thu, 15 May 2025 18:44:56 +0000 (20:44 +0200)]
* src/lread.c (read0): Don't allow radix 0 or 1.

This was just a silly mistake introduced in Emacs 29.  Found by Pip Cet.

(cherry picked from commit e888bd990dcc82690ae33052f2aaec3ca827960c)

8 weeks ago; Fix a recent change in hideshow.el
Eli Zaretskii [Sat, 17 May 2025 12:14:47 +0000 (15:14 +0300)]
; Fix a recent change in hideshow.el

* lisp/progmodes/hideshow.el (hs--get-ellipsis): Don't assume
'standard-display-table' is defined.

(cherry picked from commit 6571a2d70b44135ba04baf5d3eabc83fc4c0f085)

8 weeks agoFix saving abbrevs by 'abbrev-edit-save-buffer'
Eli Zaretskii [Sat, 17 May 2025 10:00:13 +0000 (13:00 +0300)]
Fix saving abbrevs by 'abbrev-edit-save-buffer'

* lisp/abbrev.el (abbrev-edit-save-buffer): Reset
'abbrevs-changed'.  Suggested by Rick <rbielaws@gmail.com>.
(Bug#78435)

(cherry picked from commit 299d3a440121ff6692a85615ff97e6ad4dde91db)

8 weeks ago; Remove confusing text from ELisp manual
Eli Zaretskii [Sat, 17 May 2025 09:35:29 +0000 (12:35 +0300)]
; Remove confusing text from ELisp manual

* doc/lispref/variables.texi (Defining Variables): Remove outdated
confusing warning.  For the details, see
https://lists.gnu.org/archive/html/emacs-devel/2025-05/msg00332.html.

(cherry picked from commit 399d05332eda348ae7552cdff674e4c8973be815)

8 weeks ago; * lisp/progmodes/hideshow.el (hs--get-ellipsis): Doc fix (bug#78234).
Eli Zaretskii [Sat, 17 May 2025 09:11:37 +0000 (12:11 +0300)]
; * lisp/progmodes/hideshow.el (hs--get-ellipsis): Doc fix (bug#78234).

(cherry picked from commit 214c0ba3c76b69d8e3ee1ff639782f9380d9054c)

8 weeks agoPrettify and improve hideshow (bug#78234)
Elías Gabriel Pérez [Sat, 3 May 2025 04:44:07 +0000 (22:44 -0600)]
Prettify and improve hideshow (bug#78234)

Buttonize the ellipsis and optionally display in the ellipsis
the total number of hidden lines.
* lisp/progmodes/hideshow.el (hs-display-lines-hidden): New
user option.
(hs-ellipsis): New face.
(hs-make-overlay): Tweak.
(hs--get-ellipsis): New function.
* doc/emacs/programs.texi (Hideshow): Update documentation.
* etc/NEWS: Announce changes.

(cherry picked from commit 8b6e1d8435712a1d312244f9fe3a43d8b346f49a)

8 weeks ago; Skip commit 719b2fd580b79c6e2463a295cad58cd2066fa1b7
Eshel Yaron [Wed, 21 May 2025 06:05:50 +0000 (08:05 +0200)]
; Skip commit 719b2fd580b79c6e2463a295cad58cd2066fa1b7

8 weeks agoFix DTSTART date when exporting `diary-float'
Richard Lawrence [Sun, 11 May 2025 05:47:42 +0000 (07:47 +0200)]
Fix DTSTART date when exporting `diary-float'

Instead of using current date as DTSTART and then excluding it
when it doesn't match the `diary-float' rule, just use the first
date which matches the rule in `icalendar-recurring-start-year'.
* lisp/calendar/icalendar.el (icalendar--convert-float-to-ical):
Compute the correct date.
* test/lisp/calendar/icalendar-tests.el: Add a test for the
reported test case.  (Bug#78085)

(cherry picked from commit c1153963b5db351d3fbe8f661e17efb55ebb2cb8)

8 weeks ago; Fix last change
Eli Zaretskii [Sat, 17 May 2025 08:57:43 +0000 (11:57 +0300)]
; Fix last change

* lisp/pulse.el (pulse-faces, pulse-face-duration):
* etc/NEWS: Fix documentation of last change.  (Bug#77715)

(cherry picked from commit 3b2b0424cf9458d8f59b283139f46e1515989df3)

8 weeks agoNew pulse functions for pulse faces and new file for ring bell fns
Elías Gabriel Pérez [Thu, 10 Apr 2025 17:38:21 +0000 (11:38 -0600)]
New pulse functions for pulse faces and new file for ring bell fns

These new pulse functions allow pulse any defined face briefly.
The new file contains functions intended to be used in
`ring-bell-function' as alternatives to `visible-bell'.
* lisp/pulse.el (pulse-face-duration): New user option.
(pulse-flash-face): New function.
* lisp/ring-bell-fns.el (flash-face-attributes)
(flash-face-faces): New user options.
(flash-face-bell-function, flash-echo-area-bell-function):
New functions.  (bug#77715)

* etc/NEWS: Announce changes

(cherry picked from commit b25139a5322ae809fe32d91d55e2212cc91b1b38)

8 weeks agoAllow nil as valid value for 'url-cookie-save-interval'
Eli Zaretskii [Sat, 17 May 2025 08:26:23 +0000 (11:26 +0300)]
Allow nil as valid value for 'url-cookie-save-interval'

* lisp/url/url-cookie.el (url-cookie-save-interval): Fix doc
string and :type.  (Bug#78303)

(cherry picked from commit 44c808773403ee200fcfaf340b11d9244bf5b398)

8 weeks ago* lisp/treesit.el (treesit-simple-imenu): Restore the previous behavior.
Juri Linkov [Fri, 16 May 2025 16:03:41 +0000 (19:03 +0300)]
* lisp/treesit.el (treesit-simple-imenu): Restore the previous behavior.

Use 'treesit-parser-list' again to not depend on the cursor's position
(bug#78456).

(cherry picked from commit 7d7d821c495abcd740fd20f6a8df6da5bd920cd3)

8 weeks ago; * doc/emacs/cmdargs.texi (General Variables): More accurate wording.
Eli Zaretskii [Fri, 16 May 2025 12:39:53 +0000 (15:39 +0300)]
; * doc/emacs/cmdargs.texi (General Variables): More accurate wording.

(cherry picked from commit feecb1fbc60d6d027a766aaf08fb50feeaaeb192)

8 weeks ago; Improve documentation of the -L command-line option
Eli Zaretskii [Fri, 16 May 2025 12:02:58 +0000 (15:02 +0300)]
; Improve documentation of the -L command-line option

* doc/emacs/cmdargs.texi (Action Arguments): Mention that '-L' is
in effect only after the init files are loaded.

(cherry picked from commit 18e1aabbeaa284ef86a1d77de434dd2acde418c3)

8 weeks agotypescript-ts-mode: align ternary-chain branches (bug#78187)
Konstantin Kharlamov [Thu, 1 May 2025 13:28:29 +0000 (20:28 +0700)]
typescript-ts-mode: align ternary-chain branches (bug#78187)

* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--indent-rules): Make sure each new ternary
branch is aligned with the previous one.
* test/lisp/progmodes/typescript-ts-mode-resources/indent.erts:
(Chained ternary expressions): New test.

(cherry picked from commit c80fbe3f2355ab7182dcba98ed9717f0231aab00)

8 weeks ago; Skip commit 9659f8aa344f73164bece7408d63991531fc115d
Eshel Yaron [Tue, 20 May 2025 20:51:56 +0000 (22:51 +0200)]
; Skip commit 9659f8aa344f73164bece7408d63991531fc115d

8 weeks ago; Fix wording of recently-added documentation
Eli Zaretskii [Thu, 15 May 2025 13:29:27 +0000 (16:29 +0300)]
; Fix wording of recently-added documentation

* src/eval.c (Fset_buffer_local_toplevel_value)
(Fbuffer_local_toplevel_value):
* doc/lispref/variables.texi (Default Value): Fix wording of
documentation.

(cherry picked from commit db198e0e59bff0c1cb28a591928377f5a0e9d158)

8 weeks ago; Skip commit 16bfbc6fe312526cec8a331a759615ffe3eb4523
Eshel Yaron [Tue, 20 May 2025 20:51:36 +0000 (22:51 +0200)]
; Skip commit 16bfbc6fe312526cec8a331a759615ffe3eb4523

8 weeks agovc-git-checkin: Fix calling 'git apply --cached' remotely
Dmitry Gutov [Thu, 15 May 2025 12:46:20 +0000 (13:46 +0100)]
vc-git-checkin: Fix calling 'git apply --cached' remotely

* lisp/vc/vc-git.el (vc-git-checkin)
(vc-git--stash-staged-changes): Fix calling 'git apply --cached'
remotely (bug#78405).

(cherry picked from commit 511e3d4e798c70d4a9a6216e0c5ff04e36600ea7)

8 weeks agodefault_toplevel_binding, local_toplevel_binding: Loop upwards
Sean Whitton [Wed, 14 May 2025 17:43:22 +0000 (18:43 +0100)]
default_toplevel_binding, local_toplevel_binding: Loop upwards

* src/eval.c (default_toplevel_binding, local_toplevel_binding):
Loop upwards, not downwards, given that we want the earliest
relevant binding present in the stack.

(cherry picked from commit f70bb4d7677ba308bf15f445ecc99e30754bad84)

8 weeks agoNew top-level buffer-local value functions
Sean Whitton [Tue, 13 May 2025 11:21:21 +0000 (12:21 +0100)]
New top-level buffer-local value functions

* src/eval.c (local_toplevel_binding)
(Fbuffer_local_toplevel_value, Fset_buffer_local_toplevel_value)
(syms_of_eval): New functions.
* doc/lispref/variables.texi (Default Value):
* lisp/subr.el (setq-local):
* etc/NEWS: Document them.
* test/lisp/emacs-lisp/lisp-tests.el
(core-elisp-tests-4-toplevel-values): New test.
* lisp/progmodes/xref.el (xref--show-xref-buffer)
(xref-show-definitions-buffer-at-bottom):
* lisp/vc/vc-dispatcher.el (vc-setup-buffer):
Use set-buffer-local-toplevel-value.

(cherry picked from commit 45627ca7ccd0e84452d497997a7f75535ed83864)

8 weeks agoScroll with mouse wheel in calendar (bug#78298)
Manuel Giraud [Thu, 8 May 2025 14:30:20 +0000 (16:30 +0200)]
Scroll with mouse wheel in calendar (bug#78298)

* lisp/calendar/calendar.el (calendar-mode-map): Add scrolling
with mouse wheel.
* etc/NEWS: Announce the change.

(cherry picked from commit 825d64aa57801dee2d95ab5d4f7f57b656764a48)

8 weeks agocl-extra-tests.el: Follow convention
Stefan Monnier [Wed, 14 May 2025 16:28:25 +0000 (12:28 -0400)]
cl-extra-tests.el: Follow convention

* test/lisp/emacs-lisp/cl-extra-tests.el (multiples-of)
(unsigned-byte): Stick to the tradition of accepting nil.

(cherry picked from commit b644823443bf4b9f2257d1409024094bb5b608d2)

8 weeks ago; Time Stamps doc: Clearer customize recipe
Stephen Gildea [Tue, 13 May 2025 22:58:07 +0000 (15:58 -0700)]
; Time Stamps doc: Clearer customize recipe

* doc/emacs/files.texi (Time Stamps): Reorder the customize sentence so
that the key words come in the order you would use them.

(cherry picked from commit f0ac271da385a81a3f537f48a67d59d0057f921e)

8 weeks ago; * doc/lispref/variables.texi (Default Value): Update.
Sean Whitton [Tue, 13 May 2025 11:07:09 +0000 (12:07 +0100)]
; * doc/lispref/variables.texi (Default Value): Update.

Frame-local variables have been removed.

(cherry picked from commit 49c06df224a10f4b39b24025476e4de588292228)

8 weeks ago; Skip commit cbea5997c077878b757b0168762f1a114ee1e484
Eshel Yaron [Tue, 20 May 2025 20:50:46 +0000 (22:50 +0200)]
; Skip commit cbea5997c077878b757b0168762f1a114ee1e484

8 weeks ago; Skip commit 0bf956235e3475f93bd3c146da05a0f87afab714
Eshel Yaron [Tue, 20 May 2025 20:50:41 +0000 (22:50 +0200)]
; Skip commit 0bf956235e3475f93bd3c146da05a0f87afab714

8 weeks ago* lisp/autorevert.el (auto-revert-remote-files): Adapt docstring.
Michael Albinus [Sun, 11 May 2025 12:25:32 +0000 (14:25 +0200)]
* lisp/autorevert.el (auto-revert-remote-files): Adapt docstring.

(cherry picked from commit eaf01d034c0c20f5dc205331de22761016887707)

8 weeks ago; Improve documentation of ls-lisp.el
Eli Zaretskii [Sun, 11 May 2025 11:42:51 +0000 (14:42 +0300)]
; Improve documentation of ls-lisp.el

* lisp/ls-lisp.el (ls-lisp-format-time-list)
(ls-lisp-use-localized-time-format, ls-lisp-format-time): Doc
fixes.

(cherry picked from commit e32bb816adbbd070bbb2bf42b06feb4b6d917b5b)

8 weeks ago; * lisp/emacs-lisp/comp.el (native-compile-prune-cache): Doc fix.
Eli Zaretskii [Sat, 10 May 2025 19:23:27 +0000 (22:23 +0300)]
; * lisp/emacs-lisp/comp.el (native-compile-prune-cache): Doc fix.

(cherry picked from commit 2d5f2434706a17055325432d6eb2b711ac785220)