* xdisp.c (redisplay_window): If window_end_valid is cleared due to

non-zero windows_or_buffers_changed, clear current_matrix_up_to_date_p
and so do not call to try_cursor_movement for that window.
This commit is contained in:
Dmitry Antipov 2013-08-14 11:25:45 +04:00
parent aab1fcdf81
commit 94a4e898b6
2 changed files with 8 additions and 2 deletions

View file

@ -10,6 +10,9 @@
* xdisp.c (adjust_window_ends): Move duplicated code to new function.
(try_window, try_window_reusing_current_matrix, try_window_id): Use it.
(redisplay_window): If window_end_valid is cleared due to non-zero
windows_or_buffers_changed, clear current_matrix_up_to_date_p and
so do not call to try_cursor_movement for that window.
2013-08-14 Dmitry Antipov <dmantipov@yandex.ru>

View file

@ -15449,8 +15449,8 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
&& !current_buffer->clip_changed
&& !window_outdated (w));
/* When windows_or_buffers_changed is non-zero, we can't rely on
the window end being valid, so set it to nil there. */
/* When windows_or_buffers_changed is non-zero, we can't rely
on the window end being valid, so set it to zero there. */
if (windows_or_buffers_changed)
{
/* If window starts on a continuation line, maybe adjust the
@ -15459,6 +15459,9 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
compute_window_start_on_continuation_line (w);
w->window_end_valid = 0;
/* If so, we also can't rely on current matrix
and should not fool try_cursor_movement below. */
current_matrix_up_to_date_p = 0;
}
/* Some sanity checks. */