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

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)

7 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)

7 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)

7 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)

7 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)

7 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)

7 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)

7 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)

7 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)

7 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)

7 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)

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

7 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)

7 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)

7 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)

7 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)

7 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)

7 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)

7 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)

7 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)

7 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)

7 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)

7 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)

7 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)