Commit graph

182989 commits

Author SHA1 Message Date
Stefan Monnier 1095d63d28 lisp/mpc.el (mpc-last-seek-time, mpc--faster): Not used any more 2026-08-01 18:00:41 -04:00
Sean Whitton d9218edb3e * lisp/cus-start.el (completion-ignore-case): Make customizable. 2026-08-01 20:09:13 +01:00
Eli Zaretskii 04d5bb486a Merge from origin/emacs-31
42e283fe9d ; 'use-cjk-char-width-table': Avoid byte-compiler warning.
2026-08-01 08:19:02 -04:00
Eli Zaretskii 42e283fe9d ; 'use-cjk-char-width-table': Avoid byte-compiler warning. 2026-08-01 15:17:28 +03:00
Eli Zaretskii e2b5dc2d70 ; Update ldefs-boot.el. 2026-08-01 07:42:17 -04:00
Eli Zaretskii c150777f49 Fix merge snafu in dired-aux.el
* lisp/dired-aux.el (dired-insert-subdir): Replace call
to 'dired--ls-accept-b-switch-p' (which no longer exists)
with equivalent code.
2026-08-01 07:37:50 -04:00
Eli Zaretskii 8ed037b9c5 Merge from origin/emacs-31
d31d3245ba Fix display of ambiguous-width CJK characters in GUI sess...
cf98d9d725 Eglot: do more orthodox use of progress reporters (bug#81...
0b8d2acdd2 ; * lisp/dired-aux.el (dired-create-destination-dirs): Do...
660e2f9f6f ; * lisp/emacs-lisp/package.el (package-upgrade-all): Fix...
26e1c1792e Summarize changes when upgrading packages
ed4a3e251b Prevent 'package-menu--mark-upgrades-1' from blocking
a9fc13614e Export GIT_OPTIONAL_LOCKS=0 for "git status" invocations ...
8e70e6d687 * lisp/vc/vc.el (vc-delete-file): Don't backup backup files.
c6e2bd3e3b Restore current buffer after clone-indirect-buffer-hook e...
b21266e4cb Assign some calendar & icalendar files to packages
b6332ac21b Do not asynchronously prompt to save buffers after vc-che...
4f36e9e885 File name with newline: require 'ls' --dired switch
cba18a7f9c Fix starting local processes in the MS-Windows build
2026-08-01 07:14:54 -04:00
Eli Zaretskii 2fd87a1db4 ; Merge from origin/emacs-31
The following commits were skipped:

99a9307235 Avoid errors in 'dabbrev-expand'
7b0f33cb74 Backport: Use default exec-suffixes when needed (bug#8128...
2026-08-01 07:14:54 -04:00
Eli Zaretskii 79c1f363a3 Merge from origin/emacs-31
ad60eb855d ; Improve documentation of "shadow cursor"
c6d6033360 Fix attendee lookup in gnus-icalendar
5b5cc17832 vc-working-revision: Don't bind default-directory to a re...
ab88a0be86 Fix Dired problem with nonexistent directory (bug#81509)
158a039135 ; * admin/MAINTAINERS: Mark F. Jason Park as co-maintaini...
1da79a162d ; * src/treesit.c (treesit_cursor_helper_1): Further expl...
037076824f ; * src/treesit.c (treesit_cursor_helper_1): Fix last cha...
5e3f68c669 Fix emacs-eglot test on emba
97e24e12d5 Fix C-x v w a/A on the repository root
b65f8ef93d (sh-font-lock-paren): Fix bug#81192

# Conflicts:
#	etc/NEWS
2026-08-01 07:14:49 -04:00
Eli Zaretskii d31d3245ba Fix display of ambiguous-width CJK characters in GUI sessions
* lisp/international/characters.el (use-cjk-char-width-table): Fix
to work correctly in GUI sessions on Windows.  (Bug#81489)
2026-08-01 13:01:13 +03:00
João Távora cf98d9d725 Eglot: do more orthodox use of progress reporters (bug#81514)
The progress reporters on recent Emacs has backward incompatible
changes, but our use of them wasn't too correct either.

* lisp/progmodes/eglot.el (eglot-handle-notification): Call
progress-reporter-done.
2026-08-01 10:54:54 +01:00
Rahul Martim Juliato a8539b7919 markdown-ts-mode: Make inline HTML embed local (bug#81334)
* lisp/textmodes/markdown-ts-mode.el (markdown-ts--set-up): Mark
the html_tag markdown-inline embed as ':local t', matching the
sibling html_block embed.  Avoids non-local range updates that
scale poorly on buffers with many inline blocks.
2026-08-01 12:46:28 +03:00
Rahul Martim Juliato 7eb0fd17e3 Cache resolved tree-sitter languages (bug#81334)
* src/treesit.c (treesit_lang_cache_get)
(treesit_lang_cache_put): New functions implementing a
per-session cache of resolved languages.
(treesit_load_language): Consult and populate the cache, to
avoid repeating the dlopen/dlsym and ABI-version check on every
parser creation.
2026-08-01 12:45:37 +03:00
Eli Zaretskii 13cff6ffad Avoid crashes due to weird 'auto-coding-regexp-alist' values
* src/chartab.c (uniprop_table): Bind 'coding-system-for-read'
to 'utf-8-emacs-unix' for inserting the contents of the uni-*.el
files.  This avoids crashes if the 'coding:' cookies in these
files are overridden by some means.  (Bug#81445)
2026-08-01 12:38:45 +03:00
Eli Zaretskii 5c10089194 ; * etc/NEWS: Announce support of Kmscon. (Bug#81428) 2026-08-01 11:44:15 +03:00
Sven Joachim b54ef91209 Add support for the kmscon terminal emulator
* lisp/term/kmscon.el: New file.  (Bug#81428)
2026-08-01 11:40:33 +03:00
Eli Zaretskii 0b8d2acdd2 ; * lisp/dired-aux.el (dired-create-destination-dirs): Doc fix (bug#81528). 2026-08-01 09:49:01 +03:00
Eli Zaretskii 660e2f9f6f ; * lisp/emacs-lisp/package.el (package-upgrade-all): Fix typo. 2026-08-01 09:00:35 +03:00
Philip Kaludercic 26e1c1792e
Summarize changes when upgrading packages
* lisp/emacs-lisp/package.el (package-upgrade-all): Print a
final message listing the completed and rejected package
upgrades, as the messages printed by 'package-install' get lost
in the Messages buffer.  (Bug#81112)
2026-07-31 22:26:34 +02:00
Philip Kaludercic ed4a3e251b
Prevent 'package-menu--mark-upgrades-1' from blocking
* lisp/emacs-lisp/package.el (package-menu--mark-upgrades-1):
If 'package-retention-policy' applies, still move forward a line
so that the loop can consider the next package.  (Bug#81373)
2026-07-31 22:16:35 +02:00
Sean Whitton 96e2a7ff0d Make "NN outgoing revisions" in VC-Dir clickable again
* lisp/vc/vc-dir.el (vc-dir--count-outgoing)
(vc-dir-async-header-values): Switch to using the overlay's main
text instead of an `after-string' so that it's clickable again.
2026-07-31 17:02:13 +01:00
Sean Whitton a9fc13614e Export GIT_OPTIONAL_LOCKS=0 for "git status" invocations (bug#80903)
* lisp/vc/vc-git.el (vc-git--env-vars): New function.
(vc-git-command, vc-git--call): Use it (bug#80903).
2026-07-31 16:18:41 +01:00
Charles A. Roelli 8e70e6d687 * lisp/vc/vc.el (vc-delete-file): Don't backup backup files. 2026-07-31 11:41:22 +01:00
Donjuanplatinum c6e2bd3e3b Restore current buffer after clone-indirect-buffer-hook errors
* src/buffer.c (Fmake_indirect_buffer): Replace
set_buffer_internal_1 with specpdl unwind in the clone path
(bug#81504).

Copyright-paperwork-exempt: yes
2026-07-31 11:27:05 +01:00
Sean Whitton b21266e4cb Assign some calendar & icalendar files to packages
* lisp/calendar/diary-icalendar.el:
* lisp/calendar/icalendar-ast.el:
* lisp/calendar/icalendar-macs.el:
* lisp/calendar/icalendar-mode.el:
* lisp/calendar/icalendar-parser.el:
* lisp/calendar/icalendar-recur.el:
* lisp/calendar/icalendar-shortdoc.el:
* lisp/calendar/icalendar-utils.el: Assign to 'icalendar'
package.
* lisp/calendar/diary-lib.el: Assign to 'calendar' package.
2026-07-31 11:17:23 +01:00
Stephen Berman 698776764d Adjust 'log-edit-insert-changelog-entry' to recent 'vc-dir' change
* lisp/vc/log-edit.el (log-edit-insert-changelog-entry): Since
commit 0a714557eb 'vc-dir' does not always resolve the working
directory to its truename, but 'vc-dir-deduce-fileset' does expand
file names, so do that also when generating the list of changed
files according to the ChangeLog entry in order to prevent a
spurious failure on comparing the two lists of files.
2026-07-31 12:04:53 +02:00
Michael Heerdegen 6534d67a1f Fix rect mark mess up in unselected windows
* lisp/rect.el (rectangle--highlight-for-redisplay): Move
`save-excursion' inside `with-selected-window' to ensure it always takes
effect.  (Bug#81451)
2026-07-31 05:14:20 +02:00
Stéphane Marks a1fa371488 Draw NS window title with dimensions only when being dragged (bug#81458)
This avoids stale temporary window titles when resizing is
initiated mechanically via Applescript or using a macOS window
manager like yabai.

* src/nsterm.m: ([EmacsView windowWillResize:toSize]): Draw
window title with new dimensions only when inLiveResize is true.
2026-07-30 23:10:49 +01:00
Aaron L. Zeng b6332ac21b Do not asynchronously prompt to save buffers after vc-checkin
* lisp/vc/vc-dispatcher.el (vc-set-async-update): Bind
`non-essential' around background `vc-dir-refresh'.
2026-07-30 22:33:47 +01:00
Stephen Berman 4f36e9e885 File name with newline: require 'ls' --dired switch
File name with newline: require 'ls' --dired switch

Previously the handling of newlines in file names tested for the
-b switch, but on systems such as Solaris 'ls' takes -b but not
--dired and the latter is needed to set the correct bounds of file
names containing a newline.

* lisp/dired.el (dired--check-use-ls-dired): New function.
(dired-internal-noselect, dired-insert-directory)
(dired--set-auto-toggle-b-switch): Use it.
(dired--remove-b-switch): Delete.

* test/lisp/dired-tests.el (dired-test-filename-with-newline-1)
(dired-test-filename-with-newline-2): Use the new function to skip
tests when 'ls' does not support the --dired switch (bug#81481).
2026-07-30 23:13:29 +02:00
Stephen Berman 5a58e37169 Handle file names with newlines in Dired subdirs (bug#81295)
* lisp/dired.el (dired-internal-noselect): Add to the comment
about displaying a warning about literal newlines a reference to
needing the same test with subdirs.
(dired--filename-with-newline-p): If the Dired buffer has subdirs,
check these for file names with newlines.

* lisp/dired-aux.el (dired-insert-subdir): Test for file names
with literal newlines in subdirs and if there are display a
warning.  Add a comment about buggy Dired display when using extra
'ls' switches on inserting a subdir, and display a temporary
warning about this (to be removed when the bug is fixed).
2026-07-30 23:05:48 +02:00
Eshel Yaron f13363507d
; (eww-read-alternate-url): Fix regression with single link.
In commit aee0e67a we changed 'eww--alternate-urls' to
return a list of (propertized) strings rather than an alist,
but we didn't properly adapt the just-one-link branch of
'eww-read-alternate-url' accordingly.

* lisp/net/eww.el (eww-copy-alternate-url): Fix it.
2026-07-30 19:58:03 +02:00
Eli Zaretskii cba18a7f9c Fix starting local processes in the MS-Windows build
* src/w32proc.c (sys_spawnve): Use default value of
'exec-suffixes', as we are starting a local process.
2026-07-30 18:42:08 +03:00
Daniel Mendler 8b8aa7ced6 Delete empty local-variable block ad prop line
Delete local variable block or prop line when it became empty
after deleting a variable.  (Bug#81516)

* lisp/files-x.el (modify-file-local-variable)
(modify-file-local-variable-prop-line): Delete empty block or
prop-line.
* test/lisp/files-x-tests.el (files-x-test-add-file-local-variable)
(files-x-test-add-file-local-variable-prop-line)
(files-x-test-delete-file-local-variable)
(files-x-test-delete-file-local-variable-prop-line): New tests.
2026-07-30 17:37:51 +03:00
Eli Zaretskii 99a9307235 Avoid errors in 'dabbrev-expand'
* lisp/dabbrev.el (dabbrev-expand): Fix use of
'dabbrev--last-buffer-found': it could be a killed buffer.
(Bug#81452)

(cherry picked from commit 0e8fbd63e9)
2026-07-30 14:32:09 +03:00
Michael Albinus 7b0f33cb74 Backport: Use default exec-suffixes when needed (bug#81280, bug#81517)
* lisp/files.el (executable-find): Use (default-value 'exec-suffixes).

* src/callproc.c (Qexec_suffixes): Declare.
(call_process):
* src/process.c (Fmake_process): Use Fdefault_value (Qexec_suffixes).

* test/lisp/files-x-tests.el (files-x-test--variables6):
New defconst.
(files-x-test-connection-local-special-variables): New test.

(cherry picked from commit dcdd76f89e)
2026-07-30 13:02:44 +02:00
Eli Zaretskii fb6ad8aa78 ; * doc/lispref/symbols.texi (Shorthands): Fix markup and whitespace. 2026-07-30 09:33:16 +03:00
Eli Zaretskii ad60eb855d ; Improve documentation of "shadow cursor"
* etc/NEWS:
* doc/emacs/files.texi (Diff Mode):
* lisp/vc/diff-mode.el (diff-refine): Improve the documentation of
the "shadow cursor" shown by Diff mode.
2026-07-30 08:14:26 +03:00
Eli Zaretskii df68768d1d Avoid errors when "-*- -*-" prop line of a file has no tags
* lisp/files.el (set-auto-mode): Don't add an invalid "-mode" to
'modes', if the mode tag is empty.
(set-auto-mode-1): Make sure we return a position that is at or
after point.  (Bug#81516)
2026-07-30 07:18:29 +03:00
Stefan Monnier c1337758a6 Merge remote-tracking branch 'origin/scratch/intern-without-shorthands' 2026-07-29 22:12:50 -04:00
Ihor Radchenko e0d2d80a62
lisp/vc/diff-mode.el (diff-find-text): Match case-sensitively (bug#81395) 2026-07-29 18:50:36 +02:00
Yuan Fu fb5cf238a9 New variable comment-start-line-regexp (bug#80837)
* lisp/newcomment.el (comment-start-line-regexp): New variable
(bug#80837).
* lisp/progmodes/c-ts-common.el (c-ts-common-comment-setup):
* lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode):
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode):
* lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode):
* lisp/progmodes/go-ts-mode.el (go-work-ts-mode):
* lisp/progmodes/json-ts-mode.el (json-ts-mode):
* lisp/progmodes/lua-ts-mode.el (lua-ts-mode):
* lisp/progmodes/php-ts-mode.el (php-ts-mode--comment-setup):
* lisp/progmodes/python.el (python-base-mode):
* lisp/progmodes/ruby-mode.el (ruby-base-mode):
* lisp/progmodes/sh-script.el (sh-base-mode):
* lisp/textmodes/mhtml-ts-mode.el
(mhtml-ts-mode--comment-setup):
* lisp/textmodes/toml-ts-mode.el (toml-ts-mode):
* lisp/textmodes/yaml-ts-mode.el (yaml-ts-mode): Set it.
* doc/emacs/programs.texi (Options for Comments):
* etc/NEWS: Document it.
* lisp/progmodes/c-ts-common.el
(c-ts-common-comment-start-line-regexp): New variable.
* lisp/treesit.el (newcomment): Require.
(treesit--likely-line-comment-p): New function.
(treesit-forward-comment): Use it.  Make COUNT parameter
non-optional.
2026-07-29 12:20:33 +01:00
Richard Lawrence c6d6033360 Fix attendee lookup in gnus-icalendar
* lisp/gnus/gnus-icalendar.el
(gnus-icalendar-event--find-attendee): Restore previous behavior
for matching attendees to user variables (bug#81408).
2026-07-29 12:12:10 +01:00
Sean Whitton 5b5cc17832 vc-working-revision: Don't bind default-directory to a relative name
* lisp/vc/vc-hooks.el (vc-working-revision): Don't bind
default-directory to a relative file name.
2026-07-29 11:04:29 +01:00
Stephen Berman ab88a0be86 Fix Dired problem with nonexistent directory (bug#81509)
* lisp/dired.el (dired, dired-other-window, dired-other-frame)
(dired-other-tab): If the directory that the Dired command tries
to visit does not exist, ensure the buffer that was current when
the command was invoked remains the current buffer.
2026-07-28 18:31:44 +02:00
Sean Whitton 158a039135 ; * admin/MAINTAINERS: Mark F. Jason Park as co-maintaining ERC. 2026-07-28 13:44:59 +01:00
Yuan Fu 1da79a162d ; * src/treesit.c (treesit_cursor_helper_1): Further explanation. 2026-07-28 15:13:55 +03:00
Stefan Monnier 9a431e431a (Fcall_interactively): Fix use-after-free bug#81110
* src/callint.c (Fcall_interactively): Don't use alloca'd vars after we
`unbind_to` and don't bind `current-minibuffer-command`.
* src/minibuf.c (read_minibuf): Bind `current-minibuffer-command` here.
* test/src/callint-tests.el (test-many-interactive-args):
New test (authored by Pip Cet <pipcet@protonmail.com>).
2026-07-27 19:19:53 -04:00
Stefan Monnier eac013a785 (custom-initialize-changed): Don't catch errors in custom-set
* lisp/custom.el (custom-initialize-reset): Simplify.
(custom-initialize-changed): Don't catch errors in `custom-set` (bug#81396).
(custom-initialize-delay, custom-initialize-after-file-load):
Adjust arg name to align with other `custom-initialize-*`.
2026-07-27 19:12:30 -04:00
Eli Zaretskii 037076824f ; * src/treesit.c (treesit_cursor_helper_1): Fix last change. 2026-07-27 22:14:23 +03:00