about summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
authorBart Schaefer <barts@users.sourceforge.net>2011-06-05 16:47:44 +0000
committerBart Schaefer <barts@users.sourceforge.net>2011-06-05 16:47:44 +0000
commit7598220496a3dac606ea6399b3280dff573a4122 (patch)
treea9efa5c82a2e16369e95527122cedc18e93d344e /Completion
parentc0d2cb5d025290efd0301bce4ddb7ad23c129eae (diff)
downloadzsh-7598220496a3dac606ea6399b3280dff573a4122.tar.gz
zsh-7598220496a3dac606ea6399b3280dff573a4122.tar.xz
zsh-7598220496a3dac606ea6399b3280dff573a4122.zip
29444: when _path_files is called with a pattern to match directories, do
not descend into subdirectories for fake-files unless some are defined
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Unix/Type/_path_files2
1 files changed, 1 insertions, 1 deletions
diff --git a/Completion/Unix/Type/_path_files b/Completion/Unix/Type/_path_files
index 858fe3f74..a8d03efa9 100644
--- a/Completion/Unix/Type/_path_files
+++ b/Completion/Unix/Type/_path_files
@@ -438,7 +438,7 @@ for prepath in "$prepaths[@]"; do
 
     tmp2=( "$tmp1[@]" )
 
-    if [[ "$tpre$tsuf" = */* ]]; then
+    if [[ "$tpre$tsuf" = (#b)*/(*) && -n "$fake${match[1]}" ]]; then
       compfiles -P$cfopt tmp1 accex "$skipped" "$_matcher $matcher[2]" "$sdirs" fake
     elif [[ "$sopt" = *[/f]* ]]; then
       compfiles -p$cfopt tmp1 accex "$skipped" "$_matcher $matcher[2]" "$sdirs" fake "$pats[@]"