+@node User Name Completion
+@subsection User Name Completion
+@cindex user name completion subroutines
+@cindex completion, user name
+
+ This section describes low-level subroutines for completing a user
+name. For other completion functions, see @ref{Completion}.
+
+@defun user-name-all-completions partial-username
+This function returns a list of all possible completions for a user name
+starting with @var{partial-username}. The order of the completions is
+unpredictable and conveys no useful information.
+
+The argument @var{partial-username} must be a partial user name
+containing no tilde character and no slash.
+@end defun
+
+@defun user-name-completion partial-username
+This function completes a user name from @var{partial-username}. It
+returns the longest prefix common to all user names that start with
+@var{partial-username}.
+
+If only one match exists and @var{partial-username} matches it exactly,
+the function returns @code{t}. The function returns @code{nil} if no
+user name starting with @var{partial-username} exists.
+@end defun
+
+@defun user-name-completion-1 partial-username
+This function completes the partial user name @var{partial-username},
+like @code{user-name-completion}, differing only in the return value.
+This function returns the cons of the completion returned by
+@code{user-name-completion}, and a boolean indicating whether that
+completion was unique.
+@end defun
+
+