+@node Vertical Scrolling
+@section Vertical Fractional Scrolling
+@cindex Vertical Fractional Scrolling
+
+ @dfn{Vertical fractional scrolling} means shifting the image in the
+window up or down by a specified multiple or fraction of a line.
+Each window has a @dfn{vertical scroll position},
+which is a number, never less than zero. It specifies how far to raise
+the contents of the window. Raising the window contents generally makes
+all or part of some lines disappear off the top, and all or part of some
+other lines appear at the bottom. The usual value is zero.
+
+ The vertical scroll position is measured in units of the normal line
+height, which is the height of the default font. Thus, if the value is
+.5, that means the window contents are scrolled up half the normal line
+height. If it is 3.3, that means the window contents are scrolled up
+somewhat over three times the normal line height.
+
+ What fraction of a line the vertical scrolling covers, or how many
+lines, depends on what the lines contain. A value of .5 could scroll a
+line whose height is very short off the screen, while a value of 3.3
+could scroll just part of the way through a tall line or an image.
+
+@defun window-vscroll &optional window pixels-p
+This function returns the current vertical scroll position of
+@var{window}. If @var{window} is @code{nil}, the selected window is
+used. If @var{pixels-p} is non-@code{nil}, the return value is
+measured in pixels, rather than in units of the normal line height.
+
+@example
+@group
+(window-vscroll)
+ @result{} 0
+@end group
+@end example
+@end defun
+
+@defun set-window-vscroll window lines &optional pixels-p
+This function sets @var{window}'s vertical scroll position to
+@var{lines}. The argument @var{lines} should be zero or positive; if
+not, it is taken as zero.
+
+If @var{window} is @code{nil}, the selected window is used.
+
+The actual vertical scroll position must always correspond
+to an integral number of pixels, so the value you specify
+is rounded accordingly.
+
+The return value is the result of this rounding.
+
+@example
+@group
+(set-window-vscroll (selected-window) 1.2)
+ @result{} 1.13
+@end group
+@end example
+
+If @var{pixels-p} is non-@code{nil}, @var{lines} specifies a number of
+pixels. In this case, the return value is @var{lines}.
+@end defun
+
+@defvar auto-window-vscroll
+If this variable is non-@code{nil}, the line-move, scroll-up, and
+scroll-down functions will automatically modify the window vscroll to
+scroll through display rows that are taller that the height of the
+window, for example in the presense of large images.
+@end defvar
+