emacs-devel
[Top][All Lists]
Advanced

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

Re: UP and DOWN with multi-line minibuffer history


From: Juri Linkov
Subject: Re: UP and DOWN with multi-line minibuffer history
Date: Thu, 17 Dec 2015 02:49:03 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (x86_64-pc-linux-gnu)

>> This consistency sounds right in theory and I'd definitely
>> support your change after reading your description -
>> if not tried it in real conditions: typing more than N keys UP
>> to navigate to Nth history element is a huge annoyance.
>
> However, if <up> at the first line moves point to the first line of
> the previous item, you end up with another annoyance — <down> is no
> longer an inverse of <up>.

Yes, you need to go through all the lines of the current history element
with <down> to reach the bottom line before going to the next element -
but only when reversing navigation directions that is less annoying than
doing this always, even when navigating in one direction.

>> While in a normal buffer it's possible to mitigate it
>> by counting lines and using a numeric argument for UP,
>> or pressing and holding UP, or even resorting to the mouse,
>> none of which would work in the minibuffer history.
>>
>> This explains why no other software is doing such awkward thing.
>
> Other software also has pull-down histories, so one doesn’t have to
> scroll the history while looking at it through a mailbox slit. You
> pull down the history, select an item you want, press Enter, and it
> gets copied into the input box where you can edit it before executing
> again.
>
> In Emacs UI conventions, it might work like this:
>
> * Pressing some special key while in minibuffer would open a temporary
> buffer showing the history and place the point in it.
> * The item containing the point would be optionally highlighted with a face.
> * The user would then move the point to the desired item.
> * Pressing Enter would copy the item containing the point into the
> minibuffer and bury or kill the history buffer.
> * Attempting any editing command would copy the item containing the
> point into the minibuffer, bury or kill the history buffer, and
> perform the editing command in the minibuffer.
> * Pressing C-g would just bury or kill the history buffer without
> modifying the minibuffer contents.

This is already possible in Emacs, e.g. typing TAB with

  (completing-read "Minibuffer history: " read-expression-history)



reply via email to

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