From: Kim F. Storm Date: Fri, 11 Nov 2005 15:33:23 +0000 (+0000) Subject: (handle_stop): Skip overlay string handling if X-Git-Tag: emacs-pretest-22.0.90~5955 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=310316cfb9ddda9e3febe21fe2c984a50f5e1c29;p=emacs.git (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. --- 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); }