/[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.721 by eliz, Tue Jan 15 17:21:28 2002 UTC revision 1.722 by pj, Wed Jan 16 06:44:20 2002 UTC
# Line 34  Boston, MA 02111-1307, USA.  */ Line 34  Boston, MA 02111-1307, USA.  */
34     calling Lisp functions like `sit-for'.  The C function `redisplay'     calling Lisp functions like `sit-for'.  The C function `redisplay'
35     in xdisp.c is the only entry into the inner redisplay code.  (Or,     in xdisp.c is the only entry into the inner redisplay code.  (Or,
36     let's say almost---see the description of direct update     let's say almost---see the description of direct update
37     operations, below.).     operations, below.)
38    
39     The following diagram shows how redisplay code is invoked.  As you     The following diagram shows how redisplay code is invoked.  As you
40     can see, Lisp calls redisplay and vice versa.  Under window systems     can see, Lisp calls redisplay and vice versa.  Under window systems
# Line 260  int inhibit_eval_during_redisplay; Line 260  int inhibit_eval_during_redisplay;
260  /* Names of text properties relevant for redisplay.  */  /* Names of text properties relevant for redisplay.  */
261    
262  Lisp_Object Qdisplay, Qrelative_width, Qalign_to;  Lisp_Object Qdisplay, Qrelative_width, Qalign_to;
263  extern Lisp_Object Qface, Qinvisible, Qimage, Qwidth;  extern Lisp_Object Qface, Qinvisible, Qwidth;
264    
265  /* Symbols used in text property values.  */  /* Symbols used in text property values.  */
266    
# Line 385  int highlight_nonselected_windows; Line 385  int highlight_nonselected_windows;
385    
386  static int scroll_step;  static int scroll_step;
387    
388  /* Non-0 means scroll just far enough to bring point back on the  /* Nonzero means scroll just far enough to bring point back on the
389     screen, when appropriate.  */     screen, when appropriate.  */
390    
391  static int scroll_conservatively;  static int scroll_conservatively;
# Line 443  Lisp_Object Vmessage_stack; Line 443  Lisp_Object Vmessage_stack;
443    
444  int message_enable_multibyte;  int message_enable_multibyte;
445    
446  /* True if we should redraw the mode lines on the next redisplay.  */  /* Nonzero if we should redraw the mode lines on the next redisplay.  */
447    
448  int update_mode_lines;  int update_mode_lines;
449    
450  /* Nonzero if window sizes or contents have changed since last  /* Nonzero if window sizes or contents have changed since last
451     redisplay that finished */     redisplay that finished.  */
452    
453  int windows_or_buffers_changed;  int windows_or_buffers_changed;
454    
# Line 461  int line_number_displayed; Line 461  int line_number_displayed;
461    
462  Lisp_Object Vline_number_display_limit;  Lisp_Object Vline_number_display_limit;
463    
464  /* line width to consider when repostioning for line number display */  /* Line width to consider when repositioning for line number display.  */
465    
466  static int line_number_display_limit_width;  static int line_number_display_limit_width;
467    
# Line 869  window_box_width (w, area) Line 869  window_box_width (w, area)
869    
870    
871  /* Return the pixel height of the display area of window W, not  /* Return the pixel height of the display area of window W, not
872     including mode lines of W, if any..  */     including mode lines of W, if any.  */
873    
874  INLINE int  INLINE int
875  window_box_height (w)  window_box_height (w)
# Line 2302  handle_face_prop (it) Line 2302  handle_face_prop (it)
2302                
2303        /* Is this a start of a run of characters with box face?        /* Is this a start of a run of characters with box face?
2304           Caveat: this can be called for a freshly initialized           Caveat: this can be called for a freshly initialized
2305           iterator; face_id is -1 is this case.  We know that the new           iterator; face_id is -1 in this case.  We know that the new
2306           face will not change until limit, i.e. if the new face has a           face will not change until limit, i.e. if the new face has a
2307           box, all characters up to limit will have one.  But, as           box, all characters up to limit will have one.  But, as
2308           usual, we don't know whether limit is really the end.  */           usual, we don't know whether limit is really the end.  */
# Line 2812  display_prop_end (it, object, start_pos) Line 2812  display_prop_end (it, object, start_pos)
2812     If PROP is a `space' or `image' sub-property, set *POSITION to the     If PROP is a `space' or `image' sub-property, set *POSITION to the
2813     end position of the `display' property.     end position of the `display' property.
2814    
2815     Value is non-zero something was found which replaces the display     Value is non-zero if something was found which replaces the display
2816     of buffer or string text.  */     of buffer or string text.  */
2817    
2818  static int  static int
# Line 2829  handle_single_display_prop (it, prop, ob Line 2829  handle_single_display_prop (it, prop, ob
2829    Lisp_Object form;    Lisp_Object form;
2830    
2831    /* If PROP is a list of the form `(when FORM . VALUE)', FORM is    /* If PROP is a list of the form `(when FORM . VALUE)', FORM is
2832       evaluated.  If the result is nil, VALUE is ignored. */       evaluated.  If the result is nil, VALUE is ignored.  */
2833    form = Qt;    form = Qt;
2834    if (CONSP (prop) && EQ (XCAR (prop), Qwhen))    if (CONSP (prop) && EQ (XCAR (prop), Qwhen))
2835      {      {
# Line 2960  handle_single_display_prop (it, prop, ob Line 2960  handle_single_display_prop (it, prop, ob
2960    else if (!it->string_from_display_prop_p)    else if (!it->string_from_display_prop_p)
2961      {      {
2962        /* `((margin left-margin) VALUE)' or `((margin right-margin)        /* `((margin left-margin) VALUE)' or `((margin right-margin)
2963           VALUE) or `((margin nil) VALUE)' or VALUE. */           VALUE) or `((margin nil) VALUE)' or VALUE.  */
2964        Lisp_Object location, value;        Lisp_Object location, value;
2965        struct text_pos start_pos;        struct text_pos start_pos;
2966        int valid_p;        int valid_p;
# Line 6221  ensure_echo_area_buffers () Line 6221  ensure_echo_area_buffers ()
6221     that the current message becomes the last displayed one, make     that the current message becomes the last displayed one, make
6222     choose a suitable buffer for echo_area_buffer[0], and clear it.     choose a suitable buffer for echo_area_buffer[0], and clear it.
6223    
6224     Value is what FN returns. */     Value is what FN returns.  */
6225    
6226  static int  static int
6227  with_echo_area_buffer (w, which, fn, a1, a2, a3, a4)  with_echo_area_buffer (w, which, fn, a1, a2, a3, a4)
# Line 6572  resize_mini_window_1 (a1, exactly, a3, a Line 6572  resize_mini_window_1 (a1, exactly, a3, a
6572  /* Resize mini-window W to fit the size of its contents.  EXACT:P  /* Resize mini-window W to fit the size of its contents.  EXACT:P
6573     means size the window exactly to the size needed.  Otherwise, it's     means size the window exactly to the size needed.  Otherwise, it's
6574     only enlarged until W's buffer is empty.  Value is non-zero if     only enlarged until W's buffer is empty.  Value is non-zero if
6575     the window height has been changed. */     the window height has been changed.  */
6576    
6577  int  int
6578  resize_mini_window (w, exact_p)  resize_mini_window (w, exact_p)
# Line 6624  resize_mini_window (w, exact_p) Line 6624  resize_mini_window (w, exact_p)
6624        else        else
6625          max_height = total_height / 4;          max_height = total_height / 4;
6626                
6627        /* Correct that max. height if it's bogus. */        /* Correct that max. height if it's bogus.  */
6628        max_height = max (1, max_height);        max_height = max (1, max_height);
6629        max_height = min (total_height, max_height);        max_height = min (total_height, max_height);
6630                
# Line 9163  mark_window_display_accurate (window, ac Line 9163  mark_window_display_accurate (window, ac
9163      {      {
9164        /* Force a thorough redisplay the next time by setting        /* Force a thorough redisplay the next time by setting
9165           last_arrow_position and last_arrow_string to t, which is           last_arrow_position and last_arrow_string to t, which is
9166           unequal to any useful value of Voverlay_arrow_... */           unequal to any useful value of Voverlay_arrow_...  */
9167        last_arrow_position = Qt;        last_arrow_position = Qt;
9168        last_arrow_string = Qt;        last_arrow_string = Qt;
9169      }      }
# Line 12939  display_line (it) Line 12939  display_line (it)
12939        hpos_before = it->hpos;        hpos_before = it->hpos;
12940        x_before = x;        x_before = x;
12941    
12942        if (/* Not a newline. */        if (/* Not a newline.  */
12943            nglyphs > 0            nglyphs > 0
12944            /* Glyphs produced fit entirely in the line.  */            /* Glyphs produced fit entirely in the line.  */
12945            && it->current_x < it->last_visible_x)            && it->current_x < it->last_visible_x)

Legend:
Removed from v.1.721  
changed lines
  Added in v.1.722

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