When a command reads an argument using the minibuffer with
completion, it also controls what happens when you type RET
(minibuffer-complete-and-exit
) to submit the argument. There
are four types of behavior:
An example of a command that uses this behavior is M-x, since it is meaningless for it to accept a non-existent command name.
Cautious completion is used for reading file names for files that must already exist, for example.
You can tweak the confirmation behavior by customizing the variable
confirm-nonexistent-file-or-buffer
. The default value,
after-completion
, gives the behavior we have just described.
If you change it to nil
, Emacs does not ask for confirmation,
falling back on permissive completion. If you change it to any other
non-nil
value, Emacs asks for confirmation whether or not the
preceding command was TAB.
This behavior is used by most commands that read file names, like C-x C-f, and commands that read buffer names, like C-x b.