From 310316cfb9ddda9e3febe21fe2c984a50f5e1c29 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 11 Nov 2005 15:33:23 +0000 Subject: [PATCH] (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. --- src/xdisp.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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) struct it *it; { enum prop_handled handled; - int handle_overlay_change_p = 1; + int handle_overlay_change_p; struct props *p; it->dpvec = NULL; it->current.dpvec_index = -1; + handle_overlay_change_p = !it->ignore_overlay_strings_at_pos_p; + it->ignore_overlay_strings_at_pos_p = 0; /* Use face of preceding text for ellipsis (if invisible) */ if (it->selective_display_ellipsis_p) @@ -5686,6 +5688,9 @@ set_iterator_to_next (it, reseat_p) reseat_at_next_visible_line_start (it, 1); else if (it->dpvec_char_len > 0) { + if (it->method == GET_FROM_STRING + && it->n_overlay_strings > 0) + it->ignore_overlay_strings_at_pos_p = 1; it->len = it->dpvec_char_len; set_iterator_to_next (it, reseat_p); } -- 2.39.2