about summary refs log tree commit diff
path: root/Completion/Base
diff options
context:
space:
mode:
authorPeter Stephenson <pws@zsh.org>2014-12-05 17:06:28 +0000
committerPeter Stephenson <pws@zsh.org>2014-12-05 17:06:28 +0000
commitb4a198cdda3d499af4e2b4f4a2279f98c8d07433 (patch)
tree86e8cbecffba66db5683f222982f877d20fda385 /Completion/Base
parent231cbbc5b12f9d7135fea1e9015c100dffba91e0 (diff)
downloadzsh-b4a198cdda3d499af4e2b4f4a2279f98c8d07433.tar.gz
zsh-b4a198cdda3d499af4e2b4f4a2279f98c8d07433.tar.xz
zsh-b4a198cdda3d499af4e2b4f4a2279f98c8d07433.zip
33859: Fix traps in completion
We need to use a function-style trap in order for the effect of the
interrupt to propagate back correctly.
Diffstat (limited to 'Completion/Base')
-rw-r--r--Completion/Base/Core/_main_complete7
1 files changed, 5 insertions, 2 deletions
diff --git a/Completion/Base/Core/_main_complete b/Completion/Base/Core/_main_complete
index fcd63664e..91b68fe5d 100644
--- a/Completion/Base/Core/_main_complete
+++ b/Completion/Base/Core/_main_complete
@@ -128,8 +128,11 @@ _completer_num=1
 
 # We assume localtraps to be in effect here ...
 integer SECONDS=0
-trap 'zle -M "Killed by signal in ${funcstack[1]} after ${SECONDS}s";
-      zle -R; return 130' INT QUIT
+TRAPINT TRAPQUIT() {
+  zle -M "Killed by signal in ${funcstack[1]} after ${SECONDS}s";
+  zle -R
+  return 130
+}
 
 # Call the pre-functions.