]> git.neil.brown.name Git - edlib.git/commitdiff
Change vmark_matching to take a pane rather than a doc.
authorNeilBrown <neil@brown.name>
Thu, 26 Nov 2015 00:08:51 +0000 (11:08 +1100)
committerNeilBrown <neil@brown.name>
Thu, 26 Nov 2015 00:08:51 +0000 (11:08 +1100)
Signed-off-by: NeilBrown <neil@brown.name>
core-mark.c
core.h
render-lines.c

index 2f8f8e4ab015b39fb7279b7be47a49c623ba655e..d09dc2ad7f965fa8c2dcd4631805e7e4971f4809 100644 (file)
@@ -790,16 +790,16 @@ struct mark *vmark_last(struct doc *d, int view)
        return NULL;
 }
 
-struct mark *vmark_matching(struct doc *d, struct mark *m)
+struct mark *vmark_matching(struct pane *p, struct mark *m)
 {
        /* Find a nearby mark in the same view with the same ref */
        struct mark *m2;
 
        m2 = vmark_prev(m);
-       if (m2 && mark_same(d, m, m2))
+       if (m2 && mark_same_pane(p, m, m2, NULL))
                return m2;
        m2 = vmark_next(m);
-       if (m2 && mark_same(d, m, m2))
+       if (m2 && mark_same_pane(p, m, m2, NULL))
                return m2;
        return NULL;
 }
diff --git a/core.h b/core.h
index 16016f48c6bc39ead86087dc14efbb9fcccba08c..3f1a0fc13d40e1ed055109db09fbfa9f10cc1e71 100644 (file)
--- a/core.h
+++ b/core.h
@@ -178,7 +178,7 @@ struct mark *vmark_next(struct mark *m);
 struct mark *vmark_prev(struct mark *m);
 struct mark *vmark_first(struct doc *d, int view);
 struct mark *vmark_last(struct doc *d, int view);
-struct mark *vmark_matching(struct doc *d, struct mark *m);
+struct mark *vmark_matching(struct pane *p, struct mark *m);
 struct mark *vmark_at_point(struct point *pt, int view);
 
 static inline int mark_ordered(struct mark *m1, struct mark *m2)
index bbc4570d667917e362df7158e0863aacd80f532b..d5bfc95d0f97f7586c583e5cedf9fa0a118e148a 100644 (file)
@@ -284,7 +284,7 @@ static struct mark *call_render_line_prev(struct pane *p, struct point **ptp,
                return NULL;
        }
 
-       m = vmark_matching((*ptp)->doc, ci.mark);
+       m = vmark_matching(p, ci.mark);
        if (m)
                mark_free(ci.mark);
        else
@@ -317,7 +317,7 @@ static struct mark *call_render_line(struct pane *p, struct point **ptp,
                free(start->line);
        start->line = ci.str;
 
-       m = vmark_matching((*ptp)->doc, ci.mark);
+       m = vmark_matching(p, ci.mark);
        if (m)
                mark_free(ci.mark);
        else