Undefine setpgrp before setting it.
[bpt/emacs.git] / lispref / windows.texi
index 5596a59..f92fb1a 100644 (file)
@@ -1,6 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998 Free Software Foundation, Inc.
+@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/windows
 @node Windows, Frames, Buffers, Top
@@ -260,7 +261,7 @@ gets @minus{} @var{size} lines and the upper window gets the rest, but
 the upper window is still the one selected.)
 @end deffn
 
-@deffn Command split-window-horizontally size
+@deffn Command split-window-horizontally &optional size
 This function splits the selected window into two windows
 side-by-side, leaving the selected window with @var{size} columns.
 
@@ -272,7 +273,7 @@ You could define a simplified version of the function like this:
 (defun split-window-horizontally (&optional arg)
   "Split selected window into two windows, side by side..."
   (interactive "P")
-@endgroup
+@end group
 @group
   (let ((size (and arg (prefix-numeric-value arg))))
     (and size (< size 0)
@@ -563,7 +564,7 @@ This function selects the @var{count}th following window in the cyclic
 order.  If count is negative, then it moves back @minus{}@var{count}
 windows in the cycle, rather than forward.  It returns @code{nil}.
 
-The argument @var{all-frames} has the same meaning is as in
+The argument @var{all-frames} has the same meaning as in
 @code{next-window}, but the @var{minibuf} argument of @code{next-window}
 is always effectively @code{nil}.
 
@@ -591,9 +592,9 @@ display buffers in windows in a precisely controlled fashion.
 @iftex
 See the following section for
 @end iftex
-@ifinfo
+@ifnottex
 @xref{Displaying Buffers}, for
-@end ifinfo
+@end ifnottex
 related functions that find a window to use and specify a buffer for it.
 The functions described there are easier to use than these, but they
 employ heuristics in choosing or creating a window; use these functions
@@ -676,7 +677,6 @@ If it is a frame, consider windows on that frame.
 @end defun
 
 @defvar buffer-display-time
-@tindex buffer-display-time
 This variable records the time at which a buffer was last made visible
 in a window.  It is always local in each buffer; each time
 @code{set-window-buffer} is called, it sets this variable to
@@ -698,9 +698,9 @@ window.
 @iftex
 See the preceding section for
 @end iftex
-@ifinfo
+@ifnottex
 @xref{Buffers and Windows}, for
-@end ifinfo
+@end ifnottex
 low-level functions that give you more precise control.  All of these
 functions work by calling @code{set-window-buffer}.
 
@@ -1288,7 +1288,6 @@ If this variable is non-@code{nil}, it tells @code{scroll-other-window}
 which buffer to scroll.
 @end defvar
 
-@tindex scroll-margin
 @defopt scroll-margin
 This option specifies the size of the scroll margin---a minimum number
 of lines between point and the top or bottom of a window.  Whenever
@@ -1297,7 +1296,6 @@ the window scrolls automatically (if possible) to move point out of the
 margin, closer to the center of the window.
 @end defopt
 
-@tindex scroll-conservatively
 @defopt scroll-conservatively
 This variable controls how scrolling is done automatically when point
 moves off the screen (or into the scroll margin).  If the value is zero,
@@ -1306,6 +1304,30 @@ window.  If the value is a positive integer @var{n}, then redisplay
 scrolls the window up to @var{n} lines in either direction, if that will
 bring point back into view.  Otherwise, it centers point.  The default
 value is zero.
+
+A value of @code{nil} is equivalent to .5, since it centers point.  This
+variable automatically becomes buffer-local when set in any fashion.
+@end defopt
+
+@defopt scroll-up-aggressively
+@tindex scroll-up-aggressively
+The value of this variable should be either @code{nil} or a fraction
+@var{f} between 0 and 1.  If it is a fraction, that specifies where on
+the screen to put point when scrolling upward.  More precisely, when a
+window scrolls up because point is above the window start, the new start
+position is chosen to put point @var{f} part of the window height from
+the top.  The larger @var{f}, the more aggressive the scrolling.
+
+A value of @code{nil} is equivalent to .5, since its effect is to center
+point.  This variable automatically becomes buffer-local when set in any
+fashion.
+@end defopt
+
+@defopt scroll-down-aggressively
+@tindex scroll-down-aggressively
+Likewise, for scrolling down.  The value, @var{f}, specifies how far
+point should be placed from the bottom of the window; thus, as with
+@code{scroll-up-aggressively}, a larger value scrolls more aggressively.
 @end defopt
 
 @defopt scroll-step
@@ -1315,7 +1337,6 @@ only by precisely @var{n} lines, not a smaller number.  This feature
 does not work with @code{scroll-margin}.  The default value is zero.
 @end defopt
 
-@tindex scroll-preserve-screen-position
 @defopt scroll-preserve-screen-position
 If this option is non-@code{nil}, the scroll functions move point so
 that the vertical position of the cursor is unchanged, when that is
@@ -2029,7 +2050,6 @@ Windows}) is what you need here.
 @end defvar
 
 @defvar redisplay-end-trigger-functions
-@tindex redisplay-end-trigger-functions
 This abnormal hook is run whenever redisplay in a window uses text that
 extends past a specified end trigger position.  You set the end trigger
 position with the function @code{set-window-redisplay-end-trigger}.  The
@@ -2040,18 +2060,15 @@ after the hook is run.
 @end defvar
 
 @defun set-window-redisplay-end-trigger window position
-@tindex set-window-redisplay-end-trigger
 This function sets @var{window}'s end trigger position at
 @var{position}.
 @end defun
 
 @defun window-redisplay-end-trigger &optional window
-@tindex window-redisplay-end-trigger
 This function returns @var{window}'s current end trigger position.
 @end defun
 
 @defvar window-configuration-change-hook
-@tindex window-configuration-change-hook
 A normal hook that is run every time you change the window configuration
 of an existing frame.  This includes splitting or deleting windows,
 changing the sizes of windows, or displaying a different buffer in a