Mercurial > emacs
changeset 13519:aee6ea2166bc
(display_text_line): Handle redisplay_end_trigger
before getting the face of the next character. Reset next_face_change.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 11 Nov 1995 22:12:30 +0000 |
parents | 9e55dae21315 |
children | 8c7a3533a688 |
files | src/xdisp.c |
diffstat | 1 files changed, 14 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xdisp.c Sat Nov 11 20:52:52 1995 +0000 +++ b/src/xdisp.c Sat Nov 11 22:12:30 1995 +0000 @@ -2711,19 +2711,10 @@ break; } -#ifdef HAVE_FACES - /* Did we hit a face change? Figure out what face we should - use now. We also hit this the first time through the - loop, to see what face we should start with. */ - if (pos >= next_face_change && (FRAME_WINDOW_P (f))) - current_face = compute_char_face (f, w, pos, - region_beg, region_end, - &next_face_change, pos + 50, 0); -#endif - /* Figure out where (if at all) the redisplay_end_trigger-hook should run. */ - if (MARKERP (w->redisplay_end_trigger)) + if (MARKERP (w->redisplay_end_trigger) + && XMARKER (w->redisplay_end_trigger)->buffer != 0) e_t_h = marker_position (w->redisplay_end_trigger); else if (INTEGERP (w->redisplay_end_trigger)) e_t_h = XINT (w->redisplay_end_trigger); @@ -2737,8 +2728,20 @@ Frun_hooks (1, &Qredisplay_end_trigger_hook); w->redisplay_end_trigger = Qnil; e_t_h = ZV; + /* Notice if it changed the face of this character. */ + next_face_change = pos; } +#ifdef HAVE_FACES + /* Did we hit a face change? Figure out what face we should + use now. We also hit this the first time through the + loop, to see what face we should start with. */ + if (pos >= next_face_change && (FRAME_WINDOW_P (f))) + current_face = compute_char_face (f, w, pos, + region_beg, region_end, + &next_face_change, pos + 50, 0); +#endif + /* Compute the next place we need to stop and do something special; set PAUSE. */