diff options
Diffstat (limited to 'Completion/Base')
-rw-r--r-- | Completion/Base/_arguments | 7 | ||||
-rw-r--r-- | Completion/Base/_values | 5 |
2 files changed, 7 insertions, 5 deletions
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. |