diff options
| author | Peter Stephenson <pws@users.sourceforge.net> | 2009-08-17 21:52:10 +0000 |
|---|---|---|
| committer | Peter Stephenson <pws@users.sourceforge.net> | 2009-08-17 21:52:10 +0000 |
| commit | 58aefcada3e25ea8fe7b8dcbf820354008f7e591 (patch) | |
| tree | 8ba99eae6fdb666a58602da6a29d5a736f0b7aff /Completion/Unix | |
| parent | 27218: don't unquote $line generated in comparguments for _arguments (diff) | |
| download | zsh-58aefcada3e25ea8fe7b8dcbf820354008f7e591.tar zsh-58aefcada3e25ea8fe7b8dcbf820354008f7e591.tar.gz zsh-58aefcada3e25ea8fe7b8dcbf820354008f7e591.tar.bz2 zsh-58aefcada3e25ea8fe7b8dcbf820354008f7e591.tar.lz zsh-58aefcada3e25ea8fe7b8dcbf820354008f7e591.tar.xz zsh-58aefcada3e25ea8fe7b8dcbf820354008f7e591.tar.zst zsh-58aefcada3e25ea8fe7b8dcbf820354008f7e591.zip | |
27219: _files -F <array> wasn't correctly handled
Diffstat (limited to 'Completion/Unix')
| -rw-r--r-- | Completion/Unix/Type/_files | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Completion/Unix/Type/_files b/Completion/Unix/Type/_files index 4615a60e7..1969a5feb 100644 --- a/Completion/Unix/Type/_files +++ b/Completion/Unix/Type/_files @@ -1,7 +1,7 @@ #compdef -redirect-,-default-,-default- local opts tmp glob pat pats expl tag i def descr end ign ret=1 match tried -local type sdef +local type sdef ignvars ignvar zparseopts -a opts \ '/=tmp' 'f=tmp' 'g+:-=tmp' q n 1 2 P: S: r: R: W: X+: M+: F: J+: V+: @@ -18,14 +18,18 @@ if (( $tmp[(I)-g*] )); then fi tmp=$opts[(I)-F] if (( tmp )); then - ign=( $=opts[tmp+1] ) - if [[ $ign = _comp_ignore ]]; then + ignvars=($=opts[tmp+1]) + if [[ $ignvars = _comp_ignore ]]; then ign=( $_comp_ignore ) else + ign=() + for ignvar in $ignvars; do + ign+=(${(P)ignvar}) + done opts[tmp+1]=_comp_ignore fi else - ign= + ign=() fi if zstyle -a ":completion:${curcontext}:" file-patterns tmp; then |
