aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim F. Storm2005-11-11 15:33:23 +0000
committerKim F. Storm2005-11-11 15:33:23 +0000
commit310316cfb9ddda9e3febe21fe2c984a50f5e1c29 (patch)
tree6c933506d2cace4d7de5eb77029f5fe9d8f7cbd5
parent6a77a9f53502373d86285ef58246b38e2bac2760 (diff)
downloademacs-310316cfb9ddda9e3febe21fe2c984a50f5e1c29.tar.gz
emacs-310316cfb9ddda9e3febe21fe2c984a50f5e1c29.zip
(handle_stop): Skip overlay string handling if
ignore_overlay_strings_at_pos_p is set. (set_iterator_to_next): At end of display vector, set ignore_overlay_strings_at_pos_p if dpvec came from an overlay string, so we skip those overlay strings at current pos.
-rw-r--r--src/xdisp.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 9f8ac387927..9420114489a 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -2978,11 +2978,13 @@ handle_stop (it)
2978 struct it *it; 2978 struct it *it;
2979{ 2979{
2980 enum prop_handled handled; 2980 enum prop_handled handled;
2981 int handle_overlay_change_p = 1; 2981 int handle_overlay_change_p;
2982 struct props *p; 2982 struct props *p;
2983 2983
2984 it->dpvec = NULL; 2984 it->dpvec = NULL;
2985 it->current.dpvec_index = -1; 2985 it->current.dpvec_index = -1;
2986 handle_overlay_change_p = !it->ignore_overlay_strings_at_pos_p;
2987 it->ignore_overlay_strings_at_pos_p = 0;
2986 2988
2987 /* Use face of preceding text for ellipsis (if invisible) */ 2989 /* Use face of preceding text for ellipsis (if invisible) */
2988 if (it->selective_display_ellipsis_p) 2990 if (it->selective_display_ellipsis_p)
@@ -5686,6 +5688,9 @@ set_iterator_to_next (it, reseat_p)
5686 reseat_at_next_visible_line_start (it, 1); 5688 reseat_at_next_visible_line_start (it, 1);
5687 else if (it->dpvec_char_len > 0) 5689 else if (it->dpvec_char_len > 0)
5688 { 5690 {
5691 if (it->method == GET_FROM_STRING
5692 && it->n_overlay_strings > 0)
5693 it->ignore_overlay_strings_at_pos_p = 1;
5689 it->len = it->dpvec_char_len; 5694 it->len = it->dpvec_char_len;
5690 set_iterator_to_next (it, reseat_p); 5695 set_iterator_to_next (it, reseat_p);
5691 } 5696 }