diff options
author | Tom de Vries <tdevries@suse.de> | 2025-08-14 13:54:54 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2025-08-14 13:54:54 +0200 |
commit | 73432d71de5c60b9ad3c6895ac80cd17d74be52c (patch) | |
tree | e692f924d40c1b1ec58ccb2efcca9b6fe08f6c1e /include/coff/sym.h | |
parent | 28520d7eed37bc12899ce84dcd5eff7950fb5237 (diff) | |
download | binutils-master.zip binutils-master.tar.gz binutils-master.tar.bz2 |
PR cli/21690 reports the following: say we start gdb:
...
$ gdb -q
(gdb)
...
and press ^R for reverse-i-search:
...
(reverse-i-search)`':
...
Pressing the p key has the effect of showing both the pressed key and a
matching entry, which happens to be up:
...
(reverse-i-search)`p': up
...
Now we press ^C to cancel the search:
...
(reverse-i-search)`p': u❌️ Quit
(gdb)
...
and type "down".
We expected to get:
...
(gdb) down
...
but instead we get:
...
(failed reverse-i-search)`pdown':
...
So we're stuck in reverse-i-search, until we use the workaround of ^G.
The same problem happened with python [1], was reported upstream [2], and
fixed in cpython commit d6990d221b0 ("Issue #24266: Cancel history search mode
with Ctrl+C in Readline 7") using rl_callback_sigcleanup.
Fix this likewise in quit using rl_callback_sigcleanup, a new callback
function in readline 7.0:
...
i. rl_callback_sigcleanup: a new application function that can clean up and
unset any state set by readline's callback mode. Intended to be used
after a signal.
...
giving us instead:
...
$ gdb
(gdb) u❌️ Quit
(gdb) down
...
Remove the corresponding kfail in gdb.tui/pr30056.exp.
Tested on x86_64-linux.
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=21690
[1] https://bugs.python.org/issue24266
[2] https://lists.gnu.org/archive/html/bug-readline/2015-05/msg00014.html
Diffstat (limited to 'include/coff/sym.h')
0 files changed, 0 insertions, 0 deletions