(redisplay_internal): Do the
mark_window_display_accurate after all windows have been redisplayed because this call resets flags in buffers which are needed for proper redisplay.
This commit is contained in:
parent
75b71d8572
commit
0528abe1c6
2 changed files with 28 additions and 3 deletions
|
@ -1,5 +1,10 @@
|
|||
2001-02-21 Gerd Moellmann <gerd@gnu.org>
|
||||
|
||||
* xdisp.c (redisplay_internal): Do the
|
||||
mark_window_display_accurate after all windows have been
|
||||
redisplayed because this call resets flags in buffers which are
|
||||
needed for proper redisplay.
|
||||
|
||||
* keyboard.c, minibuf.c, lread.c, fns.c, eval.c: Use
|
||||
display_hourglass_p, start_hourglass, cancel_hourglass instead of
|
||||
the old names.
|
||||
|
|
26
src/xdisp.c
26
src/xdisp.c
|
@ -8374,6 +8374,9 @@ redisplay_internal (preserve_echo_area)
|
|||
if (consider_all_windows_p)
|
||||
{
|
||||
Lisp_Object tail, frame;
|
||||
int i, n = 0, size = 50;
|
||||
struct frame **updated
|
||||
= (struct frame **) alloca (size * sizeof *updated);
|
||||
|
||||
/* Clear the face cache eventually. */
|
||||
if (clear_face_cache_count > CLEAR_FACE_CACHE_COUNT)
|
||||
|
@ -8429,12 +8432,29 @@ redisplay_internal (preserve_echo_area)
|
|||
if (pause)
|
||||
break;
|
||||
|
||||
mark_window_display_accurate (f->root_window, 1);
|
||||
if (frame_up_to_date_hook)
|
||||
frame_up_to_date_hook (f);
|
||||
if (n == size)
|
||||
{
|
||||
int nbytes = size * sizeof *updated;
|
||||
struct frame **p = (struct frame **) alloca (2 * nbytes);
|
||||
bcopy (updated, p, nbytes);
|
||||
size *= 2;
|
||||
}
|
||||
|
||||
updated[n++] = f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Do the mark_window_display_accurate after all windows have
|
||||
been redisplayed because this call resets flags in buffers
|
||||
which are needed for proper redisplay. */
|
||||
for (i = 0; i < n; ++i)
|
||||
{
|
||||
struct frame *f = updated[i];
|
||||
mark_window_display_accurate (f->root_window, 1);
|
||||
if (frame_up_to_date_hook)
|
||||
frame_up_to_date_hook (f);
|
||||
}
|
||||
}
|
||||
else if (FRAME_VISIBLE_P (sf) && !FRAME_OBSCURED_P (sf))
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue