Subject: bug#51650: Autocomplete: first Tab should show *Completions* buffer

From: Carlos Pita <[email-masked]>
Date: Sun, 7 Nov 2021 15:40:22 -0300

Hi Eli,

I remain unconvinced. I'll restate the above in a slightly more
precise manner, but other than that I have nothing to add and if this
is getting tiresome by all means feel free to close it.

> > Suppose I now abort the process and do `M-x cd ~/Desktop` and then
> > enter the find-file completion again, I'm in the same situation, yet I
> > press Tab and I get "not unique" and I have to press Tab again in
> > order to get the list of candidates. Why should the behavior differ?
>
> Because you haven't typed anything yet, so Emacs doesn't know what you
> have in mind.  In the other case, it has some hint.

For me the relevant state includes:

- I'm in the ~/Desktop directory.
- I've not yet received any information about ~/Desktop being unique or not.

By adding one of:

- I've reached ~/Desktop from ~/Desk by pressing Tab.
- I've reached ~/Desktop by launching Emacs from ~/Desktop.
- I've reached ~/Desktop by changing the working directory.
etc.

... or, more succinctly:

- I've reached ~/Desktop by (immediately before) pressing Tab during
the same "completing session".
- I've reached ~/Desktop by other means.

... I can make the relevant state different, but I cannot grasp how
the added information is relevant. You say in the first case I have
typed something, namely Tab, but that was in a different context
(~/Desk) and I don't find it more relevant than the fact that I have
typed "M-x cd ~/Desktop" in the second example. What's that thing that
the user has in mind?

If the "not unique" message were shown at the end of step 4 instead,
that would make an arguably relevant difference. In this variant, the
first Tab (both in 2 and in 4) is always the one conveying the "not
unique" hint, in 2 it's required only for this. Now in step 5 the
information set includes: "I know that ~/Desktop is not unique", while
this information is missing from the scenario in which I reached
~/Desktop by, say, launching emacs from that directory. I still find
this inconvenient but it's a way of resolving what I see as
inconsistent.

Another way is to make the behavior in 2 as the one in 5, that is to
require one Tab in 2 and show "not unique" and completions at
the same moment, it is the variant I prefer.

A third, uber annoying way, is to make the behavior in 5 as the one in
2, that is to require two Tabs in 5, so going from ~/Desk to the
completion menu for ~/Desktop would require three Tabs.

Best regards,
Carlos