diff options
| author | Gerd Moellmann | 1999-08-06 21:08:08 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 1999-08-06 21:08:08 +0000 |
| commit | 286bcbc9718086ce5bac060f5724238954177bad (patch) | |
| tree | 0336e31dd22ab5e8d1a05276451b74b311249f6f /src | |
| parent | 74fa21200af7dcbf95c894c0cd1a4c2c166824a9 (diff) | |
| download | emacs-286bcbc9718086ce5bac060f5724238954177bad.tar.gz emacs-286bcbc9718086ce5bac060f5724238954177bad.zip | |
(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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 8 |
1 files changed, 8 insertions, 0 deletions
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) | |||
| 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) |