Subject: Re: bug#49931: 28.0.50; `choose-completion' submits incorrect string when minibuffer content changes after creation of the *Completions* buffer

From: Visuwesh <[email-masked]>
Date: Sun, 8 Aug 2021 09:02:31 +0200 (CEST)

8  Aug 2021, 10:44 by [email-masked]:
>> Date: Sat, 7 Aug 2021 19:20:35 +0200 (CEST)
>> From: Visuwesh via "Bug reports for GNU Emacs,
>> the Swiss army knife of text editors" <[email-masked]>
>>
>>
>> When one edits the minibuffer content after the creation of
>> Completions* buffer, `choose-completion' incorrectly submits the wrong
>> string to the command upon selecting a candidate.  To reproduce,
>>
>>
>> 1. Start emacs -Q.
>> 2. Type the following key sequence: C-h f emacs- TAB.
>> 3. Type a.
>> 4. Select `emacs-bzr-get-version' from the *Completions* buffer.
>> 5. "user-error: Symbol’s function definition is void:
>> emacs-bzr-get-versiona" is shown in the echo area.
>>
>>
>> What I expected to happen:
>>
>>
>> I expected `choose-completion' to submit "emacs-bzr-get-version" to
>> describe-function, not "emacs-bzr-get-versiona".
>>
>>
> You expected Emacs to ignore what you type?

Yes, I expected Emacs to ignore 'a'.

> Why?

The name `choose-completion' leads one to think that the candidate
will be chosen regardless of whatever is in the minibuffer but that is
not the case.  I think the current behaviour is not intuitive.

> What you type after TAB is used to narrow the list of candidates when
> you type the next TAB, or continue typing after the first TAB
> completed some of the name for you. This is the intended behavior.

I do understand how the standard behaviour is supposed to be.  But I
believe the current behaviour is unnatural.  When I am offered
clickable text in a buffer which are advertised to complete the
command when clicked, I expect that to happen.  In my case, the text
visible in the *Completions* buffer did not have an extra 'a' but upon
choosing, it did.  I think this is misleading.