changeset 66811:cae7b536e570

(handle_stop): Skip overlay string handling if 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.
author Kim F. Storm <storm@cua.dk>
date Fri, 11 Nov 2005 15:33:23 +0000
parents a1569f81f4cb
children b3f0971004ea
files src/xdisp.c
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Fri Nov 11 15:32:54 2005 +0000
+++ b/src/xdisp.c	Fri Nov 11 15:33:23 2005 +0000
@@ -2978,11 +2978,13 @@
      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 @@
 	    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);
 	    }