From 0f2250de44f1d753d7d9dc7e0d4f8927137bd956 Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Thu, 5 Oct 2000 07:31:00 +0000 Subject: [PATCH] complete after autoloaded directories (a rather ugly hack); remove old code in _files (comma separated patterns); improve docs for fake style and for comma separated qualifier lists (12892) --- ChangeLog | 8 ++++++++ Completion/Core/_files | 2 +- Completion/Core/_path_files | 4 ++++ Doc/Zsh/compsys.yo | 5 +++-- Doc/Zsh/expn.yo | 6 +++++- 5 files changed, 21 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 410817ef3..db80affc3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2000-10-05 Sven Wischnowsky + + * 12892: Completion/Core/_files, Completion/Core/_path_files, + Doc/Zsh/compsys.yo, Doc/Zsh/expn.yo: complete after autoloaded + directories (a rather ugly hack); remove old code in _files (comma + separated patterns); improve docs for fake style and for comma + separated qualifier lists + 2000-10-04 Tanaka Akira * 12886: Completion/User/_cvs: make _cvs_vendor_branches to handle diff --git a/Completion/Core/_files b/Completion/Core/_files index 96bdbe0e7..8d2b245d0 100644 --- a/Completion/Core/_files +++ b/Completion/Core/_files @@ -55,7 +55,7 @@ for def in "$pats[@]"; do for sdef in "$def[@]"; do tag="${${sdef#*[^\\]:}%%:*}" - pat="${${${sdef%%:${tag}*}//\\:/:}//,/ }" + pat="${${sdef%%:${tag}*}//\\:/:}" (( $tried[(I)${(q)pat}] )) && continue diff --git a/Completion/Core/_path_files b/Completion/Core/_path_files index 23d32cc0f..b9f578860 100644 --- a/Completion/Core/_path_files +++ b/Completion/Core/_path_files @@ -315,6 +315,10 @@ for prepath in "$prepaths[@]"; do SUFFIX="${tsuf%%/*}" fi + # Force auto-mounting. There might be a better way... + + : ${^tmp1}/${PREFIX}${SUFFIX}/.(N/) + # Get the matching files by globbing. if [[ "$tpre$tsuf" = */* ]]; then diff --git a/Doc/Zsh/compsys.yo b/Doc/Zsh/compsys.yo index 6715c091f..75eedcc9e 100644 --- a/Doc/Zsh/compsys.yo +++ b/Doc/Zsh/compsys.yo @@ -1010,9 +1010,10 @@ components after the first ambiguous one. ) kindex(fake, completion style) item(tt(fake))( -Currently, this style is only used when completing files and lookup up +Currently, this style is only used when completing files and looked up with the tag tt(files). Its values are of the form -`var(dir)tt(:)var(names...)'. This will add the var(names) as +`var(dir)tt(:)var(names...)'. This will add the var(names) (strings +separated by spaces) as possible matches when completing in the directory var(dir), even if no such files really exist. diff --git a/Doc/Zsh/expn.yo b/Doc/Zsh/expn.yo index 91b78b7fd..9c6c9e54e 100644 --- a/Doc/Zsh/expn.yo +++ b/Doc/Zsh/expn.yo @@ -1748,7 +1748,11 @@ enditem() More than one of these lists can be combined, separated by commas. The whole list matches if at least one of the sublists matches (they are -`or'ed, the qualifiers in the sublists are `and'ed). +`or'ed, the qualifiers in the sublists are `and'ed). Some qualifiers, +however, affect all matches generated, independent of the sublist in +which they are given. These are the qualifiers `tt(M)', `tt(T)', +`tt(N)', `tt(D)', `tt(n)', `tt(o)', `tt(O)' and the subscripts given +in brackets (`tt([...])'). If a `tt(:)' appears in a qualifier list, the remainder of the expression in parenthesis is interpreted as a modifier (see noderef(Modifiers)