Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: _arguments problems
- X-seq: zsh-workers 9568
- From: Sven Wischnowsky <wischnow@xxxxxxxxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxx
- Subject: Re: _arguments problems
- Date: Fri, 4 Feb 2000 15:18:20 +0100 (MET)
- In-reply-to: Tanaka Akira's message of 04 Feb 2000 22:16:39 +0900
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
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