changeset 58472:5cd5cdafa9c5

(move_it_in_display_line_to, display_line): Restore saved_face_id also when truncate-lines or hscrolled.
author Kim F. Storm <storm@cua.dk>
date Wed, 24 Nov 2004 11:29:46 +0000
parents fd75a0e281c7
children 9aacf8e5ae58
files src/xdisp.c
diffstat 1 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Wed Nov 24 11:29:27 2004 +0000
+++ b/src/xdisp.c	Wed Nov 24 11:29:46 2004 +0000
@@ -5862,6 +5862,8 @@
 		  result = MOVE_NEWLINE_OR_CR;
 		  break;
 		}
+	      if (it->method == next_element_from_display_vector)
+		it->face_id = it->saved_face_id;
 	    }
 #endif /* HAVE_WINDOW_SYSTEM */
 	  result = MOVE_LINE_TRUNCATED;
@@ -14628,8 +14630,12 @@
      hscrolled.  This may stop at an x-position < IT->first_visible_x
      if the first glyph is partially visible or if we hit a line end.  */
   if (it->current_x < it->first_visible_x)
-    move_it_in_display_line_to (it, ZV, it->first_visible_x,
-				MOVE_TO_POS | MOVE_TO_X);
+    {
+      move_it_in_display_line_to (it, ZV, it->first_visible_x,
+				  MOVE_TO_POS | MOVE_TO_X);
+      if (it->method == next_element_from_display_vector)
+	it->face_id = it->saved_face_id;
+    }
 
   /* Get the initial row height.  This is either the height of the
      text hscrolled, if there is any, or zero.  */
@@ -14970,6 +14976,8 @@
 		      row->exact_window_width_line_p = 1;
 		      goto at_end_of_line;
 		    }
+		  if (it->method == next_element_from_display_vector)
+		    it->face_id = it->saved_face_id;
 		}
 	    }
 #endif /* HAVE_WINDOW_SYSTEM */