In most ways, a minibuffer is a normal Emacs buffer. Most operations within a buffer, such as editing commands, work normally in a minibuffer. However, many operations for managing buffers do not apply to minibuffers. The name of a minibuffer always has the form ` *Minibuf-number', and it cannot be changed. Minibuffers are displayed only in special windows used only for minibuffers; these windows always appear at the bottom of a frame. (Sometimes frames have no minibuffer window, and sometimes a special kind of frame contains nothing but a minibuffer window; see section Minibuffers and Frames.)
The minibuffer's window is normally a single line. You can resize it temporarily with the window sizing commands; it reverts to its normal size when the minibuffer is exited. You can resize it permanently by using the window sizing commands in the frame's other window, when the minibuffer is not active. If the frame contains just a minibuffer, you can change the minibuffer's size by changing the frame's size.
If a command uses a minibuffer while there is an active minibuffer,
this is called a recursive minibuffer. The first minibuffer is
named ` *Minibuf-0*'. Recursive minibuffers are named by
incrementing the number at the end of the name. (The names begin with a
space so that they won't show up in normal buffer lists.) Of several
recursive minibuffers, the innermost (or most recently entered) is the
active minibuffer. We usually call this "the" minibuffer. You can
permit or forbid recursive minibuffers by setting the variable
enable-recursive-minibuffers
or by putting properties of that
name on command symbols (see section Minibuffer Miscellany).
Like other buffers, a minibuffer may use any of several local keymaps (see section Keymaps); these contain various exit commands and in some cases completion commands (see section Completion).
minibuffer-local-map
is for ordinary input (no completion).
minibuffer-local-ns-map
is similar, except that SPC exits
just like RET. This is used mainly for Mocklisp compatibility.
minibuffer-local-completion-map
is for permissive completion.
minibuffer-local-must-match-map
is for strict completion and
for cautious completion.
Go to the first, previous, next, last section, table of contents.