emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Navigating completions from minibuffer


From: Spencer Baugh
Subject: Re: Navigating completions from minibuffer
Date: Mon, 20 Nov 2023 02:58:03 +0000 (UTC)

Juri Linkov <juri@linkov.net> writes:
>>>> It sets completions-auto-update to 'deselect by default, which I think
>>>> is reasonable?
>>>
>>> Isn't deselection needed only when minibuffer-visible-completions is 
>>> enabled?
>>
>> I think we could provide some nice consistency by making it always
>> active.
>>
>> As part of this change, I think we should make sure M-RET will submit a
>> completion candidate even if it's been "deselected".  That would be nice
>> because then M-RET serves a useful purpose with
>> minibuffer-visible-completions=t: you can submit the previously-selected
>> completion candidate even if you've typed (causing deselection) since
>> selecting it.
>>
>> With that M-RET behavior, completions-auto-update='deselect doesn't
>> change behavior from Emacs 29, so I think it's a plausible default.
>
> Please note that currently there is no need to use M-RET by default
> because the default value of minibuffer-completion-auto-choose is t,
> and M-down inserts the candidate that is accepted by RET.
>
> So M-RET could help only in case of minibuffer-visible-completions=t
> when the editing deselected a completion candidate.

That is true.  But M-RET is still important for completion-in-region.

In any case, deselecting by default doesn't change behavior for any of:
- completion-in-region
- minibuffer completion with minibuffer-completion-auto-choose=t
- minibuffer completion with minibuffer-completion-auto-choose=nil

So I think deselecting by default is a backwards-compatible change.

>> And if we do have completions-auto-update='deselect by default, then
>> perhaps we can consider another change to the defaults: make RET always
>> submit the selected completion candidate.  That would actually change
>> behavior, since M-<down> followed *immediately* by RET would submit the
>> selected completion candidate, but maybe it's worth it?
>
> I doubt that any change of the default behavior would be acceptable.

Well, M-<down>/M-<up> have only been present in one version of Emacs, so
a change to their default behavior, which supports an opt-out, seems
possible if it's a real improvement.  But anyway, this is better to
discuss once we've settled on the design of the deselection behavior.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]