Next: High-Level Completion, Previous: Minibuffer Completion, Up: Completion
This section describes the keymaps, commands and user options used in the minibuffer to do completion.
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
- <SPC>
minibuffer-complete-word
- <TAB>
minibuffer-complete
with other characters bound as in
minibuffer-local-map
(see Text from Minibuffer).
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 toexit-minibuffer
, the command that exits the minibuffer unconditionally. By default, this keymap makes the following bindings:
- ?
minibuffer-completion-help
- <SPC>
minibuffer-complete-word
- <TAB>
minibuffer-complete
- C-j
minibuffer-complete-and-exit
- <RET>
minibuffer-complete-and-exit
with other characters bound as in
minibuffer-local-map
.
The value of this variable is the alist or obarray used for completion in the minibuffer. This is the global variable that contains what
completing-read
passes totry-completion
. It is used by minibuffer completion commands such asminibuffer-complete-word
.
This variable's value is the predicate that
completing-read
passes totry-completion
. The variable is also used by the other minibuffer completion functions.
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, and exits if confirmation is not required, i.e., if
minibuffer-completion-confirm
isnil
. 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.
When the value of this variable is non-
nil
, Emacs asks for confirmation of a completion before exiting the minibuffer. The functionminibuffer-complete-and-exit
checks the value of this variable before it exits.
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 variableminibuffer-completion-table
as the collection argument, and the value ofminibuffer-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 Read and Print, for more information about streams.) The argument completions is normally a list of completions just returned byall-completions
, but it does not have to be. Each element may be a symbol or a string, either of which is simply printed, or a list of two strings, which is printed as if the strings were concatenated.This function is called by
minibuffer-completion-help
. The most common way to use it is together withwith-output-to-temp-buffer
, like this:(with-output-to-temp-buffer "*Completions*" (display-completion-list (all-completions (buffer-string) my-alist)))