about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
Diffstat (limited to 'Src')
-rw-r--r--Src/Zle/compmatch.c1
-rw-r--r--Src/Zle/compresult.c4
-rw-r--r--Src/Zle/zle_tricky.c8
3 files changed, 3 insertions, 10 deletions
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;