When completion is done on file names, certain file names are usually
ignored. The variable
completion-ignored-extensions contains a
list of strings; a file whose name ends in any of those strings is
ignored as a possible completion. The standard value of this variable
has several elements including
"~". The effect is that, for example, ‘foo’ can
complete to ‘foo.c’ even though ‘foo.o’ exists as well.
However, if all the possible completions end in “ignored”
strings, then they are not ignored. Ignored extensions do not apply to
lists of completions—those always mention all possible completions.
If a completion command finds the next character is undetermined, it
automatically displays a list of all possible completions. If the variable
completion-auto-help is set to
nil, this does not happen,
and you must type ? to display the possible completions.
If the variable
minibuffer-confirm-incomplete is set to
then in contexts where
completing-read allows answers that are
not valid completions, an extra RET must be typed to confirm the
response. This is helpful for catching typos.
Icomplete mode presents a constantly-updated display that tells you what completions are available for the text you’ve entered so far. The command to enable or disable this minor mode is M-x icomplete-mode.