Subject: Re: bug#65348: INITIAL-INPUT in completing-read repeats same entry twice consecutively

From: Heime <[email-masked]>
Date: Fri, 18 Aug 2023 00:35:09 +0000

Sent with Proton Mail secure email.

------- Original Message -------
On Thursday, August 17th, 2023 at 10:45 PM, Eli Zaretskii <[email-masked]> wrote:

> tags 65348 notabug
> close 65348
> thanks
> 
> > Date: Thu, 17 Aug 2023 10:27:27 +0000
> > From: Heime [email-masked]
> > Cc: [email-masked]
> > 
> > The collection COLLECJ is this ordered sequence
> > 
> > "boxplus" "boxtimes" "Cap" "centerdot" "circledast"
> > 
> > with the call to COMPLETING-READ being
> > 
> > (completing-read "PROMPT: " collecj nil t "boxplus")))
> > 
> > Where REQUIRE-MATCH is t
> > 
> > and INITIAL-INPUT is "boxplus"
> > 
> > Now, the user gets the prompt with "boxplus" displayed.
> > 
> > The user moves to the next completion candidate, which is also "boxplus",
> > the entry at the beginning of COLLECTION.
> 
> 
> Which is why the ELisp manual says:
> 
> The argument INITIAL is mostly deprecated; we recommend using a
> non-‘nil’ value only in conjunction with specifying a cons cell for
> HISTORY. *Note Initial Input::. For default input, use DEFAULT
> instead.
> 
> In any case, the fact that you see "boxplus" as the first suggestion
> of the "future history" is because you both added it to COLLECTION and
> set INITIAL to it. So showing it as the first suggestion is exactly
> what completing-read should do in this case.
> 
> This is not a bug, and so I'm closing it.

So one is not supposed to have the value in COLLECTION if it has been specified
in INITIAL ?

I find using INITIAL quite useful because the user sees something filled up.
What is one to do instead ?