-moves off the screen. 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 brings point back on screen by
-scrolling @var{n} lines in either direction, if possible; 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
+@tindex scroll-down-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 down. More precisely, when a
+window scrolls down 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-up-aggressively
+@tindex scroll-up-aggressively
+Likewise, for scrolling up. 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
+This variable is an older variant of @code{scroll-conservatively}. The
+difference is that it if its value is @var{n}, that permits scrolling
+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
+
+@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
+possible.