@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
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.
(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)
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}.
@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
@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
@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}.
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
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,
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
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
@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
@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