summary refs log tree commit diff
path: root/Src/Zle/complist.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@zsh.org>2016-01-15 12:49:42 +0000
committerPeter Stephenson <pws@zsh.org>2016-01-15 12:49:42 +0000
commit1d8b5285226afba4f1ef9030cf862c14b975c284 (patch)
tree0aa8503873ae04dafee2ea521e8bffe76d437bf6 /Src/Zle/complist.c
parentda71967273150c318c8cb7dc9fb2c51d11adb827 (diff)
downloadzsh-1d8b5285226afba4f1ef9030cf862c14b975c284.tar.gz
zsh-1d8b5285226afba4f1ef9030cf862c14b975c284.tar.xz
zsh-1d8b5285226afba4f1ef9030cf862c14b975c284.zip
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.
Diffstat (limited to 'Src/Zle/complist.c')
-rw-r--r--Src/Zle/complist.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c
index 29aaee82a..0ccb88505 100644
--- a/Src/Zle/complist.c
+++ b/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;