Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

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@xxxxxxxxxxxxxxxxxxxxxxx



Messages sorted by: Reverse Date, Date, Thread, Author