]> git.eshelyaron.com Git - emacs.git/commitdiff
(handle_stop): Skip overlay string handling if
authorKim F. Storm <storm@cua.dk>
Fri, 11 Nov 2005 15:33:23 +0000 (15:33 +0000)
committerKim F. Storm <storm@cua.dk>
Fri, 11 Nov 2005 15:33:23 +0000 (15:33 +0000)
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.

src/xdisp.c

index 9f8ac387927cfa0fa449eaee57e8a539ba787140..9420114489a63665cc900ceda00df100e78300a5 100644 (file)
@@ -2978,11 +2978,13 @@ handle_stop (it)
      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 @@ set_iterator_to_next (it, reseat_p)
            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);
            }