diff options
author | Bart Schaefer <barts@users.sourceforge.net> | 2011-06-05 16:47:44 +0000 |
---|---|---|
committer | Bart Schaefer <barts@users.sourceforge.net> | 2011-06-05 16:47:44 +0000 |
commit | 7598220496a3dac606ea6399b3280dff573a4122 (patch) | |
tree | a9efa5c82a2e16369e95527122cedc18e93d344e | |
parent | c0d2cb5d025290efd0301bce4ddb7ad23c129eae (diff) | |
download | zsh-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
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | Completion/Unix/Type/_path_files | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 45faa0016..64971a413 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,13 @@ * unposted: Functions/Zle/move-line-in-buffer: clean the funny characters out of move-line-in-buffer. +2011-06-04 Barton E. Schaefer <schaefer@zsh.org> + + * 29444: Completion/Unix/Type/_path_files: when called with a + pattern to match directories, as from _files with list-dirs-first, + do not descend into subdirectories looking for fake files unless + some fake files have been defined. + 2011-06-04 Peter Stephenson <p.w.stephenson@ntlworld.com> * Completion/Zsh/Context/_brace_parameter, Src/Zle/compcore.c @@ -14963,5 +14970,5 @@ ***************************************************** * This is used by the shell to define $ZSH_PATCHLEVEL -* $Revision: 1.5363 $ +* $Revision: 1.5364 $ ***************************************************** 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[@]" |