about summary refs log tree commit diff
path: root/Src/Zle/compmatch.c
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2001-03-06 11:31:20 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2001-03-06 11:31:20 +0000
commitc8f2e51007b7e3fd4bf581ca92b4ff13e7aae8ed (patch)
treef3105f741eac72cd2cf43da413509051bf965376 /Src/Zle/compmatch.c
parentd3c799c4fc51e3c547ea7e385b95a81650ebd8d7 (diff)
downloadzsh-c8f2e51007b7e3fd4bf581ca92b4ff13e7aae8ed.tar.gz
zsh-c8f2e51007b7e3fd4bf581ca92b4ff13e7aae8ed.tar.xz
zsh-c8f2e51007b7e3fd4bf581ca92b4ff13e7aae8ed.zip
another fix for completion matching, CLF_MISS in the wrong cline struct (13575)
Diffstat (limited to 'Src/Zle/compmatch.c')
-rw-r--r--Src/Zle/compmatch.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Src/Zle/compmatch.c b/Src/Zle/compmatch.c
index 45220a298..e9c6721ba 100644
--- a/Src/Zle/compmatch.c
+++ b/Src/Zle/compmatch.c
@@ -1923,7 +1923,10 @@ join_clines(Cline o, Cline n)
 			 ((tn->flags & CLF_NEW) || !cmp_anchors(o, tn, 0));
 		     t = tn);
 		if (tn) {
+		    int of = o->flags & CLF_MISS;
+
 		    diff = sub_join(o, n, tn, 0);
+		    o->flags = (o->flags & ~CLF_MISS) | of;
 
 		    if (po && po->prefix && cmp_anchors(n, pn, 0)) {
 			po->flags |= CLF_MISS;
@@ -2069,7 +2072,10 @@ join_clines(Cline o, Cline n)
 				    cmp_anchors(tn, o, 1)) break;
 
 			    if (tn) {
+				int of = o->flags & CLF_MISS;
+
 				if ((diff = sub_join(o, n, tn, 0))) {
+				    o->flags = (o->flags & ~CLF_MISS) | of;
 				    if (po) {
 					po->flags |= CLF_MISS;
 					po->max += diff;