about summary refs log tree commit diff
path: root/Src/Zle/zle_main.c
diff options
context:
space:
mode:
authorBarton E. Schaefer <schaefer@zsh.org>2016-10-03 09:40:39 -0700
committerBarton E. Schaefer <schaefer@zsh.org>2016-10-03 09:40:39 -0700
commitccc0b6f8a625357cbae9dfd4a685b9323e09c13f (patch)
treea83299ca9e8d4e3b52663cc009e22d4e536ded1a /Src/Zle/zle_main.c
parent4abbb4b4739598c50973593d2787696116e49fcf (diff)
downloadzsh-ccc0b6f8a625357cbae9dfd4a685b9323e09c13f.tar.gz
zsh-ccc0b6f8a625357cbae9dfd4a685b9323e09c13f.tar.xz
zsh-ccc0b6f8a625357cbae9dfd4a685b9323e09c13f.zip
39550: reset signal queue in recursiveedit()
Diffstat (limited to 'Src/Zle/zle_main.c')
-rw-r--r--Src/Zle/zle_main.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c
index 4b47d6072..04b93575f 100644
--- a/Src/Zle/zle_main.c
+++ b/Src/Zle/zle_main.c
@@ -1868,11 +1868,17 @@ int
 recursiveedit(UNUSED(char **args))
 {
     int locerror;
+    int q = queue_signal_level();
+
+    /* zlecore() expects to be entered with signal queue disabled */
+    dont_queue_signals();
 
     redrawhook();
     zrefresh();
     zlecore();
 
+    restore_queue_signals(q);
+
     locerror = errflag ? 1 : 0;
     errflag = done = eofsent = 0;