summaryrefslogtreecommitdiff
path: root/Completion/Base/Utility
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2003-03-13 09:59:48 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2003-03-13 09:59:48 +0000
commit5df8ef1e438e06dbd05368281640836adee88aa6 (patch)
treeb1efb3817b24d244dc4a56c3f0ac831d90e7d907 /Completion/Base/Utility
parent712d39a2c7ce365c63c60d186d826090ed5f3f70 (diff)
downloadzsh-5df8ef1e438e06dbd05368281640836adee88aa6.tar.gz
zsh-5df8ef1e438e06dbd05368281640836adee88aa6.zip
18347: fix problems with having more than one ((val\:desc ...)) style action
Diffstat (limited to 'Completion/Base/Utility')
-rw-r--r--Completion/Base/Utility/_alternative5
1 files changed, 2 insertions, 3 deletions
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.