summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
authorJun T <takimoto-j@kba.biglobe.ne.jp>2014-04-15 20:59:27 -0700
committerBarton E. Schaefer <schaefer@zsh.org>2014-04-15 20:59:27 -0700
commitd9935915b73082c70d543ea098ecea9e95068659 (patch)
treec7588926be7e4854ca27b258f96a251775efe739 /Completion
parent31e2ae380a8ab9d49345294e70842a64cb565432 (diff)
downloadzsh-d9935915b73082c70d543ea098ecea9e95068659.tar.gz
zsh-d9935915b73082c70d543ea098ecea9e95068659.tar.xz
zsh-d9935915b73082c70d543ea098ecea9e95068659.zip
32546: better handling of ignored files with _path_files -W prefixes
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Unix/Type/_path_files5
1 files changed, 3 insertions, 2 deletions
diff --git a/Completion/Unix/Type/_path_files b/Completion/Unix/Type/_path_files
index aa58ea09b..85feae54c 100644
--- a/Completion/Unix/Type/_path_files
+++ b/Completion/Unix/Type/_path_files
@@ -564,9 +564,10 @@ for prepath in "$prepaths[@]"; do
           ( "$ignpar" != *dir* || "$pats" = '*(-/)' ) &&
           ( "$ignpar" != *..* || "$tmp1[1]" = *../* ) ]]; then
 
-      compfiles -i tmp1 _comp_ignore "$ignpar" "$prepath$realpath$donepath"
+      compfiles -i tmp1 ignore "$ignpar" "$prepath$realpath$donepath"
+      _comp_ignore+=( ${(@)ignore#$prepath$realpath$donepath} )
 
-      (( $#_comp_ignore && $mopts[(I)-F] )) ||
+      (( $#_comp_ignore && ! $mopts[(I)-F] )) &&
           mopts=( "$mopts[@]" -F _comp_ignore )
     fi