about summary refs log tree commit diff
path: root/Src/Zle
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Zle')
-rw-r--r--Src/Zle/computil.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c
index 828fe36d0..e73fe8eaf 100644
--- a/Src/Zle/computil.c
+++ b/Src/Zle/computil.c
@@ -1427,7 +1427,8 @@ bin_comparguments(char *nam, char **args, char *ops, int func)
 	if ((ca_laststate.opt || (ca_laststate.doff && ca_laststate.def) ||
 	     (ca_laststate.def &&
 	      (ca_laststate.def->type == CAA_OPT ||
-	       ca_laststate.def->type >= CAA_RARGS))) &&
+	       (ca_laststate.def->type >= CAA_RARGS &&
+		ca_laststate.def->num < 0)))) &&
 	    (!ca_laststate.def || ca_laststate.def->type < CAA_RARGS ||
 	     (ca_laststate.def->type == CAA_RARGS ?
 	      (ca_laststate.curpos == ca_laststate.argbeg + 1) :