1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-14 02:42:46 -07:00
Commit graph

99971 commits

Author SHA1 Message Date
Stefan Monnier
3ed7ac4e66 (smerge--refine-prepare-regions): Reduce number of args and retvals
* lisp/vc/smerge-mode.el (smerge--refine-set-overlay-props):
New function, extracted from `smerge--refine-prepare-regions`.
(smerge--refine-prepare-regions): Take overlays rather than beg/end
arguments and remove all overlay property manipulation.
(smerge-refine-regions): Create the overlays and pass them to those
two functions.
2026-03-14 02:14:13 -04:00
Dmitry Gutov
949f035544 etags-regen: Don't try to generate tags during completion, by default
* etc/NEWS: Describe the change.

* lisp/progmodes/etags-regen.el
(etags-regen-create-on-completion): New option.
(etags-regen-create-on-completion--set): New function.
(etags-regen-mode): Use it.  Discussed in
https://lists.gnu.org/archive/html/emacs-devel/2026-03/msg00405.html
2026-03-14 04:28:32 +02:00
Philip Kaludercic
9dbcb01153
Simplify 'xref-mouse-mode-map'
See https://mail.gnu.org/archive/html/emacs-devel/2026-03/msg00386.html.

* lisp/progmodes/xref.el (xref-mouse-mode-map): Prevent
C-<down-mouse-1> from triggering 'mouse-buffer-menu' and drop
C-<drag-mouse-1> binding.
2026-03-14 00:03:02 +01:00
Helmut Eller
0efb47d474 * lisp/loadup.el: No longer GC after loading each file
With the portable dumper it's no longer needed as discussed in
bug#79021.  Originally this was done for the unexec based dumping (see
bug#4287 and commit 0e328d3779).
2026-03-13 15:35:05 +01:00
Basil L. Contovounesios
a525a7f2af Fix project-recompile directory
* lisp/progmodes/project.el: Remove stale compilation-read-command
declarations.  Autoload recompile for Emacs versions prior to 31, to
allow calling project-recompile before project-compile (bug#74631).
(project-recompile): Set compilation-directory to avoid recompile
using a value unrelated to the current project (bug#68570).
2026-03-13 08:33:01 +01:00
Basil L. Contovounesios
10bac4d9e5 Fix window-height of project-kill-buffers
An alternative to setting window-height and preserve-size is to rely
on display-buffer--maybe-at-bottom's support for
temp-buffer-resize-mode.

* lisp/progmodes/project.el (project-kill-buffers): Set
window-height to a function, not a form/cons (bug#52148).
2026-03-12 14:59:14 +01:00
Julian Scheid
f15ad18a14 Fix 'comp--func-unique-in-cu-p' to match docstring
* lisp/emacs-lisp/comp.el (comp--func-unique-in-cu-p): Check
only the callee name instead of requiring global uniqueness.
* test/src/comp-resources/comp-test-direct-call.el: New file.
* test/src/comp-resources/comp-test-direct-call-dup.el: New file.
* test/src/comp-tests.el (comp-tests-has-direct-call-p)
(comp-tests-direct-call-with-lambdas)
(comp-tests-direct-call-with-duplicate-names): New tests.
2026-03-12 09:08:08 +01:00
Philip Kaludercic
d019b5ec71
Add 'xref-mouse-mode' minor mode
* doc/emacs/maintaining.texi (Looking Up Identifiers): Document
it.
* etc/NEWS (bindings): Mention it.
* etc/themes/newcomers-presets-theme.el (newcomers-presets): Add
it.
* lisp/progmodes/xref.el (xref-mouse-mode-map, xref-mouse-mode)
(global-xref-mouse-mode): Implement it.
2026-03-12 09:01:08 +01:00
Philip Kaludercic
8bf0981452
; Fix bug in 'package-maintainers'
* lisp/emacs-lisp/package.el (package-maintainers): Detect if
:maintainers contains on a single cons-cell, denoting a single
maintainer, in which case we wrap it in a singleton list.
2026-03-12 08:56:45 +01:00
Tassilo Horn
7fba3c23df Don't strip face properties in blink-paren-open-paren-line-string
With bug#59527 we ensured that the open paren line string was fontified
which was broken again with bug#63089 because there, the opening paren
was fontified with a new face.

With this change, the returned string is fontified again.  Only if
`blink-matching-paren-highlight-offscreen' is non-nil, the opening paren
is unfontified and then fontified again with the
`blink-matching-paren-offscreen' face.

* lisp/simple.el (blink-paren-open-paren-line-string): Keep returned
line string fontified with slight exception if
`blink-matching-paren-highlight-offscreen' is non-nil.
2026-03-12 08:50:33 +01:00
Philip Kaludercic
1882138975
Add ecomplete support for more header types
* lisp/gnus/message.el (message-put-addresses-in-ecomplete):
Handle "BCC" and "X-Debbugs-CC" headers.
2026-03-11 22:32:12 +01:00
Philip Kaludercic
7c22a7d312
Do not initialize Info during package activation
* lisp/emacs-lisp/package-activate.el (package--add-info-node):
Use 'Info-default-directory-list' if Info has not been
initialized, otherwise fall back to 'Info-directory-list'
without calling 'info-initialize' beforehand, since the function
initializes 'Info-directory-list'.  (Bug#80495)
2026-03-11 22:12:55 +01:00
Stefan Monnier
dc4f7e6809 (elisp--shorthand-aware-(f)boundp): Don't allocate
* lisp/progmodes/elisp-mode.el (elisp--read-symbol-shorthands):
New function, extracted from `elisp--completion-local-symbols`.
Remember the longhand symbol in `elisp--longhand` property.
(elisp--completion-local-symbols): Use it.
(elisp--shorthand-aware-fboundp, elisp--shorthand-aware-boundp):
Use the new `elisp--longhand` property.
2026-03-11 16:54:00 -04:00
Stefan Monnier
771ab21367 lisp/vc/smerge-mode.el (smerge--refine-apply-diff): Typo 2026-03-11 12:16:10 -04:00
Andrea Corallo
40f4fc1d8c Fix negated equality assumptions (bug#80327)
* lisp/emacs-lisp/comp.el (comp--add-cond-cstrs): Skip
negated equality assumptions only for relational non-immediate
operands. Keep immediate false-branch constraints.
* test/src/comp-resources/comp-test-funcs.el
(comp-test-80327-hash, comp-test-80327-f): Add reproducer.
* test/src/comp-tests.el (comp-tests-bug-80327): Add regression
test.
2026-03-11 17:09:57 +01:00
Stefan Monnier
adafe4f72b lisp/subr.el (run-hook-query-error-with-timeout): Avoid %s for lists 2026-03-11 11:09:12 -04:00
Basil L. Contovounesios
dfd460879b ; Fix quit-window-kill-buffer condition. 2026-03-11 15:53:39 +01:00
Phil Sainty
d1c052b80a Handle compressed filenames in `native--compile-async-skip-p' (bug#57627)
* lisp/emacs-lisp/comp-run.el (native--compile-async-skip-p):
Process *.el.gz filenames as if they were *.el filenames.
2026-03-11 21:59:27 +13:00
Stefan Monnier
66bd2ce8e6 (smerge-refine-regions): Refactor a bit and work between buffers
* lisp/vc/smerge-mode.el (smerge--refine-chopup-region):
Replace `beg..end` arg with an overlay.
(smerge-refine-regions): Replace `beg` arg with an overlay.
(smerge--refine-prepare-regions, smerge--refine-apply-diff-1):
New functions, extracted from `smerge-refine-regions`.
(smerge--refine-apply-diff): New function.
(smerge-refine-regions): Use them.  Also delete temp files right after
running `diff` rather than after applying diff's output.
2026-03-10 15:52:35 -04:00
Sean Whitton
a61d25d411 unfill-paragraph: Use most-positive-fixnum
* lisp/textmodes/fill.el (unfill-paragraph): Use
most-positive-fixnum.
2026-03-10 11:57:49 +00:00
Stefan Monnier
ea5f15d096 Fix signal calls where the data argument is not a list
* test/src/thread-tests.el (threads-join-error):
* test/src/emacs-module-resources/mod-test.c (Fmod_test_signal):
* src/print.c (print_bind_overrides):
* lisp/url/url-future.el (url-future-finish, url-future-errored)
(url-future-call, url-future-cancel): Make sure signal's data is a list.

* test/src/emacs-module-tests.el (mod-test-non-local-exit-signal-test):
Adjust accordingly.
2026-03-10 00:13:31 -04:00
Stefan Monnier
3118a8c8b1 Error handling clarifications found during error-API
* lisp/simple.el (next-line, previous-line): Remove useless
`condition-case` handler, and hence the whole `condition-case`, and
then simplify.

* lisp/emacs-lisp/comp.el (comp--error-add-context): New function.
(comp--native-compile): Use it.

* lisp/gnus/nnrss.el (nnrss-insert): Use `with-demoted-errors`.
2026-03-10 00:10:36 -04:00
Dmitry Gutov
ab47eadb60 ; Bump flymake's version again, to 1.4.5 2026-03-09 21:09:13 +02:00
Eli Zaretskii
c108a28203 Fix 'emacs-news-find-heading'
* lisp/textmodes/emacs-news-mode.el (emacs-news-find-heading):
HEADING must be a complete line, otherwise we have false positives
and false negatives.  (Bug#80569)
2026-03-09 19:14:51 +02:00
Stephen Gildea
82b5656276 * lisp/time-stamp.el (time-stamp-warn-inactive): Doc string. 2026-03-09 09:20:12 -07:00
Sean Whitton
89dbc92137 Restore use of cl-member-if and cl-plusp to flymake.el
* lisp/progmodes/flymake.el (flymake-goto-next-error): Use
cl-member-if not member-if and cl-plusp not plusp because this
is a `:core' ELPA package (bug#79930).
2026-03-09 11:37:24 +00:00
Dmitry Gutov
cc5ec44118 Fix Non-existent commands in flymake-diagnostics-buffer-mode-map
* lisp/progmodes/flymake.el (flymake-diagnostics-buffer-mode-map):
Only bind 'n' and 'p' when 'next-error-this-buffer-no-select' is
defined.  For releasing on ELPA (bug#79930).
Bump the package version to 1.4.4.
2026-03-09 04:35:04 +02:00
Philip Kaludercic
a3dda7e525
Mention newcomers theme on 'normal-mouse-startup-screen'
* lisp/startup.el (startup-insert-newcomers-theme): Factor out
new function from 'normal-no-mouse-startup-screen'.
(normal-mouse-startup-screen, normal-no-mouse-startup-screen):
Call new function.
2026-03-08 19:35:53 +01:00
Stefan Monnier
d6fa21c1f5 cl-seq.el: Prefer :test to :if
* lisp/emacs-lisp/cl-seq.el (cl-remove-if, cl-remove-if-not)
(cl-delete-if, cl-delete-if-not, cl-substitute-if)
(cl-substitute-if-not, cl-nsubstitute-if, cl-nsubstitute-if-not)
(cl-find-if, cl-find-if-not, cl-position-if, cl-position-if-not)
(cl-count-if, cl-count-if-not, cl-member-if, cl-member-if-not)
(cl-assoc-if, cl-assoc-if-not, cl-rassoc-if, cl-rassoc-if-not)
(cl-subst-if, cl-subst-if-not, cl-nsubst-if, cl-nsubst-if-not):
Prefer the Common Lisp standard `:test` to the cl-lib specific `:if`.
2026-03-08 14:20:44 -04:00
Eli Zaretskii
139fb8423f ; Fix documentation of 'emacs-news-mode' commands
* lisp/textmodes/emacs-news-mode.el (emacs-news-next-untagged-entry)
(emacs-news-previous-untagged-entry, emacs-news-cycle-tag)
(emacs-news-count-untagged-entries, emacs-news-goto-section)
(emacs-news-find-heading, emacs-news-open-line)
(emacs-news-delete-temporary-markers): Doc fixes.  (Bug#80569)
2026-03-08 20:12:17 +02:00
Stefan Monnier
f36b6536b0 iso-transl.el: Revert cosmetic change
* lisp/international/iso-transl.el (iso-transl-char-map):
Re-add ineffective backslashes removed in in previous patch.
2026-03-08 12:02:08 -04:00
Sean Whitton
b27a9d4bbb ; recentf-exclude-file-by-extension-p: Restore and-let*. 2026-03-08 14:55:23 +00:00
Sean Whitton
467069635b * lisp/textmodes/fill.el (unfill-paragraph): Fix for wide chars. 2026-03-08 14:55:10 +00:00
shynur
39cdf4726c * lisp/files.el (auto-mode-alist): Recognize /etc/profile as sh. 2026-03-08 14:54:30 +00:00
Eli Zaretskii
bb7e993734 Fix mpuz under text-scaling
* lisp/play/mpuz.el (mpuz-switch-to-window): Don't unconditionally
turn on 'mpuz-mode', as that kills all local variables.  (Bug#80567)
2026-03-08 12:00:53 +02:00
Stefan Monnier
ba34e44cf3 iso-transl.el: Remove ineffective backslashes in previous patch
* lisp/international/iso-transl.el (iso-transl-char-map):
Remove ineffective backslashes in previous patch.
2026-03-07 11:46:24 -05:00
Eli Zaretskii
1e07e6083c Add "C-x 8" commands for letters with breeve
* lisp/international/iso-transl.el (iso-transl-char-map): Add
Latin letters with breve.  (Bug#80515)
2026-03-07 15:39:51 +02:00
kobarity
b9b59447a1 Improve Python setup codes to avoid leaving global names
* lisp/progmodes/python.el (python-shell-setup-code)
(python-shell-readline-detect): Improve Python code.  (Bug#80551)
2026-03-07 13:32:11 +02:00
Eli Zaretskii
a9eac78e23 Improve documentation of 'define-keymap'
* lisp/emacs-lisp/shortdoc.el (keymaps): Add example for adding
key bindings to an existing keymap.
* lisp/keymap.el (define-keymap): Doc fix.  (Bug#80556)
2026-03-07 10:55:23 +02:00
Michael Albinus
422c3665ad * lisp/recentf.el (recentf-exclude-file-by-extension-p): Fix thinko. 2026-03-06 12:16:49 +01:00
Martin Rudalics
8034e48630 Additional fixes for 'get-mru-frame' (Bug#80397)
* src/frame.c (delete_frame): Call 'get-mru-frame' safely and
with EXCLUDE-FRAME argument set up correctly.
* lisp/frame.el (get-mru-frames, get-mru-frame): Fix doc-strings.
2026-03-06 09:51:21 +01:00
Eli Zaretskii
5c1ef38b5b Fix last change in recentf.el
* lisp/recentf.el (recentf-exclude-ignored-extensions): Doc fix.
(recentf-exclude-file-by-extension-p): Rename from
`recentf-exclude-ignored-extensions'; all references changed.
Doc fix.

* etc/NEWS: Improve wording of the entry which announces the
above.
2026-03-06 09:08:03 +02:00
Philip Kaludercic
c86b60c214
Mention newcomer theme on "no-mouse" splash screen
* lisp/startup.el (normal-no-mouse-startup-screen): Add a button
to toggle the "newcomers-presets" theme.
2026-03-05 22:18:16 +01:00
Stéphane Marks
81d2a7a2f5
New user option and function 'recentf-exclude-ignored-extensions'
* lisp/recentf.el (recentf-exclude-ignored-extensions): New
user option.
(recentf-exclude-ignored-extensions): New function.
* etc/NEWS: Announce the new option and function.

(Bug#80347)
2026-03-05 22:08:44 +01:00
Eli Zaretskii
a7517d6ef8 ; Fix documentation of a recently added user option
* lisp/vc/vc-dispatcher.el (vc-display-failed-async-commands): Doc
fix.  Add a :version tag.
2026-03-05 19:48:46 +02:00
Sean Whitton
d7fda971f1 unfill-paragraph: Reimplement in terms of fill-region
* lisp/textmodes/fill.el (unfill-paragraph): Reimplement in
terms of fill-region.
2026-03-05 16:14:43 +00:00
Sean Whitton
39abb7ec8f ; Move unfill-paragraph to fill.el. Document it in (elisp)Filling. 2026-03-05 15:48:03 +00:00
Sean Whitton
8d16a0557d New user option vc-display-failed-async-commands
* lisp/vc/vc-dispatcher.el (vc-display-failed-async-commands):
New user option.
(vc-do-async-command): Use it.
* doc/emacs/vc1-xtra.texi (General VC Options):
* etc/NEWS: Document it.
* lisp/vc/vc-dispatcher.el (vc-do-command): Adjust message to
begin "Failed" not "Done" when command exits non-zero.
* lisp/vc/vc.el (vc-checkin): Adjust message to end in
"...failed" not "...done" when async command exits non-zero.
2026-03-05 13:24:27 +00:00
Sean Whitton
d0ab336906 vc-do-command: Tidy up some messaging
* lisp/vc/vc-dispatcher.el (vc--inhibit-message): New defvar,
replacing the undeclared vc-inhibit-message.  All uses changed.
(vc--command-message): New function, factored out.
(vc-do-command): Call it.
2026-03-05 12:01:51 +00:00
Stéphane Marks
192d4fc1f7 Make 'frame-use-time' more reliable. (bug#80397)
Walking the window tree is more reliable than using the selected
window.  Implement 'get-mru-frame' on top of 'get-mru-frames'
using 'frame-use-time'.

* lisp/frame.el (frame-use-time): Change to walk the window tree
for the specified frame.
(get-mru-frames): New defun.
(get-mru-frame): Change to call 'get-mru-frames'.
* doc/lispref/frames.texi: Update documentation.
* etc/NEWS: Update announcement.
2026-03-05 09:58:03 +01:00