Commit graph

182562 commits

Author SHA1 Message Date
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
Corwin Brust
df9b97e516 ; update README for windows binaries 2026-06-07 21:09:01 -05: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
2755f171fc ; Document new features and update NEWS
* etc/NEWS: Mark unmarked entries.

* doc/emacs/display.texi (Useless Whitespace): Document
'delete-trailing-whitespace-mode'.
* doc/emacs/text.texi (Foldout): Document negative argument of
'foldout-exit-fold'.
* doc/emacs/search.texi (Query Replace): Document 'd' in
query-replace.
* doc/emacs/frames.texi (Text-Only Mouse): 'xterm-mouse-mode' is
now ON by default.
(Mouse Commands): Document 'mouse-shift-adjust-mode'.

* doc/lispref/commands.texi (Event Mod): Document new command
'key-translate' and 'key-translate-remove'.
* doc/lispref/processes.texi (Output from Processes): Update
default value of 'process-adaptive-read-buffering'.
* doc/lispref/frames.texi (Frame Size): Document
'set-frame-size-and-position' and
'set-frame-size-and-position-pixelwise'.
* doc/lispref/minibuf.texi (Multiple Queries): 'map-y-or-n-p' now
uses the minibuffer.
2026-06-07 16:33:32 +03:00
Michael Albinus
13842157d2 ; * etc/NEWS: Presentational fixes and improvements. 2026-06-07 13:27:27 +02: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
Pip Cet
3106dc7766 Assert we don't double-free timers (bug#81108)
* src/atimer.c (cancel_atimer): Assert that we found the timer.
2026-06-06 10:22:43 +00:00
Pip Cet
90314895dd Don't cancel random timers in x_get_foreign_selection (bug#81108)
* src/pgtkselect.c (pgtk_display_selection_waiting_message):
(pgtk_cancel_atimer):
(pgtk_get_foreign_selection):
* src/xselect.c (x_display_selection_waiting_message):
(x_cancel_atimer):
(x_get_foreign_selection): Use a pointer to a timer variable, which is
cleared when the timer runs or is otherwise cancelled.  Don't cancel
the timer twice.
2026-06-06 10:22:29 +00:00
Pip Cet
5cd7785b0a Fix use-after-free in Ffuncall_with_delayed_message (bug#81108)
* src/eval.c (with_delayed_message_display):
(with_delayed_message_cancel):
(Ffuncall_with_delayed_message): Use new temporary data
structure.  Cancel timer at most once.
2026-06-06 10:22:20 +00: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
Eli Zaretskii
a24b081602 ; Fix last change
* etc/NEWS:
* doc/lispref/frames.texi (Font and Color Parameters):
* doc/lispref/display.texi (Displaying Faces, Basic Faces):
Improve indexing of faces and wording of the description of the
'margin' face and its implications.
2026-06-06 12:06:42 +03:00
Andrea Alberti
e33e9f7e85 Document 'margin' face as base for margin display strings (Bug#80693)
* doc/lispref/display.texi (Displaying Faces): Note that the
underlying-text rule does not apply to strings displayed in the
display margins, and reword the margin-face bullet to describe
'margin' as the base.
(Basic Faces): Note that the 'margin' face also provides the base
attributes for strings displayed in the margins.
(Display Margins): Drop a sentence that restated the preceding one
about unspecified attributes inheriting from 'margin'.
* etc/NEWS: Document the change for margin strings.

Suggested by F. Jason Park <jp@neverwas.me>.
2026-06-06 11:45:52 +03: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
Po Lu
a21e93b7e2 ; * doc/lispref/compile.texi (Speed of Byte-Code): Fix typo. 2026-06-06 11:38:49 +08:00
Po Lu
916572f6e0 Fix the Android build
* configure.ac: Don't test for libgccjit.h if a preceding test
have already concluded that native compilation is unavailable.
2026-06-06 11:38:04 +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
Paul Eggert
1b019b135b Avoid double-rounding in byte-code speed doc
* doc/lispref/compile.texi (Speed of Byte-Code):
Avoid some double-rounding in time calculations.
Modernize the timings.
2026-06-05 19:16:29 -07:00
Andrea Alberti
bf9a1e1f16 Fix respondsToSelector: selector for native fullscreen check
The two -respondsToSelector: guards in -[EmacsWindow
setParentChildRelationships] tested @selector(toggleFullScreen) without
the trailing colon, but the method is -toggleFullScreen:.  The colon-less
selector matches nothing, so the guarded code was always skipped.  This
is inert on modern builds (MAC_OS_X_VERSION_MIN_REQUIRED >= 1070, where
the check is #if'd out), but on a binary targeting pre-10.7 yet running
on 10.7+ it would wrongly skip taking a child frame out of native
fullscreen.

* src/nsterm.m ([EmacsWindow setParentChildRelationships]): Add the
missing colon to both @selector(toggleFullScreen:) checks.
2026-06-05 19:29:58 +01:00
Andrea Alberti
3801c09ae2 Don't resurrect invisible child frames when rebuilding parent links
On the NS port, -[EmacsWindow setParentChildRelationships] reattaches
every child frame to its parent via -addChildWindow:ordered:, which also
orders the child window onto the screen.  This runs whenever the
parent/child relationships are rebuilt, e.g., when entering non-native
fullscreen, which allocates a fresh EmacsWindow whose initializer
rebuilds the relationships.  A child frame that Emacs had made invisible
(e.g. a corfu/company completion popup) was thereby brought back as a
stale, non-responsive child frame.  Emacs never repaints to clear it
because frame_redisplay_p trusts FRAME_VISIBLE_P on the NS port and
avoids dealing with the child frame when it is marked as invisible.

Native fullscreen does not trigger this: -toggleFullScreen: hands off to
AppKit without allocating a new window, so the rebuild never runs.

A hidden child frame is normally detached from its parent already: Emacs
hides it with -orderOut: (ns_make_frame_invisible), which per Apple's
documentation removes a child window from its parent before ordering it
out.  The fix is therefore not to re-attach a child while it is
invisible; ns_make_frame_visible already reinstates the parent/child link
when the frame is shown again.

* src/nsterm.m ([EmacsWindow setParentChildRelationships]): Only
re-attach a child window when the frame is marked visible.
(ns_make_frame_visible): Explain, with a reference to Apple's
documentation, why the parent/child link must be reinstated on show.
2026-06-05 19:22:29 +01:00
Stefan Monnier
66e02b3123 (Fmarkers_in): New function (bug#81153)
* src/marker.c (Fmarkers_in): New function.
(syms_of_marker): Defsubr it.
* doc/lispref/text.texi (Replacing): Add markers-in.
* test/src/marker-tests.el (marker-markers-in): New test.
2026-06-05 14:04:22 -04: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
Sean Whitton
fd1b5cd890 ; * test/lisp/files-tests.el (w32-downcase-file-names): Declare. 2026-06-05 13:07:24 +01:00
Eli Zaretskii
79391d3e19 ; * lisp/mouse.el (send-to--resolve-handler): Fix last change. 2026-06-05 15:05:19 +03:00
Eli Zaretskii
eb1de3f585 ; Avoid rebuilding Emacs Lisp Intro when building release tarball
* make-dist (info_files): Include "*.png" images, which are used
in the doc/lispintro/ directory, and should be in the tarball.
This makes sure eintr.info will not need to be rebuilt on the
end-users' systems when a release tarball is being built, due to
the fact that PNG files are copied from doc/lispintro/ and are
thus newer than eintr.info that came with the tarball.  We don't
want to force rebuilding Info files when a release tarball is
built because users are not required to have Texinfo installed.
2026-06-05 14:42:58 +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
Sean Whitton
84556123eb ; * admin/make-tarball.txt: Update. 2026-06-05 12:18:36 +01: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
921273999a ; Merge from origin/emacs-31
The following commits were skipped:

0ee48ac4df ; Update ldefs-boot.el.
4f4af26dd2 Bump Emacs version to 31.0.90
2026-06-05 11:19:07 +01: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
e21d3af2f9 ; Merge from origin/emacs-31
The following commit was skipped:

f357a549ac Prevent segfaults due to frame resizing at the wrong time
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
4f4af26dd2 Bump Emacs version to 31.0.90
* README:
* configure.ac:
* exec/configure.ac:
* java/AndroidManifest.xml.in (Version-code):
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 31.0.90.
2026-06-05 10:42:43 +01:00
Sean Whitton
b8133a416d ; Update exported ChangeLog files and etc/AUTHORS
* ChangeLog.5: Update.
* etc/AUTHORS: Regenerate.
2026-06-05 10:41:22 +01:00
Sean Whitton
5e3e1a5bb2 ; Tweak some package short descriptions. 2026-06-05 10:17:27 +01:00
Pip Cet
c1eb458d6b Avoid relying on FOR_EACH_TAIL internals in 'Fnthcdr' (bug#81115)
The new FOR_EACH_TAIL code detects simple cycles sooner than the old
code did, leading to integer overflows.

* src/fns.c (Fnthcdr): Avoid integer overflow if cycle is detected
early.
2026-06-04 20:45:34 +00:00
Pip Cet
0bef3c0e87 Improve FOR_EACH_TAIL (bug#81115)
* src/lisp.h (struct for_each_tail_internal): Reduce to two words.
(FOR_EACH_TAIL_BASIC): Add compiler hint to indicate that tail is most
likely Qnil after the loop and a non-nil non-cons is unlikely.
(FOR_EACH_TAIL_STEP_CYCLEP): Rewrite.
2026-06-04 20:45:34 +00:00
Pip Cet
de67c677fe * src/lisp.h (EQ): Use new 'likely' macro. 2026-06-04 20:45:34 +00:00