elisp: Completion
19.6 Completion
===============
“Completion” is a feature that fills in the rest of a name starting from
an abbreviation for it. Completion works by comparing the user’s input
against a list of valid names and determining how much of the name is
determined uniquely by what the user has typed. For example, when you
type ‘C-x b’ (‘switch-to-buffer’) and then type the first few letters of
the name of the buffer to which you wish to switch, and then type <TAB>
(‘minibuffer-complete’), Emacs extends the name as far as it can.
Standard Emacs commands offer completion for names of symbols, files,
buffers, and processes; with the functions in this section, you can
implement completion for other kinds of names.
The ‘try-completion’ function is the basic primitive for completion:
it returns the longest determined completion of a given initial string,
with a given set of strings to match against.
The function ‘completing-read’ provides a higher-level interface for
completion. A call to ‘completing-read’ specifies how to determine the
list of valid names. The function then activates the minibuffer with a
local keymap that binds a few keys to commands useful for completion.
Other functions provide convenient simple interfaces for reading certain
kinds of names with completion.
Menu