about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBart Schaefer <barts@users.sourceforge.net>2008-10-15 06:10:02 +0000
committerBart Schaefer <barts@users.sourceforge.net>2008-10-15 06:10:02 +0000
commit3482e2dc8bea48fa7b94717de45dfeb8eff76156 (patch)
treeb93c1071ce22a379434ccda049718df39510249a
parentd6c692599f0838e9d6fe240ba958a7205042191b (diff)
downloadzsh-3482e2dc8bea48fa7b94717de45dfeb8eff76156.tar.gz
zsh-3482e2dc8bea48fa7b94717de45dfeb8eff76156.tar.xz
zsh-3482e2dc8bea48fa7b94717de45dfeb8eff76156.zip
25887: fix brace completion oddity by using compadd -U more selectively.
-rw-r--r--Completion/Unix/Type/_path_files16
1 files changed, 8 insertions, 8 deletions
diff --git a/Completion/Unix/Type/_path_files b/Completion/Unix/Type/_path_files
index 864aec8b9..018a1ded8 100644
--- a/Completion/Unix/Type/_path_files
+++ b/Completion/Unix/Type/_path_files
@@ -7,7 +7,7 @@ local linepath realpath donepath prepath testpath exppath skips skipped
 local tmp1 tmp2 tmp3 tmp4 i orig eorig pre suf tpre tsuf opre osuf cpre
 local pats haspats ignore pfx pfxsfx sopt gopt opt sdirs ignpar cfopt listsfx
 local nm=$compstate[nmatches] menu matcher mopts sort mid accex fake
-local listfiles listopts tmpdisp origtmp1
+local listfiles listopts tmpdisp origtmp1 Uopt
 integer npathcheck
 local -a match mbegin mend
 
@@ -209,7 +209,7 @@ eorig="$orig"
 [[ $compstate[insert] = (*menu|[0-9]*) || -n "$_comp_correct" ||
    ( -n "$compstate[pattern_match]" &&
      "${orig#\~}" != (|*[^\\])[][*?#~^\|\<\>]* ) ]] && menu=yes
-[[ -n "$_comp_correct" ]] && cfopt=-
+[[ -n "$_comp_correct" ]] && cfopt=- Uopt=-U
 
 # Now let's have a closer look at the string to complete.
 
@@ -612,7 +612,7 @@ for prepath in "$prepaths[@]"; do
 	    # back up the path.
 	    tmp1=("${(@)tmp1%%/*}")
 	    _list_files tmp1 "$prepath$realpath$testpath"
-	    compadd -U -Qf "$mopts[@]" -p "$IPREFIX$linepath$tmp2" \
+	    compadd $Uopt -Qf "$mopts[@]" -p "$IPREFIX$linepath$tmp2" \
 	            -s "/${tmp3#*/}$ISUFFIX" \
 	            -W "$prepath$realpath$testpath" \
 		    "$pfxsfx[@]" \
@@ -622,7 +622,7 @@ for prepath in "$prepaths[@]"; do
 	    # Same with a non-empty suffix
 	    tmp1=("${(@)^tmp1%%/*}/${tmp3#*/}")
 	    _list_files tmp1 "$prepath$realpath$testpath"
-	    compadd -U -Qf "$mopts[@]" -p "$IPREFIX$linepath$tmp2" \
+	    compadd $Uopt -Qf "$mopts[@]" -p "$IPREFIX$linepath$tmp2" \
 	            -s "$ISUFFIX" \
 	            -W "$prepath$realpath$testpath" \
 		    "$pfxsfx[@]" \
@@ -631,7 +631,7 @@ for prepath in "$prepaths[@]"; do
           fi
 	else
 	  _list_files tmp1 "$prepath$realpath$testpath"
-	  compadd -U -Qf "$mopts[@]" -p "$IPREFIX$linepath$tmp2" \
+	  compadd $Uopt -Qf "$mopts[@]" -p "$IPREFIX$linepath$tmp2" \
 	          -s "$ISUFFIX" \
 	          -W "$prepath$realpath$testpath" \
 		   "$pfxsfx[@]" \
@@ -661,7 +661,7 @@ for prepath in "$prepaths[@]"; do
           fi
         else
 	  _list_files tmp1 "$prepath$realpath$testpath"
-	  compadd -U -Qf "$mopts[@]" -p "$IPREFIX$linepath$tmp2" \
+	  compadd $Uopt -Qf "$mopts[@]" -p "$IPREFIX$linepath$tmp2" \
 	          -s "$ISUFFIX" \
                   -W "$prepath$realpath$testpath" \
 		  "$pfxsfx[@]" \
@@ -730,7 +730,7 @@ for prepath in "$prepaths[@]"; do
       compquote tmp4 tmp2 tmp1
       for i in "$tmp1[@]"; do
 	_list_files tmp2 "$prepath$realpath${mid%/*/}"
-        compadd -U -Qf "$mopts[@]" -p "$IPREFIX$linepath$tmp3/" \
+        compadd $Uopt -Qf "$mopts[@]" -p "$IPREFIX$linepath$tmp3/" \
 	        -s "/$tmp4$i$ISUFFIX" \
                 -W "$prepath$realpath${mid%/*/}/" \
 	        "$pfxsfx[@]" $listopts - "$tmp2"
@@ -761,7 +761,7 @@ for prepath in "$prepaths[@]"; do
       else
 	# Not a pattern match
 	_list_files tmp1 "$prepath$realpath$testpath"
-        compadd -U -Qf -p "$IPREFIX$linepath$tmp4" \
+        compadd $Uopt -Qf -p "$IPREFIX$linepath$tmp4" \
 	        -s "$ISUFFIX" \
 	        -W "$prepath$realpath$testpath" \
 	        "$pfxsfx[@]" "$mopts[@]" $listopts -a tmp1