Mercurial > emacs
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)) |