This section describes the keymaps, commands and user options used in the minibuffer to do completion.
The value of this variable is the completion table (see Basic Completion Functions) used for completion in the minibuffer. This is the
buffer-local variable that contains what completing-read
passes to
try-completion
. It is used by minibuffer completion commands
such as minibuffer-complete
.
This variable’s value is the predicate that completing-read
passes to try-completion
. The variable is also used by the other
minibuffer completion functions.
This variable determines whether Emacs asks for confirmation before
exiting the minibuffer; completing-read
sets this variable,
and the function minibuffer-complete-and-exit
checks the value
before exiting. If the value is nil
, confirmation is not
required. If the value is confirm
, the user may exit with an
input that is not a valid completion alternative, but Emacs asks for
confirmation. If the value is confirm-after-completion
, the
user may exit with an input that is not a valid completion
alternative, but Emacs asks for confirmation if the user submitted the
input right after any of the completion commands in
minibuffer-confirm-exit-commands
.
This variable holds a list of commands that cause Emacs to ask for
confirmation before exiting the minibuffer, if the require-match
argument to completing-read
is confirm-after-completion
.
The confirmation is requested if the user attempts to exit the
minibuffer immediately after calling any command in this list.
This function completes the minibuffer contents by at most a single
word. Even if the minibuffer contents have only one completion,
minibuffer-complete-word
does not add any characters beyond the
first character that is not a word constituent. See Syntax Tables.
This function completes the minibuffer contents as far as possible.
This function completes the minibuffer contents, and exits if
confirmation is not required, i.e., if
minibuffer-completion-confirm
is nil
. If confirmation
is required, it is given by repeating this command
immediately—the command is programmed to work without confirmation
when run twice in succession.
This function creates a list of the possible completions of the
current minibuffer contents. It works by calling all-completions
using the value of the variable minibuffer-completion-table
as
the collection argument, and the value of
minibuffer-completion-predicate
as the predicate argument.
The list of completions is displayed as text in a buffer named
*Completions*.
This function displays completions to the stream in
standard-output
, usually a buffer. (See Reading and Printing Lisp Objects, for more
information about streams.) The argument completions is normally
a list of completions just returned by all-completions
, but it
does not have to be. Each element may be a symbol or a string, either
of which is simply printed. It can also be a list of two strings,
which is printed as if the strings were concatenated. The first of
the two strings is the actual completion, the second string serves as
annotation.
This function is called by minibuffer-completion-help
. A
common way to use it is together with
with-output-to-temp-buffer
, like this:
(with-output-to-temp-buffer "*Completions*" (display-completion-list (all-completions (buffer-string) my-alist)))
If this variable is non-nil
, the completion commands
automatically display a list of possible completions whenever nothing
can be completed because the next character is not uniquely determined.
completing-read
uses this value as the local keymap when an
exact match of one of the completions is not required. By default, this
keymap makes the following bindings:
minibuffer-completion-help
minibuffer-complete-word
minibuffer-complete
and uses minibuffer-local-map
as its parent keymap
(see Definition of minibuffer-local-map).
completing-read
uses this value as the local keymap when an
exact match of one of the completions is required. Therefore, no keys
are bound to exit-minibuffer
, the command that exits the
minibuffer unconditionally. By default, this keymap makes the following
bindings:
minibuffer-complete-and-exit
minibuffer-complete-and-exit
and uses minibuffer-local-completion-map
as its parent keymap.
This is a sparse keymap that simply unbinds SPC; because
filenames can contain spaces. The function read-file-name
combines this keymap with either minibuffer-local-completion-map
or minibuffer-local-must-match-map
.
If non-nil
, the M-< command will move to the end of the
prompt if point is after the end of the prompt. If point is at or
before the end of the prompt, move to the start of the buffer. If
this variable is nil
, the command behaves like
beginning-of-buffer
.