From 5449458e5a1f3cafd04c1a5bac25f9d64ecb9b91 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Thu, 30 Jul 2009 19:01:56 +0000 Subject: users/14267: files added by ignore-line should be quoted --- ChangeLog | 8 +++++++- Completion/Base/Core/_description | 13 +++++++------ 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 + + * 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 * 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 -- cgit 1.4.1