Configuration Information [Automatically generated, do not change]:Machine: x86_64OS: linux-gnuCompiler: gccCompilation CFLAGS: -g -O2 -fdebug-prefix-map=/build/bash-a6qmCk/bash-5.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-parentheses -Wno-format-securityuname output: Linux azureubuntu2 5.4.0-1046-azure #48-Ubuntu SMP Tue Apr 13 07:18:42 UTC 2021 x86_64 x86_64 x86_64 GNU/LinuxMachine Type: x86_64-pc-linux-gnu Bash Version: 5.0Patch Level: 17Release Status: release Description: Many users bind the 'Up' and 'Down' keys to `history-search-backward` and `history-search-forward` to allow them to search through the history based on what is currently present on the commandline. However, if a user is not able to find a desirable history entry, then they have to inevitably delete the entire text following the current cursor position. Ideally, if a user presses the 'Down' key the same number of times as they press the 'Up' key, the commandline text should revert back to the state it was in, before any of the searches were started. The reproduction steps below show that this is not currently the case. Repeat-By: Minimal reproducible steps. Make sure the history file contains at least two entries that start with the same string, for example "sudo". 1. Start bash with `bash --noprofile --norc` 2. Run the command `bind '"\e[A": history-search-backward'` 3. Run the command `bind '"\e[B": history-search-forward'` 4. Type "sudo", and now press the 'Up' key some fixed number of times (say x). Bash will show history entries starting with "sudo" in decreasing chronological order. 5. Now press 'Down' key the same number of times (x). After seeing history entries starting with "sudo" in increasing chronological order, you'll notice that the commandline doesn't get cleared. It stays the same as the last found history entry. 6. Now if you didn't find what you were looking for in the history search, you will have to clear the added text using 'Ctrl+K' (emacs mode). 7. This is slightly cumbersome. Note that some other shells, notably zsh and pwsh, do not exhibit this behavior (they restore the pre-search state if 'Down' and 'Up' keys are pressed the same number of times.)
[Request]: Make `history-search` key bindings slightly more user-friendly
Rashil Gandhi via Bug reports for the GNU Bourne Again SHell Wed, 07 Jul 2021 14:19:52 -0700
