diff options
| author | Dmitry Antipov | 2013-08-14 11:25:45 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2013-08-14 11:25:45 +0400 |
| commit | 94a4e898b6cbf8375aa8eddb07a7d63a62b55e15 (patch) | |
| tree | c7b43bf83b5d5a6d0aa24851ee5c0ec2dc8b1ab4 /src | |
| parent | aab1fcdf812a7ebd32b8312c05ffcdd1bf610d2b (diff) | |
| download | emacs-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/ChangeLog | 3 | ||||
| -rw-r--r-- | src/xdisp.c | 7 |
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 | ||
| 14 | 2013-08-14 Dmitry Antipov <dmantipov@yandex.ru> | 17 | 2013-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. */ |