From fd8f724147b0a64c15f42dd09d21d8b2f81f6cbc Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 27 Feb 2017 00:06:08 -0500 Subject: [PATCH] * src/xdisp.c (overlay_arrows_changed_p): Fix last change. --- src/xdisp.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/xdisp.c b/src/xdisp.c index a4c3c706552..4e87001abf7 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -13358,14 +13358,19 @@ overlay_arrows_changed_p (bool set_redisplay) if (!MARKERP (val)) continue; if (! EQ (COERCE_MARKER (val), + /* FIXME: Don't we have a problem, using such a global + * "last-position" if the variable is buffer-local? */ Fget (var, Qlast_arrow_position)) || ! (pstr = overlay_arrow_string_or_property (var), EQ (pstr, Fget (var, Qlast_arrow_string)))) { struct buffer *buf = XMARKER (val)->buffer; - if (set_redisplay && buf) - bset_redisplay (buf); + if (set_redisplay) + { + if (buf) + bset_redisplay (buf); + } else return true; } -- 2.39.5