Add top_line_format.
authorGerd Moellmann <gerd@gnu.org>
Wed, 21 Jul 1999 21:43:52 +0000 (21:43 +0000)
committerGerd Moellmann <gerd@gnu.org>
Wed, 21 Jul 1999 21:43:52 +0000 (21:43 +0000)
(scroll_up_aggressively): New.
(scroll_down_aggressively):  New.
(struct buffer): indicate_empty_lines renamed from
indicate_zv_lines.
(struct buffer): New member indicate_zv_lines.
(struct buffer): New members left_margin_width
and right_margin_width.
(struct buffer): Add member minibuffer_prompt_length
if PROMPT_IN_BUFFER.

src/buffer.h

index 6e78337..4928333 100644 (file)
@@ -485,9 +485,15 @@ struct buffer
 
     /* Everything from here down must be a Lisp_Object */
 
-
     /* The name of this buffer.  */
     Lisp_Object name;
+
+#if !NO_PROMPT_IN_BUFFER
+    /* Amount at the start of the buffer used by a minibuffer prompt,
+       or nil if this buffer is not a mini-buffer.  */
+    Lisp_Object minibuffer_prompt_length;
+#endif
+
     /* The name of the file visited in this buffer, or nil.  */
     Lisp_Object filename;
     /* Dir for expanding relative file names.  */
@@ -522,6 +528,10 @@ struct buffer
     Lisp_Object mode_name;
     /* Mode line element that controls format of mode line.  */
     Lisp_Object mode_line_format;
+    
+    /* Analogous to mode_line_format for the line displayed at the top
+       of windows.  Nil means don't display that line.  */
+    Lisp_Object top_line_format;
 
     /* Keys that are bound local to this buffer.  */
     Lisp_Object keymap;
@@ -652,9 +662,29 @@ struct buffer
     /* Incremented each time the buffer is displayed in a window.  */
     Lisp_Object display_count;
  
+    /* Widths of left and right marginal areas for windows displaying
+       this buffer.  */
+    Lisp_Object left_margin_width, right_margin_width;
+
+    /* Non-nil means indicate lines not displaying text (in a style
+       like vi).  */
+    Lisp_Object indicate_empty_lines;
+
     /* Time stamp updated each time this buffer is displayed in a window.  */
     Lisp_Object display_time;
 
+    /* If scrolling the display because point is below the bottom of a
+       window showing this buffer, try to choose a window start so
+       that point ends up this number of lines from the top of the
+       window.  Nil means that scrolling method isn't used.  */
+    Lisp_Object scroll_up_aggressively;
+    
+    /* If scrolling the display because point is above the top of a
+       window showing this buffer, try to choose a window start so
+       that point ends up this number of lines from the bottom of the
+       window.  Nil means that scrolling method isn't used.  */
+    Lisp_Object scroll_down_aggressively;
+
     /* These are so we don't have to recompile everything
        the next few times we add a new slot.  */
     Lisp_Object extra2, extra3;
@@ -772,3 +802,4 @@ extern Lisp_Object Vtransient_mark_mode;
 #define BUFFER_FREE(data) (free ((data)))
 #define R_ALLOC_DECLARE(var,data)
 #endif
+