]> git.eshelyaron.com Git - emacs.git/commitdiff
(move_it_in_display_line_to, display_line):
authorKim F. Storm <storm@cua.dk>
Wed, 24 Nov 2004 11:29:46 +0000 (11:29 +0000)
committerKim F. Storm <storm@cua.dk>
Wed, 24 Nov 2004 11:29:46 +0000 (11:29 +0000)
Restore saved_face_id also when truncate-lines or hscrolled.

src/xdisp.c

index d13f89ad27b578f06e9721c7566ddc2e6e68c651..36892a219c03581d2d65dfa8be381e7f26bc1f2c 100644 (file)
@@ -5862,6 +5862,8 @@ move_it_in_display_line_to (it, to_charpos, to_x, op)
                  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 @@ display_line (it)
      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 @@ display_line (it)
                      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 */