GNU bug report logs - #77253
30.1.50; Support RET choosing the selected completion without rebinding arrow keys

Previous Next

Package: emacs;

Reported by: Spencer Baugh <sbaugh <at> janestreet.com>

Date: Tue, 25 Mar 2025 15:12:02 UTC

Severity: normal

Found in version 30.1.50

Full log


View this message in rfc822 format

From: Juri Linkov <juri <at> linkov.net>
To: Spencer Baugh <sbaugh <at> janestreet.com>
Cc: 77253 <at> debbugs.gnu.org
Subject: bug#77253: 30.1.50; Support RET choosing the selected completion without rebinding arrow keys
Date: Wed, 26 Mar 2025 09:52:05 +0200
>>> Right now, minibuffer-visible-completions does two things, only when
>>> *Completions* is visible:
>>>
>>> A. If there's a selected completion candidate, RET exits the minibuffer
>>> with it.
>>>
>>> B. The arrow keys move point in the *Completions* buffer instead of the
>>> minibuffer, to select completion candidates.
>>>
>>> These are really two separate things.
>>>
>>> A is a nice behavior for novice users, but B is difficult for novice
>>> users (who like to use the arrow keys for moving point) to deal with.
>>
>> Not sure why this would be difficult for novice users,
>
> Well, because they like using the arrow keys. :)

But they like using the arrow keys to select a completion candidate too.
This is how they use arrow keys e.g. in a web browser in the address bar.
At least up/down arrows navigate completions, while left/right arrows
indeed move the cursor in the address bar.

So we need separate values for up/down and left/right arrows?

>> but maybe adding a new value to the existing defcustom
>> minibuffer-visible-completions would be sufficient?
>
> That would work, but I guess I also propose that we should change the
> implementation a bit.  The use of a menu-item :filter binding is clever,
> but I think it would be nicer to have a normal binding for RET which
> just checks if *Completions* is shown/a completion candidate is
> selected.  For one thing, then C-h k RET will behave more expectedly.

Removing the :filter binding would be fine, if it won't cause other problems.
At least it would be nice to try to see how this works with :filter.




This bug report was last modified 75 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.