about summary refs log tree commit diff
path: root/Completion/Base
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/Base
parente955563c02a7cf891ff950121a099855e82d867f (diff)
downloadzsh-c9e0760f68994a0222f9b17d2c3f4ea0da337b98.tar.gz
zsh-c9e0760f68994a0222f9b17d2c3f4ea0da337b98.tar.xz
zsh-c9e0760f68994a0222f9b17d2c3f4ea0da337b98.zip
manual/10204
Diffstat (limited to 'Completion/Base')
-rw-r--r--Completion/Base/_arguments9
-rw-r--r--Completion/Base/_values9
2 files changed, 12 insertions, 6 deletions
diff --git a/Completion/Base/_arguments b/Completion/Base/_arguments
index 9a133617c..03f695629 100644
--- a/Completion/Base/_arguments
+++ b/Completion/Base/_arguments
@@ -236,14 +236,17 @@ if (( $# )) && comparguments -i "$autod" "$@"; then
 
             # A string in braces is evaluated.
 
-            _loop arguments expl "$descr" eval "$action[2,-2]"
-
+            while _try arguments 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 arguments expl "$descr" "$action[@]"
+            while _try arguments expl "$descr"; do
+              "$action[@]"
+            done
           else
 
             # Otherwise we call it with the description-arguments.
diff --git a/Completion/Base/_values b/Completion/Base/_values
index 754147e05..e681d88ef 100644
--- a/Completion/Base/_values
+++ b/Completion/Base/_values
@@ -124,14 +124,17 @@ if compvalues -i "$@"; then
 
       # A string in braces is evaluated.
 
-      _loop arguments expl "$descr" eval "$action[2,-2]"
-
+      while _try arguments 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 arguments expl "$descr" "$action[@]"
+      while _try arguments expl "$descr"; do
+        "$action[@]"
+      done
     else
 
       # Otherwise we call it with the description-arguments built above.