@code{completion-boundaries} will return @code{(5 . 1)} which tells us
that the @var{collection} will only return completion information that
pertains to the area after @code{"/usr/"} and before @code{"/doc"}.
+@code{try-completion} is not affected by nontrivial boundaries; i.e.,
+@code{try-completion} on @code{"/usr/sh"} might still return
+@code{"/usr/share/"}, not @code{"share/"}.
@end defun
If you store a completion alist in a variable, you should mark the
string, and @var{end} is the position of the end boundary in
@var{suffix}.
+If you return nontrivial boundaries, make sure that the
+@code{all-completions} operation is consistent with them. The
+completions returned by @code{all-completions} should only pertain to
+the piece of the prefix and suffix covered by the completion
+boundaries. @ref{Basic Completion} for the precise expected semantics
+of completion boundaries.
+
@item metadata
This specifies a request for information about the state of the
current completion. The return value should have the form