From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16262 invoked from network); 17 Feb 2000 09:12:38 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 17 Feb 2000 09:12:38 -0000 Received: (qmail 26003 invoked by alias); 17 Feb 2000 09:12:30 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 9768 Received: (qmail 25996 invoked from network); 17 Feb 2000 09:12:29 -0000 Date: Thu, 17 Feb 2000 10:12:28 +0100 (MET) Message-Id: <200002170912.KAA20787@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk Subject: PATCH: file completion This was broken again when completing to the name of an empty directory (if the word from the line ended with a slash). Bye Sven diff -ru ../z.old/Completion/Core/_path_files Completion/Core/_path_files --- ../z.old/Completion/Core/_path_files Wed Feb 16 17:42:57 2000 +++ Completion/Core/_path_files Thu Feb 17 10:10:25 2000 @@ -253,6 +253,7 @@ # Get the matching files by globbing. + tmp2=( "$tmp1[@]" ) if [[ "$tpre$tsuf" = */* ]]; then if [[ ! -o globdots && "$PREFIX" = .* ]]; then tmp1=( ${^tmp1}${skipped}*(-/) ${^tmp1}${skipped}.*(-/) ) @@ -287,7 +288,6 @@ # See which of them match what's on the line. if [[ -n "$_comp_correct" ]]; then - tmp2=( "$tmp1[@]" ) builtin compadd -D tmp1 -F _comp_ignore "$matcher[@]" - "${(@)tmp1:t}" if [[ $#tmp1 -eq 0 ]]; then @@ -333,6 +333,7 @@ # if none of the patterns match. if [[ -z "$tpre$tsuf" && -n "$pre$suf" ]]; then + tmp1=( "$tmp2[@]" ) pfxsfx=(-S '' "$pfxsfx[@]") break elif [[ "$haspats" = no && -z "$tpre$tsuf" && @@ -382,7 +383,7 @@ # There are more components, so skip over the next components and make a # slash be added. - tmp2="${(M)tpre##((.|..|)/)##}" ### + tmp2="${(M)tpre##((.|..|)/)##}" if [[ -n "$tmp2" ]]; then skipped="/$tmp2" tpre="${tpre#$tmp2}" -- Sven Wischnowsky wischnow@informatik.hu-berlin.de