Next: Completion Options Prev: Completion Commands Up: Completion
There are three different ways that RET can work in completing
minibuffers, depending on how the argument will be used.
* "Strict" completion is used when it is meaningless to give any
argument except one of the known alternatives. For example, when
`C-x k' reads the name of a buffer to kill, it is meaningless to
give anything but the name of an existing buffer. In strict
completion, RET refuses to exit if the text in the minibuffer does
not complete to an exact match.
* "Cautious" completion is similar to strict completion, except that
RET exits only if the text was an exact match already, not needing
completion. If the text is not an exact match, RET does not exit,
but it does complete the text. If it completes to an exact match,
a second RET will exit.
Cautious completion is used for reading file names for files that
must already exist.
* "Permissive" completion is used when any string whatever is
meaningful, and the list of completion alternatives is just a
guide. For example, when `C-x C-f' reads the name of a file to
visit, any file name is allowed, in case you want to create a
file. In permissive completion, RET takes the text in the
minibuffer exactly as given, without completing it.
The completion commands display a list of all possible completions in
a window whenever there is more than one possibility for the very next
character. Also, typing `?' explicitly requests such a list. If the
list of completions is long, you can scroll it with `C-M-v' (*note
automatically generated by info2www