Subject: bug#66147: 28.2; Doc of completion functions: (elisp) `Basic Completion'

From: Eli Zaretskii <[email-masked]>
Date: Fri, 22 Sep 2023 09:06:47 +0300

> From: Drew Adams <[email-masked]>
> Date: Thu, 21 Sep 2023 21:45:32 +0000
> 
> What seems missing from this doc (and likewise from the relevant doc
> strings) is any description of what it means for a string to _match_
> entries in the completion table.

"Basic Completion" is a subsection of "Completion".  The parent
section explains what it means to match, by describing what does it
mean to "complete" something.

So I think you are looking for a problem where there is none, by
taking a single word (which generally has many different meanings in
Emacs) and trying to interpret it by looking at the manual through a
loophole, instead of taking the broader view by going to the beginning
of the section and reading from there.

IOW, if someone reads on "Basic Completion", he or she needs to
understand the terminology already; otherwise, they should start from
the parent section.

> In the beginning, Emacs completion used _only_ such literal-prefix
> completion, so maybe back then not specifying how an input string is
> matched against a completion candidate might not have been so
> important.  But nowadays users encounter all kinds of matching when
> completing: from substring to flex to regexp,...  They're familiar with
> that interactively, as Emacs users, typically long before they encounter
> programming with the completion functions described here.

This seems to talk about something other than basic completion, so is
not relevant here.  And when a completion style does something other
than the simple prefix matching, the style's documentation should
state that (and it does).

So I don't think we should do anything here that we haven't already
done.