From: Stefan Monnier Date: Mon, 27 Feb 2017 05:06:08 +0000 (-0500) Subject: * src/xdisp.c (overlay_arrows_changed_p): Fix last change. X-Git-Tag: emacs-26.0.90~704 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=fd8f724147b0a64c15f42dd09d21d8b2f81f6cbc;p=emacs.git * src/xdisp.c (overlay_arrows_changed_p): Fix last change. --- 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; }