diff --git a/ChangeLog b/ChangeLog index d277ede21..ac8524bd0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2018-12-17 dana + + * 43928: Completion/Base/Utility/_alternative: Evaluate (...) + action syntax as with _arguments + 2018-12-21 Bart Schaefer * 43921: ${\var} should be an error diff --git a/Completion/Base/Utility/_alternative b/Completion/Base/Utility/_alternative index bfb34a604..3c61d1125 100644 --- a/Completion/Base/Utility/_alternative +++ b/Completion/Base/Utility/_alternative @@ -43,8 +43,10 @@ while _tags; do # Anything inside `(...)' is added directly. + eval ws\=\( "${action[2,-2]}" \) + _all_labels "${def%%:*}" expl "$descr" \ - compadd "$subopts[@]" - ${=action[2,-2]} + compadd "$subopts[@]" -a - ws elif [[ "$action" = \{*\} ]]; then # A string in braces is evaluated.