]> git.eshelyaron.com Git - emacs.git/commitdiff
(init_from_display_pos): If POS says we're already after
authorGerd Moellmann <gerd@gnu.org>
Fri, 24 Nov 2000 19:29:26 +0000 (19:29 +0000)
committerGerd Moellmann <gerd@gnu.org>
Fri, 24 Nov 2000 19:29:26 +0000 (19:29 +0000)
an overlay string ending at POS, make sure to pop the iterator
because it will be in front of that overlay string.  When POS is
ZV, we've thereby also ``processed'' overlay strings at ZV.

src/ChangeLog
src/xdisp.c

index ecbe9feb14cfc0bf825b2eb22395e3a56c3afc3e..2d32e16965471c584619ec9367900dfd3516c602 100644 (file)
@@ -1,5 +1,10 @@
 2000-11-24  Gerd Moellmann  <gerd@gnu.org>
 
+       * xdisp.c (init_from_display_pos): If POS says we're already after
+        an overlay string ending at POS, make sure to pop the iterator
+        because it will be in front of that overlay string.  When POS is
+        ZV, we've thereby also ``processed'' overlay strings at ZV.
+
        * xfaces.c (lface_from_face_name): Function comment fix.
 
 2000-11-24  Miles Bader  <miles@gnu.org>
index 8d5d2b6b6f6b2680854bff8a715a345158a157b4..6cec77609265a11677fff61ddf9b4d8920fce642 100644 (file)
@@ -1730,7 +1730,20 @@ init_from_display_pos (it, w, pos)
       it->current.string_pos = pos->string_pos;
       it->method = next_element_from_string;
     }
-  else if (CHARPOS (pos->string_pos) >= 0)
+  else if (it->current.overlay_string_index >= 0)
+    {
+      /* If POS says we're already after an overlay string ending at
+        POS, make sure to pop the iterator because it will be in
+        front of that overlay string.  When POS is ZV, we've thereby
+        also ``processed'' overlay strings at ZV.  */
+      pop_it (it);
+      it->current.overlay_string_index = -1;
+      it->method = next_element_from_buffer;
+      if (CHARPOS (pos->pos) == ZV)
+       it->overlay_strings_at_end_processed_p = 1;
+    }
+  
+  if (CHARPOS (pos->string_pos) >= 0)
     {
       /* Recorded position is not in an overlay string, but in another
         string.  This can only be a string from a `display' property.