From 3896f72f4d4364af53a2ec3be727cf288e917949 Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Tue, 1 Aug 2000 07:18:43 +0000 Subject: make $compcontext more powerful and easier to use for simple cases (12449) --- ChangeLog | 6 ++++++ Completion/Base/_arguments | 7 ++++--- Completion/Base/_values | 5 +++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index a9a53289b..f32ad904e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2000-08-01 Sven Wischnowsky + + * 12449: Completion/Base/_arguments, Completion/Base/_values, + Completion/Core/_complete, Doc/Zsh/compsys.yo: make $compcontext + more powerful and easier to use for simple cases + 2000-07-31 Peter Stephenson * Config/version.mk: 3.1.9-dev-4. diff --git a/Completion/Base/_arguments b/Completion/Base/_arguments index 4f33048e0..6d09871df 100644 --- a/Completion/Base/_arguments +++ b/Completion/Base/_arguments @@ -270,8 +270,9 @@ if (( $# )) && comparguments -i "$autod" "$@"; then # Anything inside `(...)' is added directly. - _all_labels "$subc" expl "$descr" \ - compadd "$subopts[@]" - ${=action[2,-2]} + eval ws\=\( "${action[2,-2]}" \) + + _all_labels "$subc" expl "$descr" compadd "$subopts[@]" -a - ws tried=yes elif [[ "$action" = \{*\} ]]; then @@ -294,7 +295,7 @@ if (( $# )) && comparguments -i "$autod" "$@"; then # Otherwise we call it with the description-arguments. - set -A action ${=~action} + eval "action=( $action )" while _next_label "$subc" expl "$descr"; do "$action[1]" "$subopts[@]" "$expl[@]" "${(@)action[2,-1]}" done diff --git a/Completion/Base/_values b/Completion/Base/_values index 39c8df201..cb90ed578 100644 --- a/Completion/Base/_values +++ b/Completion/Base/_values @@ -119,8 +119,9 @@ if compvalues -i "$@"; then # Anything inside `(...)' is added directly. - _all_labels arguments expl "$descr" \ - compadd "$subopts[@]" - ${=action[2,-2]} + eval ws\=\( "${action[2,-2]}" \) + + _all_labels arguments expl "$descr" compadd "$subopts[@]" -a - ws elif [[ "$action" = \{*\} ]]; then # A string in braces is evaluated. -- cgit 1.4.1