]> git.eshelyaron.com Git - emacs.git/commitdiff
(set_iterator_to_next): After delivering a character
authorGerd Moellmann <gerd@gnu.org>
Fri, 6 Aug 1999 21:08:08 +0000 (21:08 +0000)
committerGerd Moellmann <gerd@gnu.org>
Fri, 6 Aug 1999 21:08:08 +0000 (21:08 +0000)
from a display vector, restore face and charset to what they were
before the display vector was processed.

src/xdisp.c

index 4dc594955c580065efa27e680b2e3526b79d25e1..28a6299836a7f97ec1c139c29623febb67792ac5 100644 (file)
@@ -3459,8 +3459,16 @@ set_iterator_to_next (it)
         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)