aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2017-02-28 14:00:17 -0500
committerStefan Monnier2017-02-28 14:00:17 -0500
commitc2469c50e80f4a18448e6f5f45e960cf00944822 (patch)
tree402e98753eff5cbb76d1813d29598d3b36f29b64
parentf8e36e04c4a11912d9f996a1fbf2870cf822151f (diff)
downloademacs-c2469c50e80f4a18448e6f5f45e960cf00944822.tar.gz
emacs-c2469c50e80f4a18448e6f5f45e960cf00944822.zip
* src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
(update_overlay_arrows): Skip non-markers.
-rw-r--r--src/xdisp.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 4e87001abf7..1f8878408be 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -13338,12 +13338,15 @@ overlay_arrow_in_current_buffer_p (void)
13338 13338
13339 13339
13340/* Return true if any overlay_arrows have moved or overlay-arrow-string 13340/* Return true if any overlay_arrows have moved or overlay-arrow-string
13341 has changed. */ 13341 has changed.
13342 If SET_REDISPLAY is true, additionally, set the `redisplay' bit in those
13343 buffers that are affected. */
13342 13344
13343static bool 13345static bool
13344overlay_arrows_changed_p (bool set_redisplay) 13346overlay_arrows_changed_p (bool set_redisplay)
13345{ 13347{
13346 Lisp_Object vlist; 13348 Lisp_Object vlist;
13349 bool changed = false;
13347 13350
13348 for (vlist = Voverlay_arrow_variable_list; 13351 for (vlist = Voverlay_arrow_variable_list;
13349 CONSP (vlist); 13352 CONSP (vlist);
@@ -13370,12 +13373,13 @@ overlay_arrows_changed_p (bool set_redisplay)
13370 { 13373 {
13371 if (buf) 13374 if (buf)
13372 bset_redisplay (buf); 13375 bset_redisplay (buf);
13376 changed = true;
13373 } 13377 }
13374 else 13378 else
13375 return true; 13379 return true;
13376 } 13380 }
13377 } 13381 }
13378 return false; 13382 return changed;
13379} 13383}
13380 13384
13381/* Mark overlay arrows to be updated on next redisplay. */ 13385/* Mark overlay arrows to be updated on next redisplay. */
@@ -13397,6 +13401,8 @@ update_overlay_arrows (int up_to_date)
13397 if (up_to_date > 0) 13401 if (up_to_date > 0)
13398 { 13402 {
13399 Lisp_Object val = find_symbol_value (var); 13403 Lisp_Object val = find_symbol_value (var);
13404 if (!MARKERP (val))
13405 continue;
13400 Fput (var, Qlast_arrow_position, 13406 Fput (var, Qlast_arrow_position,
13401 COERCE_MARKER (val)); 13407 COERCE_MARKER (val));
13402 Fput (var, Qlast_arrow_string, 13408 Fput (var, Qlast_arrow_string,