/[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.714 by rms, Wed Dec 12 22:27:28 2001 UTC revision 1.715 by rms, Sun Dec 16 20:02:01 2001 UTC
# Line 52  Boston, MA 02111-1307, USA.  */ Line 52  Boston, MA 02111-1307, USA.  */
52            +---------------------------------+            +---------------------------------+
53            |                                 |            |                                 |
54            |                                 V            |                                 V
55     +--------------+   redisplay()   +----------------+     +--------------+   redisplay     +----------------+
56     | Lisp machine |---------------->| Redisplay code |<--+     | Lisp machine |---------------->| Redisplay code |<--+
57     +--------------+   (xdisp.c)     +----------------+   |     +--------------+   (xdisp.c)     +----------------+   |
58            ^                                  |           |            ^                                  |           |
# Line 593  Lisp_Object Vimage_types; Line 593  Lisp_Object Vimage_types;
593    
594  Lisp_Object Vresize_mini_windows;  Lisp_Object Vresize_mini_windows;
595    
596    /* Buffer being redisplayed -- for redisplay_window_error.  */
597    
598    struct buffer *displayed_buffer;
599    
600  /* Value returned from text property handlers (see below).  */  /* Value returned from text property handlers (see below).  */
601    
602  enum prop_handled  enum prop_handled
# Line 733  static void redisplay_internal P_ ((int) Line 737  static void redisplay_internal P_ ((int)
737  static int echo_area_display P_ ((int));  static int echo_area_display P_ ((int));
738  static void redisplay_windows P_ ((Lisp_Object));  static void redisplay_windows P_ ((Lisp_Object));
739  static void redisplay_window P_ ((Lisp_Object, int));  static void redisplay_window P_ ((Lisp_Object, int));
740    static Lisp_Object redisplay_window_error ();
741    static Lisp_Object redisplay_window_0 P_ ((Lisp_Object));
742    static Lisp_Object redisplay_window_1 P_ ((Lisp_Object));
743  static void update_menu_bar P_ ((struct frame *, int));  static void update_menu_bar P_ ((struct frame *, int));
744  static int try_window_reusing_current_matrix P_ ((struct window *));  static int try_window_reusing_current_matrix P_ ((struct window *));
745  static int try_window_id P_ ((struct window *));  static int try_window_id P_ ((struct window *));
# Line 8883  redisplay_internal (preserve_echo_area) Line 8890  redisplay_internal (preserve_echo_area)
8890        Lisp_Object mini_window;        Lisp_Object mini_window;
8891        struct frame *mini_frame;        struct frame *mini_frame;
8892    
8893        redisplay_window (selected_window, 1);        displayed_buffer = XBUFFER (XWINDOW (selected_window)->buffer);
8894          internal_condition_case_1 (redisplay_window_1, selected_window, Qerror,
8895                                     redisplay_window_error);
8896        
8897        /* Compare desired and current matrices, perform output.  */        /* Compare desired and current matrices, perform output.  */
8898      update:      update:
# Line 9219  redisplay_windows (window) Line 9228  redisplay_windows (window)
9228        else if (!NILP (w->vchild))        else if (!NILP (w->vchild))
9229          redisplay_windows (w->vchild);          redisplay_windows (w->vchild);
9230        else        else
9231          redisplay_window (window, 0);          {
9232              displayed_buffer = XBUFFER (w->buffer);
9233              internal_condition_case_1 (redisplay_window_0, window, Qerror,
9234                                         redisplay_window_error);
9235            }
9236    
9237        window = w->next;        window = w->next;
9238      }      }
9239  }  }
9240    
9241    static Lisp_Object
9242    redisplay_window_error ()
9243    {
9244      displayed_buffer->display_error_modiff = BUF_MODIFF (displayed_buffer);
9245      return Qnil;
9246    }
9247    
9248    static Lisp_Object
9249    redisplay_window_0 (window)
9250         Lisp_Object window;
9251    {
9252      if (displayed_buffer->display_error_modiff < BUF_MODIFF (displayed_buffer))
9253        redisplay_window (window, 0);
9254      return Qnil;
9255    }
9256    
9257    static Lisp_Object
9258    redisplay_window_1 (window)
9259         Lisp_Object window;
9260    {
9261      if (displayed_buffer->display_error_modiff < BUF_MODIFF (displayed_buffer))
9262        redisplay_window (window, 1);
9263      return Qnil;
9264    }
9265    
9266  /* Set cursor position of W.  PT is assumed to be displayed in ROW.  /* Set cursor position of W.  PT is assumed to be displayed in ROW.
9267     DELTA is the number of bytes by which positions recorded in ROW     DELTA is the number of bytes by which positions recorded in ROW
9268     differ from current buffer positions.  */     differ from current buffer positions.  */

Legend:
Removed from v.1.714  
changed lines
  Added in v.1.715

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