aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDmitry Antipov2013-08-14 11:25:45 +0400
committerDmitry Antipov2013-08-14 11:25:45 +0400
commit94a4e898b6cbf8375aa8eddb07a7d63a62b55e15 (patch)
treec7b43bf83b5d5a6d0aa24851ee5c0ec2dc8b1ab4 /src
parentaab1fcdf812a7ebd32b8312c05ffcdd1bf610d2b (diff)
downloademacs-94a4e898b6cbf8375aa8eddb07a7d63a62b55e15.tar.gz
emacs-94a4e898b6cbf8375aa8eddb07a7d63a62b55e15.zip
* 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.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog3
-rw-r--r--src/xdisp.c7
2 files changed, 8 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a120cf1b182..c8a1de49d68 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -10,6 +10,9 @@
10 10
11 * xdisp.c (adjust_window_ends): Move duplicated code to new function. 11 * xdisp.c (adjust_window_ends): Move duplicated code to new function.
12 (try_window, try_window_reusing_current_matrix, try_window_id): Use it. 12 (try_window, try_window_reusing_current_matrix, try_window_id): Use it.
13 (redisplay_window): If window_end_valid is cleared due to non-zero
14 windows_or_buffers_changed, clear current_matrix_up_to_date_p and
15 so do not call to try_cursor_movement for that window.
13 16
142013-08-14 Dmitry Antipov <dmantipov@yandex.ru> 172013-08-14 Dmitry Antipov <dmantipov@yandex.ru>
15 18
diff --git a/src/xdisp.c b/src/xdisp.c
index 82b528cdafd..4d0b0ab9974 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -15449,8 +15449,8 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
15449 && !current_buffer->clip_changed 15449 && !current_buffer->clip_changed
15450 && !window_outdated (w)); 15450 && !window_outdated (w));
15451 15451
15452 /* When windows_or_buffers_changed is non-zero, we can't rely on 15452 /* When windows_or_buffers_changed is non-zero, we can't rely
15453 the window end being valid, so set it to nil there. */ 15453 on the window end being valid, so set it to zero there. */
15454 if (windows_or_buffers_changed) 15454 if (windows_or_buffers_changed)
15455 { 15455 {
15456 /* If window starts on a continuation line, maybe adjust the 15456 /* If window starts on a continuation line, maybe adjust the
@@ -15459,6 +15459,9 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
15459 compute_window_start_on_continuation_line (w); 15459 compute_window_start_on_continuation_line (w);
15460 15460
15461 w->window_end_valid = 0; 15461 w->window_end_valid = 0;
15462 /* If so, we also can't rely on current matrix
15463 and should not fool try_cursor_movement below. */
15464 current_matrix_up_to_date_p = 0;
15462 } 15465 }
15463 15466
15464 /* Some sanity checks. */ 15467 /* Some sanity checks. */