@defmac save-selected-window forms@dots{}
This macro records the selected window, executes @var{forms}
-in sequence, then restores the earlier selected window.
+in sequence, then restores the earlier selected window (unless that
+window is no longer alive).
This macro does not save or restore anything about the sizes, arrangement
or contents of windows; therefore, if the @var{forms} change them,
The @code{switch-to-buffer} function is often used interactively, as
the binding of @kbd{C-x b}. It is also used frequently in programs. It
-always returns @code{nil}.
+returns the buffer that it switched to.
@end deffn
@deffn Command switch-to-buffer-other-window buffer-or-name &optional norecord
This function makes @var{buffer-or-name} the current buffer and
switches to it in some window, preferably not the window previously
selected. The ``popped-to'' window becomes the selected window within
-its frame.
+its frame. The return value is the buffer that was switched to.
If the variable @code{pop-up-frames} is non-@code{nil},
@code{pop-to-buffer} looks for a window in any visible frame already
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
point gets within this many lines of the top or bottom of the window,
-the window scrolls automatically (if possible) to move point out of the
-margin, closer to the center of the window.
+redisplay scrolls the text automatically (if possible) to move point
+out of the margin, closer to the center of the window.
@end defopt
@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,
-then redisplay scrolls the text to center point vertically in the
-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.
+moves off the screen (or into the scroll margin). If the value is a
+positive integer @var{n}, then redisplay scrolls the text up to
+@var{n} lines in either direction, if that will bring point back into
+proper view. This action is called @dfn{conservative scrolling}.
+Otherwise, scrolling happens in the usual way, under the control of
+other variables such as @code{scroll-up-aggressively} and
+@code{scroll-down-aggressively}.
+
+The default value is zero, which means that conservative scrolling
+never happens.
@end defopt
@defopt scroll-down-aggressively
@deffn Command recenter &optional count
@cindex centering point
-This function scrolls the selected window to put the text where point
-is located at a specified vertical position within the window.
+This function scrolls the text in the selected window so that point is
+displayed at a specified vertical position within the window. It does
+not ``move point'' with respect to the text.
-If @var{count} is a nonnegative number, it puts the line containing
-point @var{count} lines down from the top of the window. If @var{count}
-is a negative number, then it counts upward from the bottom of the
-window, so that @minus{}1 stands for the last usable line in the window.
-If @var{count} is a non-@code{nil} list, then it stands for the line in
-the middle of the window.
+If @var{count} is a nonnegative number, that puts the line containing
+point @var{count} lines down from the top of the window. If
+@var{count} is a negative number, then it counts upward from the
+bottom of the window, so that @minus{}1 stands for the last usable
+line in the window. If @var{count} is a non-@code{nil} list, then it
+stands for the line in the middle of the window.
If @var{count} is @code{nil}, @code{recenter} puts the line containing
point in the middle of the window, then clears and redisplays the entire
left you can scroll, but eventually all the text will disappear off the
left edge.
-@vindex automatic-hscrolling
+@vindex auto-hscroll-mode
In Emacs 21, redisplay automatically alters the horizontal scrolling
of a window as necessary to ensure that point is always visible, if
-@code{automatic-hscrolling} is set. However, you can still set the
+@code{auto-hscroll-mode} is set. However, you can still set the
horizontal scrolling value explicitly. The value you specify serves as
a lower bound for automatic scrolling, i.e. automatic scrolling
will not scroll a window to a column less than the specified one.