[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Top] [Table des matières] [Index] [ ? ]

20.6.3 Minibuffer Commands that Do Completion

This section describes the keymaps, commands and user options used in the minibuffer to do completion. The description refers to the situation when Partial Completion mode is disabled (as it is by default). When enabled, this minor mode uses its own alternatives to some of the commands described below. Voir (emacs)Completion Options section `Completion Options' dans The GNU Emacs Manual, for a short description of Partial Completion mode.

Variable: minibuffer-completion-table

The value of this variable is the collection 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.

Variable: minibuffer-completion-confirm

When the value of this variable is non-nil, Emacs asks for confirmation of a completion before exiting the minibuffer. completing-read binds this variable, and the function minibuffer-complete-and-exit checks the value before exiting.

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. @xref{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.

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 &optional common-substring

This function displays completions to the stream in standard-output, usually a buffer. (Voir la section 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.

The argument common-substring is the prefix that is common to all the completions. With normal Emacs completion, it is usually the same as the string that was completed. display-completion-list uses this to highlight text in the completion list for better visual feedback. This is not needed in the minibuffer; for minibuffer completion, you can pass nil.

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)
    (buffer-string)))
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.

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 (voir Definition of minibuffer-local-map).

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-local-filename-completion-map

This is like minibuffer-local-completion-map except that it does not bind <SPC>. This keymap is used by the function read-file-name.

Variable: minibuffer-local-must-match-filename-map

This is like minibuffer-local-must-match-map except that it does not bind <SPC>. This keymap is used by the function read-file-name.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Top] [Table des matières] [Index] [ ? ]

Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.