summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Src/Zle/compmatch.c1
-rw-r--r--Src/Zle/compresult.c4
-rw-r--r--Src/Zle/zle_tricky.c8
4 files changed, 7 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 0d4080e3a..d424d9a0b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2000-06-16 Sven Wischnowsky <wischnow@zsh.org>
+ * 11939: Src/Zle/compmatch.c, Src/Zle/compresult.c, Src/Zle/zle_tricky.c:
+ allow completion after `a{{b,c},'; fix for closing brace
+ re-insertion when completing from both ends (CLF_MID)
+
* 11938: Completion/Core/_description, Doc/Zsh/compsys.yo: enhance
ignore-line to ignore all/current/other word(s)
diff --git a/Src/Zle/compmatch.c b/Src/Zle/compmatch.c
index 180dce5df..130cb23b0 100644
--- a/Src/Zle/compmatch.c
+++ b/Src/Zle/compmatch.c
@@ -1608,6 +1608,7 @@ join_psfx(Cline ot, Cline nt, Cline *orest, Cline *nrest, int sfx)
continue;
}
+ o->llen = o->llen - ot->slen;
join = 1; line = 0; slen = &(o->wlen); sstr = &(o->word);
}
if (join) {
diff --git a/Src/Zle/compresult.c b/Src/Zle/compresult.c
index 7e2e564f1..092971479 100644
--- a/Src/Zle/compresult.c
+++ b/Src/Zle/compresult.c
@@ -406,8 +406,8 @@ cline_str(Cline l, int ins, int *csp)
* with missing characters, we take this, otherwise if we have a
* prefix with missing characters, we take that, the same for a
* suffix, and finally a place where the matches differ. */
- ncs = (cbr >= 0 ? cbr :
- (mid >= 0 ? mid :
+ ncs = (mid >= 0 ? mid :
+ (cbr >= 0 ? cbr :
(pm >= 0 ? pm : (sm >= 0 ? sm : (d >= 0 ? d : cs)))));
if (!ins) {
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c
index 11f86ba92..af0c43f57 100644
--- a/Src/Zle/zle_tricky.c
+++ b/Src/Zle/zle_tricky.c
@@ -1434,10 +1434,6 @@ get_comp_string(void)
}
}
} else if (p < curs) {
- if (*p == Outbrace) {
- cant = 1;
- break;
- }
if (*p == Inbrace) {
if (bbeg) {
Brinfo new;
@@ -1474,10 +1470,6 @@ get_comp_string(void)
hascom = 1;
}
} else {
- if (*p == Inbrace) {
- cant = 1;
- break;
- }
if (p == curs) {
if (bbeg) {
Brinfo new;