summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Src/Zle/computil.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 15a7ddca2..c1423eec5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2000-04-28 Sven Wischnowsky <wischnow@informatik.hu-berlin.de>
+
+ * 11003: Src/Zle/computil.c: fix for reporting multiple actions in
+ comparguments, options with non-optional arguments
+
2000-04-28 Peter Stephenson <pws@cambridgesiliconradio.com>
* pws: 10999: Completion/Core/compinstall: some idiot didn't
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);