showing it (@code{kill-current-buffer}).
@end table
+@vindex minibuffer-visible-completions
+ If the variable @code{minibuffer-visible-completions} is customized to
+a non-@code{nil} value, it changes the commands bound to the arrow keys:
+instead of moving in the minibuffer, they move between completion
+candidates, like meta-arrow keys do by default. Similarly,
+@kbd{@key{RET}} selects the current candidate, like @kbd{M-@key{RET}}
+does normally. @code{C-g} hides the completion window, but leaves the
+minibuffer active, so you can continue typing at the prompt.
+
@node Completion Exit
@subsection Completion Exit
@code{second-tab}, then the first @kbd{@key{TAB}} will pop up the
completions list buffer, and the second one will switch to it.
+@findex previous-line-completion
+@findex next-line-completion
+@vindex completion-auto-wrap
+ When the window showing the completions is selected, either because
+you customized @code{completion-auto-select} or because you switched to
+it by typing @kbd{C-x o}, the @kbd{@key{UP}} and @kbd{@key{DOWN}} arrow
+keys move by lines between completion candidates; with a prefix numeric
+argument, they move that many lines. If @code{completion-auto-wrap} is
+non-@code{nil}, these commands will wrap at bottom and top of the
+candidate list.
+
@vindex completion-cycle-threshold
If @code{completion-cycle-threshold} is non-@code{nil}, completion
commands can cycle through completion alternatives. Normally, if
\f
* Startup Changes in Emacs 30.1
+---
** On GNU/Linux, Emacs is now the default application for 'org-protocol'.
Org mode provides a way to quickly capture bookmarks, notes, and links
using 'emacsclient':
URI scheme. See the Org mode manual, Info node "(org) Protocols" for
more details.
----
++++
** New variable lets Lisp code read emacsclient arguments.
When '--eval' is passed to emacsclient and Emacs is evaluating each
argument, the new variable 'server-eval-args-left' is set to those
\f
* Incompatible Changes in Emacs 30.1
+---
** Tree-Sitter modes are now declared as submodes of the non-TS modes.
In order to help the use of those Tree-Sitter modes, they are now
declared to have the corresponding non-Tree-Sitter mode as an
Note that those modes still do not inherit from the non-TS mode, so
configuration settings installed via mode hooks are not affected.
+---
** Mouse wheel events should now always be 'wheel-up/down/left/right'.
At those places where the old 'mouse-4/5/6/7' events could still occur
(i.e., X11 input in the absence of XInput2, and 'xterm-mouse-mode'),
(advice-add 'completion-at-point :after #'minibuffer-hide-completions)
+---
** The default process filter was rewritten in native code.
The round-trip through the Lisp function
'internal-default-process-filter' is skipped when the process filter is
\f
* Changes in Emacs 30.1
+---
** Emacs now supports Unicode Standard version 15.1.
+++
---
** Support for underline colors on TTY frames.
-Colors specified in face underlines will now also be displayed in TTY
-frames with the previously mentioned capabilities.
+Colors specified in the underline face will now also be displayed on TTY
+frames on terminals that support the 'Su' or 'Smulx' capabilities.
++++
** Modeline elements can now be right-aligned.
Anything following the symbol 'mode-line-format-right-align' in
'mode-line-format' will be right-aligned. Exactly where it is
right-aligned to is controlled by the new user option
'mode-line-right-align-edge'.
+---
** X selection requests are now handled much faster and asynchronously.
This means it should be less necessary to disable the likes of
'select-active-regions' when Emacs is running over a slow network
connection.
+---
** Emacs now updates invisible frames that are made visible by a compositor.
If an invisible or an iconified frame is shown to the user by the
compositing manager, Emacs will now redisplay such a frame even though
The only exception is w32notify.
+++
-** Image ':map' property is now recomputed when image is transformed.
-Now images with clickable maps work as expected after you run commands
+** The ':map' property of images is now recomputed when image is transformed.
+Images with clickable maps now work as expected after you run commands
such as 'image-increase-size', 'image-decrease-size', 'image-rotate',
'image-flip-horizontally', and 'image-flip-vertically'.
Set the new user option 'image-recompute-map-p' to nil to prevent Emacs
** Minibuffer and Completions
++++
*** New commands 'previous-line-completion' and 'next-line-completion'.
Bound to '<up>' and '<down>' arrow keys, respectively, they navigate
the "*Completions*" buffer vertically by lines, wrapping at the
top/bottom when 'completion-auto-wrap' is non-nil.
++++
*** New user option 'minibuffer-visible-completions'.
When customized to non-nil, you can use arrow keys in the minibuffer
to navigate the completions displayed in the "*Completions*" window.
then all these keys have their usual meaning in the minibuffer.
This option is supported for in-buffer completion as well.
+---
*** Selected completion candidates are deselected on typing.
When you type at the minibuffer prompt, the current completion
candidate will be un-highlighted, and point in the "*Completions*" window
controlled with the new user option 'completion-auto-deselect', which
is t by default.
++++
*** New value 'historical' for user option 'completions-sort'.
When 'completions-sort' is set to 'historical', completion candidates
will be first sorted alphabetically, and then re-sorted by their order
should proceed with windows whose buffer was killed after the
corresponding configuration or state was recorded.
+---
*** New variable 'window-point-context-set-function'.
It can be used to set a context for window point in all windows by
'window-point-context-set' before calling 'current-window-configuration'
+++
*** New global minor mode 'modifier-bar-mode'.
-When this minor mode is enabled, buttons representing modifier keys
-are displayed along the tool bar.
+When this minor mode is enabled, the tool bar displays buttons
+representing modifier keys. Clicking on these buttons applies the
+corresponding modifiers to the next input event.
+++
*** New user option 'tool-bar-always-show-default'.
This user option controls outline visibility in the output buffer of
'describe-bindings' when 'describe-bindings-outline' is non-nil.
+---
*** 'describe-function' shows function inferred type when available.
For native compiled Lisp functions 'describe-function' prints (after
the signature) the automatically inferred function type as well.
+---
*** 'describe-function' now shows the type of the function object.
The text used to say things like "car is is a built-in function" whereas
it now says "car is a primitive-function" where "primitive-function" is
*** 'C-h m' ('describe-mode') uses outlining by default.
Set 'describe-mode-outline' to nil to get back the old behavior.
+---
*** 'C-h k' ('describe-key') shows Unicode name.
For keybindings which produce single characters via translation or input
methods, 'C-h k' now shows the Unicode name of the produced character in
€ 'EURO SIGN' (translated from C-x 8 E)
+---
*** 'C-h b' ('describe-bindings') shows Unicode names.
For keybindings which produce single characters via translation (such as
those using the 'C-x 8' or 'A-' prefix, or 'dead-acute', 'dead-grave',
*** New prefix argument for modifying directory-local variables.
The commands 'add-dir-local-variable', 'delete-dir-local-variable' and
'copy-file-locals-to-dir-locals' now take an optional prefix argument,
-to enter the file name you want to modify.
+to enter the file name where you want to modify directory-local
+variables.
++++
*** New user option 'safe-local-variable-directories'.
This user option names directories in which Emacs will treat all
directory-local variables as safe.
+++
** CL Print
++++
+*** There is a new chapter in the CL manual documenting cl-print.el.
+See the Info node "(cl) Printing".
+
+++
*** You can expand the "..." truncation everywhere.
The code that allowed "..." to be expanded in the "*Backtrace*" buffer
'prin1'. A button on this output can be activated to disassemble the
function.
-+++
-*** There is a new chapter in the CL manual documenting cl-print.el.
-See the Info node "(cl) Printing".
-
** Miscellaneous
----
++++
*** New command 'kill-matching-buffers-no-ask'.
This works like 'kill-matching-buffers', but without asking for
confirmation.
+++
*** 'read-passwd' can toggle the visibility of passwords.
-Use 'TAB' in the minibuffer to show or hide the password. Likewise,
-there is an icon on the mode-line, which toggles the visibility of the
-password when clicking with 'mouse-1'.
+Use 'TAB' in the minibuffer to show or hide the password.
+Alternatively, click the new show-password icon on the mode-line with
+'mouse-1' to toggle the visibility of the password.
*** 'advice-remove' is now an interactive command.
When called interactively, 'advice-remove' now prompts for an advised
+++
*** New user option 'remote-file-name-access-timeout'.
-When a positive number, this option limits the call of 'access-file'
-for remote files to this number of seconds. Default is nil.
+If a positive number, this option limits the call of 'access-file'
+for remote files to that number of seconds. Default is nil.
+++
*** New user option 'yes-or-no-prompt'.
*** New user option 'menu-bar-close-window'.
When non-nil, selecting "Close" from the "File" menu or clicking
"Close" in the tool bar will result in the current window being
-closed, if possible.
+deleted, if possible. The default is nil, and these gestures kill the
+buffer shown in the current window, but don't delete the window.
---
*** New face 'display-time-date-and-time'.
+++
*** 'write-region-inhibit-fsync' now defaults to t in interactive mode,
-as it has in batch mode since Emacs 24.
+as it did in batch mode since Emacs 24.
+---
*** The default value of 'read-process-output-max' was increased to 65536.
+++