diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Completion/Unix/Command/_chmod | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 05d331db5..9299afc70 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2014-01-05 Peter Stephenson <p.w.stephenson@ntlworld.com> + * Jun T: 32231: Completion/Unix/Command/_chmod: was confused by + options before the mode argument. + * Axel Beckert: 32229: LICENCE: was not correctly referring to Gnu General Public License. diff --git a/Completion/Unix/Command/_chmod b/Completion/Unix/Command/_chmod index 6cb310d57..5d3cb2c78 100644 --- a/Completion/Unix/Command/_chmod +++ b/Completion/Unix/Command/_chmod @@ -57,12 +57,12 @@ case "$state" in zmodload -F zsh/stat b:zstat 2>/dev/null typeset -i8 ref=$(zstat +mode $opt_args[--reference]) _wanted files expl file _files -g "*(-.^f${ref#??})" && ret=0 - elif [[ $words[2] = [0-7]## ]]; then - _wanted files expl file _files -g "*(-.^f$words[2])" && ret=0 + elif [[ $line[1] = [0-7]## ]]; then + _wanted files expl file _files -g "*(-.^f$line[1])" && ret=0 else local spec who op priv local -a specs - for spec in ${(s:,:)words[2]}; do + for spec in ${(s:,:)line[1]}; do if [[ ${spec#*[+-=]} != [rwxst]## ]]; then _files && ret=0 return ret |