-@vindex completion-styles
- You can customize the matching rules for completion alternatives
-using the variable @code{completion-styles}. Its value should be a
-list of symbols, each representing a @dfn{completion style}; valid
-style symbols are @code{basic}, @code{partial-completion},
-@code{emacs22}, @code{emacs21}, and @code{initials}. When completing,
-Emacs attempts to use the first completion style in the list; if this
-does not return any completion alternatives, it tries the next
-completion style in the list, and so on. The completion rules
-described in @ref{Completion Commands} correspond to the default value
-of @code{completion-styles}, which is @code{(basic partial-completion
-emacs22)}.
+@vindex completion-ignored-extensions
+@cindex ignored file names, in completion
+ When completing file names, Emacs usually omits certain alternatives
+that are considered unlikely to be chosen, as determined by the list
+variable @code{completion-ignored-extensions}. Each element in the
+list should be a string; any file name ending in such a string is
+ignored as a completion alternative. Any element ending in a slash
+(@file{/}) represents a subdirectory name. The standard value of
+@code{completion-ignored-extensions} has several elements including
+@code{".o"}, @code{".elc"}, and @code{"~"}. For example, if a
+directory contains @samp{foo.c} and @samp{foo.elc}, @samp{foo}
+completes to @samp{foo.c}. However, if @emph{all} possible
+completions end in ``ignored'' strings, they are not ignored: in the
+previous example, @samp{foo.e} completes to @samp{foo.elc}. Emacs
+disregards @code{completion-ignored-extensions} when showing
+completion alternatives in the completion list.
+
+@vindex completion-auto-help
+ If @code{completion-auto-help} is set to @code{nil}, the completion
+commands never display the completion list buffer; you must type
+@kbd{?} to display the list. If the value is @code{lazy}, Emacs only
+shows the completion list buffer on the second attempt to complete.
+In other words, if there is nothing to complete, the first @key{TAB}
+echoes @samp{Next char not unique}; the second @key{TAB} shows the
+completion list buffer.
+
+@vindex completion-cycle-threshold
+ If @code{completion-cycle-threshold} is non-@code{nil}, completion
+commands can ``cycle'' through completion alternatives. Normally, if
+there is more than one completion alternative for the text in the
+minibuffer, a completion command completes up to the longest common
+substring. If you change @code{completion-cycle-threshold} to
+@code{t}, the completion command instead completes to the first of
+those completion alternatives; each subsequent invocation of the
+completion command replaces that with the next completion alternative,
+in a cyclic manner. If you give @code{completion-cycle-threshold} a
+numeric value @var{n}, completion commands switch to this cycling
+behavior only when there are fewer than @var{n} alternatives.