about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2000-04-07 12:43:31 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2000-04-07 12:43:31 +0000
commitd779b43f42b331841f6ffa973f77f9fb97811b84 (patch)
tree37ba3860599cb4aac9482bc2c577d196d5bcc2c0
parent424ad9fc1d213316e9eb6da8f9040d48a211f46b (diff)
downloadzsh-d779b43f42b331841f6ffa973f77f9fb97811b84.tar.gz
zsh-d779b43f42b331841f6ffa973f77f9fb97811b84.tar.xz
zsh-d779b43f42b331841f6ffa973f77f9fb97811b84.zip
make sure caller-supplied explanation takes precedence (10579)
-rw-r--r--ChangeLog7
-rw-r--r--Completion/Base/_arguments5
-rw-r--r--Completion/Base/_values5
-rw-r--r--Completion/Core/_alternative5
4 files changed, 16 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index aced251ed..613c98894 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2000-04-07  Sven Wischnowsky <wischnow@informatik.hu-berlin.de>
 
+	* 10579: Completion/Base/_arguments, Completion/Base/_values,
+ 	Completion/Core/_alternative: make sure caller-supplied
+ 	explanation takes precedence
+	
 	* 10575: Completion/User/_make: complete make targets of the form
  	`foo bar:'
 	
@@ -11,10 +15,13 @@
  	multiple directories didn't work
 
 2000-04-06  Clint Adams  <schizo@debian.org>
+
 	* Felix Rosencrantz: 10564: Completion/X/_x_display:
 	typo in _wanted.
+
 	* 10565: acconfig.h, configure.in, Src/exec.c:
 	add configure option for function depth limit.
+
 	* 10566: Src/glob.c: change invocation of patgetglobflags
 	to use two arguments.
 
diff --git a/Completion/Base/_arguments b/Completion/Base/_arguments
index 29e5764fe..f633b7cf5 100644
--- a/Completion/Base/_arguments
+++ b/Completion/Base/_arguments
@@ -258,8 +258,9 @@ if (( $# )) && comparguments -i "$autod" "$@"; then
             # Otherwise we call it with the description-arguments.
 
             eval "action=( $action )"
-            _all_labels arguments expl "$descr" \
-                "$action[1]" "$subopts[@]" "${(@)action[2,-1]}"
+            while _next_label arguments expl "$descr"; do
+              "$action[1]" "$subopts[@]" "$expl[@]" "${(@)action[2,-1]}"
+	    done
           fi
         fi
       fi
diff --git a/Completion/Base/_values b/Completion/Base/_values
index 62cf0e409..eff7b94ce 100644
--- a/Completion/Base/_values
+++ b/Completion/Base/_values
@@ -141,8 +141,9 @@ if compvalues -i "$@"; then
       # Otherwise we call it with the description-arguments built above.
 
       eval "action=( $action )"
-      _all_labels arguments expl "$descr" \
-          "$action[1]" "$subopts[@]" "${(@)action[2,-1]}"
+      while _next_label arguments expl "$descr"; do
+        "$action[1]" "$subopts[@]" "$expl[@]" "${(@)action[2,-1]}"
+      done
     fi
   fi
 
diff --git a/Completion/Core/_alternative b/Completion/Core/_alternative
index b038aa8a4..d6aef96b6 100644
--- a/Completion/Core/_alternative
+++ b/Completion/Core/_alternative
@@ -66,8 +66,9 @@ while _tags; do
         # Otherwise we call it with the description-arguments built above.
 
         eval "action=( $action )"
-        _all_labels "${def%%:*}" expl "$descr" \
-            "$action[1]" "$subopts[@]" "${(@)action[2,-1]}"
+	while _next_label "${def%%:*}" expl "$descr"; do
+          "$action[1]" "$subopts[@]" "$expl[@]" "${(@)action[2,-1]}"
+        done
       fi
     fi
   done