comparison src/xdisp.c @ 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 6849f435f6e8
children 28067247ff90
comparison
equal deleted inserted replaced
25196:d1a0325ab7f9 25197:fbe149852f1c
3457 { 3457 {
3458 /* Current display element of IT is from a display table entry. 3458 /* Current display element of IT is from a display table entry.
3459 Advance in the display table definition. Reset it to null if 3459 Advance in the display table definition. Reset it to null if
3460 end reached, and continue with characters from buffers/ 3460 end reached, and continue with characters from buffers/
3461 strings. */ 3461 strings. */
3462 struct face *face;
3463
3462 ++it->current.dpvec_index; 3464 ++it->current.dpvec_index;
3465
3466 /* Restore face and charset of the iterator to what they were
3467 before the display vector entry (these entries may contain
3468 faces, and of course characters of different charsets). */
3463 it->face_id = it->saved_face_id; 3469 it->face_id = it->saved_face_id;
3470 it->charset = FACE_FROM_ID (it->f, it->face_id)->charset;
3471
3464 if (it->dpvec + it->current.dpvec_index == it->dpend) 3472 if (it->dpvec + it->current.dpvec_index == it->dpend)
3465 { 3473 {
3466 if (it->s) 3474 if (it->s)
3467 it->method = next_element_from_c_string; 3475 it->method = next_element_from_c_string;
3468 else if (STRINGP (it->string)) 3476 else if (STRINGP (it->string))