From 0693bcf45898fa4cb3d75091249325e3c75511cd Mon Sep 17 00:00:00 2001 From: "docelic@crystallabs.io" Date: Thu, 16 May 2019 00:17:03 +0000 Subject: [PATCH] Reset isearch state on ctrl+c when using Readline 7 This change does not affect Readline versions below 7. A fix for RL<7 would be to modify readline_state to turn off ISEARCH and set DONE, but changing these values through the Perl module does not appear to have visible effect. FossilOrigin-Name: aafd253afe473a0a262860698a5a43e4db4d990565b353e6c1399ffc4c6658b5 --- shelldap | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/shelldap b/shelldap index ed81928..e07e549 100755 --- a/shelldap +++ b/shelldap @@ -2769,7 +2769,11 @@ my $sigset = POSIX::SigSet->new(); sub ctrl_c_handler { print "\n"; $shell->term->on_new_line; - $shell->term->replace_line('', 0); + $shell->term->kill_text; + $shell->term->callback_sigcleanup; + $shell->term->free_line_state; + $shell->term->cleanup_after_signal; + $shell->term->callback_handler_remove; $shell->term->redisplay; } my $sigaction = POSIX::SigAction->new( \&ctrl_c_handler, $sigset, 0);