Mercurial > emacs
changeset 34622:877ed6cab304
(update_window): Detect pending input every nth line
updated, i.e. do it depending on real work done, and not on the
vpos of the line.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Fri, 15 Dec 2000 17:14:34 +0000 |
parents | 0a811c1d7a1d |
children | 0a6636fdd569 |
files | src/dispnew.c |
diffstat | 1 files changed, 3 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/dispnew.c Fri Dec 15 17:14:07 2000 +0000 +++ b/src/dispnew.c Fri Dec 15 17:14:34 2000 +0000 @@ -3789,7 +3789,7 @@ struct glyph_row *row, *end; struct glyph_row *mode_line_row; struct glyph_row *header_line_row = NULL; - int yb, changed_p = 0, mouse_face_overwritten_p = 0; + int yb, changed_p = 0, mouse_face_overwritten_p = 0, n_updated; rif->update_window_begin_hook (w); yb = window_text_bottom_y (w); @@ -3844,7 +3844,7 @@ } /* Update the rest of the lines. */ - for (; row < end && (force_p || !input_pending); ++row) + for (n_updated = 0; row < end && (force_p || !input_pending); ++row) if (row->enabled_p) { int vpos = MATRIX_ROW_VPOS (row, desired_matrix); @@ -3854,7 +3854,7 @@ detect_input_pending. If it's done too often, scrolling large windows with repeated scroll-up commands will too quickly pause redisplay. */ - if (!force_p && vpos % preempt_count == 0) + if (!force_p && ++n_updated % preempt_count == 0) detect_input_pending (); changed_p |= update_window_line (w, vpos,