/[emacs]/emacs/src/xdisp.c
ViewVC logotype

Diff of /emacs/src/xdisp.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.739 by rms, Sat Mar 16 07:05:59 2002 UTC revision 1.740 by rms, Mon Mar 18 04:43:36 2002 UTC
# Line 455  int update_mode_lines; Line 455  int update_mode_lines;
455    
456  int windows_or_buffers_changed;  int windows_or_buffers_changed;
457    
458    /* Nonzero means a frame's cursor type has been changed.  */
459    
460    int cursor_type_changed;
461    
462  /* Nonzero after display_mode_line if %l was used and it displayed a  /* Nonzero after display_mode_line if %l was used and it displayed a
463     line number.  */     line number.  */
464    
# Line 7022  clear_garbaged_frames () Line 7026  clear_garbaged_frames ()
7026    if (frame_garbaged)    if (frame_garbaged)
7027      {      {
7028        Lisp_Object tail, frame;        Lisp_Object tail, frame;
7029          int changed_count = 0;
7030                
7031        FOR_EACH_FRAME (tail, frame)        FOR_EACH_FRAME (tail, frame)
7032          {          {
# Line 7032  clear_garbaged_frames () Line 7037  clear_garbaged_frames ()
7037                if (f->resized_p)                if (f->resized_p)
7038                  Fredraw_frame (frame);                  Fredraw_frame (frame);
7039                clear_current_matrices (f);                clear_current_matrices (f);
7040                  changed_count++;
7041                f->garbaged = 0;                f->garbaged = 0;
7042                f->resized_p = 0;                f->resized_p = 0;
7043              }              }
7044          }          }
7045    
7046        frame_garbaged = 0;        frame_garbaged = 0;
7047        ++windows_or_buffers_changed;        if (changed_count)
7048            ++windows_or_buffers_changed;
7049      }      }
7050  }  }
7051    
# Line 8575  redisplay_internal (preserve_echo_area) Line 8582  redisplay_internal (preserve_echo_area)
8582    /* The variable buffer_shared is set in redisplay_window and    /* The variable buffer_shared is set in redisplay_window and
8583       indicates that we redisplay a buffer in different windows.  See       indicates that we redisplay a buffer in different windows.  See
8584       there.  */       there.  */
8585    consider_all_windows_p = update_mode_lines || buffer_shared > 1;    consider_all_windows_p = (update_mode_lines || buffer_shared > 1
8586                                || cursor_type_changed);
8587    
8588    /* If specs for an arrow have changed, do thorough redisplay    /* If specs for an arrow have changed, do thorough redisplay
8589       to ensure we remove any arrow that should no longer exist.  */       to ensure we remove any arrow that should no longer exist.  */
# Line 9052  redisplay_internal (preserve_echo_area) Line 9060  redisplay_internal (preserve_echo_area)
9060    
9061        update_mode_lines = 0;        update_mode_lines = 0;
9062        windows_or_buffers_changed = 0;        windows_or_buffers_changed = 0;
9063          cursor_type_changed = 0;
9064      }      }
9065    
9066    /* Start SIGIO interrupts coming again.  Having them off during the    /* Start SIGIO interrupts coming again.  Having them off during the
# Line 9860  try_cursor_movement (window, startp, scr Line 9869  try_cursor_movement (window, startp, scr
9869           cases.  */           cases.  */
9870        && !update_mode_lines        && !update_mode_lines
9871        && !windows_or_buffers_changed        && !windows_or_buffers_changed
9872          && !cursor_type_changed
9873        /* Can't use this case if highlighting a region.  When a        /* Can't use this case if highlighting a region.  When a
9874           region exists, cursor movement has to do more than just           region exists, cursor movement has to do more than just
9875           set the cursor.  */           set the cursor.  */
# Line 10501  redisplay_window (window, just_this_one_ Line 10511  redisplay_window (window, just_this_one_
10511    /* Redisplay the window.  */    /* Redisplay the window.  */
10512    if (!current_matrix_up_to_date_p    if (!current_matrix_up_to_date_p
10513        || windows_or_buffers_changed        || windows_or_buffers_changed
10514          || cursor_type_changed
10515        /* Don't use try_window_reusing_current_matrix in this case        /* Don't use try_window_reusing_current_matrix in this case
10516           because it can have changed the buffer.  */           because it can have changed the buffer.  */
10517        || !NILP (Vwindow_scroll_functions)        || !NILP (Vwindow_scroll_functions)
# Line 10793  try_window_reusing_current_matrix (w) Line 10804  try_window_reusing_current_matrix (w)
10804        !FRAME_WINDOW_P (f)        !FRAME_WINDOW_P (f)
10805        /* Don't try to reuse the display if windows have been split        /* Don't try to reuse the display if windows have been split
10806           or such.  */           or such.  */
10807        || windows_or_buffers_changed)        || windows_or_buffers_changed
10808          || cursor_type_changed)
10809      return 0;      return 0;
10810    
10811    /* Can't do this if region may have changed.  */    /* Can't do this if region may have changed.  */
# Line 11465  try_window_id (w) Line 11477  try_window_id (w)
11477      GIVE_UP (1);      GIVE_UP (1);
11478        
11479    /* This flag is used to prevent redisplay optimizations.  */    /* This flag is used to prevent redisplay optimizations.  */
11480    if (windows_or_buffers_changed)    if (windows_or_buffers_changed || cursor_type_changed)
11481      GIVE_UP (2);      GIVE_UP (2);
11482        
11483    /* Verify that narrowing has not changed.  This flag is also set to prevent    /* Verify that narrowing has not changed.  This flag is also set to prevent

Legend:
Removed from v.1.739  
changed lines
  Added in v.1.740

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26