summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--Completion/Unix/Type/_path_files3
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 745ce27dd..1f8f42a72 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-02-25  Peter Stephenson  <p.w.stephenson@ntlworld.com>
+
+	* 26606: Completion/Unix/Type/_path_files: fix doubled -s
+	in path completion in certain cases.
+
 2009-02-25  Peter Stephenson  <pws@csr.com>
 
 	* Src/hist.c: 26602: history substitution buffer could overflow
@@ -11237,5 +11242,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.4579 $                         
+* $Revision: 1.4580 $                         
 *****************************************************
diff --git a/Completion/Unix/Type/_path_files b/Completion/Unix/Type/_path_files
index 71969d37b..2ce2c0cb2 100644
--- a/Completion/Unix/Type/_path_files
+++ b/Completion/Unix/Type/_path_files
@@ -666,14 +666,13 @@ for prepath in "$prepaths[@]"; do
 	# We are inserting the match into the command line.
         if [[ "$tmp3" = */* ]]; then
 	  tmp4=( $Uopt -Qf "$mopts[@]" -p "${Uopt:+$IPREFIX}$linepath$tmp2"
-	         -s "${Uopt:+$ISUFFIX}"
 	         -W "$prepath$realpath$testpath"
 	         "$pfxsfx[@]" $Mopts )
 	  if [[ -z "$listsfx" ]]; then
             for i in "$tmp1[@]"; do
 	      tmpdisp=("${i%%/*}")
 	      _list_files tmpdisp "$prepath$realpath$testpath"
-	      compadd "$tmp4[@]" -s "/${i#*/}" $listopts - "$tmpdisp"
+	      compadd "$tmp4[@]" -s "/${i#*/}${Uopt:+$ISUFFIX}" $listopts - "$tmpdisp"
 	    done
           else
             [[ -n "$compstate[pattern_match]" ]] && SUFFIX="${SUFFIX:s./.*/}*"