1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-13 02:12:18 -07:00
Commit graph

181384 commits

Author SHA1 Message Date
Mattias Engdegård
8c5be1a7a6 Fix eglot-tests on MacOS (bug#80479)
* test/lisp/progmodes/eglot-tests.el (eglot--call-with-fixture):
Normalise 'temporary-file-directory' to stave off problems that
occur when it contains symlinks, which is common on MacOS.
2026-02-24 21:42:44 +01:00
Mattias Engdegård
a84530ac2e Speed up 'equal'-comparison of vectorlike objects
* src/fns.c (internal_equal_1): Switch on the vectorlike type instead of
using a sequence of type predicates.
2026-02-24 12:49:53 +01:00
Mattias Engdegård
2505af27c6 Compare circular lists in 'equal' without error (bug#80456)
* src/lisp.h (FOR_EACH_TAIL_INTERNAL): Divvy up the code into...
(FOR_EACH_TAIL_BASIC, FOR_EACH_TAIL_STEP_CYCLEP): ...these macros,
so that they can be used in more flexible ways.
* src/fns.c (internal_equal_1): Detect circular lists and call...
(internal_equal_cycle): ...this function that keeps comparing
but now detecting cycles in the other argument.

* lisp/emacs-lisp/testcover.el (testcover-after):
Remove unnecessary error handling.
* test/src/fns-tests.el (test-cycle-equal): Adapt and extend.
* test/lisp/emacs-lisp/testcover-resources/testcases.el
(testcover-testcase-cyc1): Remove case that no longer applies.

* doc/lispref/objects.texi (Equality Predicates): Update.
* etc/NEWS: Announce.
2026-02-24 12:47:52 +01:00
Sean Whitton
75a0a073d7 Fix "End" key in PuTTY and older GNU screen
* lisp/term/xterm.el (xterm-alternatives-map): Map <select> to
<end> (bug#80473).
2026-02-24 10:48:50 +00:00
Sean Whitton
1197ccf993 ; pp-eval-expression: Restore binding deactivate-mark to nil.
See bug#80236.
2026-02-24 09:08:24 +00:00
Juri Linkov
f366c0e18f Revert "Unify tab-bar with window/frame times (bug#80465)"
This reverts commit e4b3fa4a00.
It breaks the recency order of multi-session tabs.
2026-02-24 09:09:12 +02:00
Stefan Monnier
4186f694b1 lisp/files.el (create-file-buffer): Remove left-over comment
It should have been removed as part of commit 1a724cc2d2.
2026-02-23 16:59:59 -05:00
Juri Linkov
ff4773ed02 Fix treesit-show-paren-data to match only 2 children nodes or more
* lisp/treesit.el (treesit-show-paren-data--categorize):
Ignore parent that has less than two children (bug#80475).
This ensures the distinct first and last node.
2026-02-23 20:34:15 +02:00
Stéphane Marks
e4b3fa4a00 Unify tab-bar with window/frame times (bug#80465)
Change 'float-time' to 'window-use-time'.  One step closer to
"recent" tab selection across all frames with unified pseudo
clocks.

* lisp/tab-bar.el (tab-bar--tab): Use 'window-use-time'.
(tab-bar--current-tab-make): Add time property.
2026-02-23 20:08:18 +02:00
Spencer Baugh
54411ad169 Use an idle timer for completion-eager-update
Like how completion-eager-display uses an idle timer, also use
one for completion-eager-update, and in fact unify the idle
timers to just one to avoid unnecessary duplicate updates.

* lisp/minibuffer.el (completions--should-show-p): New function.
(completions--background-update, completion-help-at-point): Call
it.
(completions--background-update-timer)
(completions--start-background-update): Start an idle timer to
call background-update. (bug#80055)
(completions--start-eager-display, completions--after-change):
Call start-background-update.
2026-02-23 20:00:55 +02:00
Steven Allen
27af6bfdfb Fix arguments to project--buffer-check when reading a project buffer
* lisp/progmodes/project.el (project--read-project-buffer): Pass the
buffer object to `project--buffer-check', not the (BUF-NAME . BUF-OBJ)
cons.
2026-02-23 15:21:56 +00:00
Sean Whitton
0be64b2f25 ; * lisp/vc/vc.el (revision-published-p): Disambiguate (bug#80396). 2026-02-23 14:11:17 +00:00
Sean Whitton
40d43c7309 ; Fix another quotation mark. 2026-02-23 13:19:54 +00:00
Sean Whitton
303ca0a584 ; Fix quotation marks, remove unneeded scare quotes. 2026-02-23 13:19:34 +00:00
Sean Whitton
078b66bd67 ; Fix last change. 2026-02-23 13:14:49 +00:00
Jacob S. Gordon
69f3428e9d New prefix argument for pp-eval-expression
* lisp/emacs-lisp/pp.el (pp-eval-expression): New optional
argument INSERT-P.
* etc/NEWS: Announce change.
2026-02-23 13:11:19 +00:00
Paul Nelson
b1cfe11189 Fix VC Git error when patch matches staged changes
* lisp/vc/vc-git.el (vc-git--checkin): Check that patch-string
is not empty before applying it.  This prevents an error when
the patch exactly matches the index (bug#80228).
* test/lisp/vc/vc-git-tests.el
(vc-git-test-checkin-patch-staged-diff): New test.
2026-02-23 12:52:01 +00:00
Stéphane Marks
6829fb9941 ; cus-start.el add after-delete-frame-select-mru-frame (bug#80397)
* lisp/cus-start.el: Add 'after-delete-frame-select-mru-frame'.
2026-02-23 09:56:35 +01:00
Collin Funk
29440eedac Add SHA-3 support to secure-hash
* admin/merge-gnulib (GNULIB_MODULES): Add crypto/sha3-buffer.
* lib/sha3.c: New file, imported by running admin/merge-gnulib.
* lib/sha3.h: Likewise.
* m4/sha3.m4: Likewise.
* lib/gnulib.mk.in: Updated by admin/merge-gnulib.
* m4/gnulib-comp.m4: Likewise.
* src/fns.c: Include sha3.h
(Fsecure_hash_algorithms): Add Qsha3_224, Qsha3_256, Qsha3_384, and
Qsha3_512.
(secure_hash): Likewise.
(Fsecure_hash): List the SHA-3 algorithms in the docstring.
(syms_of_fns): Define Qsha3_224, Qsha3_256, Qsha3_384, and Qsha3_512.
* test/lisp/net/gnutls-tests.el (gnutls-tests-internal-macs-upcased):
Filter out the new SHA-3 algorithms since they are currently not
implemented in gnutls.
* test/src/fns-tests.el (test-secure-hash): Add test cases for the new
algorithms.
* doc/lispref/text.texi (Checksum/Hash): List the SHA-3 algorithms.
Mention that they are considered secure.
* etc/NEWS: Mention the new feature.
2026-02-23 00:22:17 -08:00
Paul Eggert
ccaa4a07f0 Update from Gnulib by running admin/merge-gnulib 2026-02-23 00:22:17 -08:00
Matthias Meulien
94e4caca60 ; * lisp/speedbar.el (speedbar-frame-or-window): Quote arg (bug#80392). 2026-02-22 16:38:38 -08:00
Stefan Monnier
3a2a095dff Fix broken FOO-mode-indent-offset convention
Variable names to control indentation have never been
standardized, but over the years some conventions have naturally
arisen, mostly the use of `FOO-indent-offset`,
`FOO-basic-offset`, or `FOO-indent-level` for `FOO-mode`.

When the new TS modes were introduced, a mistake was made that
I failed to catch at the time, where those modes used
`FOO-mode-indent-offset` instead of the "standard" `FOO-indent-offset`.
In order to save packages like `editorconfig-mode` and `indent-bars-mode`
from having to cater to yet-another-convention, rename those
vars to what they should have been all along.

* lisp/editorconfig.el (editorconfig-indentation-alist): Remove the
ad-hoc entries for the deviating modes using `FOO-mode-indent-offset`.

* lisp/textmodes/toml-ts-mode.el (toml-ts-indent-offset):
* lisp/textmodes/mhtml-ts-mode.el (mhtml-ts-js-css-indent-offset)
(mhtml-ts--js-css-indent-offset):
* lisp/textmodes/html-ts-mode.el (html-ts-indent-offset):
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-indent-offset):
* lisp/progmodes/php-ts-mode.el (php-ts-indent-offset)
(php-ts-js-css-indent-offset, php-ts-html-indent-offset):
* lisp/progmodes/json-ts-mode.el (json-ts-indent-offset):
* lisp/progmodes/java-ts-mode.el (java-ts-indent-offset)
(java-ts-method-chaining-indent-offset):
* lisp/progmodes/go-ts-mode.el (go-ts-indent-offset):
* lisp/progmodes/csharp-mode.el (csharp-ts-indent-offset):
* lisp/progmodes/cmake-ts-mode.el (cmake-ts-indent-offset):
* lisp/progmodes/c-ts-mode.el (c-ts-indent-offset):
Rename `FOO-mode-indent-offset` to `FOO-indent-offset`,
with obsolete alias.
2026-02-22 18:48:57 -05:00
Basil L. Contovounesios
d01a33662c Improve m4-mode font lock
Emacs 28 started fontifying several 'composite' (non-builtin) GNU M4
macros which, while listed under '(m4) Macro index', are not defined
by GNU M4, and are included in its manual for illustrative purposes.

These macro keywords range from clearly misleading (e.g., 'example',
which the GNU M4 manual explicitly describes as nonexistent),
to common in Autoconf's M4sugar layer (e.g., 'm4_quote'),
to variations thereof (e.g., 'foreachq').

It is arguably too late to revert all of these additions, so this
patch selects a handful to remove, and categorizes the rest; this
should make it easier to hide some categories behind a font lock
level or user option in the future, if desired.

This patch reverts the Emacs 28 addition of 'example', and removes
the older 'file', 'line', and 'gnu' macros.  GNU M4 renamed 'gnu' to
'__gnu__' already in 1990; and I couldn't find references to the
other two which exist as '__file__' and '__line__', respectively.

The remaining macros are partitioned into three sets: built-in,
M4sugar-like, and other (bug#80412).  For discussion, see also:
https://lists.gnu.org/r/emacs-devel/2025-10/msg00357.html

* lisp/progmodes/m4-mode.el (m4-program-options): Remove stale
commentary.
(m4--macro-list): Remove, replacing with...
(m4--builtin, m4--autoconf, m4--composite): ...these new rx
definitions.  All uses changed.  Remove 'example', 'file', 'gnu',
and 'line' as keywords.
(m4-font-lock-keywords): For consistency with real #-comments,
fontify dnl macro with font-lock-comment-delimiter-face, and only
the rest of its line with font-lock-comment-face.  Fontify argument
references with font-lock-variable-use-face rather than
font-lock-variable-name-face.  Use font lock faces rather than their
eponymous but obsolete variables.  Remove redundant entries for $@
and $*.  Prefer shy regexp groups where applicable.
(m4-mode-syntax-table): Quote syntactically special characters.
(m4-m4-buffer): DRY using m4-m4-region.
(m4-m4-region): Take region bounds as optional arguments, as
recommended under '(elisp) The Mark'.  Quote shell command.
Support non-contiguous regions.
(m4-current-defun-name): Recognize m4 backtick in addition to
Autoconf bracket.  Prefer shy regexp groups where applicable.
(m4-mode): Simplify font-lock-defaults.

* test/lisp/progmodes/m4-mode-resources/font-lock.m4:
* test/lisp/progmodes/m4-mode-tests.el: New test files.
2026-02-22 17:10:17 +01:00
Basil L. Contovounesios
c8f7e909da Fix apropos-print window selection
The call to get-buffer-window doesn't take into account other
frames, and in theory may even return a window other than the one
just displayed.  Work around this by buffer-locally mapping the
buffer to the window used by with-output-to-temp-buffer (bug#46034).

* lisp/apropos.el (apropos--window): New buffer-local variable.
(apropos--set-window): New hook function.
(apropos-print): Add it to the local temp-buffer-show-hook before
the end of with-output-to-temp-buffer.  Check apropos--window first,
falling back on a get-buffer-window across visible frames.
2026-02-22 17:02:34 +01:00
Michael Albinus
e34b6caf13 ; * test/infra/test-jobs.yml: Regenerate. 2026-02-22 16:30:47 +01:00
Michael Albinus
195d2f7a74 * src/dbusbind.c: Include fcntl.h if needed. (Bug#80373) 2026-02-22 16:30:19 +01:00
Michael Albinus
b7c5f39fd1 Fix use of older OpenSSH version in Tramp
* lisp/net/tramp-sh.el (tramp-methods) <scp, scpx, rsync, ssh, sshx>:
Adapt `tramp-login-args' argument.  (Bug#80464)
(tramp-ssh-setenv-term): New defvar.
(tramp-ssh-setenv-term): New defun.
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-maybe-open-connection): Use it.

* lisp/net/tramp.el (tramp-methods, tramp-signal-hook-function):
Extend docstring.
2026-02-22 16:30:02 +01:00
Eli Zaretskii
44e326b602 ; Fix last change. 2026-02-22 16:23:15 +02:00
Liu Hui
e6350bb179 Support displaying more months in the calendar
* lisp/calendar/calendar.el (calendar-month-edges): Fix typo.
(calendar-total-months): New variable.
(calendar-get-month-range, calendar-get-date-range)
(calendar--month-overlap-p, calendar-month-visible-p)
(calendar-nongregorian-date-visible-p): New functions.
(calendar-nongregorian-visible-p): Declare obsolete.
(calendar-recompute-layout-variables, calendar-generate):
Replace fixed month numbers with 'calendar-total-months'.
(calendar-cursor-to-date, calendar-date-is-visible-p): Support
the calendar with more than three months.
(calendar-mode): Make some variables buffer-local to allow
calendar-mode buffers showing different number of months.
(calendar-mode-map): Use new command names.

* lisp/calendar/cal-move.el (calendar-goto-today): Always move
the cursor to today's date.
(calendar--show-month-at-edge): New function.
(calendar-recenter, calendar-forward-day): Support the calendar
with more than three months.
(calendar-forward-month, calendar-end-of-month)
(calendar-beginning-of-year, calendar-end-of-year): Place the
new month at the edge instead of the second month segment, to
prevent the cursor from jumping back and forth.  This is
consistent with the behavior of calendar-forward-day/week.
(calendar-scroll-left): Maintain the relative position of the
cursor with respect to the window, when the old date is out of
view.
(calendar-scroll-left-three-months)
(calendar-scroll-right-three-months): Replace the fixed month
number with the actual number of months.  Rename ...
(calendar-scroll-calendar-left, calendar-scroll-calendar-right):
... to new commands.  Make old names as aliases and mark them
obsolete.
(calendar-show-more-months, calendar-show-fewer-months): New
commands.

* lisp/calendar/cal-menu.el (cal-menu-holiday-window-suffix):
Use the actual date range instead of three months.
(cal-menu-scroll-menu, cal-menu-global-mouse-menu): Use new
command names and update description.

* lisp/calendar/holidays.el (holidays, list-holidays)
(calendar-check-holidays, holiday-in-range): Use
calendar-total-months.
(calendar-list-holidays, holiday-fixed, holiday-float)
(holiday-sexp): Replace displayed-year/month with the actual
calendar range.
(holiday-after, holiday-easter-etc-abs)
(holiday-greek-orthodox-easter-abs): New functions.
(holiday-advent, holiday-easter-etc)
(holiday-greek-orthodox-easter): Look up holidays in all visible
years instead of current displayed-year.

* lisp/calendar/solar.el (solar-equinoxes-solstices): Search
equinoxes and solstices in all visible months.
(solar-equinoxes-solstices-1): New function.

* lisp/calendar/lunar.el (lunar-phase-list): Add optional
argument.
(calendar-lunar-phases): Use visible calendar range.

* lisp/calendar/cal-china.el (holiday-chinese-new-year)
(holiday-chinese-winter-solstice, holiday-chinese-qingming)
(holiday-chinese): Replace displayed-year/month with the actual
calendar range, and look up holidays in all visible years.

* lisp/calendar/cal-julian.el (holiday-julian): Use
calendar-nongregorian-date-visible-p because there may exist
more than one corresponding dates when the calendar shows more
months.

* lisp/calendar/cal-bahai.el (holiday-bahai): Support calendar
with more than three months.
(holiday-bahai-new-year, holiday-bahai-twin-holy-birthdays):
Look up holidays in all visible years.
(holiday-bahai-new-year-1, holiday-bahai-twin-holy-birthdays-1):
New functions.

* lisp/calendar/cal-hebrew.el (calendar-hebrew-date-is-visible-p)
(holiday-hebrew, calendar-hebrew-mark-date-pattern): Support
calendar with more than three months, in which more than one
holidays may exist.
(holiday-hebrew-rosh-hashanah-1, holiday-hebrew-hanukkah-1)
(holiday-hebrew-passover-1): New functions.
(holiday-hebrew-rosh-hashanah, holiday-hebrew-hanukkah)
(holiday-hebrew-passover, holiday-hebrew-tisha-b-av): Look up
holidays in all visible years.

* lisp/calendar/cal-islam.el (holiday-islamic): Support calendar
with more than three months.
(holiday-islamic-new-year): Find holidays in all visible years.

* lisp/calendar/diary-lib.el (diary-mark-sexp-entries)
(calendar-mark-days-named, calendar-mark-date-pattern)
(calendar-mark-complex): Use the displayed range instead of the
three-month range.
(calendar-mark-1): Fix marking dates in calendar with more than
three months.

* test/lisp/calendar/holidays-tests.el
(holidays-test-holiday-easter-etc, holidays-test--get-holidays)
(holidays-test-more-months): New test file.

* doc/emacs/calendar.texi: Mention new commands and update
related description.
* etc/NEWS: Announce new commands.  (bug#80099)
2026-02-22 16:21:13 +02:00
Eli Zaretskii
81168edb10 Fix absolute cursor positioning in term.el
* lisp/term.el (term-handle-ansi-escape): Cursor Character
Absolute uses one-based column numbers; adjust to Emacs's
zero-based column numbering.  (Bug#80458)
2026-02-22 12:39:12 +02:00
Michael Albinus
923aac2e4e Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2026-02-22 10:38:10 +01:00
Stéphane Marks
1d93015db4 ; system-taskbar tweaks to dbus loading and group keyword (bug#80361)
* lisp/system-taskbar.el (system-taskbar): Defgroup keyword now
system-interface in sympathy with system-sleep.
(dbus-list-activatable-names, dbus-send-signal, dbus-ping):
Pacify byte compiler.
(system-taskbar--set-back-end): Load dbus only when needed.
2026-02-22 10:36:16 +01:00
Stéphane Marks
743d3c5143 ; system-sleep minor follow ups (bug#80361)
* lisp/cus-edit.el (system-interface): New defgroup.
* lisp/system-sleep.el (system-sleep--set-back-end): Correct
dbus initialization order.
2026-02-22 10:35:23 +01:00
Michael Albinus
b1f24b3589 * lisp/net/tramp.el (tramp-signal-hook-function): Extend docstring. 2026-02-22 10:33:40 +01:00
Stéphane Marks
77aac20ce6 New user option 'after-delete-frame-select-mru-frame' (bug#80397)
Users can revert to the old 'delete-frame' behavior of selecting
the oldest frame in 'frame-list' rather than the most-recently
used frame.

* src/frame.c (delete_frame): Consult
'after-delete-frame-select-mru-frame'.
(syms_of_frame): New defvar
'after-delete-frame-select-mru-frame'.
* etc/NEWS: Reflect the new user option.
2026-02-22 10:33:34 +01:00
Eli Zaretskii
2ae21d78ec ; Use 'treesit-declare-unavailable-functions' in markdown-ts-mode. 2026-02-22 10:46:01 +02:00
Rahul Martim Juliato
11476d1ce7
Add support for hiding markup delimiters in markdown-ts-mode
* lisp/textmodes/markdown-ts-mode.el
(markdown-ts-hide-markup): New defcustom controlling
visibility of markup delimiters.
(markdown-ts--fontify-delimiter): Fontify delimiter nodes and
conditionally apply invisibility.
(markdown-ts--set-hide-markup): Internal helper to update
invisibility state.
(markdown-ts-toggle-hide-markup): Interactive command to toggle
delimiter visibility.
(markdown-ts-setup): Initialize delimiter hiding according to
'markdown-ts-hide-markup' and register managed properties.
(markdown-ts--treesit-settings): Use
'markdown-ts--fontify-delimiter' for delimiter nodes.
(require 'outline): Ensure outline faces are available so
headings are fontified correctly on first load.
2026-02-21 23:38:44 -08:00
Paul Eggert
64c2df0e19 Stop ENUM_BF worrying about gcc -std=c89 -pedantic
* src/lisp.h (ENUM_BF): Modernize ENUM_BF doc for latest compilers
that still have a beef with enum bitfields.  Simplify by dropping
support for ‘gcc -std=c89 -pedantic’, as it’s been many years
since Emacs worked with C89, for other reasons.
2026-02-21 20:26:30 -08:00
Paul Eggert
89ce923eb3 Port Lisp_Fwd to strict C bitfields
ISO C does not require C compilers to support enum bitfields.
Problem found with IBM XL C for AIX 16.1 (2018), which IBM
supports through 2029.
* src/lisp.h (struct Lisp_Fwd): Use ENUM_BF instead of declaring
enum bitfields directly.
2026-02-21 20:26:30 -08:00
Jim Porter
7527cc1963 Preserve the original order of Eshell aliases when loading
* lisp/eshell/em-alias.el (eshell-read-aliases-list): Reverse the alias
list back to its original order at the end of loading.

* test/lisp/eshell/em-alias-tests.el
(em-alias-test/alias-load-preserves-order)
(em-alias-test/alias-save-sorted): New tests.
2026-02-21 17:13:46 -08:00
Arto Jantunen
53111ba9f8 Sort Eshell aliases when adding new ones
The main point is to make the content of 'eshell-aliases-file' stable so
that storing it in git becomes feasible.

This also makes the output of the alias command come out in alphabetical
order (bug#80401).

* lisp/eshell/em-alias.el (eshell/alias): Sort when updating
'eshell-command-aliases-list'.

* test/lisp/eshell/em-alias-tests.el
(em-alias-test/alias-list-is-sorted): New test.

* etc/NEWS: Announce this change.
2026-02-21 17:13:35 -08:00
Sean Whitton
f7d795d9c9 vc-do-async-command: Set special-mode only when no mode set
* lisp/vc/vc-dispatcher.el (vc-do-async-command): Set
special-mode only when no other mode set.
2026-02-21 22:32:36 +00:00
Alan Third
a61c098a51 Fix GNUstep width calculation (bug#80331)
* src/nsfns.m (Fx_display_mm_height): 'dpi' should have been 'px_to_mm'.

Co-authored-by: Shay Elkin <shay@elkin.io>
2026-02-21 18:50:23 +00:00
Shay Elkin
a7dbf2427a Use real display geometry on NS (bug#80331)
In nsfns.m, `x-display-mm-height' and `x-display-mm-weight' computes the
display size by dividing its (logical) pixel dimensions by 92 dpi.

This would often give wrong results: by default, logical pixels on in
macOS are computed to 72 dpi, but that can be changed by the user.

As macOS multi-screen geometry is all computed based on the main
screen's cooridnate system, use its dpi to compute the physical size of
the bounding box containing all the screens.

* src/nsfns.m (Fx_display_mm_height):
(Fx_display_mm_width): Calculate the total physical display size
using the main-screen's geometry.

Copyright-paperwork-exempt: yes
2026-02-21 17:37:56 +00:00
Eli Zaretskii
c6cedfbb2f Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2026-02-21 19:34:59 +02:00
Eli Zaretskii
9d98450f36 ; * lisp/mail/rmailsum.el (mail-parse): Require. 2026-02-21 19:33:57 +02:00
Paul Nelson
ab4be3cc1f Make Rmail summary address display customizable
* lisp/mail/rmailsum.el (rmail-summary-sender-function)
(rmail-summary-recipient-function, rmail-summary-address-width):
New user options.
(rmail-summary--address-display, rmail-summary-name-or-address)
(rmail-summary-recipient-strip-quoted-names)
(rmail-summary-recipient-names): New functions.
(rmail-header-summary): Use them when formatting sender and
recipient fields (bug#80406).

* doc/emacs/rmail.texi (Rmail Make Summary): Document them.

* test/lisp/mail/rmailsum-tests.el: New file.
(rmailsum-tests-name-or-address-prefers-name)
(rmailsum-tests-name-or-address-fallback-to-address)
(rmailsum-tests-recipient-strip-quoted-names-first-line)
(rmailsum-tests-recipient-names-folded)
(rmailsum-tests-recipient-names-fallback-to-address): New tests.
2026-02-21 19:30:25 +02:00
Alan Third
7478e6ae7d Fix SVG CSS handling (bug#80384)
This reverts commit 9f5d17cd72, but
includes the fix for adding user CSS after the generated CSS.

* src/image.c (svg_load_image): Set the CSS stylesheet using the librsvg
functions, instead of inserting it into the wrapper.
2026-02-21 17:29:40 +00:00
Eli Zaretskii
f3555fc846 Avoid segfaults if someone sets 'composition-function-table' to nil
* src/composite.c (composition_compute_stop_pos)
(composition_reseat_it): Recreate 'composition-function-table' if
it ever becomes garbled.  (Bug#80462)
2026-02-21 19:27:17 +02:00
Sean Whitton
b055b6e889 New command vc-dir-root-next-action
* lisp/vc/vc-dir.el (vc-dir-root-next-action): New command.
(vc-dir-mode-map): Bind it.
* doc/emacs/maintaining.texi (VC Directory Commands):
* etc/NEWS: Document it.
2026-02-21 17:18:24 +00:00