From e6cc1ece7fed93fd31ca4e7f7726de034ede887c Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Tue, 15 Feb 2000 09:07:09 +0000 Subject: zsh-workers/9731 --- Completion/Core/_path_files | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'Completion/Core/_path_files') diff --git a/Completion/Core/_path_files b/Completion/Core/_path_files index 07e75052f..62c52e3c4 100644 --- a/Completion/Core/_path_files +++ b/Completion/Core/_path_files @@ -290,7 +290,7 @@ for prepath in "$prepaths[@]"; do tmp2=( "$tmp1[@]" ) builtin compadd -D tmp1 -F _comp_ignore "$matcher[@]" - "${(@)tmp1:t}" - if [[ $#tmp1 -eq 0 && -n "$_comp_correct" ]]; then + if [[ $#tmp1 -eq 0 ]]; then tmp1=( "$tmp2[@]" ) compadd -D tmp1 -F _comp_ignore "$matcher[@]" - "${(@)tmp2:t}" fi @@ -334,7 +334,7 @@ for prepath in "$prepaths[@]"; do if [[ -z "$tpre$tsuf" && -n "$pre$suf" ]]; then pfxsfx=(-S '' "$pfxsfx[@]") - break; + break elif [[ "$haspats" = no && -z "$tpre$tsuf" && "$pre" = */ && -z "$suf" ]]; then PREFIX="${opre}" @@ -352,8 +352,8 @@ for prepath in "$prepaths[@]"; do if [[ "$rem" = *parent* ]]; then for i in ${(M)^tmp1:#*/*}(-/); do remt="${${i#$prepath$realpath$donepath}%/*}" - while [[ "$remt" = */* ]]; do - [[ "$prepath$realpath$donepath$remt" -ef "$i" ]] && break + while [[ "$remt" = */* && + ! "$prepath$realpath$donepath$remt" -ef "$i" ]]; do remt="${remt%/*}" done [[ "$remt" = */* || "$remt" -ef "$i" ]] && @@ -406,9 +406,7 @@ for prepath in "$prepaths[@]"; do if [[ "$tmp3" = */* ]]; then tmp4=( "${(@M)tmp1:#${tmp3%%/*}/*}" ) - if (( $#tmp4 )); then - tmp1=( "$tmp4[@]" ) - fi + (( $#tmp4 )) && tmp1=( "$tmp4[@]" ) fi # Next we see if this component is ambiguous. -- cgit 1.4.1