Commit graph

13586 commits

Author SHA1 Message Date
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
Eli Zaretskii
9b8361d9ab Improve documentation of 'url-retrieve' and GnuTLS peer status
* doc/misc/url.texi (Retrieving URLs): Describe the ':peer' entry
of the STATUS argument passed to CALLBACK of 'url-retrieve'.

* lisp/url/url.el (url-retrieve):
* src/gnutls.c (Fgnutls_peer_status): Doc fixes.
(Bug#80762)
2026-04-08 11:02:47 +03:00
Eli Zaretskii
bc59d16cd8 ; Update description of 'defcustom' in Emacs Lisp Intro manual
* doc/lispintro/emacs-lisp-intro.texi (defcustom): Update text
(bug#80751).
2026-04-07 10:50:05 +03:00
Eli Zaretskii
8e1399dbda ; * doc/lispref/os.texi (Timers): Mention primitives that wait (bug#80755). 2026-04-07 09:59:53 +03:00
Eli Zaretskii
5bd8f3a44a ; Improve documentation of 'window-prev-buffers'
* doc/lispref/windows.texi (Window History): Document that
'window-prev-buffers' returns positions as markers.  (Bug#80754)
2026-04-06 09:05:19 +03:00
Eli Zaretskii
670bb34d91 ; Fix last change. 2026-04-05 09:13:40 +03:00
Eli Zaretskii
d4002877d3 ; Fix node names in modus-themes.org 2026-04-05 09:09:21 +03:00
Kyle Meyer
6c22780955 Update to Org 9.8.1 2026-04-05 00:36:31 -04:00
Eli Zaretskii
e7751405d0 ; Improve documentation of 'make-temp-file'
* doc/lispref/files.texi (Unique File Names):
* lisp/files.el (make-temp-file):
* src/fileio.c (Fmake_temp_file_internal): Doc fixes.
2026-04-04 09:56:32 +03:00
Stéphane Marks
faf1932875 New macro setopt-local and function set-local (bug#80709)
'setopt-local' is the buffer local equivalent of 'setopt'.

Unify 'setopt', 'setopt-local', 'setq-local',
'buffer-local-set-state' with 'setq' to signal
'wrong-number-of-arguments'.

* lisp/cus-edit.el (setopt): Change error signal to
'wrong-number-of-arguments'.
(setopt-local): New macro.
(setopt--set-local): New function.
* lisp/subr.el (set-local): New function.
(setq-local, buffer-local-set-state): Signal
'wrong-number-of-arguments' rather than 'error'.
* doc/emacs/custom.texi (Examining): Document 'setopt-local'.
* etc/NEWS: Announce the new macro and function.
2026-04-02 13:47:36 -04:00
Eli Zaretskii
377e3f441f ; * doc/emacs/custom.texi (Examining): Fix last change. 2026-04-02 17:26:14 +03:00
Eli Zaretskii
4ad9cd74c6 ; * doc/emacs/custom.texi (Examining): Fix indexing and example. 2026-04-02 15:11:28 +03:00
Sean Whitton
4baa427ee4 ; * doc/emacs/custom.texi (Newcomers Theme): Strengthen language. 2026-04-01 10:02:23 +01:00
Dmitry Gutov
aacf510fe5 Change "XREF" to "Xref" in mode lighter
* lisp/progmodes/xref.el (xref--xref-buffer-mode)
(xref--transient-buffer-mode, xref-edit-save-changes):
Change "XREF" to "Xref" for internal consistency.

* doc/emacs/maintaining.texi (Xref Commands):
Same.
2026-04-01 04:04:54 +03:00
Dmitry Gutov
cda65ffa58 Add xref-edit-mode (bug#80616)
Based on the existing grep-edit-mode code.

* lisp/progmodes/xref.el (xref-edit--prepare-buffer): New function.
(xref-edit-mode-map, xref-edit-mode-hook): New variables.
(xref-edit-mode, xref-change-to-xref-edit-mode)
(xref-edit-save-changes): New functions.
(xref--xref-buffer-mode-map): New binding ("e").

* doc/emacs/maintaining.texi (Identifier Search):
Mention xref-change-to-xref-edit-mode.

* etc/NEWS: Describe the addition.
2026-04-01 04:04:39 +03:00
Michael Albinus
9c75d761a5 Allow format specifiers in `tramp-login-program'
* doc/misc/tramp.texi (Extension packages): Explain how to use own
format specifiers.

* lisp/net/tramp.el (tramp-expand-args): Make DEFAULT argument
optional.  Handle also ARGS being an atom.
(tramp-handle-make-process):
* lisp/net/tramp-container.el (tramp-skeleton-completion-function):
* lisp/net/tramp-sh.el (tramp-ssh-or-plink-options)
(tramp-maybe-open-connection):
* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-process-file):
Call `tramp-expand-args' for `tramp-login-program'.
2026-03-30 08:18:00 +02:00
Eli Zaretskii
8c481ac944 ; Fix a typo in 'emacs-lisp-intro.texi'
* doc/lispintro/emacs-lisp-intro.texi (lengths-list-file): Fix doc
string of 'lengths-list-file' and surrounding text.  (Bug#80686)
2026-03-29 12:32:05 +03:00
Stefan Monnier
e6c1e87c1e Merge remote-tracking branch 'bug#80297-extend-shortdoc-infrastructure' 2026-03-28 12:12:34 -04:00
Basil L. Contovounesios
d780007283 Add predicate for initial_terminal
This introduces the predicate frame-initial-p, which uses
struct frame.output_method or struct terminal.type to detect
initial_terminal without relying on its name (bug#80629).
For some prior discussion, see:
https://lists.gnu.org/r/emacs-devel/2019-12/msg00480.html
https://lists.gnu.org/r/emacs-devel/2020-01/msg00120.html

* doc/lispref/frames.texi (Frames): Document frame-initial-p.
(Finding All Frames): Fix grammar.
* etc/NEWS (Lisp Changes in Emacs 31.1): Announce frame-initial-p.
* lisp/desktop.el (desktop--check-dont-save):
* lisp/emacs-lisp/debug.el (debug):
* lisp/frameset.el (frameset-restore):
* lisp/menu-bar.el (menu-bar-update-buffers):
* lisp/xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal):
Use frame-initial-p instead of checking the "initial_terminal" name.
* lisp/emacs-lisp/byte-opt.el: Mark frame-initial-p as error-free.

* src/pgtkterm.c (pgtk_focus_changed): Use IS_DAEMON in place of
Fdaemonp, thus also accepting a named daemon session.
* src/terminal.c (decode_tty_terminal): Clarify commentary.
(Fframe_initial_p): New function.
(syms_of_terminal): Expose it.
(init_initial_terminal): Update commentary now that
menu-bar-update-buffers uses frame-initial-p (bug#53740).

* test/lisp/xt-mouse-tests.el (with-xterm-mouse-mode): Simulate the
lack of an initial terminal by overriding frame-initial-p now
that turn-on-xterm-mouse-tracking-on-terminal uses it.
* test/src/terminal-tests.el: New file.
2026-03-26 15:19:56 +01:00
Jens Schmidt
82882db8ed Split up shortdoc functions and groups, fix their format
Move shortdoc group definitions from shortdoc.el to a separate file
shortdoc-doc.el.  Document shortdoc group format in a future-proof way
and guide package authors on how to use shortdoc groups across past
Emacs versions.

* lisp/emacs-lisp/shortdoc-doc.el: New file.
* lisp/emacs-lisp/shortdoc.el: Document shortdoc group format in a
future-proof way.  Require 'shortdoc-doc'.
(shortdoc--keyword-plist-p): New function.
(shortdoc--check): Update to check the documented shortdoc group format.
(shortdoc--groups, define-short-documentation-group): Pull out of
autoloaded 'progn'.
(define-short-documentation-group): Report errors in terms of byte
compiler warnings.
(alist, map, string, file-name, file, hash-table, list, symbol)
(comparison, vector, regexp, sequence, buffer, overlay, process, number)
(text-properties, keymaps): Move group to shortdoc-doc.el.
(shortdoc): Move alias to after function.
(shortdoc-add-function): Add argument checks.
* doc/lispref/tips.texi (Documentation Group Tips): New section.
* doc/lispref/elisp.texi (Top):
* doc/lispref/tips.texi (Tips): Add references to it.
* doc/lispref/help.texi (Documentation Groups): Ditto, and add some
concept index entries.  (bug#80297)
2026-03-25 22:31:57 +01:00
Eli Zaretskii
9adc553ab9 ; * doc/lispintro/emacs-lisp-intro.texi: Fix parens (bug#80646). 2026-03-21 13:27:56 +02:00