From: NeilBrown Date: Thu, 26 Nov 2015 00:08:51 +0000 (+1100) Subject: Change vmark_matching to take a pane rather than a doc. X-Git-Tag: lca2016~221 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=198f35183dbf077bc3d667c61cbfa7fda9ea1fcc;p=edlib.git Change vmark_matching to take a pane rather than a doc. Signed-off-by: NeilBrown --- diff --git a/core-mark.c b/core-mark.c index 2f8f8e4a..d09dc2ad 100644 --- a/core-mark.c +++ b/core-mark.c @@ -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 16016f48..3f1a0fc1 100644 --- 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) diff --git a/render-lines.c b/render-lines.c index bbc4570d..d5bfc95d 100644 --- a/render-lines.c +++ b/render-lines.c @@ -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