From 286bcbc9718086ce5bac060f5724238954177bad Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Fri, 6 Aug 1999 21:08:08 +0000 Subject: [PATCH] (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. --- src/xdisp.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/xdisp.c b/src/xdisp.c index 4dc594955c5..28a6299836a 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -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) -- 2.39.5