Minibuffer Commands that Do Completion
--------------------------------------
This section describes the keymaps, commands and user options used in
the minibuffer to do completion.
- Variable: minibuffer-local-completion-map
`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' (Note:Text from Minibuffer).
- Variable: minibuffer-local-must-match-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-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'.
- Variable: minibuffer-completion-table
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 to `try-completion'. It is
used by minibuffer completion commands such as
`minibuffer-complete-word'.
- Variable: minibuffer-completion-predicate
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.
- Command: minibuffer-complete-word
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. Note:Syntax
Tables.
- Command: minibuffer-complete
This function completes the minibuffer contents as far as possible.
- Command: minibuffer-complete-and-exit
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.
- Variable: minibuffer-completion-confirm
When the value of this variable is non-`nil', Emacs asks for
confirmation of a completion before exiting the minibuffer. The
function `minibuffer-complete-and-exit' checks the value of this
variable before it exits.
- Command: minibuffer-completion-help
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*'.
- Function: display-completion-list completions
This function displays COMPLETIONS to the stream in
`standard-output', usually a buffer. (Note:Read and Print, 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, 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 with
`with-output-to-temp-buffer', like this:
(with-output-to-temp-buffer "*Completions*"
(display-completion-list
(all-completions (buffer-string) my-alist)))
- User Option: completion-auto-help
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.