summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2000-04-28 11:16:52 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2000-04-28 11:16:52 +0000
commitb577adea409e603018c632478fe563dfa5fdeb7f (patch)
tree4cce688c8f5f248779cb632d8ecd52678b215bb8 /Src
parentbcb9190ff95501972232dbd47f734a3a33d0323c (diff)
downloadzsh-b577adea409e603018c632478fe563dfa5fdeb7f.tar.gz
zsh-b577adea409e603018c632478fe563dfa5fdeb7f.tar.xz
zsh-b577adea409e603018c632478fe563dfa5fdeb7f.zip
fix for reporting multiple actions in comparguments, options with non-optional arguments (11003)
Diffstat (limited to 'Src')
-rw-r--r--Src/Zle/computil.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c
index c8e965a8d..f749a6099 100644
--- a/Src/Zle/computil.c
+++ b/Src/Zle/computil.c
@@ -1399,7 +1399,8 @@ ca_set_data(char *opt, Caarg arg, char **args, int single)
     for (; arg && (arg->num < 0 ||
 		   (arg->min <= ca_laststate.nth + addopt &&
 		    arg->num >= ca_laststate.nth));) {
-	if (!opt && (lopt = arg->type != CAA_OPT) && oopt > 0)
+	lopt = (arg->type == CAA_OPT);
+	if (!opt && !lopt && oopt > 0)
 	    oopt = 0;
 
 	addlinknode(descr, arg->descr);
@@ -1446,7 +1447,7 @@ ca_set_data(char *opt, Caarg arg, char **args, int single)
 	    }
 	}
     }
-    if (!single && opt && !lopt) {
+    if (!single && opt && lopt) {
 	opt = NULL;
 	arg = ca_get_arg(ca_laststate.d, ca_laststate.nth);