diff options
| author | Gerd Moellmann | 2000-03-20 12:24:13 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-03-20 12:24:13 +0000 |
| commit | 15e26c76c968d85f2f27ea899d3cadc28a1e10c6 (patch) | |
| tree | a61994b379fcb243bd4806d294ad74570dff23a6 /src | |
| parent | 35a2a6a0d0cbe2c8f2d1e9783725b6d14718db35 (diff) | |
| download | emacs-15e26c76c968d85f2f27ea899d3cadc28a1e10c6.tar.gz emacs-15e26c76c968d85f2f27ea899d3cadc28a1e10c6.zip | |
(handle_single_display_prop): Initialize local `value'.
(try_window_reusing_current_matrix): Don't call scroll run
function if run's current and desired position are the same;
this prevents cursor flickering.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 33a87327850..3a3285e626d 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -2456,6 +2456,7 @@ handle_single_display_prop (it, prop, object, position) | |||
| 2456 | space_or_image_found_p = 1; | 2456 | space_or_image_found_p = 1; |
| 2457 | start_pos = *position; | 2457 | start_pos = *position; |
| 2458 | *position = display_prop_end (it, object, start_pos); | 2458 | *position = display_prop_end (it, object, start_pos); |
| 2459 | value = Qnil; | ||
| 2459 | 2460 | ||
| 2460 | /* Let's stop at the new position and assume that all | 2461 | /* Let's stop at the new position and assume that all |
| 2461 | text properties change there. */ | 2462 | text properties change there. */ |
| @@ -5325,7 +5326,7 @@ with_echo_area_buffer (w, which, fn, a1, a2, a3, a4, a5) | |||
| 5325 | int a1, a2, a3, a4, a5; | 5326 | int a1, a2, a3, a4, a5; |
| 5326 | { | 5327 | { |
| 5327 | Lisp_Object buffer; | 5328 | Lisp_Object buffer; |
| 5328 | int i, this_one, the_other, clear_buffer_p, rc; | 5329 | int this_one, the_other, clear_buffer_p, rc; |
| 5329 | int count = specpdl_ptr - specpdl; | 5330 | int count = specpdl_ptr - specpdl; |
| 5330 | 5331 | ||
| 5331 | /* If buffers aren't life, make new ones. */ | 5332 | /* If buffers aren't life, make new ones. */ |
| @@ -7785,7 +7786,7 @@ update: | |||
| 7785 | w->current_matrix->begv = BUF_BEGV (b); | 7786 | w->current_matrix->begv = BUF_BEGV (b); |
| 7786 | w->current_matrix->zv = BUF_ZV (b); | 7787 | w->current_matrix->zv = BUF_ZV (b); |
| 7787 | } | 7788 | } |
| 7788 | 7789 | ||
| 7789 | update_mode_lines = 0; | 7790 | update_mode_lines = 0; |
| 7790 | windows_or_buffers_changed = 0; | 7791 | windows_or_buffers_changed = 0; |
| 7791 | } | 7792 | } |
| @@ -8983,7 +8984,8 @@ redisplay_window (window, just_this_one_p) | |||
| 8983 | If point has not moved off frame, accept the results. */ | 8984 | If point has not moved off frame, accept the results. */ |
| 8984 | if (!current_matrix_up_to_date_p | 8985 | if (!current_matrix_up_to_date_p |
| 8985 | /* Don't use try_window_reusing_current_matrix in this case | 8986 | /* Don't use try_window_reusing_current_matrix in this case |
| 8986 | because it can have changed the buffer. */ | 8987 | because a window scroll function can have changed the |
| 8988 | buffer. */ | ||
| 8987 | || !NILP (Vwindow_scroll_functions) | 8989 | || !NILP (Vwindow_scroll_functions) |
| 8988 | || MINI_WINDOW_P (w) | 8990 | || MINI_WINDOW_P (w) |
| 8989 | || !try_window_reusing_current_matrix (w)) | 8991 | || !try_window_reusing_current_matrix (w)) |
| @@ -9480,7 +9482,8 @@ try_window_reusing_current_matrix (w) | |||
| 9480 | run.current_y = first_row_y; | 9482 | run.current_y = first_row_y; |
| 9481 | run.desired_y = it.current_y; | 9483 | run.desired_y = it.current_y; |
| 9482 | run.height = it.last_visible_y - it.current_y; | 9484 | run.height = it.last_visible_y - it.current_y; |
| 9483 | if (run.height > 0) | 9485 | if (run.height > 0 |
| 9486 | && run.current_y != run.desired_y) | ||
| 9484 | { | 9487 | { |
| 9485 | update_begin (f); | 9488 | update_begin (f); |
| 9486 | rif->update_window_begin_hook (w); | 9489 | rif->update_window_begin_hook (w); |