about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--Completion/Base/Core/_description13
2 files changed, 14 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 24be33402..6d656aa7a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-07-30  Peter Stephenson  <p.w.stephenson@ntlworld.com>
+
+	* users/14267: Completion/Base/Core/_description: files added
+	for the ignore-line style need to be quoted to be treated
+	literally.
+
 2009-07-24  Peter Stephenson  <p.w.stephenson@ntlworld.com>
 
 	* 27188: Doc/Zsh/builtins.yo, Src/builtin.c, Test/B04read.ztst,
@@ -12034,5 +12040,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.4750 $
+* $Revision: 1.4751 $
 *****************************************************
diff --git a/Completion/Base/Core/_description b/Completion/Base/Core/_description
index 593369a0a..3d993271c 100644
--- a/Completion/Base/Core/_description
+++ b/Completion/Base/Core/_description
@@ -49,13 +49,14 @@ if [[ -z "$_comp_no_ignore" ]]; then
 
   zstyle -s ":completion:${curcontext}:$1" ignore-line hidden &&
     case "$hidden" in
-    true|yes|on|1) _comp_ignore=( "$_comp_ignore[@]" "$words[@]" );;
-    current)       _comp_ignore=( "$_comp_ignore[@]" "$words[CURRENT]" );;
-    current-shown) [[ "$compstate[old_list]" = *shown* ]] &&
-                       _comp_ignore=( "$_comp_ignore[@]" "$words[CURRENT]" );;
+    true|yes|on|1) _comp_ignore=( "$_comp_ignore[@]" ${(q)"${words[@]}"} );;
+    current)       _comp_ignore=( "$_comp_ignore[@]" "${(q)words[CURRENT]}" );;
+    current-shown)
+	    [[ "$compstate[old_list]" = *shown* ]] &&
+            _comp_ignore=( "$_comp_ignore[@]" "${(q)words[CURRENT]}" );;
     other)         _comp_ignore=( "$_comp_ignore[@]"
-                                  "${(@)words[1,CURRENT-1]}"
-				  "${(@)words[CURRENT+1,-1]}" );;
+                                  "${(@q)words[1,CURRENT-1]}"
+				  "${(@q)words[CURRENT+1,-1]}" );;
     esac
 
   # Ensure the ignore option is first so we can override it