diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Completion/Base/Utility/_alternative | 5 |
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 25505031c..00677e14c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-03-13 Oliver Kiddle <opk@zsh.org> + + * 18347: Completion/Base/Utility/_alternative: fix problems + with having more than one ((val\:desc ...)) style action + 2003-03-12 Oliver Kiddle <opk@zsh.org> * 18346: Completion/Unix/Command/_cdcd, Completion/Unix/Type/_users, diff --git a/Completion/Base/Utility/_alternative b/Completion/Base/Utility/_alternative index 2f3e2dbc8..c7b71d9bc 100644 --- a/Completion/Base/Utility/_alternative +++ b/Completion/Base/Utility/_alternative @@ -1,7 +1,7 @@ #autoload local tags def expl descr action mesgs nm="$compstate[nmatches]" subopts -local opt curcontext="$curcontext" +local opt ws curcontext="$curcontext" subopts=() while getopts 'O:C:' opt; do @@ -33,13 +33,12 @@ while _tags; do mesgs=( "$mesgs[@]" "${def%%:*}:$descr") elif [[ "$action" = \(\(*\)\) ]]; then - local ws # ((...)) contains literal strings with descriptions. eval ws\=\( "${action[3,-3]}" \) - _describe "$descr" ws -M 'r:|[_-]=* r:|=*' "$subopts[@]" + _describe -t "${def%%:*}" "$descr" ws -M 'r:|[_-]=* r:|=*' "$subopts[@]" elif [[ "$action" = \(*\) ]]; then # Anything inside `(...)' is added directly. |