Commit graph

13606 commits

Author SHA1 Message Date
Jonas Bernoulli
f833e560c1
Update to Transient v0.13.3-10-g87d0ca08 2026-05-07 17:35:17 +02:00
Sean Whitton
838fc3547a ; * doc/emacs/emacs.texi (Acknowledgments): Fill. 2026-05-07 15:20:03 +01:00
Sean Whitton
174f75f888 ; Fixes to Acknowledgments lists. 2026-05-07 15:20:03 +01:00
Andrea Alberti
d24b10ca75 Introduce 'margin' face for window margin background
A new basic face 'margin' is used for text displayed in the left and
right margin areas, i.e., the areas typically used by VCS and LSP
packages for per-line annotations.  Its background defaults to the
frame default, preserving existing behavior for users who do not
customize it.
* etc/NEWS: Document the new 'margin' face.
* lisp/faces.el (margin): Add 'margin' face, inheriting from 'default'.
* src/dispextern.h (face_id): Add MARGIN_FACE_ID.
* src/xdisp.c (face_at_pos): Use 'margin' as the base face for
strings displayed in margin areas so that they inherit the gutter
background by default.
(extend_face_to_end_of_line): Compute 'margin_fill_face_id' from the
'margin' face.  Use while loops to explicitly fill all empty character
slots in both left and right margins for both GUI and TTY branches.
(display_line): Call 'extend_face_to_end_of_line' for beyond-EOB rows
when the window has margins.  Also extend the existing condition for
text rows with empty margins to trigger when the 'margin' face
background differs from the frame default, not only when the default
face is remapped.
* src/xfaces.c (realize_basic_faces): Realize 'margin' as a basic
face to support face-remapping and efficient lookup.
(Bug#80693)
2026-05-05 11:21:57 +03:00
Augusto Stoffel
c878753d39 Accept stream type as 4th argument of X-Message-SMTP-Method header
* lisp/gnus/message.el (message-multi-smtp-send-mail): Set
'smtpmail-stream-type' if specificed in the header.
* doc/misc/message.texi (Mail Variables): Document that.
(Bug#80880)
2026-05-05 10:28:25 +03:00
Stefan Monnier
ed1fe2ca95 nadvice.el: Make it easier to find how to change an interactive-form
* lisp/emacs-lisp/nadvice.el (advice--how-alist): Add ':interactive-only'.
* doc/lispref/functions.texi (Advice Combinators): Document it.
(Core Advising Primitives): Use it.
2026-05-04 20:21:51 -04:00
Stefan Monnier
a952324e9b keyboard.c: Allow SIGINT to quit in batch mode, instead of exit
In terminal sessions, SIGINT is turned into a `quit` ELisp signal,
but in batch it has traditionally killed Emacs.  It can be very
useful to cause a `quit` from outside the process when running
in batch (e.g. for "batch" sessions that provide a REPL via stdin/out),
so add a new var 'kill-emacs-on-sigint' to control that behavior.
(bug#80942)

* src/keyboard.c (handle_interrupt_signal): Obey `kill_emacs_on_sigint`.
(init_keyboard): Use `deliver_interrupt_signal` for SIGINT also for
batch sessions.
(syms_of_keyboard): New variable `kill_emacs_on_sigint`.

* test/src/keyboard-tests.el (keyboard-sigint-to-quit): New test.

* doc/emacs/cmdargs.texi (Initial Options): Mention the effect of
`kill-emacs-on-sigint` in batch mode.
2026-05-04 12:49:35 -04:00
Michael Albinus
ee1cbd9775 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2026-05-04 16:07:29 +02:00
Vincent Belaïche
a1739bc75e ; * doc/translations/fr/misc/ses-fr.texi: Typo. 2026-05-03 17:44:09 +02:00
Matto Fransen
963d2ebffb ; * doc/lispintro/emacs-lisp-intro.texi: Update *Backtrace* outputs.
Copyright-paperwork-exempt: yes
2026-05-03 12:06:54 +01:00
Jonas Bernoulli
92788f3be4
Update to Transient v0.13.2-10-gf7894ca4 2026-05-01 22:06:03 +02:00
Jonas Bernoulli
6583cc4fdf
Update to Transient v0.13.1-10-gc168d396 2026-05-01 16:00:26 +02:00
Michael Albinus
f6d404145e Precise quoting of file names with a leading tilde
* doc/emacs/files.texi (File Names, Quoted File Names):
Precise quoting of file names with a leading tilde.
2026-04-30 18:51:00 +02:00
Eli Zaretskii
6731146e44 ; * doc/misc/calc.texi (Top): Improve menu item description (bug#80923). 2026-04-30 09:32:59 +03:00
Paul Eggert
4fcc8a473a ; Spelling fixes. 2026-04-29 22:45:51 -07:00
Roi Martin
8c8a43bc54 Fix warning when building Calc manual
These warnings are emitted at least by Texinfo 7.2.
* doc/misc/calc.texi (Introduction): Conditionally set prev node to
avoid warning.
(Interactive Tutorial): Update chapter title to match node name and
menu entry.
(Top): Add description to `Interactive Tutorial' menu entry.
(Bug#80923)
2026-04-29 19:22:59 +03:00
Sean Whitton
7d9dad4241 New VC commands for remote unintegrated changes
* lisp/vc/vc.el (vc--outgoing-base, vc--outgoing-base-mergebase):
New FORCE-TOPIC parameter.
(vc--maybe-read-outgoing-base): New NO-DOUBLE parameter.
(vc-root-diff-remote-unintegrated, vc-diff-remote-unintegrated)
(vc-log-remote-unintegrated, vc-root-log-remote-unintegrated):
New commands (bug#80434).
* lisp/vc/vc-dir.el (vc-dir-mode-map):
* lisp/vc/vc-hooks.el (vc-prefix-map): Bind them.
* doc/emacs/vc1-xtra.texi (Unintegrated Changes):
* etc/NEWS: Document them.
2026-04-29 14:54:40 +01:00
Sean Whitton
ae40c3a438 New commands to report diffs of all local changes
* lisp/vc/vc.el (vc-root-diff-outgoing-and-edited)
(vc-diff-outgoing-and-edited): New commands (bug#80434).
* lisp/vc/vc-dir.el (vc-dir-mode-map):
* lisp/vc/vc-hooks.el (vc-prefix-map): Bind them.
* doc/emacs/maintaining.texi (VC Change Log):
* etc/NEWS: Document them.
2026-04-29 14:46:37 +01:00
Sean Whitton
525b7b1424 Rename outstanding changes commands to "unintegrated changes"
* doc/emacs/vc1-xtra.texi (Outstanding Changes): Rename node
from this ...
(Unintegrated Changes): ... to this (bug#80434).  References
changed.
* etc/NEWS: Document the change.
* lisp/vc/vc-git.el (vc-git-topic-outgoing-base)
(vc-git-log-view-mode):
* lisp/vc/vc-hg.el (vc-hg-print-log, vc-hg-log-view-mode):
* lisp/vc/vc.el (vc-root-diff-outstanding, vc-diff-outstanding)
(vc-log-outstanding, vc-root-log-outstanding):
Rename from these ...
(vc-root-diff-unintegrated, vc-diff-unintegrated)
(vc-log-unintegrated, vc-root-log-unintegrated):
... to these (bug#80434).  All uses changed.
(vc-log-view-type): Rename 'log-outstanding' type to
'log-unintegrated'.  All uses changed.
2026-04-27 13:35:31 +01:00
Eli Zaretskii
f293becdd6 ; Fix minor issues in SQLite docs
* doc/lispref/text.texi (Database): Update description of
'sqlite-close'.  (Bug#80908)
* etc/NEWS: Fix SQLite entries.
2026-04-27 13:57:06 +03:00
Yuan Fu
241481cf1e
Add treesit-query-with-fallback
* lisp/treesit.el (treesit-font-lock-rules): Handle
treesit-query-with-fallback.
(treesit-query-with-fallback): New function.
* doc/lispref/modes.texi (Parser-based Font Lock): Mention
treesit-query-with-fallback.
2026-04-27 02:14:49 -07:00
Eli Zaretskii
c6608ea050 ; Avoid warnings when generating info.info
* doc/misc/info.texi (Help-], Help-FOO): Make these @subheading's
instead of @section/@subsection, to avoid warnings from 'makeinfo'.
Suggested by Gavin Smith <gavinsmith0123@gmail.com> in
https://lists.gnu.org/archive/html/bug-texinfo/2026-04/msg00103.html
(Bug#80736)
2026-04-26 15:20:57 +03:00
Sean Whitton
df6fb6fafb ; Fix & improve last change. 2026-04-26 12:21:05 +01:00
Kai Ma
9a7bc6b930 New user option compilation-search-extra-path
* lisp/progmodes/compile.el (compilation-search-extra-path): New
option (bug#80279).
(compilation-start): Use it.
(compilation-search-path):
* doc/emacs/building.texi:
* etc/NEWS: Document it, and also compilation-search-path.
2026-04-26 12:20:58 +01:00
Sean Whitton
fa3a81adcb ; Document getting a persistent *scratch* buffer in the manual. 2026-04-26 09:22:48 +01:00
Michael Albinus
aa067441d6 Some minor Tramp fixes
* doc/misc/tramp.texi (Customizing Methods): Add comment.

* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
Comment out setting `command-line-max-length', it doesn't work reliably.

* test/lisp/net/tramp-tests.el (tramp-test03-file-error)
(tramp-test26-file-name-completion-boundaries): Adapt tests.
2026-04-25 10:01:37 +02:00
Eli Zaretskii
6425df6a80 ; * doc/lispref/text.texi (Undo): Advice about restoring point. 2026-04-25 10:04:47 +03:00
Vincent Belaïche
19d1834ce0 ; doc/translations/fr/misc/ses-fr.texi: Typo. 2026-04-24 13:38:22 +02:00
Vincent Belaïche
44a6a8b754 ; doc/translations/fr/misc/ses-fr.texi: Typo. 2026-04-24 12:39:49 +02:00
Martin Rudalics
f9f6f1210c ;; Clarify doc on 'dedicated' 'display-buffer' action alist entry
* doc/lispref/windows.texi (Buffer Display Action Alists):
Clarify that only new windows can be marked as dedicated via the
action alist entry.
2026-04-24 09:42:58 +02:00
Peter Oliver
fe1d9562f1 Document setrgbb, setrgbf, and Tc terminal capabilities
* doc/misc/efaq.texi (Colors on a TTY): Mention the unofficial
setrgbb, setrgbf, and Tc terminal capabilities, and give an
example custom terminfo defintion using them.  (Bug#70941)
2026-04-23 10:45:01 +03:00
Peter Oliver
84ae97f865 Use expected escape sequence for terminfo Tc and COLORTERM=truecolor
When the non-standard terminfo capability Tc is present, or the
environment variable COLORTERM is set to truecolor, use a
hard-coded escape sequence that addresses all colors directly by
their RGB values.

Previously we used escape sequences cribbed from terminfo's
setaf/setab for direct color, that expect that we will only try to
use colors 000000 to 000007 for the first eight indexed colors.
This isn't something we currently handle.

* doc/misc/efaq.texi (Colors on a TTY): Fix off-by-one error in list
of indexed colors for terminfo RGB terminals.
* src/term.c (init_tty): Don’t use any indexed colors with terminfo
Tc capability or COLORTERM=truecolor environment variable (bug#70941).
2026-04-23 10:20:41 +03:00
Jonas Bernoulli
45304541ec
Update to Transient v0.13.0-10-g5b2ff26f 2026-04-22 18:53:35 +02:00
Eli Zaretskii
c1fbe7c408 ; Avoid warnings from 'makeinfo' in Calc manual
* doc/misc/calc.texi (Top, Interactive Tutorial): Fix warnings
emitted by 'makeinfo' due to node inconsistencies with menus.
(Bug#80735)
2026-04-21 15:23:15 +03:00
Roi Martin
62e3549f78 Show executed tests from erts files via the ERT results buffer
* lisp/emacs-lisp/ert.el: Add key binding.
(ert--erts-file-test-execution-observer): New variable.
(ert--signal-erts-file-test-execution): New function.
(ert-test-result): Add field.
(ert-run-test): Collect tests from erts files.
(ert-results-mode-menu): Add entry.
(ert--erts-file-test-name-button): New button type.
(ert--erts-file-test-name-button-action): New function.
(ert-results-pop-to-erts-file-tests-for-test-at-point): New function.
(ert-test--erts-test): Record execution of test from erts file.
* doc/misc/ert.texi (Running Tests Interactively): Update manual.
* etc/NEWS: Update NEWS.  (Bug#80806)
2026-04-21 12:30:48 +02:00
Michael Albinus
00b767089e Extend integration of external operations in Tramp
* doc/misc/tramp.texi (Extension packages): Use another format
char in example.
(New operations): Document different argument types.  Extend example.

* lisp/net/tramp.el: Use consequently `eq', `assq', `memq'.
(tramp-file-name-for-operation-external): Extend docstring.
(tramp-file-name-for-operation): Make more use of
`tramp-file-name-for-operation-external'.
(tramp-add-external-operation): New optional argument `arg-type'.

* test/lisp/net/tramp-tests.el (tramp--handle-test-operation):
Rename from `tramp--handler-for-test-operation'.
(tramp--handle-process-id)
(tramp--test-operation-file-name-for-operation): New defuns.
(tramp-test49-external-backend-function): Extend test.
2026-04-17 16:48:16 +02:00
João Távora
cbbe2b5f55 Eglot: add M-x eglot-describe-connection
Also add more bindings to M-x eglot-list-connections

* lisp/progmodes/eglot.el (eglot-list-connections-mode-map): Add
bindings for e, w, RET.
(eglot-events-buffer-of-listed-connection)
(eglot-show-workspace-configuration-of-listed-connection)
(eglot-describe-listed-connection): New commands.
(eglot-describe-connection): New command.

* doc/misc/eglot.texi: Document new keys and eglot-describe-connection.

* etc/EGLOT-NEWS: Announce.
2026-04-17 00:19:51 +01:00
Michael Albinus
ed98d9f81f ; * doc/misc/ert.texi: Fix typos. 2026-04-16 14:50:28 +02:00
Vincent Belaïche
5b6fc8ebfc ert-play-keys function
* lisp/emacs-lisp/ert-x.el (ert-play-keys): new defun.

* test/lisp/simple-tests.el (undo-test-kill-c-a-then-undo)
(undo-test-point-after-forward-kill): Use new function
`ert-play-keys' and `(ert-with-test-buffer (:selected t) ...)'
rather (with-temp-buffer (switch-to-buffer (current-buffer) ...)'.

* test/lisp/erc/erc-scenarios-spelling.el
(erc-scenarios-spelling--auto-correct): Use new function
`ert-play-keys' and `(ert-with-buffer-selected ...)' rather than
`execute-kbd-macro' and `(with-current-buffer
... (set-window-buffer nil (current-buffer) ...)'.

* doc/misc/ert.texi (Helper Functions): Document ert-play-keys,
and differences between ert-simulate-command, ert-simulate-keys
& ert-play-keys.

* test/lisp/emacs-lisp/ert-x-tests.el
(ert-x-tests-play-keys)
(ert-x-tests-simulate-command, ert-x-tests-simulate-keys): New
tests.
2026-04-16 13:30:42 +02:00
João Távora
1c4c9d759a Eglot: add shutdown/reconnect bindings to eglot-list-connections buffer
* lisp/progmodes/eglot.el (eglot-list-connections-mode-map): New
defvar.

* lisp/progmodes/eglot.el (eglot--list-connections-entries): New
function, extracted from eglot-list-connections.

* lisp/progmodes/eglot.el (eglot--list-connections-cmd): New macro.

* lisp/progmodes/eglot.el (eglot-shutdown-listed-connection)
(eglot-reconnect-listed-connection): New commands.

* lisp/progmodes/eglot.el (eglot-list-connections): Use
eglot--list-connections-entries.

* doc/misc/eglot.texi: Document eglot-list-connections and new keys.

* etc/EGLOT-NEWS: Announce.
2026-04-16 09:28:21 +01:00
Juri Linkov
0384600a21 New faces 'tab-line-active' and 'tab-line-inactive' (bug#80742)
This is intended to parallel the 'mode-line-active/inactive'
and 'header-line-active/inactive' distinction.

* doc/emacs/display.texi (Standard Faces): Document the new faces.

* lisp/faces.el (tab-line-active, tab-line-inactive): Add new faces.

* lisp/tab-line.el (tab-line-faces): Add new faces
to MEMBERS arg of 'defgroup'.
(tab-line-auto-hscroll): Use one of the faces
depending on 'mode-line-window-selected-p'.

* src/dispextern.h (CURRENT_TAB_LINE_ACTIVE_FACE_ID_3)
(CURRENT_TAB_LINE_ACTIVE_FACE_ID): New macros
based on header-line equivalents.
(CURRENT_TAB_LINE_HEIGHT): Use CURRENT_TAB_LINE_ACTIVE_FACE_ID.
(face_id): Use TAB_LINE_ACTIVE_FACE_ID and
TAB_LINE_INACTIVE_FACE_ID instead of TAB_LINE_FACE_ID.

* src/xdisp.c (window_box_height, pos_visible_p, init_iterator)
(window_text_pixel_size, display_mode_lines, display_mode_line)
(format-mode-line): Replace all uses of TAB_LINE_FACE_ID with
either a new macro or the new face IDs.

* src/xfaces.c (lookup_basic_face, realize_basic_faces):
Map new face IDs to their lisp symbols.
(syms_of_xfaces): New lisp symbols.
2026-04-14 20:14:15 +03:00
Eli Zaretskii
be18635ef0 ; * doc/emacs/fixit.texi (Transpose): Improve text and indexing. 2026-04-14 17:34:24 +03:00
Eli Zaretskii
71fce9fe2b Revert "; Fix node names in modus-themes.org"
This reverts commit d4002877d3.
It is no longer needed with the latest Org v9.8.2.
2026-04-13 13:48:22 +03:00
Eli Zaretskii
873da49988 Revert "; Fix last change."
This reverts commit 670bb34d91.
It is no longer needed with the latest Org 9.8.2.
2026-04-13 13:47:24 +03:00
Eli Zaretskii
386e9598b6 ; * doc/lispintro/emacs-lisp-intro.texi (Files List): Fix typo (bug#80694). 2026-04-12 11:54:08 +03: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
Michael Albinus
bad60b50ed ; * doc/emacs/msdos.texi (Windows Misc): Fix typo. 2026-04-09 12:00:20 +02:00
Michael Albinus
65b984c21a * doc/misc/tramp.texi (New operations): Extend example. 2026-04-08 16:40:15 +02: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