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
This commit is contained in:
docelic@crystallabs.io 2019-05-16 00:17:03 +00:00
parent 2529c59c44
commit 0693bcf458

View file

@ -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);