aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Moellmann2001-03-30 18:35:46 +0000
committerGerd Moellmann2001-03-30 18:35:46 +0000
commitb2046df875c9d176bd8485d7e90c28ed69cd1b80 (patch)
tree2410bc30c4d3e689252b18709081b914bdad39d5
parent12700f406acfb17f71ab843c91cadb6fe27c53f9 (diff)
downloademacs-b2046df875c9d176bd8485d7e90c28ed69cd1b80.tar.gz
emacs-b2046df875c9d176bd8485d7e90c28ed69cd1b80.zip
(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.
-rw-r--r--src/ChangeLog7
-rw-r--r--src/xdisp.c5
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 @@
12001-03-30 Gerd Moellmann <gerd@gnu.org> 12001-03-30 Gerd Moellmann <gerd@gnu.org>
2 2
3 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
4 (set_iterator_to_next): If a string from a display property ends,
5 consider the case that this might also be the end of an
6 overlay string having the display property.
7
3 * xdisp.c (handle_display_prop): Fix recognition of subproperty 8 * xdisp.c (handle_display_prop): Fix recognition of subproperty
4 lists. 9 lists.
5 10
6 * xdisp.c (reseat_to_string): Undo last change. 11 * xdisp.c (reseat_to_string): Undo last change.
7 12
8 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current 13 * 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)
3595 /* Set up IT to deliver display elements from the first overlay 3595 /* Set up IT to deliver display elements from the first overlay
3596 string. */ 3596 string. */
3597 IT_STRING_CHARPOS (*it) = IT_STRING_BYTEPOS (*it) = 0; 3597 IT_STRING_CHARPOS (*it) = IT_STRING_BYTEPOS (*it) = 0;
3598 it->stop_charpos = 0;
3599 it->string = it->overlay_strings[0]; 3598 it->string = it->overlay_strings[0];
3599 it->stop_charpos = 0;
3600 it->end_charpos = XSTRING (it->string)->size;
3600 it->multibyte_p = STRING_MULTIBYTE (it->string); 3601 it->multibyte_p = STRING_MULTIBYTE (it->string);
3601 xassert (STRINGP (it->string)); 3602 xassert (STRINGP (it->string));
3602 it->method = next_element_from_string; 3603 it->method = next_element_from_string;
@@ -4375,6 +4376,8 @@ set_iterator_to_next (it, reseat_p)
4375 pop_it (it); 4376 pop_it (it);
4376 if (!STRINGP (it->string)) 4377 if (!STRINGP (it->string))
4377 it->method = next_element_from_buffer; 4378 it->method = next_element_from_buffer;
4379 else
4380 goto consider_string_end;
4378 } 4381 }
4379 } 4382 }
4380 } 4383 }