# HG changeset patch # User Gerd Moellmann # Date 933973688 0 # Node ID fbe149852f1c9c23f9f5deaf507090bc14a08435 # Parent d1a0325ab7f926f0fa60d86f7b3f6742f416e496 (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. diff -r d1a0325ab7f9 -r fbe149852f1c src/xdisp.c --- 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)