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

From: Jambunathan K <[email-masked]>
Date: Tue, 04 Dec 2012 23:02:53 +0530

Stefan Monnier <[email-masked]> writes:

>> 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.

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

>> Is removal of leading space really necessary?
>
> No, it just makes a lot of sense in the current situation.  Note that if
> we let the empty string appear elsewhere, we may also want to use
> "a | | b" instead of "a |  | b", tho it's clearly less important.

This could be an aside.  

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

,----
|  (determ (unless (or (eq t compare) (eq t most-try)
|     		 (= (setq compare (1- (abs compare)))
|     		    (length most)))
|            (concat open-bracket
|     	       (cond
|     		((= compare (length name))
|                      ;; Typical case: name is a prefix.
|     		 (substring most compare))
| ,----
| |     		((< compare 5) most)
| `----
| 
|     		(t (concat "..." (substring most compare))))
|   		       close-bracket)))
`----

>         Stefan