about summary refs log tree commit diff
path: root/Completion/Core/_alternative
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>2000-03-24 00:53:26 +0000
committerTanaka Akira <akr@users.sourceforge.net>2000-03-24 00:53:26 +0000
commitc9e0760f68994a0222f9b17d2c3f4ea0da337b98 (patch)
tree3851d688be4ede60ffeb1c3ac0ac118592cf76e1 /Completion/Core/_alternative
parente955563c02a7cf891ff950121a099855e82d867f (diff)
downloadzsh-c9e0760f68994a0222f9b17d2c3f4ea0da337b98.tar.gz
zsh-c9e0760f68994a0222f9b17d2c3f4ea0da337b98.tar.xz
zsh-c9e0760f68994a0222f9b17d2c3f4ea0da337b98.zip
manual/10204
Diffstat (limited to 'Completion/Core/_alternative')
-rw-r--r--Completion/Core/_alternative8
1 files changed, 6 insertions, 2 deletions
diff --git a/Completion/Core/_alternative b/Completion/Core/_alternative
index 482e9db51..3267ffeb7 100644
--- a/Completion/Core/_alternative
+++ b/Completion/Core/_alternative
@@ -50,13 +50,17 @@ while _tags; do
 
         # A string in braces is evaluated.
 
-        _loop "${def%%:*}" expl "$descr" eval "$action[2,-2]"
+        while _try "${def%%:*}" expl "$descr"; do
+          eval "$action[2,-2]"
+        done
       elif [[ "$action" = \ * ]]; then
 
         # If the action starts with a space, we just call it.
 
         eval "action=( $action )"
-        _loop "${def%%:*}" expl "$descr" "$action[@]"
+        while _try "${def%%:*}" expl "$descr"; do
+          "$action[@]"
+        done
       else
 
         # Otherwise we call it with the description-arguments built above.