# HG changeset patch # User Kim F. Storm # Date 1131723203 0 # Node ID cae7b536e5700d42e034ef11a4697229004d538c # Parent a1569f81f4cb36afe5ad66d4351f6a983b542f24 (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 -r a1569f81f4cb -r cae7b536e570 src/xdisp.c --- a/src/xdisp.c Fri Nov 11 15:32:54 2005 +0000 +++ b/src/xdisp.c Fri Nov 11 15:33:23 2005 +0000 @@ -2978,11 +2978,13 @@ 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 @@ 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); }