about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--Src/Zle/zle_main.c3
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 4287410f6..15448a5a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2001-05-17  Bart Schaefer  <schaefer@zsh.org>
+
+	* 14375: Src/Zle/zle_main.c: Permit signals to be handled during
+	read from the terminal in zleread().  (This changes only nested
+	calls from widgets such as incremental search; signals were never
+	queued for top-level reads.)
+
 2001-05-16  Clint Adams  <clint@zsh.org>
 
 	* 14361, 14362: Completion/Unix/Command/_modutils: use
diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c
index 967cb61b9..1d3f346ab 100644
--- a/Src/Zle/zle_main.c
+++ b/Src/Zle/zle_main.c
@@ -400,7 +400,10 @@ getkey(int keytmout)
 #endif
 	}
 	for (;;) {
+	    int q = queue_signal_level();
+	    dont_queue_signals();
 	    r = read(SHTTY, &cc, 1);
+	    restore_queue_signals(q);
 	    if (r == 1)
 		break;
 	    if (r == 0) {