about summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2016-06-02 13:29:15 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2016-06-03 02:21:58 +0000
commitf84a5da8c211ca1ee4cc2c656cfae79a598562cb (patch)
tree20899389b7cb3c22f10f51f52e61d417d1c99e73 /Completion
parent713eaa055d3914a06b71fe39581486c5b2bef60a (diff)
downloadzsh-f84a5da8c211ca1ee4cc2c656cfae79a598562cb.tar.gz
zsh-f84a5da8c211ca1ee4cc2c656cfae79a598562cb.tar.xz
zsh-f84a5da8c211ca1ee4cc2c656cfae79a598562cb.zip
38577: _signals: Don't complete SIGEXIT from _kill.
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Unix/Type/_signals13
1 files changed, 8 insertions, 5 deletions
diff --git a/Completion/Unix/Type/_signals b/Completion/Unix/Type/_signals
index 104efd4f4..df9a2f339 100644
--- a/Completion/Unix/Type/_signals
+++ b/Completion/Unix/Type/_signals
@@ -8,12 +8,15 @@
 #
 # A `-' or `--' as the first argument is ignored.
 
-local expl last minus pre sigs
+local expl minus pre sigs
+local first last # keep these as strings for -z/-n tests
 
 zparseopts -D -K -E 'p=minus' 'a=last' 's=pre'
 if [[ -z "$last" ]]; then
+  first=2
   last=-3
 else
+  first=1
   last=-1
 fi
 [[ -n "$minus" ]] && minus='-'
@@ -26,20 +29,20 @@ if [[ -z "$minus" ]] ||
   local disp tmp
 
   if zstyle -t ":completion:${curcontext}:signals" prefix-hidden; then
-    tmp=( "${(@)signals[1,last]}" )
+    tmp=( "${(@)signals[first,last]}" )
     disp=(-d tmp)
   else
     disp=()
   fi
 
   if [[ -n "$pre" && $PREFIX = ${minus}S* ]]; then
-    sigs=( "${minus}SIG${(@)^signals[1,last]}" )
-    (( $#disp )) && tmp=( "$tmp[@]" "${(@)signals[1,last]}" )
+    sigs=( "${minus}SIG${(@)^signals[first,last]}" )
+    (( $#disp )) && tmp=( "$tmp[@]" "${(@)signals[first,last]}" )
   else
     sigs=()
   fi
 
   _wanted signals expl signal \
       compadd "$@" "$disp[@]" -M 'm:{a-z}={A-Z}' - \
-              "${minus}${(@)^signals[1,last]}" "$sigs[@]"
+              "${minus}${(@)^signals[first,last]}" "$sigs[@]"
 fi