From d00f73c3672b2783f14e3a27b35d34c218657506 Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Thu, 12 Aug 1999 21:25:12 +0000 Subject: zsh-workers/7420 --- Completion/Core/_normal | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'Completion/Core/_normal') diff --git a/Completion/Core/_normal b/Completion/Core/_normal index 6da653021..d4e948e41 100644 --- a/Completion/Core/_normal +++ b/Completion/Core/_normal @@ -29,17 +29,19 @@ fi # See if there are any matching pattern completions. -for i in "$_patcomps[@]"; do - pat="${i% *}" - val="${i#* }" - if [[ "$cmd1" == $~pat || "$cmd2" == $~pat ]]; then - "$val" && ret=0 - if (( $+_compskip )); then - unset _compskip - return ret +if [[ "$_compskip" != *patterns* ]]; then + for i in "$_patcomps[@]"; do + pat="${i% *}" + val="${i#* }" + if [[ "$cmd1" == $~pat || "$cmd2" == $~pat ]]; then + "$val" && ret=0 + if [[ "$_compskip" = *patterns* || "$_compskip" = all ]]; then + unset _compskip + return ret + fi fi - fi -done + done +fi # Now look up the two names in the normal completion array. @@ -54,9 +56,15 @@ fi # And generate the matches, probably using default completion. if [[ -z "$comp" ]]; then + if [[ "$_compskip" = *default* ]]; then + unset _compskip + return 1 + fi name=-default- comp="$_comps[-default-]" fi [[ -z "$comp" ]] || "$comp" && ret=0 +unset _compskip + return ret -- cgit 1.4.1