aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1995-11-11 22:12:30 +0000
committerRichard M. Stallman1995-11-11 22:12:30 +0000
commitf6fd109b050984bcabfd16fa9dfb5c2b1585ddb3 (patch)
treef4cf0e3a35c9d2e2b3efbc6a7e4f469a650eb79f /src
parent88e7bbf15c0324baa789f8d6e9c110c6d12d5127 (diff)
downloademacs-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.c25
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