Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: _arguments problems



Tanaka Akira wrote:

> So, I think following behaviour is also problem.
> 
> is27e1u11% _tst () { _arguments '-a' '*::rest:(rest)' }
> is27e1u11% tst arg -<TAB>
> ->
> is27e1u11% tst arg -a
> 
> Because I think _arguments shouldn't completes options after an
> argument handled by `*::message:action'.

That's a completely different problem. And since the option-rest specs 
do that I agree that normal rest specs should do the same.

Bye
 Sven

diff -ru ../z.old/Src/Zle/computil.c Src/Zle/computil.c
--- ../z.old/Src/Zle/computil.c	Fri Feb  4 13:32:02 2000
+++ Src/Zle/computil.c	Fri Feb  4 15:12:22 2000
@@ -1039,7 +1039,7 @@
 
 	zfree(ca_laststate.oargs, ca_laststate.d->nopts * sizeof(LinkList));
     }
-    /* MArk everything as active. */
+    /* Mark everything as active. */
 
     for (ptr = d->opts; ptr; ptr = ptr->next)
 	ptr->active = 1;
@@ -1406,8 +1406,10 @@
 	    return 1;
 	}
     case 'O':
-	if (ca_laststate.opt || (ca_laststate.doff && ca_laststate.def) ||
-	    (ca_laststate.def && ca_laststate.def->type == CAA_OPT)) {
+	if ((ca_laststate.opt || (ca_laststate.doff && ca_laststate.def) ||
+	     (ca_laststate.def && ca_laststate.def->type == CAA_OPT)) &&
+	    (!ca_laststate.def || ca_laststate.def->type < CAA_RARGS ||
+	     compcurrent == 1)) {
 	    LinkList next = newlinklist();
 	    LinkList direct = newlinklist();
 	    LinkList odirect = newlinklist();

--
Sven Wischnowsky                         wischnow@xxxxxxxxxxxxxxxxxxxxxxx



Messages sorted by: Reverse Date, Date, Thread, Author