Subject: bug#13602: 24.3.50; remove bindings for `icomplete-minibuffer-map' - make a separate mode

From: Dmitry Gutov <[email-masked]>
Date: Tue, 05 Feb 2013 02:04:45 +0400

On 04.02.2013 20:16, Drew Adams wrote:
>>> Icomplete mode is general, for use with all minibuffers,
>>> whatever the kind of input being done (kind of completion
>>> or input without completion, etc.).
>>
>> No, it's not, it's only used in specific cases.
>> For example, icomplete is not used in minibuffer during
>> eval-expression.
>
> Nitpicking.  Completion.  That should have been understood from the context: "I
> _complete_" mode.  Icompletion is about completion contexts.

It's in the name, but not in your statement above. As such, your 
statement was false. You also mentioned "input without completion", 
whatever that is.

My point is, as long as ido and icomplete are used in completion 
situations, and they're used to complete relatively short things, they 
obviate the need for all three commands you're complaining about.

Searching back and forward though a short input string is quite useless, 
and `minibuffer-complete' essentially conflicts with the main function 
of ido and icomplete: show the available candidates inline.

>>> Let users bind them if they like.
>>
>> I'd like to comment on this as a ido-mode user.
>
> Great.  But please recognize that not all Emacs users use Ido.  And it is not
> even the default minibuffer behavior for Emacs.  And it is not even described in
> the Emacs manual.

Is icomplete described in the Emacs manual?

> IOW, your parochial point of view is of course welcome and relevant, but please
> don't mistake it for how users in general view using the minibuffer.

I'm well-aware how Emacs looks and works by default, thank you very 
much. It also has a rich ecosystems with packages modifying its behavior 
every which way, according to user needs and whims.

>>> In particular: C-s and C-r are used to search minibuffer
>>> text (e.g. move
>>
>> Instead of searching though the already entered text,
>
> ("Already entered" does not necessarily mean typed, BTW.)

Yes. Slightly less useless in this case, but this is a rare one, naturally.

>> this behavior allows you to "search" through the candidates.
>
> Yes, I know.  So what?  The point is that this substitutes the original, normal,
> usual behavior of those keys with another behavior.

icomplete is off by default, so no user is forced to use the non-default 
behavior.

> You should not just assume, because you are an Ido enthusiast, that all users
> now want to switch to an Ido-like behavior for keys they have been able to use
> otherwise.

Do I come across as a five-year-old or something?

>> this strikes me as more appropriate.
>
> So in your case you would opt in to use the keys.  What's the problem? (Though
> as an Ido user you really do not need Icomplete at all, do you?)

I don't. But you can make most of the same arguments in the context of 
ido-mode, can't you?

> You should get your way, for your own use.  Another user should be able to get
> the longstanding Icomplete behavior, for her own use.

...maybe except this one. How long ago has this "longstanding" behavior 
changed?

> It should be easy for each to get the behavior preferred, and even to switch to
> the other behavior.
>
> This is trivial to implement.  What so much resistance to giving users the
> choice?  Why so much insistence on bending Icomplete to be Ido-like for all?
> Users are free to use Ido if they like.  Where's the beef?

I believe most of the resistance is against your suggestion that the 
minor mode with modified keybindings should be off by default.
If you hide nice things from users, some portion of users with never 
find them. So, it hurts discoverability.