]> git.eshelyaron.com Git - emacs.git/commitdiff
(get_overlay_strings): Set iterator's end_charpos.
authorGerd Moellmann <gerd@gnu.org>
Fri, 30 Mar 2001 18:35:46 +0000 (18:35 +0000)
committerGerd Moellmann <gerd@gnu.org>
Fri, 30 Mar 2001 18:35:46 +0000 (18:35 +0000)
(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
src/xdisp.c

index b97085a2b123c302fadaead6fa05fbe394f864e6..bd32de2313763d2c9b54d619a5fd0963aba64cff 100644 (file)
@@ -1,8 +1,13 @@
 2001-03-30  Gerd Moellmann  <gerd@gnu.org>
 
+       * 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
index 294ee2a133421a8ecd394bb8f4f6ecc6cd7e5a1d..5b373a2b4fdd2004d516377212e61525a2c31512 100644 (file)
@@ -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;
            }
        }
     }