[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master c2469c5: * src/xdisp.c (overlay_arrows_changed_p):
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] master c2469c5: * src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc |
Date: |
Tue, 28 Feb 2017 14:00:23 -0500 (EST) |
branch: master
commit c2469c50e80f4a18448e6f5f45e960cf00944822
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>
* src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
(update_overlay_arrows): Skip non-markers.
---
src/xdisp.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/xdisp.c b/src/xdisp.c
index 4e87001..1f88784 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -13338,12 +13338,15 @@ overlay_arrow_in_current_buffer_p (void)
/* Return true if any overlay_arrows have moved or overlay-arrow-string
- has changed. */
+ has changed.
+ If SET_REDISPLAY is true, additionally, set the `redisplay' bit in those
+ buffers that are affected. */
static bool
overlay_arrows_changed_p (bool set_redisplay)
{
Lisp_Object vlist;
+ bool changed = false;
for (vlist = Voverlay_arrow_variable_list;
CONSP (vlist);
@@ -13370,12 +13373,13 @@ overlay_arrows_changed_p (bool set_redisplay)
{
if (buf)
bset_redisplay (buf);
+ changed = true;
}
else
return true;
}
}
- return false;
+ return changed;
}
/* Mark overlay arrows to be updated on next redisplay. */
@@ -13397,6 +13401,8 @@ update_overlay_arrows (int up_to_date)
if (up_to_date > 0)
{
Lisp_Object val = find_symbol_value (var);
+ if (!MARKERP (val))
+ continue;
Fput (var, Qlast_arrow_position,
COERCE_MARKER (val));
Fput (var, Qlast_arrow_string,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master c2469c5: * src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc,
Stefan Monnier <=