about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--Completion/Unix/Type/_files2
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 2309d2a84..003de9c54 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-03-19  Peter Stephenson  <pws@csr.com>
+
+	* 27808: Completion/Unix/Type/_files: Use // parameter
+	substitution instead of :gs.  This form is consistent with the
+	rest of the file and has handled quoting correctly for longer.
+
 2010-03-18  Peter Stephenson  <pws@csr.com>
 
 	* unposted: Test/A01grammar.ztst: missed -f option off zsh
@@ -12928,5 +12934,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.4937 $
+* $Revision: 1.4938 $
 *****************************************************
diff --git a/Completion/Unix/Type/_files b/Completion/Unix/Type/_files
index 762ef4eaa..f21d7bc3b 100644
--- a/Completion/Unix/Type/_files
+++ b/Completion/Unix/Type/_files
@@ -90,7 +90,7 @@ fi
 
 tried=()
 for def in "$pats[@]"; do
-  eval "def=( ${${def:gs/\\:/\\\\\\:}//(#b)([][()|*?^#~<>])/\\${match[1]}} )"
+  eval "def=( ${${def//\\:/\\\\\\:}//(#b)([][()|*?^#~<>])/\\${match[1]}} )"
 
   tmp="${(@M)def#*[^\\]:}"
   (( $tried[(I)${(q)tmp}] )) && continue