Commit Graph

181628 Commits

Author SHA1 Message Date
Eli Zaretskii
687fe594d6 Fix "make install-nt" in parallel builds
* Makefile.in (install-nt): Add order-only dependency on $(NTDIR).
Suggested by Joel Reicher <joel.reicher@gmail.com>.  (Bug#80470)
2026-03-19 17:19:44 +02:00
Elías Gabriel Pérez
c911495fb1 hideshow: New minor mode 'hs-indentation-mode'. (Bug#80179)
This minor mode configures hs-minor-mode to use
indentation-based folding.

* lisp/progmodes/hideshow.el (hs-hideable-block-p): New
function.
(hs-indentation-respect-end-block): New option.
(hs-indentation--store-vars): New variable.
(hs-cycle-filter, hs-get-first-block-on-line, hs-get-near-block)
(hs-find-block-beg-fn--default): Adapt code to use
'hs-hideable-block-p'.
(hs-block-positions): Update.
(hs-indentation-mode): New minor mode.

* doc/emacs/programs.texi (Hideshow): Update documentation.

* etc/NEWS: Announce changes

* test/lisp/progmodes/hideshow-tests.el: Add 'require'.
(hideshow-check-indentation-folding): New test.
2026-03-19 17:11:54 +02:00
Eli Zaretskii
1f04208898 ; * lisp/files.el (find-sibling-rules): Doc fix. 2026-03-19 09:54:07 +02:00
Stefan Monnier
7fae444857 lisp/progmodes/elisp-mode.el (elisp--local-macroenv): Add static-if 2026-03-18 09:33:55 -04:00
Stéphane Marks
7ae5562bd4 Kick the event loop in NS drag and drop (bug#80592)
Eliminate an annoying event-loop delay after dropping into an
Emacs window.

* src/nsterm.m: ([EmacsView performDragOperation:]): Kick the
event loop after posting the DRAG_N_DROP_EVENT.
2026-03-18 10:34:29 +00:00
Michael R. Mauger
6db7ab34a1 Window handling bug fixes.
* lisp/play/zone.el: (zone--build-zone-buffer): select window.
(zone--prepare-frames): Avoid dedicated windows.
2026-03-17 18:32:40 -04:00
Stefan Monnier
dd264fb439 (delete-selection-repeat-replace-region): Partial fix for bug#80216
* lisp/delsel.el (delete-selection-repeat-replace-region): Clarify the
need for `delete-selection-save-to-register`.
2026-03-17 12:40:22 -04:00
Tassilo Horn
fdfe617e73 Further improve blink-matching-paren-highlight-offscreen
* lisp/simple.el (blink-matching-paren-offscreen): Inherit from
show-paren-match face.
(blink-paren-open-paren-line-string): Add blink-matching-paren-offscreen
face properties to opening paren instead of replacing original
fontification.
* lisp/paren.el (show-paren-context-when-offscreen): Mention
blink-matching-paren-highlight-offscreen in docstring.
2026-03-17 06:13:54 +01:00
Dmitry Gutov
f8696367bc Assign bit gravity to window in Lucid and Motif ports too
* src/widget.c (EmacsFrameRealize): Assign bit_gravity, and use
the value of NorthWestGravity which matches the GTK3 behavior,
and the general intuition that window's contents should move
with its top-left corner.  The result is that the frame is not
blinking during resizing (bug#80369).

* src/xfns.c (x_window) [!USE_X_TOOLKIT]: Change bit_gravity from
StaticGravity to NorthWestGravity as well, to match the others.
2026-03-16 23:55:24 +02:00
Philip Kaludercic
4147410852 ; Fix handling of string by the use-package keyword :vc
This makes :vc behave more like 'package-vc-install'.

* lisp/use-package/use-package-core.el (use-package-normalize/:vc):
Translate :vc arguments that are just a string into a minimal
package specification containing only a :url field, thus
preventing a type error down the line.
2026-03-16 18:23:37 +01:00
Pip Cet
aa90b0fb4a Count characters correctly in 'str_as_multibyte'
* src/character.c (str_as_multibyte): Increment CHARS for each
character produced, not just once.
2026-03-16 16:28:36 +00:00
Basil L. Contovounesios
88600757ae Remove more regex macros from src/conf_post.h
Further to bug#80428, they are no longer used since commit of
2018-08-05 "Simplify regex-emacs code by assuming Emacs".
Suggested by Pip Cet <pipcet@protonmail.com>.

* src/conf_post.h [emacs] (RE_TRANSLATE_TYPE): Remove;
no longer used except under lib-src.
[emacs] (RE_TRANSLATE): Remove; redefined in src/regex-emacs.c.
2026-03-16 14:29:26 +01:00
Michael Albinus
1bae55cdbf * lisp/emacs-lisp/shortdoc.el (list): Fix `ensure-proper-list' examples. 2026-03-16 09:17:18 +01:00
Michael Albinus
1aed658f3b Use consistent alias name in tramp-compat.el
* lisp/net/tramp-compat.el (tramp-compat-error-type-p):
Rename from `tramp-error-type-p'.
2026-03-16 09:02:03 +01:00
Stefan Monnier
e9e9c7cf8e lisp/startup.el (command-line): Simplify with error-message-string
Suggested by Basil L. Contovounesios <basil@contovou.net>.
2026-03-15 17:29:41 -04:00
Stefan Monnier
e2004eb56f Merge remote-tracking branch 'origin/scratch/error-API' 2026-03-15 17:17:21 -04:00
Sean Whitton
fe9f6a5872 ; Tweak wording of newcomer instructions. 2026-03-15 20:29:08 +00:00
Sean Whitton
e770ddb5e8 ; Tweak documentation for ensure-proper-list. 2026-03-15 20:27:41 +00:00
Sean Whitton
14037f5852 Set frame-inhibit-implied-resize in newcomers-presets
* etc/themes/newcomers-presets-theme.el (newcomers-presets): Set
frame-inhibit-implied-resize as suggested by Martin Rudalics.
2026-03-15 20:22:18 +00:00
Eshel Yaron
3921af5e5e ; Minor doc improvements for 'let-alist'.
* doc/lispref/lists.texi:
* lisp/emacs-lisp/let-alist.el (let-alist): Improve docs.
Namely, clarify that 'let-alist' does not "see" symbols
introduced by macro-expansion in its body, and that the
generated code looks up symbols in the alist whether or not
they are actually used in runtime.

See also bug#79706 for some relevant discussion.
2026-03-15 13:15:36 +01:00
Eli Zaretskii
edeed3fd88 ; * lisp/bindings.el (mode-line-percent-position): Doc fix (bug#80617). 2026-03-15 12:16:40 +02:00
Philip Kaludercic
55f0f2056c Add new function 'ensure-proper-list' (bug#80598)
* doc/lispref/lists.texi (Building Lists): Document it.
* etc/NEWS: Mention it.
* lisp/emacs-lisp/shortdoc.el (list): Demonstrate it.
* lisp/subr.el (ensure-proper-list): Add it.
2026-03-15 10:52:01 +01:00
Philip Kaludercic
6901173e44 ; Ensure hint to close "Newcomers Theme" is visible
* doc/emacs/custom.texi (Newcomers Theme): Move to the beginning
of the node, so as to be visible even when the Emacs frame is
too small and wrap it in a conditional to not print the message
in non-Info outputs.
2026-03-15 10:52:01 +01:00
Michael Albinus
b38aac5439 ; * etc/NEWS: Presentational fixes and improvements. 2026-03-15 09:44:42 +01:00
Eli Zaretskii
6c4b9b2cc3 ; * src/fns.c (Fstring_make_multibyte, Fstring_as_unibyte): Doc fixes. 2026-03-15 09:55:23 +02:00
Eli Zaretskii
bb0b9635f9 Avoid segfaults in TTY menu-item selection
* src/term.c (tty_menu_show): Don't allow "selection" of items in
a bogus menu.  (Bug#80603)
2026-03-15 08:40:50 +02:00
Eli Zaretskii
f59181008f Avoid another assertion violation in TTY menus
* src/term.c (tty_menu_show): Reject bogus menus whose 'menu_items'
is nil.  (Bug#80603)
2026-03-14 19:00:31 +02:00
Philip Kaludercic
9b97d84318 Add references to "User Lisp" Info node where applicable
* etc/NEWS: Update 'package-vc-install-from-checkout'
obsoletion notice.
* lisp/emacs-lisp/package-vc.el (package-vc-install-from-checkout):
Update obsoletion declaration.
2026-03-14 16:17:51 +01:00
Philip Kaludercic
18dfb0db0e Remove references to 'package-vc-install-from-checkout' in docs
* lisp/emacs-lisp/package-vc.el: Remove mention in Commentary section.
(package-vc-checkout): Remove suggestion in docstring.
2026-03-14 16:17:51 +01:00
Basil L. Contovounesios
7077633e67 Rename emacs-module.h.in -> emacs-module.in.h
* src/emacs-module.h.in: Rename...
* src/emacs-module.in.h: ...to this, for consistency with all other
lib/*.in.h files (bug#80428).
* Makefile.in (CONFIG_STATUS_FILES_IN):
* admin/release-branch.txt:
* src/emacs-module.c: All uses updated.
* admin/authors.el (authors-renamed-files-alist): Register rename.
* configure.ac: Specify non-default AC_CONFIG_FILES input file.
2026-03-14 15:08:15 +01:00
Basil L. Contovounesios
14c0e69c1d Review some attribute macro usage
* .dir-locals.el (c-noise-macro-names): Remove ANDROID_EXPORT, which
is no longer used.  Add ATTRIBUTE_COLD, ATTRIBUTE_CONST,
ATTRIBUTE_MAY_ALIAS, ATTRIBUTE_NONSTRING, ATTRIBUTE_RETURNS_NONNULL,
EXTERNALLY_VISIBLE, MAYBE_UNUSED, and NODISCARD.
(c-noise-macro-with-parens-names): Also tell cc-mode about some
function-like attribute macros in use (bug#80428).

* src/conf_post.h (RE_TRANSLATE_P): Remove; it is no longer used.
2026-03-14 15:08:15 +01:00
Eli Zaretskii
cbefea79ab ; Update ldefs-boot.el. 2026-03-14 09:04:32 -04:00
Eli Zaretskii
7887f202c6 Avoid assertion violations in tty menus in rare cases
* src/term.c (mouse_get_xy): Restore the lost protection against
'mouse_position' returning nil as mouse coordinates.  (Bug#80603)
2026-03-14 14:11:49 +02:00
Eli Zaretskii
696a4e03bf Fix backward motion in Info manuals under 'scroll-conservatively'
* lisp/info.el (Info-find-node-2): Don't skip the header or
breadcrumbs line when 'scroll-conservatively' is set to a value
that could leave the beginning of the node outside of the window.
(Bug#80553)
2026-03-14 13:11:11 +02:00
Eli Zaretskii
17aa3a7e13 ; Fix last change
* lisp/textmodes/flyspell.el (flyspell-generic-progmode-verify):
Fix capitalization and whitespace of last change.
2026-03-14 12:46:19 +02:00
Timon Reinold
87d13146b2 Fix auto-correct previous word with 'flyspell-prog-mode'
* lisp/textmodes/flyspell.el (flyspell-generic-progmode-verify):
Take into account the word 'flyspell-auto-correct-previous-word'
moved to (i.e., the word starting at point, not the character
before point), when checking whether it should be checked/corrected
by flyspell-prog-mode.  (Bug#80289)

Copyright-paperwork-exempt: yes
2026-03-14 12:43:35 +02:00
Eli Zaretskii
44fa418987 ; * etc/NEWS: Improve one entry. 2026-03-14 09:29:58 +02:00
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
Philip Kaludercic
ac39b7c451 * etc/NEWS: Announce 'package-vc-install-from-checkout' obsoletion
(Bug#80604)
2026-03-13 23:50:05 +01:00
Philip Kaludercic
c7d4056539 Give an example of how to use use-package+:vc without :rev
* doc/misc/use-package.texi (Install package): Add an example
block that doesn't use :rev, and instead shows that you can just
pass a URL as a string to :vc.
2026-03-13 23:50:05 +01:00
Paul Eggert
10979aa458 Ignore Emacs developer’s global core.whitespace
* build-aux/git-hooks/pre-commit: Use EMACS_GIT_CORE_WHITESPACE,
not the global core.whitespace, for whitespace checks when committing.
This defaults to empty, which means to use the Git default, and
this should fix Bug#80428 “C indentation in .gitattributes, macros
in .dir-locals.el”.  The environment variable is a better way to
temporarily override the default.
2026-03-13 10:27:49 -07: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
Eli Zaretskii
4a81c87a7c Avoid assertion violations in 'display_menu_bar'
* src/xdisp.c (display_menu_bar): Return immediately if the
menu-bar items were not yet computed.  This avoids assertion
violations when this function is called as part of creating a new
frame.  (Bug#80603)
2026-03-13 15:57:05 +02:00
Basil L. Contovounesios
5c2cb4ced4 ; * etc/NEWS.27: Remove duplicate entry.
This was already announced in etc/NEWS.26.
2026-03-13 09:45:23 +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
d1079cced2 Replace remaining uses of Qwrong_type_argument
For discussion, see:
https://lists.gnu.org/r/emacs-devel/2026-03/msg00306.html

* src/comp.c (helper_GET_SYMBOL_WITH_POSITION): Use
symbol-with-pos-p, not wrong-type-argument, in the
wrong-type-argument error predicate slot.
* src/data.c (Fbare_symbol):
* src/print.c (print_bind_overrides):
* src/treesit.c (Ftreesit_parser_create, treesit_resolve_node):
Prefer wrong_type_argument over xsignal2.
2026-03-12 16:41:18 -04: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