1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-30 18:23:20 -07:00
Commit graph

179877 commits

Author SHA1 Message Date
LdBeth
6cb8a67e4b Fix a recent regression in Newsticker
* lisp/net/newst-backend.el (newsticker--parse-text-container):
New function.
(newsticker--parse-atom-1.0): Use it.  (Bug#79617)
2025-10-19 08:00:36 +03:00
Stefan Monnier
4ec24ce2a1 (eval-and-compile): Preserve the surrounding lexical context
Implement a better fix for bug#79634.

* lisp/emacs-lisp/byte-run.el (eval-and-compile):
* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment)
<eval-and-compile>: Preserve the surrounding lexical context (the part
available during macroexpansion, i.e. which vars are dynbound).

* lisp/emacs-lisp/rx.el (<pcase> rx): Remove workaround.

* test/lisp/emacs-lisp/macroexp-tests.el
(macroexp--dynbound-eval-and-compile): New test.
2025-10-18 17:45:07 -04:00
Helmut Eller
48357dc612 Add a test for puthash
It's actually for a bug on the feature/igc branch.

* test/src/fns-tests.el (ft-puthash-weak): New test
(ft--puthash-weak): New helper.
2025-10-18 20:22:17 +02:00
Juri Linkov
08dc7d0c93 * lisp/minibuffer.el (completion--insert-strings): Use the correct frame.
Provide the 'frame-height' call with the frame of the window where
the *Completions* buffer is displayed for the case when the minibuffer
window uses a dedicated frame (bug#79635).
2025-10-18 20:53:44 +03:00
Alan Mackenzie
97b960ec6d Fix coding error in byte-run--strip-vector/record
* lisp/emacs-lisp/byte-run.el (byte-run--strip-vector/record):
Replace a symbol with position by its bare symbol, rather
than returning it unchanged.
2025-10-18 17:08:02 +00:00
Sean Whitton
0b4079ddb6 vc-do-command: Don't print a spurious newline
* lisp/vc/vc-dispatcher.el (vc-do-command): Don't print a
spurious newline.  Don't omit the format string with 'message'.
(Bug#79650)
2025-10-18 17:30:21 +01:00
Alcor
c66680d001 Rcirc: Fix invalid face error message when applying IRC color
* lisp/net/rcirc.el (rcirc-color-attributes): Fix invalid face.
(Bug#79561)

Copyright-paperwork-exempt: yes
2025-10-18 17:23:13 +03:00
Lockywolf
1f3d417736 Fix detecting a working hunspell on systems without a dictionary
Fixes bug#79477 and bug#79514

* test/lisp/textmodes/ispell-tests/ispell-hunspell-tests.el
(ispell-tests-hunspell--hunspell-working): Implement checker.
(ispell/hunspell/ispell-word/russian/check-only): Add skip-check.
(ispell/hunspell/ispell-word/english/check-only): Add skip-check.
(ispell/hunspell/ispell-word/language-switch/check-only): Add
skip-check.
(ispell/hunspell/ispell-word/russian/check-only/wrong-language): Add
skip-check.
(ispell/hunspell/ispell-word/multilang): Add skip-check.
* test/lisp/textmodes/ispell-tests/ispell-tests-common.el
(fake-aspell-path): Improve checking that an engine works.
(ispell-tests--letopt): Make restoring variables more robust,
rename to a local name.  Add debug spec.
(ispell-tests--with-ispell-global-dictionary): Rename to a local name
Add debug spec.
(ispell-tests--some-valid-dictionary): Add a selector for a safe
dictionary.
(ispell/ispell-accept-buffer-local-defs/received-file): Add.
(ispell-tests--constants/english/correct-list): Add.
(ispell-tests--constants/english/correct-one): Add.
(ispell-tests--constants/english/wrong): Add.
(ispell-tests--constants/russian/correct): Add.
(ispell-tests--constants/russian/wrong): Add.
(ispell-tests--constants/completion): Add.
* test/lisp/textmodes/ispell-tests/ispell-tests.el
(ispell/ispell-buffer-local-words/ispell-buffer-session-localwords):
reverse letopt and with-ispell-dictionary.
(ispell/ispell-buffer-local-words/ispell-words-keyword):
reverse letopt and with-ispell-dictionary.
(ispell/ispell-complete-word-interior-frag/simple):
reverse letopt and with-ispell-dictionary.
(ispell/ispell-complete-word/ispell-completion-at-point):
reverse letopt and with-ispell-dictionary.
(ispell/ispell-init-process/works-with-home):
reverse letopt and with-ispell-dictionary.
(ispell/ispell-kill-ispell):
reverse letopt and with-ispell-dictionary.
* test/lisp/textmodes/ispell-resources/fake-aspell-new.bash:
Add comments on unused function.  Replace echo with printf.
2025-10-18 13:59:07 +03:00
Eli Zaretskii
1b1ab741b8 : Update ldefs-boot.el. 2025-10-18 06:18:26 -04:00
Eli Zaretskii
521e06d3ef Merge from origin/emacs-30
53aac6aecd ; Improve documentation of commands that split current wi...
2025-10-18 06:15:46 -04:00
Spencer Baugh
bea16dfe69 Respect keymaps in buffer text for clicks on displayed strings
When clicking on a string displayed by a display property, also
look at the text properties of the underlying buffer text for
keymaps, not just the displayed string.  The displayed string
takes precedence over the buffer text, but it doesn't replace
it.

Also, we should use the buffer's local map even for clicks on
the mode line.  (Otherwise, what's the point of the <mode-line>
event?)

* src/keymap.c (Fcurrent_active_maps): Consider displayed
string, then buffer text, then fall back to local
map.  (Bug#79505)

* test/src/keymap-tests.el
(keymap-test-keymaps-for-non-buffer-positions): Add more tests.
2025-10-18 12:48:41 +03:00
Augusto Stoffel
59da5020da Fix an error when bookmark handler is a lambda
* lisp/bookmark.el (bookmark-type-from-full-record): Ensure
handler is a symbol before calling 'symbol-function'.
(Bug#79618)
2025-10-18 12:35:29 +03:00
Eli Zaretskii
0d8a31423a ; Fix documentation of a recent commit
* src/window.c (Fcombine_windows, Funcombine_window): Doc fixes.

* doc/lispref/windows.texi (Recombining Windows): Fix markup and
wording.
2025-10-18 12:26:28 +03:00
Eli Zaretskii
a779f7e01b Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2025-10-18 12:14:23 +03:00
Eli Zaretskii
30bb6770f4 ; * etc/NEWS: Document last change (bug#79597). 2025-10-18 12:13:49 +03:00
Lin Sun
1eeadd1f14 Remove directory of deleted package from `load-path'
* lisp/emacs-lisp/package.el (package--delete-directory): Remove
the directory of the to-be-deleted package `load-path'.  Doc
fix.  (Bug#79597)
2025-10-18 12:10:58 +03:00
Martin Rudalics
ef2b032567 Add functions 'combine-windows' and 'uncombine-window'
* src/window.c (make_parent_window, Fcombine_windows)
(Funcombine_window): New functions.
(Fsplit_window_internal): Use make_parent_window.
* doc/lispref/windows.texi (Recombining Windows): Describe new
functions 'combine-windows' and 'uncombine-window'.
(Window Configurations): Explain "window clones".
* etc/NEWS: Mention new functions 'combine-windows' and
'uncombine-window'.
2025-10-18 10:33:10 +02:00
john muhl
81bc83c1a5 New 'lua-mode' inferior process command & options
* lisp/progmodes/lua-mode.el (lua-process-buffer-name)
(lua-process-history-file, lua-process-startfile): New options.
(lua-start-process): Use new options.
(lua-send-file): New command.
(lua--repl-buffer-p): Remove unused internal variable.  (Bug#79573)
2025-10-18 11:22:43 +03:00
Eli Zaretskii
53aac6aecd ; Improve documentation of commands that split current window
* doc/emacs/sending.texi (Sending Mail):
* doc/emacs/dired.texi (Dired Enter, Dired Visiting):
* doc/emacs/maintaining.texi (Old Revisions)
(Change Log Commands, Looking Up Identifiers):
* doc/emacs/windows.texi (Displaying Buffers):
* doc/emacs/files.texi (Visiting): Add cross-references to where
user options are described which control how windows are split.

* lisp/mail/sendmail.el (mail-other-window):
* lisp/gnus/message.el (message-mail-other-window)
(message-news-other-window):
* lisp/replace.el (occur-mode-goto-occurrence-other-window):
* lisp/vc/vc.el (vc-revision-other-window):
* lisp/vc/vc-dir.el (vc-dir-find-file-other-window):
* lisp/progmodes/xref.el (xref-find-definitions-other-window):
* lisp/simple.el (compose-mail-other-window)
(clone-indirect-buffer-other-window):
* lisp/vc/add-log.el (add-change-log-entry-other-window):
* lisp/view.el (view-file-other-window)
(view-buffer-other-window):
* lisp/window.el (switch-to-buffer-other-window):
* lisp/files.el (find-file-other-window)
(find-file-read-only-other-window)
(find-alternate-file-other-window):
* lisp/dired.el (dired-other-window)
(dired-mouse-find-file-other-window)
(dired-find-file-other-window, dired-jump-other-window): Mention
in the doc strings how to control the way the current window is
split.
2025-10-18 10:47:29 +03:00
Stefan Monnier
ce7f2b93bb lisp/emacs-lisp/rx.el (<pcase> rx): Workaround for bug#79634 2025-10-17 15:53:18 -04:00
Przemysław Alexander Kamiński
7de5a6d1f7 Release NS objects (bug#79023)
* src/nsterm.m (ns_free_frame_resources): Release the NSView.
([EmacsView dealloc]): Release the EmacsLayer and menu.
([EmacsWindow dealloc]): Fix the toolbar release.

Co-authored-by: Rudolf Adamkovič <rudolf@adamkovic.org>
2025-10-17 19:53:38 +01:00
Sean Whitton
ba8752cae9 Replace recent fix for vc-auto-revert-mode autoload problem
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Wrap references to MODE-variable in bound-and-true-p.
* lisp/vc/vc-hooks.el (auto-revert-mode): Restore to compilation
declaration only.
2025-10-17 15:06:11 +01:00
Eli Zaretskii
d587ce8c65 Support Tree-sitter version 0.26 and later
* src/treesit.c (init_treesit_functions)
[TREE_SITTER_LANGUAGE_VERSION >= 15]: Define prototype for, and
load 'ts_language_abi_version' instead of the deprecated (and
removed in tree-sitter 0.26) 'ts_language_version'.
(ts_language_abi_version) [TREE_SITTER_LANGUAGE_VERSION >= 15]:
Define on WINDOWSNT, instead of 'ts_language_version'.
(treesit_language_abi_version): New compatibility function.
(treesit_load_language, Ftreesit_language_abi_version): Use
'treesit_language_abi_version' instead of 'ts_language_version'.
(Bug#79627)
2025-10-17 14:15:41 +03:00
Eli Zaretskii
bd0a141d09 ; * doc/lispref/windows.texi (Window Hooks): Fix markup. 2025-10-17 13:41:15 +03:00
Martin Rudalics
3fd24aee7e Clarify buffer-local behavior of 'window-buffer-change-functions'
* doc/lispref/windows.texi (Window Hooks): Explain how to
discern calls for 'window-buffer-change-functions' where a
buffer was removed from the window from those where a buffer is
now shown in that window.
2025-10-17 10:24:53 +02:00
Helmut Eller
3e78f6487d Add some tests for weak hashtables
Also add ft- as shorthand for fns-tests-.

* test/src/fns-tests.el (ft-hash-table-weakness, ft-weak-key-removal)
(ft-weak-value-removal, ft-weak-and-removal, ft-weak-or-removal): New
tests.
(ft--test-weak-removal, ft--gc, ft--check-entries, ft--check-entry)
(ft--hash-table-entries, ft--populate-hashtable, ft--component-num)
(ft--parse-component, ft--dead-component, ft--format-component)
(ft--init-rng, ft--nentries): New helpers.
2025-10-17 10:06:16 +02:00
Stephen Gildea
90ec5ef01b Manual pages: use a showcase time-stamp-pattern
* doc/man/ebrowse.1:
* doc/man/emacs.1.in:
* doc/man/emacsclient.1:
* doc/man/etags.1:  Loosen the time-stamp-pattern used so that
it is not specific to each file.  These files now provide
readable examples that will work with most man pages.
2025-10-16 17:29:01 -07:00
Stephen Gildea
d208502e4c time-stamp: padding composed characters
* lisp/time-stamp.el (time-stamp-string-preprocess): Use
'string-width' instead of 'length' to calculate needed padding.

Thanks to Stefan Monnier for the suggestion.
2025-10-16 15:23:48 -07:00
Eshel Yaron
888a910bc9
; elisp-scope.el: Standardize copyright notice.
Suggested by Arash Esbati <arash@gnu.org>.
2025-10-16 19:21:09 +02:00
Spencer Baugh
17ac50ea9e Return case common to all completions in try-completion
When completion-ignore-case is non-nil, if all completions share
a common prefix ignoring case, try-completion has always
returned that.  Now, if all completions also share a common
prefix including case, try-completion includes that common
prefix in its return value (bug#79377).

* lisp/minibuffer.el (completion-pcm--merge-completions): Always
use return value from try-completion, which may change case.
* src/minibuf.c (Ftry_completion): Return the common prefix
which changes case.
* test/lisp/minibuffer-tests.el (completion-pcm-bug4219)
(completion-substring-test-5): New tests.
2025-10-16 20:18:23 +03:00
Juri Linkov
b0078bfa15 Improve color contrast of refine-related diff faces on dark backgrounds
* lisp/vc/diff-mode.el (diff-refine-removed, diff-refine-added):
* lisp/vc/ediff-init.el (ediff-fine-diff-A, ediff-fine-diff-B):
* lisp/vc/smerge-mode.el (smerge-refined-removed, smerge-refined-added):
Lower the dominant component of RGB colors from "aa" to "88" (bug#79633).
2025-10-16 20:05:41 +03:00
Juri Linkov
bbbad93498 * lisp/treesit.el: Small fixes in navigation functions.
(treesit-up-list): Better handle multi-language buffers.
(treesit-hs-find-next-block): Fix off-by-one error.
2025-10-16 19:40:21 +03:00
Sean Whitton
208241aa83 Update VC-Dir contents upon revert-buffer
* lisp/vc/vc-hooks.el (vc-after-revert): New function.
(after-revert-hook): Add it.
2025-10-16 17:19:43 +01:00
Sean Whitton
d0d6e5ce65 vc-auto-revert-mode: Fix an autoload problem
* lisp/vc/vc-hooks.el (auto-revert-mode): Replace compiler
declaration for this variable with a full defvar-local.
2025-10-16 16:56:47 +01:00
Sean Whitton
f36ed942b1 autorevert: Use defvar-local for the -mode variables
* lisp/autorevert.el (auto-revert-mode, auto-revert-tail-mode):
Use defvar-local not defvar.  New comment explaining why these
duplicate definitions of the variables are present.
2025-10-16 16:56:00 +01:00
Martin Rudalics
8aeb4f82d9 ; * lisp/minibuffer.el (minibuffer--nonselected-check): Fix typos. 2025-10-16 10:17:29 +02:00
Martin Rudalics
85a9189dbb In 'minibuffer--nonselected-check' consult 'completion-reference-buffer'
* lisp/minibuffer.el (minibuffer--nonselected-check): Don't
highlight when the selected window's buffer has
'completion-reference-buffer' set.
2025-10-16 09:59:15 +02:00
Juri Linkov
0a4503de3a Check if treesit-major-mode-remap-alist is bound in ts-modes autoload forms
* lisp/progmodes/c-ts-mode.el:
* lisp/progmodes/cmake-ts-mode.el:
* lisp/progmodes/csharp-mode.el:
* lisp/progmodes/dockerfile-ts-mode.el:
* lisp/progmodes/elixir-ts-mode.el:
* lisp/progmodes/go-ts-mode.el:
* lisp/progmodes/heex-ts-mode.el:
* lisp/progmodes/java-ts-mode.el:
* lisp/progmodes/js.el:
* lisp/progmodes/json-ts-mode.el:
* lisp/progmodes/lua-ts-mode.el:
* lisp/progmodes/php-ts-mode.el:
* lisp/progmodes/python.el:
* lisp/progmodes/ruby-ts-mode.el:
* lisp/progmodes/rust-ts-mode.el:
* lisp/progmodes/sh-script.el:
* lisp/progmodes/typescript-ts-mode.el:
* lisp/textmodes/css-mode.el:
* lisp/textmodes/markdown-ts-mode.el:
* lisp/textmodes/mhtml-ts-mode.el:
* lisp/textmodes/toml-ts-mode.el:
* lisp/textmodes/yaml-ts-mode.el: In autoload forms replace
'(treesit-available-p)' with (boundp 'treesit-major-mode-remap-alist).
Calling 'treesit-available-p' in loaddefs.el is too early
since the tree-sitter library might not be loaded yet.
Checking if 'treesit-major-mode-remap-alist' is bound is
equivalent to checking if Emacs is compiled with tree-sitter support.
(bug#79622)
2025-10-16 09:45:30 +03:00
Stephen Gildea
88c18efb3a time-stamp: padding with mixed uni- and multibyte
* lisp/time-stamp.el (time-stamp-string-preprocess): Use
'length' instead of 'format' to calculate string padding,
so that we consistently count characters, not bytes.
2025-10-15 20:44:47 -07:00
Stefan Monnier
39d711696a (remote-shell-program): Simplify
* lisp/files.el (remote-shell-program): Don't bother looking
for the full file name of the `ssh` executable, since all users
end up looking it up in `load-path` anyway.
2025-10-15 16:30:59 -04:00
Eshel Yaron
cb4d9efbd4
; elisp-scope.el: Rename some private symbols as such
Also add a few missing docstrings.

* lisp/emacs-lisp/elisp-scope.el (elisp-scope-symbol-role-p)
(elisp-scope-read-symbol-role, elisp-scope-special-variables)
(elisp-scope-let, elisp-scope-let*): Add docstring.
(elisp-scope-counter, elisp-scope-callback)
(elisp-scope-current-let-alist-form, elisp-scope-local-new)
(elisp-scope-sym-pos, elisp-scope-sym-bare)
(elisp-scope-report, elisp-scope-special-variable-p)
(elisp-scope-let-1, elisp-scope-variable)
(elisp-scope-binding, elisp-scope-symbol): Rename, replace
'elisp-scope-' prefix with 'elisp-scope--' to indicate that
these are private.  Update all references.
2025-10-15 21:41:22 +02:00
Stefan Monnier
f37a150a5f doc/emacs/display.texi (Semantic Font Lock): Simplify 2025-10-15 15:21:06 -04:00
Stefan Monnier
b25d9d2081 (easy-mmode--less-selective-first): Uncomment the test
* test/lisp/emacs-lisp/easy-mmode-tests.el (easy-mmode--less-selective-first):
Mark it as failing, instead.
2025-10-15 14:36:04 -04:00
Juri Linkov
eb9a93b221 * lisp/minibuffer.el: Fix recent change of scrolling truncated completions
(completion--lazy-insert-strings-on-scroll): Don't move to the last
completion candidate since this is what happens when scrolling without
truncated completions buffer (bug#79506).
2025-10-15 20:14:43 +03:00
Juri Linkov
c4490084fc ; * lisp/progmodes/c-ts-mode.el (c-ts-mode, c++-ts-mode): Improve docstrings.
Add mentions of `treesit-enabled-modes' to the docstrings (bug#79627).
2025-10-15 19:08:48 +03:00
Sean Whitton
6cb7fa36ad New tests for multiple globalized minor modes
* test/lisp/emacs-lisp/easy-mmode-tests.el
(easy-mmode-test-mode): Mark permanent-local.
(easy-mmode--test-two-globalized-modes): New function.
(easy-mmode--more-selective-first)
(easy-mmode--less-selective-first): New tests.
2025-10-15 16:20:46 +01:00
Stefan Monnier
11b7cd7ebe (xdg-mime-apps): Restore corner case and simplify
* lisp/xdg.el (xdg-mime-apps): Return nil if that's what the table
holds, like we did before commit f60fc1287d.
Consolidate the three (assoc type xdg-mime-table) and shrink the
scope of `files`.
2025-10-15 09:31:05 -04:00
Eshel Yaron
eeaa942147
; Refine a few 'elisp-*' faces for dark backgrounds
* lisp/progmodes/elisp-mode.el (elisp-major-mode-name)
(elisp-symbol-role, elisp-symbol-role-definition, elisp-rx):
Use a lighter foreground color when background color is dark
to improve legibility.
2025-10-15 12:24:59 +02:00
Michael Albinus
53fa2b7218 Add support for su-rs and sudo-rs programs
* doc/misc/tramp.texi (Inline methods): Add "surs" and "sudors" methods.

* etc/NEWS: Add optional "surs" and "sudors" Tramp methods.
Presentational fixes and improvements.

* lisp/net/tramp-cmds.el (tramp-file-name-with-method): Add "surs"
and "sudors" to :type.  Adapt :version.

* lisp/net/tramp-sh.el (tramp-enable-surs-method)
(tramp-enable-sudors-method): New defuns
(tramp-sh-handle-expand-file-name): Add "surs" and "sudors" in check.

* lisp/net/tramp.el (tramp-methods): Adapt docstring.

* lisp/comint.el (comint-password-prompt-regexp):
* test/lisp/comint-tests.el (comint-testsuite-password-strings):
Add su-rs and sudo-rs password prompts.
2025-10-15 10:30:29 +02:00
Stefan Monnier
7845936cbb (font-lock-defaults): Clarify the use of SYNTAX-ALIST (bug#79586)
* doc/lispref/modes.texi (Font Lock Basics):
* lisp/font-core.el (font-lock-defaults): Document when
SYNTAX-ALIST is used and how it interacts with syntactic fontification.
2025-10-14 21:51:04 -04:00