From b2046df875c9d176bd8485d7e90c28ed69cd1b80 Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Fri, 30 Mar 2001 18:35:46 +0000 Subject: [PATCH] (get_overlay_strings): Set iterator's end_charpos. (set_iterator_to_next): If a string from a display property ends, consider the case that this might also be the end of an overlay string having the display property. --- src/ChangeLog | 7 ++++++- src/xdisp.c | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index b97085a2b12..bd32de23137 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,8 +1,13 @@ 2001-03-30 Gerd Moellmann + * xdisp.c (get_overlay_strings): Set iterator's end_charpos. + (set_iterator_to_next): If a string from a display property ends, + consider the case that this might also be the end of an + overlay string having the display property. + * xdisp.c (handle_display_prop): Fix recognition of subproperty lists. - + * xdisp.c (reseat_to_string): Undo last change. * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current diff --git a/src/xdisp.c b/src/xdisp.c index 294ee2a1334..5b373a2b4fd 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -3595,8 +3595,9 @@ get_overlay_strings (it) /* Set up IT to deliver display elements from the first overlay string. */ IT_STRING_CHARPOS (*it) = IT_STRING_BYTEPOS (*it) = 0; - it->stop_charpos = 0; it->string = it->overlay_strings[0]; + it->stop_charpos = 0; + it->end_charpos = XSTRING (it->string)->size; it->multibyte_p = STRING_MULTIBYTE (it->string); xassert (STRINGP (it->string)); it->method = next_element_from_string; @@ -4375,6 +4376,8 @@ set_iterator_to_next (it, reseat_p) pop_it (it); if (!STRINGP (it->string)) it->method = next_element_from_buffer; + else + goto consider_string_end; } } } -- 2.39.2