diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 2000-02-04 14:30:15 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 2000-02-04 14:30:15 +0000 |
commit | 2573b87620567ebeddcacf4ec0a7e7b41af755a3 (patch) | |
tree | f0851c1fe3ef71e5e9515d3d45d37e0020e65126 /Src/Zle/computil.c | |
parent | 3c3ffa433dca8c6c396d1cca734bc349a91b9797 (diff) | |
download | zsh-2573b87620567ebeddcacf4ec0a7e7b41af755a3.tar.gz zsh-2573b87620567ebeddcacf4ec0a7e7b41af755a3.tar.xz zsh-2573b87620567ebeddcacf4ec0a7e7b41af755a3.zip |
zsh-workers/9568
Diffstat (limited to 'Src/Zle/computil.c')
-rw-r--r-- | Src/Zle/computil.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c index 7aeb30edb..4b0f11d7c 100644 --- a/Src/Zle/computil.c +++ b/Src/Zle/computil.c @@ -1039,7 +1039,7 @@ ca_parse_line(Cadef d) 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 @@ bin_comparguments(char *nam, char **args, char *ops, int func) 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(); |