455 |
|
|
456 |
int windows_or_buffers_changed; |
int windows_or_buffers_changed; |
457 |
|
|
458 |
|
/* Nonzero means a frame's cursor type has been changed. */ |
459 |
|
|
460 |
|
int cursor_type_changed; |
461 |
|
|
462 |
/* Nonzero after display_mode_line if %l was used and it displayed a |
/* Nonzero after display_mode_line if %l was used and it displayed a |
463 |
line number. */ |
line number. */ |
464 |
|
|
7026 |
if (frame_garbaged) |
if (frame_garbaged) |
7027 |
{ |
{ |
7028 |
Lisp_Object tail, frame; |
Lisp_Object tail, frame; |
7029 |
|
int changed_count = 0; |
7030 |
|
|
7031 |
FOR_EACH_FRAME (tail, frame) |
FOR_EACH_FRAME (tail, frame) |
7032 |
{ |
{ |
7037 |
if (f->resized_p) |
if (f->resized_p) |
7038 |
Fredraw_frame (frame); |
Fredraw_frame (frame); |
7039 |
clear_current_matrices (f); |
clear_current_matrices (f); |
7040 |
|
changed_count++; |
7041 |
f->garbaged = 0; |
f->garbaged = 0; |
7042 |
f->resized_p = 0; |
f->resized_p = 0; |
7043 |
} |
} |
7044 |
} |
} |
7045 |
|
|
7046 |
frame_garbaged = 0; |
frame_garbaged = 0; |
7047 |
++windows_or_buffers_changed; |
if (changed_count) |
7048 |
|
++windows_or_buffers_changed; |
7049 |
} |
} |
7050 |
} |
} |
7051 |
|
|
8582 |
/* The variable buffer_shared is set in redisplay_window and |
/* The variable buffer_shared is set in redisplay_window and |
8583 |
indicates that we redisplay a buffer in different windows. See |
indicates that we redisplay a buffer in different windows. See |
8584 |
there. */ |
there. */ |
8585 |
consider_all_windows_p = update_mode_lines || buffer_shared > 1; |
consider_all_windows_p = (update_mode_lines || buffer_shared > 1 |
8586 |
|
|| cursor_type_changed); |
8587 |
|
|
8588 |
/* If specs for an arrow have changed, do thorough redisplay |
/* If specs for an arrow have changed, do thorough redisplay |
8589 |
to ensure we remove any arrow that should no longer exist. */ |
to ensure we remove any arrow that should no longer exist. */ |
9060 |
|
|
9061 |
update_mode_lines = 0; |
update_mode_lines = 0; |
9062 |
windows_or_buffers_changed = 0; |
windows_or_buffers_changed = 0; |
9063 |
|
cursor_type_changed = 0; |
9064 |
} |
} |
9065 |
|
|
9066 |
/* Start SIGIO interrupts coming again. Having them off during the |
/* Start SIGIO interrupts coming again. Having them off during the |
9869 |
cases. */ |
cases. */ |
9870 |
&& !update_mode_lines |
&& !update_mode_lines |
9871 |
&& !windows_or_buffers_changed |
&& !windows_or_buffers_changed |
9872 |
|
&& !cursor_type_changed |
9873 |
/* Can't use this case if highlighting a region. When a |
/* Can't use this case if highlighting a region. When a |
9874 |
region exists, cursor movement has to do more than just |
region exists, cursor movement has to do more than just |
9875 |
set the cursor. */ |
set the cursor. */ |
10511 |
/* Redisplay the window. */ |
/* Redisplay the window. */ |
10512 |
if (!current_matrix_up_to_date_p |
if (!current_matrix_up_to_date_p |
10513 |
|| windows_or_buffers_changed |
|| windows_or_buffers_changed |
10514 |
|
|| cursor_type_changed |
10515 |
/* Don't use try_window_reusing_current_matrix in this case |
/* Don't use try_window_reusing_current_matrix in this case |
10516 |
because it can have changed the buffer. */ |
because it can have changed the buffer. */ |
10517 |
|| !NILP (Vwindow_scroll_functions) |
|| !NILP (Vwindow_scroll_functions) |
10804 |
!FRAME_WINDOW_P (f) |
!FRAME_WINDOW_P (f) |
10805 |
/* Don't try to reuse the display if windows have been split |
/* Don't try to reuse the display if windows have been split |
10806 |
or such. */ |
or such. */ |
10807 |
|| windows_or_buffers_changed) |
|| windows_or_buffers_changed |
10808 |
|
|| cursor_type_changed) |
10809 |
return 0; |
return 0; |
10810 |
|
|
10811 |
/* Can't do this if region may have changed. */ |
/* Can't do this if region may have changed. */ |
11477 |
GIVE_UP (1); |
GIVE_UP (1); |
11478 |
|
|
11479 |
/* This flag is used to prevent redisplay optimizations. */ |
/* This flag is used to prevent redisplay optimizations. */ |
11480 |
if (windows_or_buffers_changed) |
if (windows_or_buffers_changed || cursor_type_changed) |
11481 |
GIVE_UP (2); |
GIVE_UP (2); |
11482 |
|
|
11483 |
/* Verify that narrowing has not changed. This flag is also set to prevent |
/* Verify that narrowing has not changed. This flag is also set to prevent |