[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/xdisp.c
From: |
Dave Love |
Subject: |
[Emacs-diffs] Changes to emacs/src/xdisp.c |
Date: |
Tue, 16 Jul 2002 09:57:00 -0400 |
Index: emacs/src/xdisp.c
diff -c emacs/src/xdisp.c:1.765 emacs/src/xdisp.c:1.766
*** emacs/src/xdisp.c:1.765 Mon Jul 15 16:37:12 2002
--- emacs/src/xdisp.c Tue Jul 16 09:47:07 2002
***************
*** 8420,8428 ****
struct window *w;
struct buffer *b;
{
! if (b->prevent_redisplay_optimizations_p)
! b->clip_changed = 1;
! else if (b->clip_changed
&& !NILP (w->window_end_valid)
&& w->current_matrix->buffer == b
&& w->current_matrix->zv == BUF_ZV (b)
--- 8420,8426 ----
struct window *w;
struct buffer *b;
{
! if (b->clip_changed
&& !NILP (w->window_end_valid)
&& w->current_matrix->buffer == b
&& w->current_matrix->zv == BUF_ZV (b)
***************
*** 8689,8694 ****
--- 8687,8693 ----
&& CHARPOS (tlbufpos) > 0
&& NILP (w->update_mode_line)
&& !current_buffer->clip_changed
+ && !current_buffer->prevent_redisplay_optimizations_p
&& FRAME_VISIBLE_P (XFRAME (w->frame))
&& !FRAME_OBSCURED_P (XFRAME (w->frame))
/* Make sure recorded data applies to current buffer, etc. */
***************
*** 10093,10098 ****
--- 10092,10100 ----
struct it it;
/* Record it now because it's overwritten. */
int current_matrix_up_to_date_p = 0;
+ /* This is less strict than current_matrix_up_to_date_p.
+ It indictes that the buffer contents and narrowing are unchanged. */
+ int buffer_unchanged_p = 0;
int temp_scroll_step = 0;
int count = SPECPDL_INDEX ();
int rc;
***************
*** 10114,10120 ****
/* Has the mode line to be updated? */
update_mode_line = (!NILP (w->update_mode_line)
|| update_mode_lines
! || buffer->clip_changed);
if (MINI_WINDOW_P (w))
{
--- 10116,10123 ----
/* Has the mode line to be updated? */
update_mode_line = (!NILP (w->update_mode_line)
|| update_mode_lines
! || buffer->clip_changed
! || buffer->prevent_redisplay_optimizations_p);
if (MINI_WINDOW_P (w))
{
***************
*** 10157,10165 ****
--- 10160,10175 ----
current_matrix_up_to_date_p
= (!NILP (w->window_end_valid)
&& !current_buffer->clip_changed
+ && !current_buffer->prevent_redisplay_optimizations_p
&& XFASTINT (w->last_modified) >= MODIFF
&& XFASTINT (w->last_overlay_modified) >= OVERLAY_MODIFF);
+ buffer_unchanged_p
+ = (!NILP (w->window_end_valid)
+ && !current_buffer->clip_changed
+ && END_UNCHANGED + BEG_UNCHANGED >= Z - BEG
+ && XFASTINT (w->last_overlay_modified) >= OVERLAY_MODIFF);
+
/* When windows_or_buffers_changed is non-zero, we can't rely on
the window end being valid, so set it to nil there. */
if (windows_or_buffers_changed)
***************
*** 10277,10284 ****
w->window_end_valid = Qnil;
/* Forget any recorded base line for line number display. */
! if (!current_matrix_up_to_date_p
! || current_buffer->clip_changed)
w->base_line_number = Qnil;
/* Redisplay the mode line. Select the buffer properly for that.
--- 10287,10293 ----
w->window_end_valid = Qnil;
/* Forget any recorded base line for line number display. */
! if (!buffer_unchanged_p)
w->base_line_number = Qnil;
/* Redisplay the mode line. Select the buffer properly for that.
***************
*** 10356,10362 ****
/* Handle case where text has not changed, only point, and it has
not moved off the frame. */
! if (current_matrix_up_to_date_p
&& (rc = try_cursor_movement (window, startp, &temp_scroll_step),
rc != CURSOR_MOVEMENT_CANNOT_BE_USED))
{
--- 10365,10371 ----
/* Handle case where text has not changed, only point, and it has
not moved off the frame. */
! if (buffer_unchanged_p
&& (rc = try_cursor_movement (window, startp, &temp_scroll_step),
rc != CURSOR_MOVEMENT_CANNOT_BE_USED))
{
***************
*** 10510,10517 ****
/* w->vscroll = 0; */
/* Forget any previously recorded base line for line number display. */
! if (!current_matrix_up_to_date_p
! || current_buffer->clip_changed)
w->base_line_number = Qnil;
/* Move backward half the height of the window. */
--- 10519,10525 ----
/* w->vscroll = 0; */
/* Forget any previously recorded base line for line number display. */
! if (!buffer_unchanged_p)
w->base_line_number = Qnil;
/* Move backward half the height of the window. */
***************
*** 11525,11534 ****
if (windows_or_buffers_changed || cursor_type_changed)
GIVE_UP (2);
! /* Verify that narrowing has not changed. This flag is also set to prevent
! redisplay optimizations. It would be nice to further
reduce the number of cases where this prevents try_window_id. */
! if (current_buffer->clip_changed)
GIVE_UP (3);
/* Window must either use window-based redisplay or be full width. */
--- 11533,11544 ----
if (windows_or_buffers_changed || cursor_type_changed)
GIVE_UP (2);
! /* Verify that narrowing has not changed.
! Also verify that we were not told to prevent redisplay optimizations.
! It would be nice to further
reduce the number of cases where this prevents try_window_id. */
! if (current_buffer->clip_changed
! || current_buffer->prevent_redisplay_optimizations_p)
GIVE_UP (3);
/* Window must either use window-based redisplay or be full width. */
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Richard M. Stallman, 2002/07/01
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Juanma Barranquero, 2002/07/03
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Dave Love, 2002/07/03
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Pavel JanÃk, 2002/07/05
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Richard M. Stallman, 2002/07/08
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Juanma Barranquero, 2002/07/10
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Richard M. Stallman, 2002/07/11
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Ken Raeburn, 2002/07/14
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Stefan Monnier, 2002/07/15
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Richard M. Stallman, 2002/07/16
- [Emacs-diffs] Changes to emacs/src/xdisp.c,
Dave Love <=
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Ken Raeburn, 2002/07/16
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Juanma Barranquero, 2002/07/19
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Richard M. Stallman, 2002/07/20
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Richard M. Stallman, 2002/07/21
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Richard M. Stallman, 2002/07/22
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kenichi Handa, 2002/07/22
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kenichi Handa, 2002/07/23
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kenichi Handa, 2002/07/23
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Richard M. Stallman, 2002/07/23
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Richard M. Stallman, 2002/07/24