From 5fc256c9876a36bc7d9c7c30261249e9ea189253 Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Wed, 8 Sep 1999 09:36:40 +0000 Subject: zsh-workers/7716 --- Completion/Core/_complete | 2 +- Completion/Core/_normal | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'Completion/Core') diff --git a/Completion/Core/_complete b/Completion/Core/_complete index 9b6311100..6affdba2a 100644 --- a/Completion/Core/_complete +++ b/Completion/Core/_complete @@ -31,7 +31,7 @@ fi # For arguments and command names we use the `_normal' function. if [[ "$compstate[context]" = command ]]; then - _normal + _normal -s else # Let's see if we have a special completion definition for the other # possible contexts. diff --git a/Completion/Core/_normal b/Completion/Core/_normal index 2b53e0b02..e8b5fc146 100644 --- a/Completion/Core/_normal +++ b/Completion/Core/_normal @@ -2,6 +2,13 @@ local comp command cmd1 cmd2 pat val name i ret=1 _compskip="$_compskip" +# If we get the option `-s', we don't reset `_compskip'. This ensures +# that a value set in the function for the `-first-' context is kept, +# but that we still use pattern functions when we were called form +# another completion function. + +[[ "$1" = -s ]] || _compskip='' + # Completing in command position? If not we set up `cmd1' and `cmd2' as # two strings we have to search in the completion definition arrays (e.g. # a path and the last path name component). -- cgit 1.4.1