Subject: Re: bug#12638: 24.2.50; FR: Some suggestions for icomplete-mode

From: Stefan Monnier <[email-masked]>
Date: Tue, 11 Dec 2012 22:18:19 -0500

>>> The problem is in the displayed string.  Why not push "" to prospects
>>> when most-is-exact.  I think completions are cycling but the displayed
>>> string is not.
>> The problem is that we want the display to indicate that the current
>> field is an exact match.  Currently this is visible thanks to the "{| ...}".
>> So if we want to let the empty string move elsewhere (and hence
>> potentially off-screen), we need another way to indicate that we have an
>> exact match.

> RET pushes the minibuffer contents.
> C-j pushes the head of the list.

Right, so I was suggesting to make C-j skip to the second element if the
first is equal to the minibuffer contents, so that by choosing between RET
and C-j the user can choose which one she wants.

> I think appending, "[Complete, but not unique]????" should serve as a
> cue that one can simply RET.

You mean we'd display "foo[Complete but not unique]{bar | | baz}"?

> I never could come up with a sensible explanation for magic number 5
> down below.

Good question ... oh yes, it's because of the "..." on the line below:
we refrain from truncating the common prefix if the truncation would
gain us less than 2 columns.  Basically, it's a tradeoff between
losing information via truncation and losing screen real-estate if we
don't truncate.

        Stefan