bug-readline
[Top][All Lists]
Advanced

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

[Bug-readline] {forward,reverse}-search-history binding bug


From: Yuriy Ershov
Subject: [Bug-readline] {forward,reverse}-search-history binding bug
Date: Thu, 26 Oct 2017 19:21:51 +1100

Hi,

TL;DR: binding of reverse-search-history and forward-search-history to a combination of more than one key leads to wrong behavior: the search string gets reset.

Details:

To reproduce:

  1. Add the following lines to inputrc:
# built-in binding
"\C-s": forward-search-history
# single-key custom binding
"\C-f": forward-search-history
# double-char custom binding: Meta-Control-R
"\e\C-r": forward-search-history
# multichar custom binding: Control-PageDown
"\e[6;5~": forward-search-history

  2. Start bash

  3. List the current bindings:
$ bind -p | fgrep forward-search-history
"\C-f": forward-search-history
"\C-s": forward-search-history
"\e\C-r": forward-search-history
"\e[6;5~": forward-search-history
# non-incremental-forward-search-history (not bound)
# non-incremental-forward-search-history-again (not bound)

  4. Press Ctrl-R (built-in reverse-search-history) and start typing something that exists in the history
(reverse-i-search)`ls': ls

  5. Press Ctrl-R several times: some other command lines with substring "ls" appear:
(reverse-i-search)`ls': ls -l
(reverse-i-search)`ls': ls qq
(reverse-i-search)`ls': ls -lt

  6. Now let us see the difference between the behavior of the command forward-search-history bound to different keys:
    a. Ctrl-F and Ctrl-S (in case "stty -ixon" is done) work as expected.
    b. Any key combination which consists of more than one character clears the search string and the search stops.

* The same applies to attempts of binding reverse-search-history to more than one key.
* No matter how exactly the binding is done: either by .inputrc or bash "bind" command. The results are identical.

I was unable to find any mentions of this bug in Google and assumed that is can be a new one.


Best regards,
Yury


reply via email to

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