with @var{collection} and @code{completion-ignore-case}.
@xref{Definition of test-completion}.
+@xref{Programmed Completion}, for detailed requirements when
+@var{collection} is a function.
+
The value of the optional argument @var{require-match} determines how
the user may exit the minibuffer:
COLLECTION can be a list of strings, an alist, an obarray or a hash table.
COLLECTION can also be a function to do the completion itself.
PREDICATE limits completion to a subset of COLLECTION.
-See Info node `(elisp)Basic Completion' for more details
- on completion, COLLECTION, and PREDICATE.
+See `try-completion', `all-completions', `test-completion',
+and `completion-boundaries', for more details on completion,
+COLLECTION, and PREDICATE. See also Info nodes `(elisp)Basic Completion'
+for the details about completion, and `(elisp)Programmed Completion' for
+expectations from COLLECTION when it's a function.
REQUIRE-MATCH can take the following values:
- t means that the user is not allowed to exit unless