diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-04-02 09:05:47 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-04-02 09:05:47 +0000 |
commit | c05a2d20937b2fee0b54adcbdc76d134a8d3f7a9 (patch) | |
tree | a0009a0d31505b1bac7f99d66b60b6f3f1325e18 /Src/Zle | |
parent | 9475938761151c0187f40ee36e3e385c6613e1a4 (diff) | |
download | zsh-c05a2d20937b2fee0b54adcbdc76d134a8d3f7a9.tar.gz zsh-c05a2d20937b2fee0b54adcbdc76d134a8d3f7a9.tar.xz zsh-c05a2d20937b2fee0b54adcbdc76d134a8d3f7a9.zip |
make `_arguments -S' still complete long options after `--<TAB>'; fix for cursor positioning with partial word match specs (13868) pre-func-move
Diffstat (limited to 'Src/Zle')
-rw-r--r-- | Src/Zle/compmatch.c | 3 | ||||
-rw-r--r-- | Src/Zle/computil.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/Src/Zle/compmatch.c b/Src/Zle/compmatch.c index e9c6721ba..fc1e6fb54 100644 --- a/Src/Zle/compmatch.c +++ b/Src/Zle/compmatch.c @@ -2076,7 +2076,8 @@ join_clines(Cline o, Cline n) if ((diff = sub_join(o, n, tn, 0))) { o->flags = (o->flags & ~CLF_MISS) | of; - if (po) { + if (po && po->prefix && + cmp_anchors(o, po, 0)) { po->flags |= CLF_MISS; po->max += diff; } diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c index 063ad4c2f..90714f5fe 100644 --- a/Src/Zle/computil.c +++ b/Src/Zle/computil.c @@ -1316,7 +1316,7 @@ ca_parse_line(Cadef d, int multi, int first) doff = state.singles = arglast = 0; if (ca_inactive(d, argxor, cur, 0) || - ((d->flags & CDF_SEP) && !strcmp(line, "--"))) { + ((d->flags & CDF_SEP) && cur != compcurrent && !strcmp(line, "--"))) { if (ca_inactive(d, NULL, cur, 1)) return 1; continue; |