Files
emacs/etc
Spencer Baugh e46471ed07 Make RET choose the selected completion
Previously, one could select a completion via M-<up>/M-<down>,
but then RET would not actually select the chosen completion.
With the addition of completion-auto-deselect, this is not
actually necessary: we can reasonably assume that when a
completion is selected, the user wants to use that, since their
last action must have been to select it.  So, just choose the
selected completion on RET.  This lets us default
minibuffer-completion-auto-choose to nil.

For minibuffers with require-match completion, this can be done
by changing the existing command bound to RET.  For minibuffers
with nil require-match completion, RET was previously bound to
exit-minibuffer, and changing exit-minibuffer to have this logic
is risky.  We handle that case by adding a new
minibuffer-completion-exit which wraps exit-minibuffer and bind
RET to it.

* lisp/minibuffer.el (minibuffer-insert-completion-if-selected)
(minibuffer-completion-exit, completion--selected-candidate):
Add.
(minibuffer-complete-and-exit): Call
minibuffer-choose-completion. (bug#77253)
(minibuffer-local-completion-map): Bind RET to
minibuffer-completion-exit, overriding exit-minibuffer.
(completion-in-region-mode-map): Bind RET to
minibuffer-choose-completion when there's a selected candidate.
(minibuffer-completion-auto-choose): Default to nil.
(minibuffer-visible-completions--filter)
(minibuffer-visible-completions-map): Delete RET binding, no
longer necessary.
* lisp/simple.el (completion-setup-function): Update completion
help text to show more correct bindings.
* test/lisp/minibuffer-tests.el (completions-header-format-test)
(minibuffer-next-completion): Set
minibuffer-completion-auto-choose=t explicitly.
(with-minibuffer-setup, minibuffer-completion-RET-prefix)
(completion-in-region-next-completion): Add new tests.
* etc/NEWS: Announce.
2025-08-27 21:23:03 +03:00
..
2025-01-02 18:39:42 +01:00
2025-03-02 16:01:13 -05:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-07-19 06:56:58 -04:00
2025-01-02 18:44:48 +01:00
2025-08-14 04:05:28 -04:00
2025-01-02 18:39:42 +01:00
2025-08-07 16:38:02 +03:00
2024-07-27 01:51:47 +02:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-01-23 03:14:37 +01:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-08-14 04:05:28 -04:00
2025-01-02 18:39:42 +01:00
2025-08-27 21:23:03 +03:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-08-10 12:20:42 +01:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-03-12 09:38:33 +08:00
2025-03-12 09:38:33 +08:00
2025-01-02 18:39:42 +01:00
2025-03-12 09:38:33 +08:00
2025-02-28 20:20:55 +01:00
2025-08-16 13:35:00 +02:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-02-22 14:48:29 +01:00
2025-07-26 06:58:12 -04:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00
2025-01-02 18:39:42 +01:00

This directory contains the architecture-independent files used by or
with Emacs.  This includes some text files of documentation for GNU
Emacs or of interest to Emacs users, and the file of dumped docstrings
for Emacs functions and variables.

COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES

File: emacs.icon
  Author: Sun Microsystems, Inc
  Copyright (C) 1999, 2001-2025 Free Software Foundation, Inc.
  License: GNU General Public License version 3 or later (see COPYING)