changeset 25197:fbe149852f1c

(set_iterator_to_next): After delivering a character from a display vector, restore face and charset to what they were before the display vector was processed.
author Gerd Moellmann <gerd@gnu.org>
date Fri, 06 Aug 1999 21:08:08 +0000
parents d1a0325ab7f9
children aaa595530183
files src/xdisp.c
diffstat 1 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Fri Aug 06 21:06:14 1999 +0000
+++ b/src/xdisp.c	Fri Aug 06 21:08:08 1999 +0000
@@ -3459,8 +3459,16 @@
 	 Advance in the display table definition.  Reset it to null if
 	 end reached, and continue with characters from buffers/
 	 strings.  */
+      struct face *face;
+      
       ++it->current.dpvec_index;
+
+      /* Restore face and charset of the iterator to what they were
+	 before the display vector entry (these entries may contain
+	 faces, and of course characters of different charsets).  */
       it->face_id = it->saved_face_id;
+      it->charset = FACE_FROM_ID (it->f, it->face_id)->charset;
+      
       if (it->dpvec + it->current.dpvec_index == it->dpend)
 	{
 	  if (it->s)