Commit graph

181819 commits

Author SHA1 Message Date
Michael Albinus
5cb7446245 * test/infra/gitlab-ci.yml (default): User docker 28.5.2. 2026-04-10 14:28:54 +02:00
Michael Albinus
247f46d5e4 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2026-04-10 12:47:33 +02:00
Eli Zaretskii
34b582301f ; Update "Key Binding" node in Emacs Lisp Intro
* doc/lispintro/emacs-lisp-intro.texi (Key Bindings): Remove
obsolete text about \C in key bindings.  (Bug#80787)
2026-04-10 09:54:42 +03:00
Stefan Monnier
7d00565fee (elisp--font-lock-flush-elisp-buffers): Avoid eager font-locking
When jit-lock is not in use, `font-lock-flush` is too costly to
justify using it just to maybe update the highlighting of a few macro calls.

* lisp/progmodes/elisp-mode.el (elisp--font-lock-flush-elisp-buffers):
Skip buffers that use jit-lock, like the `*ielm*-comint-indirect` buffer.
2026-04-09 17:55:16 -04:00
Stéphane Marks
b4da8610cd ; New function 'ns-process-is-accessibility-trusted', no message (bug#80624)
* src/nsfns.m (Fns_process_is_accessibility_trusted): New
function.
(syms_of_nsfns): New defsubr.
* src/nsterm.m: ([EmacsApp applicationDidFinishLaunching:]):
Remove the AXIsProcessTrusted message.
* etc/NEWS: Updated.
2026-04-09 21:59:13 +01:00
Stefan Monnier
fc128826b5 (elisp--local-variables): Restore point earlier
* lisp/progmodes/elisp-mode.el (elisp--local-variables): Restore
point before calling `elisp--safe-macroexpand-all` in case this
triggers a temporary redisplay.
2026-04-09 14:32:15 -04:00
Stefan Monnier
dcae106214 lisp/vc/vc.el (vc-checkin): Use vc-dir-buffers like we do everywhere else 2026-04-09 12:57:44 -04:00
Stefan Monnier
72ba149cfa (listify-key-sequence): Fix breakage with unibyte chars
* lisp/subr.el (listify-key-sequence): The funny
"7th bit is Meta" applies only to unibyte strings.

* test/lisp/subr-tests.el (subr-listify-key-sequence): New test.
2026-04-09 12:23:26 -04:00
Sean Whitton
1d2c3cb5bb * lisp/vc/vc.el (vc-checkin): Don't assume vc-dir is loaded. 2026-04-09 16:22:39 +01:00
Sean Whitton
49420f7033 with-vc-properties: Don't substitute in a global value
* lisp/vc/vc.el (with-vc-properties): Don't substitute in the
value vc-touched-properties happens to have at macro expansion
time.  This was left over from when vc-touched-properties was
bound to a local gensym.
2026-04-09 16:22:20 +01:00
Michael Albinus
bad60b50ed ; * doc/emacs/msdos.texi (Windows Misc): Fix typo. 2026-04-09 12:00:20 +02:00
समीर सिंह Sameer Singh
04dbd88c34 Fix emoji--insert-buffer being wiped by emoji-list-mode
* lisp/international/emoji.el (emoji-list): Set insert-buffer after the
emoji buffer is set up.  (bug#80773)
2026-04-09 12:07:05 +03:00
Eli Zaretskii
d43aa7c6e2 ; Update admin/authors.el
* admin/authors.el (authors-aliases, authors-fixed-entries): Add
Ewan Townshend and his contribution.
2026-04-09 07:56:56 +03:00
Dmitry Gutov
9d6d4cabbf Fix "Narrowing src/ file breaks xref"
* lisp/emacs-lisp/find-func.el (find-function-C-source):
Look outside of the current narrowing as well (bug#80749).
2026-04-09 05:57:52 +03:00
Stefan Monnier
1df537e8eb lisp/emacs-lisp/cl-macs.el (cl-typep): Undo accidental change 2026-04-08 16:38:19 -04:00
Stefan Monnier
24ff3398c8 src/data.c (set_internal): Mention var which can't be unbound in error msg 2026-04-08 15:43:56 -04:00
Stefan Monnier
d8c9a86063 (take-while, drop-while, all, member-if)
* lisp/subr.el (take-while, drop-while, all, member-if): Don't inline
if `pred` is not a "constant" since it wouldn't bring any
significant benefit.  Also, don't explicitly `macroexpand-all` since
the compiler macro will be called (again) after macro-expansion,
if needed.
(internal--effect-free-fun-arg-p): Return nil for variable references.
2026-04-08 15:29:13 -04:00
Stefan Monnier
666955dfa0 (dired-at-point-prompter): Fix bug#80545
* lisp/ffap.el (ffap-read-file-or-url): Add `read-dir` argument to
indicate we expect a directory as return value.
Avoid `read-file-name` when we want a directory and the dialog UI
might prevent us from doing so.
(dired-at-point-prompter): Use the new arg.
2026-04-08 15:19:06 -04:00
Stefan Monnier
7c5ab95f03 (natnum, keyword, command): Fix bootstrap warnings (bug#80732)
To break the interdependence between `cl-macs` and `cl-preloaded`,
we refrain from defining some types in `cl-macs` in some corner case
situations which affect only the early bootstrap.
`transient.el` is used during early bootstrap (while loading
`emoji.el` to produce `emoji-labels.el`) and it uses the
`keyword` and `command` types, so make sure they're not among
those types that are sometimes not defined.

Include `natnum` while we're at it, so the only types still
affected by this corner case are "Common Lisp" types, which are
less likely to be used during early bootstrap.

* lisp/emacs-lisp/cl-macs.el (natnum, keyword, command): Move type
declaration from here to...

* lisp/emacs-lisp/cl-preloaded.el (natnum, keyword, command): ...here.
2026-04-08 15:01:46 -04:00
Pip Cet
948aecee65 Avoid infinite recursion in bind-keys-form (bug#80759)
* lisp/bind-key.el (bind-keys-form): Always continue loop after
matching a keyword argument.
2026-04-08 14:56:02 +00:00
Michael Albinus
65b984c21a * doc/misc/tramp.texi (New operations): Extend example. 2026-04-08 16:40:15 +02:00
Eli Zaretskii
00207670e5 ; * lisp/term/w32console.el (set-screen-color): Fix signature. 2026-04-08 16:33:57 +03:00
ewantown
2bca4ac0ed Support 24-bit TrueColor on MS-Windows console
* src/w32console.c (DEFAULTP, SSPRINTF, w32con_write_vt_seq)
(w32con_get_cursor_coords): New functions and macros.
(w32con_write_glyphs): Hide cursor before writing to the console.
Add code for writing in virtual-terminal mode when
'w32_use_virtual_terminal' is non-zero.
(w32con_write_glyphs_with_face): Add code for writing in
virtual-terminal mode when 'w32_use_virtual_terminal' is non-zero.
(w32con_setup_virtual_terminal): New function.
(w32con_set_terminal_modes): Call it.
(turn_on_face, turn_off_face): New functions.
(initialize_w32_display): Save background and foreground, and the
current TTY.
(Fset_screen_color): Accept an additional optional argument VTP;
if non-nil, arrange for 24-bit display to use the specified
colors.
(Fget_screen_color): Accept an additional optional argument VTP;
if non-nil, return colors used by 24-bit display.
(Fw32_use_virtual_terminal, Fw32_use_virtual_terminal_p): New
functions.
* src/term.c (tty_setup_colors) [WINDOWSNT]: Set up
virtual-terminal sequences for colors.
(init_tty) [WINDOWSNT]: Set up terminfo capabilities for Windows
virtual-terminal.
* src/xdisp.c (redisplay_internal): Don't call set_tty_color_mode
for WINDOWSNT.

* lisp/term/w32console.el (w32-tty-set-base-colors)
(w32-tty-define-base-colors, w32-tty-define-8bit-colors)
(w32-tty-define-24bit-colors, w32-tty-get-pixel): New functions.
(terminal-init-w32console): Remove color setup.
(w32-tty-setup-colors): New function.
* lisp/term/tty-colors.el (tty-color-mode-alist): Add --color
modes for 256 and 24-bit color modes.
* lisp/startup.el (tty-handle-args): Fix --color handling.
* lisp/faces.el (tty-set-up-initial-frame-faces): Set up colors
for MS-Windows consoles.

* etc/NEWS:
* doc/emacs/msdos.texi (Windows Misc):
* doc/emacs/cmdargs.texi (Colors X): Document 24-bit color support
on MS-Windows.
(Bug#79298)
2026-04-08 15:12:14 +03:00
Eli Zaretskii
9b8361d9ab Improve documentation of 'url-retrieve' and GnuTLS peer status
* doc/misc/url.texi (Retrieving URLs): Describe the ':peer' entry
of the STATUS argument passed to CALLBACK of 'url-retrieve'.

* lisp/url/url.el (url-retrieve):
* src/gnutls.c (Fgnutls_peer_status): Doc fixes.
(Bug#80762)
2026-04-08 11:02:47 +03:00
Stefan Monnier
36354c8ab4 Don't load package just for lm-package-needs-footer-line
* lisp/emacs-lisp/lisp-mnt.el (lm-package-requires):
Don't require `package`.
2026-04-07 15:37:35 -04:00
Stefan Monnier
0b30f7aa9d lisp/progmodes/project.el (generator): Don't require at run-time 2026-04-07 14:34:59 -04:00
Stephen Gildea
5d9b6c8262 ; time-stamp: rename some internal functions to include "--"
* lisp/time-stamp.el (time-stamp--zformat-from-parsed-options)
(time-stamp--string-internal) (time-stamp--do-letter-case)
(time-stamp--do-number) (time-stamp--filtered-buffer-file-name)
(time-stamp--conv-warn) (time-stamp--once-internal): New names.
* test/lisp/time-stamp-tests.el (define-formatz-tests)
(formatz-find-test-def-function):
Give generated test names "time-stamp-" prefix.
2026-04-07 09:28:32 -07:00
Michael Albinus
f5a2357a89 Tweak remote-file-name-inhibit-cache in Tramp
* lisp/net/tramp-cache.el
(tramp-suppress-remote-file-name-inhibit-cache): New defsubst.

* lisp/net/tramp.el (tramp-skeleton-file-name-all-completions):
* lisp/net/tramp-sh.el (tramp-get-remote-path): Use it.
2026-04-07 13:19:04 +02:00
Eli Zaretskii
bc59d16cd8 ; Update description of 'defcustom' in Emacs Lisp Intro manual
* doc/lispintro/emacs-lisp-intro.texi (defcustom): Update text
(bug#80751).
2026-04-07 10:50:05 +03:00
Eli Zaretskii
8e1399dbda ; * doc/lispref/os.texi (Timers): Mention primitives that wait (bug#80755). 2026-04-07 09:59:53 +03:00
Sean Whitton
7ce60be53e vc-hg-working-revision: Return changeset hashes
* lisp/vc/vc-hg.el (vc-hg-working-revision): Return changeset
hashes instead of revision numbers.  Respect
vc-use-short-revision.
* etc/NEWS: Document the change.
2026-04-06 13:02:06 +01:00
Diep Pham
8205f39b6c Eglot: improve safety spec of eglot-workspace-configuration
* lisp/progmodes/eglot.el (eglot-workspace-configuration): Improve
safety spec.

Copyright-paperwork-exempt: Yes
2026-04-06 12:54:39 +01:00
Sean Whitton
7679855281 ; * lisp/vc/vc.el (checkin): Specify the async case (bug#80723). 2026-04-06 12:26:08 +01:00
Sean Whitton
02ad0183f2 ; * lisp/vc/vc.el (dir-status-files): Clarifications (bug#80722). 2026-04-06 12:16:56 +01:00
Michael Albinus
5003f5e6e4 * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test. 2026-04-06 10:57:35 +02:00
Michael Albinus
4a297f4398 Keep cache in tramp-skeleton-file-name-all-completions
* lisp/net/tramp.el (tramp-skeleton-file-name-all-completions):
Don't expire cache for large directories.
2026-04-06 10:19:16 +02:00
Joseph Mingrone
358a7ba0f6 lisp/net/tramp.el: Fix performance regression with completions
* lisp/net/tramp.el (tramp-skeleton-file-name-all-completions):
Use `file-directory-p' directly instead of calling `file-symlink-p'
and file-truename first.  Since `file-directory-p' already follows
symlinks, symlinked directories are handled correctly without the
extra indirection.
2026-04-06 10:08:43 +02:00
Eli Zaretskii
5bd8f3a44a ; Improve documentation of 'window-prev-buffers'
* doc/lispref/windows.texi (Window History): Document that
'window-prev-buffers' returns positions as markers.  (Bug#80754)
2026-04-06 09:05:19 +03:00
Philip Kaludercic
9425610ac3
Disable 'package-review-policy' during package-tests
* test/lisp/emacs-lisp/package-tests.el (with-package-test):
Disable package reviewing during testing to not require manual
user input during tests.
2026-04-05 18:29:12 +02:00
Philip Kaludercic
5589d44ce6
; Use 'ensure-proper-list' to get uniform maintainer lists
* lisp/emacs-lisp/package.el (describe-package-1)
(package-maintainers): Remove manual checks that :maintainer is
not just a cons-cell.
2026-04-05 18:29:12 +02:00
Philip Kaludercic
4473f76261
Mention package version in 'package-autoremove' prompt
* lisp/emacs-lisp/package.el (package--removable-packages):
Return package descriptors instead of names.
(package-autoremove): Adapt code to handle package descriptors
instead of names.
2026-04-05 18:29:12 +02:00
Philip Kaludercic
418319c155
; Use lookup table for package menu faces
* lisp/emacs-lisp/package.el (package-menu-status-faces): Add
new constant.
(package-menu--print-info-simple): Replace 'pcase' form with
'alist-get', which is my measurements is slightly faster.
2026-04-05 18:29:12 +02:00
Sean Whitton
bd4b876e9b Fix vc-default-checkin-patch for vc-async-checkin non-nil
* lisp/vc/vc.el (vc-default-checkin-patch): Fix for
vc-async-checkin non-nil (bug#80746).
2026-04-05 16:24:52 +01:00
Sean Whitton
3289886f84 * lisp/vc/vc-dir.el (vc-dir-update): Remove empty directory entries. 2026-04-05 15:51:31 +01:00
Sean Whitton
d604445954 New option vc-dir-auto-hide-up-to-date
* lisp/vc/vc-dir.el (vc-dir-hide-up-to-date-on-revert): Delete.
(vc-dir-auto-hide-up-to-date): New option.
(vc-dir-update, vc-dir-revert-buffer-function): Use it.
* etc/NEWS: Document it.
2026-04-05 15:50:46 +01:00
Sean Whitton
af69eb2f27 VC-Dir next action: Offer to hide up-to-date items
* lisp/vc/vc-dir.el (vc-dir--up-to-date-states): New constant.
(vc-dir-hide-state): Use it.
(vc-dir--only-files-state-and-model): New function.
(vc-dir-root-next-action, vc-dir-deduce-fileset): Use it.
* lisp/vc/vc.el (vc-only-files-state-and-model): Improve error
message readability.
2026-04-05 14:58:55 +01:00
Sean Whitton
859e0622ae * lisp/vc/diff-mode.el (diff-mode-read-only-map): Bind 'v'. 2026-04-05 13:50:35 +01:00
Eli Zaretskii
c3fda2e34b Fix display in window margins when text-area text is reordered
* src/xdisp.c (handle_stop_backwards): Don't overwrite
'stop_charpos' if we end up on a different stack level of the
iterator.  (Bug#80693)
2026-04-05 12:34:12 +03:00
Eli Zaretskii
91b08717d4 ; * src/sound.c (Fw32_sound_volume): Shut up GCC warning. 2026-04-05 09:54:56 +03:00
Eli Zaretskii
93f40d1bb7 ; Fix recently-added treesit test
* test/src/treesit-tests.el (treesit-query-node-only-and-grouped):
Remove unused variables.
2026-04-05 09:52:56 +03:00