diff options
| author | Stefan Monnier | 2017-02-28 14:00:17 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2017-02-28 14:00:17 -0500 |
| commit | c2469c50e80f4a18448e6f5f45e960cf00944822 (patch) | |
| tree | 402e98753eff5cbb76d1813d29598d3b36f29b64 | |
| parent | f8e36e04c4a11912d9f996a1fbf2870cf822151f (diff) | |
| download | emacs-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.c | 10 |
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 | ||
| 13343 | static bool | 13345 | static bool |
| 13344 | overlay_arrows_changed_p (bool set_redisplay) | 13346 | overlay_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, |