diff options
| author | Richard M. Stallman | 1995-11-11 22:12:30 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1995-11-11 22:12:30 +0000 |
| commit | f6fd109b050984bcabfd16fa9dfb5c2b1585ddb3 (patch) | |
| tree | f4cf0e3a35c9d2e2b3efbc6a7e4f469a650eb79f /src | |
| parent | 88e7bbf15c0324baa789f8d6e9c110c6d12d5127 (diff) | |
| download | emacs-f6fd109b050984bcabfd16fa9dfb5c2b1585ddb3.tar.gz emacs-f6fd109b050984bcabfd16fa9dfb5c2b1585ddb3.zip | |
(display_text_line): Handle redisplay_end_trigger
before getting the face of the next character. Reset next_face_change.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 2d1b7d4c840..ead4b78f8a0 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -2711,19 +2711,10 @@ display_text_line (w, start, vpos, hpos, taboffset) | |||
| 2711 | break; | 2711 | break; |
| 2712 | } | 2712 | } |
| 2713 | 2713 | ||
| 2714 | #ifdef HAVE_FACES | ||
| 2715 | /* Did we hit a face change? Figure out what face we should | ||
| 2716 | use now. We also hit this the first time through the | ||
| 2717 | loop, to see what face we should start with. */ | ||
| 2718 | if (pos >= next_face_change && (FRAME_WINDOW_P (f))) | ||
| 2719 | current_face = compute_char_face (f, w, pos, | ||
| 2720 | region_beg, region_end, | ||
| 2721 | &next_face_change, pos + 50, 0); | ||
| 2722 | #endif | ||
| 2723 | |||
| 2724 | /* Figure out where (if at all) the | 2714 | /* Figure out where (if at all) the |
| 2725 | redisplay_end_trigger-hook should run. */ | 2715 | redisplay_end_trigger-hook should run. */ |
| 2726 | if (MARKERP (w->redisplay_end_trigger)) | 2716 | if (MARKERP (w->redisplay_end_trigger) |
| 2717 | && XMARKER (w->redisplay_end_trigger)->buffer != 0) | ||
| 2727 | e_t_h = marker_position (w->redisplay_end_trigger); | 2718 | e_t_h = marker_position (w->redisplay_end_trigger); |
| 2728 | else if (INTEGERP (w->redisplay_end_trigger)) | 2719 | else if (INTEGERP (w->redisplay_end_trigger)) |
| 2729 | e_t_h = XINT (w->redisplay_end_trigger); | 2720 | e_t_h = XINT (w->redisplay_end_trigger); |
| @@ -2737,8 +2728,20 @@ display_text_line (w, start, vpos, hpos, taboffset) | |||
| 2737 | Frun_hooks (1, &Qredisplay_end_trigger_hook); | 2728 | Frun_hooks (1, &Qredisplay_end_trigger_hook); |
| 2738 | w->redisplay_end_trigger = Qnil; | 2729 | w->redisplay_end_trigger = Qnil; |
| 2739 | e_t_h = ZV; | 2730 | e_t_h = ZV; |
| 2731 | /* Notice if it changed the face of this character. */ | ||
| 2732 | next_face_change = pos; | ||
| 2740 | } | 2733 | } |
| 2741 | 2734 | ||
| 2735 | #ifdef HAVE_FACES | ||
| 2736 | /* Did we hit a face change? Figure out what face we should | ||
| 2737 | use now. We also hit this the first time through the | ||
| 2738 | loop, to see what face we should start with. */ | ||
| 2739 | if (pos >= next_face_change && (FRAME_WINDOW_P (f))) | ||
| 2740 | current_face = compute_char_face (f, w, pos, | ||
| 2741 | region_beg, region_end, | ||
| 2742 | &next_face_change, pos + 50, 0); | ||
| 2743 | #endif | ||
| 2744 | |||
| 2742 | /* Compute the next place we need to stop | 2745 | /* Compute the next place we need to stop |
| 2743 | and do something special; set PAUSE. */ | 2746 | and do something special; set PAUSE. */ |
| 2744 | 2747 | ||