Commit graph

100514 commits

Author SHA1 Message Date
Sean Whitton
4c12da0888 * lisp/progmodes/project.el (project-vc-dir): Make interactive-only. 2026-06-10 10:00:13 +01:00
Tomas Nordin
02f22865f6 Partially revert changes from bug#6157 (bug#81170, bug#45226)
* lisp/emacs-lisp/lisp.el (narrow-to-defun): Partially revert
changes from bug#6157 (bug#81170, bug#45226)
2026-06-09 22:07:05 +03:00
Paul Eggert
669ca4df18 Default to quoting `like this' in Elisp strings
Problem reported by Matthew Batson in:
https://lists.gnu.org/r/emacs-devel/2026-06/msg00172.html
* lisp/emacs-lisp/lisp-mode.el (lisp-data-mode):
Don’t set electric-quote-string to t.
2026-06-09 08:46:13 -07:00
Sean Whitton
d7e7dd62ff Merge from origin/emacs-31
71ea4bbb6c vc-test-vc-dir-on-symlink: Use vc-test--with-author-identity
b8fa2243ea Fix M-RET in 'markdown-ts-in-table-mode-map'
c244314974 Fix recurrence of bug#80803 after changes in bug#80967
2026-06-09 11:33:26 +01:00
Sean Whitton
f343f20b94 Mark vc-dir-show-outgoing-count obsolete
* lisp/vc/vc-dir.el (vc-dir-show-outgoing-count): Mark obsolete.
(vc-dir-async-header-values): Use a list of cons.
(vc-dir-headers, vc-dir-refresh): Update for new
vc-dir-async-header-values structure.
* doc/emacs/maintaining.texi (VC Directory Buffer): Delete
mention of the variable.
* etc/NEWS: Announce the obsoletion.
2026-06-09 11:32:13 +01:00
Sean Whitton
a0dc061fa2 VC-Dir: Handle counting outgoing revisions asynchronously
* lisp/vc/vc-dir.el (log-view-message-re): Declare.
(vc-dir--count-outgoing): Rewrite to not block on populating the
outgoing log.
(vc-dir-async-header-values): New variable.
(vc-dir-headers): Just insert "Outgoing   : ", not its value.
(vc-dir-refresh): Insert overlays for async fields.
* lisp/vc/vc.el (vc--count-outgoing): Delete.
2026-06-08 19:17:47 +01:00
Stéphane Marks
b8fa2243ea Fix M-RET in 'markdown-ts-in-table-mode-map'
* lisp/textmodes/markdown-ts-mode.el
(markdown-ts-in-table-mode-map): Map 'M-RET' to
'markdown-ts-table-insert-row-below' (bug#81196).
2026-06-08 15:40:21 +01:00
Sean Whitton
0fac164893 Merge from origin/emacs-31
fff343c332 ; Fix typos in iCalendar macro and recurrence docstrings
912c8e3691 Ensure Tramp backward compatibility
df9b97e516 ; update README for windows binaries
9e37c94079 Read a key sequence instead of a single key in 'map-y-or-...
2755f171fc ; Document new features and update NEWS
13842157d2 ; * etc/NEWS: Presentational fixes and improvements.

# Conflicts:
#	etc/NEWS
2026-06-08 15:36:26 +01:00
Sean Whitton
8636e39abb Merge from origin/emacs-31
df2508a8f6 Remove from CC Mode code that modifies 'major-mode-remap-...
3106dc7766 Assert we don't double-free timers (bug#81108)
90314895dd Don't cancel random timers in x_get_foreign_selection (bu...
5cd7785b0a Fix use-after-free in Ffuncall_with_delayed_message (bug#...
2026-06-08 15:36:23 +01:00
Sean Whitton
1d91d9b717 project-vc-dir: Use truenames
* lisp/progmodes/project.el (project-vc-dir): When called
interactively, call file-truename on the project root first.
* etc/NEWS: Document the change.
2026-06-08 15:35:42 +01:00
Sean Whitton
c244314974 Fix recurrence of bug#80803 after changes in bug#80967
* lisp/vc/vc-dir.el (vc-dir-resynch-file): Pass only truenames
to vc-dir-recompute-file-state.
* test/lisp/vc/vc-tests/vc-test-misc.el (vc-git): Require.
(vc-test-vc-dir-on-symlink): New test.
2026-06-08 15:29:12 +01:00
William Theesfeld
31eaf18276 ; * lisp/replace.el (occur-1): Use seq-some.
Copyright-paperwork-exempt: yes
2026-06-08 11:12:32 +01:00
William Theesfeld
fff343c332 ; Fix typos in iCalendar macro and recurrence docstrings
* lisp/calendar/icalendar-macs.el (ical:with-node-value)
(ical:with-property, ical:with-param, ical:with-child-of):
"evalutes" -> "evaluates".
* lisp/calendar/icalendar-recur.el (icr:tz--get-updated-in):
"occurence" -> "occurrence".

Copyright-paperwork-exempt: yes
2026-06-08 10:57:29 +01:00
Michael Albinus
912c8e3691 Ensure Tramp backward compatibility
* lisp/net/tramp.el (tramp-local-environment-variable-p):
Use `tramp-compat-funcall'.
2026-06-08 08:45:40 +02:00
Juri Linkov
9e37c94079 Read a key sequence instead of a single key in 'map-y-or-n-p'
This is necessary to correctly read keys like 'M-~'
used by 'save-some-buffers' that is two keys 'ESC ~'
on a tty.

* doc/lispref/minibuf.texi (Multiple Queries):
Index 'y-or-n-p-use-read-key' for 'map-y-or-n-p'.
Mention using a key sequence instead of single keys.

* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
In the 'y-or-n-p-use-read-key' cond-branch,
use 'read-key-sequence-vector' instead of 'read-key'.
In the default cond-branch, use 'this-command-keys-vector'
instead of 'last-command-event'.  In both cond-branches
use 'key-description' instead of 'single-key-description'
(bug#81168).
Instead of '(eq def nil)' check if chars are either nil
or an empty vector in noninteractive mode (bug#67836).

* test/lisp/emacs-lisp/map-ynp-tests.el (test-map-ynp-kmacro):
Test separately nil/non-nil 'y-or-n-p-use-read-key'.
(test-map-ynp-keys): New test for complete coverage of
'map-y-or-n-p'.
2026-06-07 21:56:47 +03:00
Eli Zaretskii
f653fd9f10 Avoid recursive error in debug-early in batch mode
* lisp/emacs-lisp/debug-early.el (cl--generic-compiler): Defvar it.
(debug-early-backtrace): Bind it so as to avoid loading
byte-compiler; see the value of the variable in cl-generic.el.
Do not merge to master.  (Bug#80916)
2026-06-07 13:31:45 +03:00
Eli Zaretskii
df2508a8f6 Remove from CC Mode code that modifies 'major-mode-remap-defaults'
* lisp/progmodes/cc-mode.el: Remove code that adds to
'major-mode-remap-defaults', as enabling and disabling tree-sitter
based modes now goes through 'treesit-enabled-modes'.
2026-06-07 09:52:30 +03:00
Stefan Monnier
fa528b4e5c lisp/emacs-lisp/debug-early.el (debug-early--handler): Fix bug#80916 2026-06-07 00:20:40 -04:00
Eli Zaretskii
4d8fb1623c Merge from origin/emacs-31
a24b081602 ; Fix last change
e33e9f7e85 Document 'margin' face as base for margin display strings...
cff9c8bc00 Improve prompting for mail sending by by 'report-emacs-bug'

# Conflicts:
#	etc/NEWS
2026-06-06 06:19:09 -04:00
Augusto Stoffel
cff9c8bc00 Improve prompting for mail sending by by 'report-emacs-bug'
* lisp/mail/emacsbug.el (report-emacs-bug-hook): Don't ask about
mail sending options if 'message-server-alist' is set.  (Bug#81176)
2026-06-06 11:40:53 +03:00
Po Lu
7ffbf45886 Merge from savannah/emacs-31
916572f6e0 Fix the Android build
3801c09ae2 Don't resurrect invisible child frames when rebuilding pa...
e4350c538f Improve progress-reporter state to remove hard coded leng...
30df8657fb (tex-main-file): Add forgotten safety predicate (bug#81099)
35a82765bf Fix bug in latexenc when AUCTeX is loaded
e9d1367a32 paren.el: Fix part of bug#81035
fd1b5cd890 ; * test/lisp/files-tests.el (w32-downcase-file-names): D...
79391d3e19 ; * lisp/mouse.el (send-to--resolve-handler): Fix last ch...
eb1de3f585 ; Avoid rebuilding Emacs Lisp Intro when building release...
f26f2a832c ; Avoid byte-compilation warning in mouse.el
cf325876fa Adapt Tramp version
84556123eb ; * admin/make-tarball.txt: Update.
8f5b786cac Check buffer-local value in tramp-local-environment-varia...
2026-06-06 11:39:01 +08:00
Paul Eggert
2f69971714 mpc-last-seek-time and mpc--faster are no longer used
* lisp/mpc.el (mpc-last-seek-time, mpc--faster):
Add a FIXME; should they be removed?
2026-06-05 19:16:29 -07:00
Paul Eggert
4fd59d0eba Omit a ‘/’ from org-clock-resolve
* lisp/org/org-clock.el (org-clock-resolve): Replace (floor (/ X
60)) with (floor X 60).
2026-06-05 19:16:29 -07:00
Paul Eggert
5eee9e239b Simplify gnus-backend-trace time calc
* lisp/gnus/gnus-int.el (gnus-backend-trace):
Simplify, since (float-time (time-since nil)) returns 0.0.
2026-06-05 19:16:29 -07:00
Paul Eggert
56b93016fc Simplify epa-ks--display-keys time calc
* lisp/epa-ks.el (epa-ks--display-keys):
Simplify by using time-less-p.  This also avoids a rounding error.
2026-06-05 19:16:29 -07:00
Paul Eggert
2dc98b69e0 format-seconds takes time values, not just numbers
* lisp/calendar/time-date.el (format-seconds): Document that the arg
can be any time value, and need not be a number.
This has been true for some time, but has not been documented.
Avoid some (but not all) rounding errors internally, and add a
comment about the remaining rounding error.
* lisp/emacs-lisp/timer-list.el (list-timers):
* lisp/org/org-timer.el (org-timer-show-remaining-time):
* lisp/org/ox.el (org-export--stack-generate):
* lisp/time.el (emacs-uptime): Omit unnecessary conversion of time
value that can increase rounding error.
* test/lisp/calendar/time-date-tests.el (test-format-seconds):
Test that format-seconds works on time values that are not numbers.
2026-06-05 19:16:29 -07:00
Stéphane Marks
e4350c538f Improve progress-reporter state to remove hard coded length (bug#80988)
Remove hard-coded state range, now a monotonically increasing
integer.

* lisp/subr.el (progress-reporter-update-functions): Update
docstring.
(progress-reporter-echo-area): Use
'progress-reporter--pulse-characters' length.
(progress-reporter-do-update): Increase 'state' by 1 each pass.
*
lisp/system-taskbar.el (system-taskbar--progress-reporter-update):
Make steps independent of 'progress-reporter-echo-area' steps.
2026-06-05 12:55:08 -04:00
Arash Esbati
30df8657fb (tex-main-file): Add forgotten safety predicate (bug#81099)
That variable is commonly set file-locally.

* lisp/textmodes/tex-mode.el (tex-main-file): Add safety predicate.
2026-06-05 12:52:00 -04:00
Al Haji-Ali
35a82765bf Fix bug in latexenc when AUCTeX is loaded
* lisp/international/latexenc.el
(latexenc-find-file-coding-system): Set file name correctly when
`TeX-master' is a string.  (Bug#81099)
2026-06-05 12:44:25 -04:00
Stefan Monnier
e9d1367a32 paren.el: Fix part of bug#81035
* lisp/paren.el (show-paren--default): Syntax-propertize before narrowing.
2026-06-05 12:43:43 -04:00
Eli Zaretskii
79391d3e19 ; * lisp/mouse.el (send-to--resolve-handler): Fix last change. 2026-06-05 15:05:19 +03:00
Eli Zaretskii
f26f2a832c ; Avoid byte-compilation warning in mouse.el
* lisp/mouse.el (send-to): Require, not only when compiling, as
'send-to--resolve-handler' is used at run time.
2026-06-05 14:35:34 +03:00
Michael Albinus
cf325876fa Adapt Tramp version
* lisp/net/trampver.el (customize-package-emacs-version-alist):
Add Tramp version integrated in Emacs 31.1.

* doc/misc/trampver.texi:
* lisp/net/trampver.el (tramp-version): Adapt Tramp versions.
2026-06-05 13:21:15 +02:00
Augusto Stoffel
8f5b786cac Check buffer-local value in tramp-local-environment-variable-p
* lisp/net/tramp.el (tramp-local-environment-variable-p): Do it.
2026-06-05 12:40:08 +02:00
Sean Whitton
5e160e2784 Merge from origin/emacs-31
b8133a416d ; Update exported ChangeLog files and etc/AUTHORS
5e3e1a5bb2 ; Tweak some package short descriptions.
bbe805e4b1 message.el: Fix part of bug#81035
621239ae6a Fix prompt in remote shell
6df1d33b6c Fmake_xwidget: Use about:blank workaround only when needed
f3b17c4969 Allow brew/macports libgccjit for default native compilation
7226082f46 vc-dir-refresh: Respect non-essential wrt saving buffers
438af2764d ; * doc/lispref/text.texi (Mode-Specific Indent): Fix mar...
6b39919408 ; Fix typo in prog-indentation-context documentation (bug...
95ac082d5b Merge branch 'emacs-31' of git.savannah.gnu.org:/srv/git/...
3d9d9be3a1 CC Mode: Fontify a cast type preceding a brace initializa...
fe1c02d849 Fix Tramp distrobox integration
108710992d ; * doc/misc/ert.texi (erts files): Improve example (bug#...
0989625d36 markdown-ts-mode: fix first-item indent (bug#81118)
07e02917ee [GTK3] Re-fix the stored values for width and height
776ee085ff Eglot: mentions markdown-ts-view-mode less (bug#81150)
2d915236dc vc--subject-to-file-name: Fix over-greedy regex (bug#81017)
05f89d711d Fix more missing faces on ERC margin strings
3229d6f0e3 Eglot: Simplify markdown rendering support (bug#81150)
8855e88d74 ; Improve doc strings of brows-url commands
933d35ef10 ; * lisp/net/browse-url.el (browse-url-firefox-program): ...
2026-06-05 11:19:07 +01:00
Sean Whitton
0ee48ac4df ; Update ldefs-boot.el. 2026-06-05 10:57:06 +01:00
Sean Whitton
5e3e1a5bb2 ; Tweak some package short descriptions. 2026-06-05 10:17:27 +01:00
Stefan Monnier
bbe805e4b1 message.el: Fix part of bug#81035
* lisp/gnus/message.el (message-narrow-to-field)
(message-hide-headers): Syntax-propertize before narrowing.
2026-06-04 14:20:06 -04:00
Michael Albinus
621239ae6a Fix prompt in remote shell
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Do not use a
hard-coded directory in PS1.  (Bug#81177)
2026-06-04 19:44:07 +02:00
Eli Zaretskii
35f69be393 Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2026-06-04 14:48:05 +03:00
Eli Zaretskii
8a00733af5 ; Fix last change
* lisp/plstore.el (plstore--decode, plstore--encode)
(plstore-get, plstore-find): Fix last change.  (Bug#81061)
2026-06-04 14:47:13 +03:00
Sean Whitton
0a8a5d4fad Don't query on exit for dir-status-files VC backend processes
* lisp/vc/vc-bzr.el (vc-bzr-dir-status-files):
* lisp/vc/vc-cvs.el (vc-cvs-dir-status-files):
* lisp/vc/vc-git.el (vc-git-dir-status-goto-stage):
* lisp/vc/vc-hg.el (vc-hg-dir-status-files):
* lisp/vc/vc-svn.el (vc-svn-dir-status-files): Set the
query-on-exit flag for the processes populating VC-Dir buffers
to nil.
2026-06-04 12:04:13 +01:00
Sean Whitton
7226082f46 vc-dir-refresh: Respect non-essential wrt saving buffers
* lisp/vc/vc-dir.el (vc-dir-refresh): If non-essential is
non-nil, don't call vc-buffer-sync-fileset.
2026-06-04 10:49:23 +01:00
Xiyue Deng
aa6acc69ed plstore: use 'plstore--has-secret-keys'
* lisp/plstore.el (plstore-find, plstore-get, plstore--encode)
(plstore--decode): Use 'plstore--has-secret-keys' to replace
manual check for existence of secret keys.  (Bug#81061)
2026-06-04 11:52:14 +03:00
Eli Zaretskii
95ac082d5b Merge branch 'emacs-31' of git.savannah.gnu.org:/srv/git/emacs into emacs-31 2026-06-04 09:37:22 +03:00
Alan Mackenzie
3d9d9be3a1 CC Mode: Fontify a cast type preceding a brace initialization
This fixes bug#81084.
* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1):
In the test for a cast near the end of the function, add a test
for a {...} block which isn't a statement block, allowing such
blocks to be recognized as operands of casts.
2026-06-04 09:34:58 +03:00
Michael Albinus
fe1c02d849 Fix Tramp distrobox integration
* lisp/net/tramp.el (tramp-yesno-prompt-regexp): Fix docstring.
(tramp-yn-prompt-regexp): Fix docstring.  Extend.  Add :version.

* test/lisp/net/tramp-tests.el (tramp-test03-file-error): Adapt test.
2026-06-04 08:34:48 +02:00
David Ponce
e6e79b1e09 Don't unconditionally append the :ascent property in wid-edit
* lisp/wid-edit.el (widget-toggle-value-create): Don't
duplicate the :ascent property if already set.  (Bug#81167)
2026-06-04 09:06:52 +03:00
Rahul Martim Juliato
0989625d36 markdown-ts-mode: fix first-item indent (bug#81118)
* lisp/textmodes/markdown-ts-mode.el
(markdown-ts--fontify-unordered-list-marker): Skip leading
whitespace in the node range before applying the display bullet,
since the tree-sitter grammar bundles indent into the first
list_marker_* node.
2026-06-04 08:41:27 +03:00
Xiyue Deng
d852d36c77 Decrypt plstore when needed in 'plstore-delete'
When a plstore has entries with secret keys, processing the plstore
file would require decryption first.  However, unlike other functions
like 'plstore-get', 'plstore-put', etc., 'plstore-delete' does not
check for secret keys and decrypt the file, which would corrupt the
file when deleting any entries with secret keys.
This patch adds checking for secret keys and decrypt the file when
needed before removing the entry with name.
* lisp/plstore.el (plstore--has-secret-keys): New.
* lisp/plstore.el (plstore-delete): Check for secret keys of the entry
and decrypt plstore before performing the deletion.  (Bug#81061)
2026-06-04 08:37:25 +03:00