zsh: backport patch zsh/37643

Fixes the disappearance of the prompt when cancelling menu-based tab
completion.
This commit is contained in:
Dominik Honnef 2016-06-20 23:53:13 +02:00
parent 7ba1e09b94
commit 78c410f9c4
2 changed files with 30 additions and 1 deletions

View File

@ -0,0 +1,29 @@
commit 1d8b5285226afba4f1ef9030cf862c14b975c284
Author: Peter Stephenson <pws@zsh.org>
Date: Fri Jan 15 12:49:42 2016 +0000
37643: Reset interrupt on key input in menu selection.
We don't need to propagate the interrupt further as the interrupt
causes the key to be empty, which will exit the widget. We
need to reset the condition as zrefresh() is now more sensitive
to errors since 36416 / 32f5d3d8.
diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c
index 29aaee8..0ccb885 100644
--- Src/Zle/complist.c
+++ Src/Zle/complist.c
@@ -2584,6 +2584,12 @@ domenuselect(Hookdef dummy, Chdata dat)
if (!do_last_key) {
zmult = 1;
cmd = getkeycmd();
+ /*
+ * On interrupt, we'll exit due to cmd being empty.
+ * Don't propagate the interrupt any further, which
+ * can screw up redrawing.
+ */
+ errflag &= ~ERRFLAG_INT;
if (mtab_been_reallocated) {
do_last_key = 1;
continue;

View File

@ -1,7 +1,7 @@
# Template file for 'zsh' # Template file for 'zsh'
pkgname=zsh pkgname=zsh
version=5.2 version=5.2
revision=2 revision=3
lib32disabled=yes lib32disabled=yes
build_style=gnu-configure build_style=gnu-configure
make_build_target="all info" make_build_target="all info"