@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-2013 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-2014 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Positions
@chapter Positions
@node Screen Lines
@subsection Motion by Screen Lines
+@cindex screen lines, moving by
The line functions in the previous section count text lines, delimited
only by newline characters. By contrast, these functions count screen
Display}.
These functions scan text to determine where screen lines break, and
-thus take time proportional to the distance scanned. If you intend to
-use them heavily, Emacs provides caches which may improve the
-performance of your code. @xref{Truncation, cache-long-scans}.
+thus take time proportional to the distance scanned.
+@ignore
+If you intend to use them heavily, Emacs provides caches which may
+improve the performance of your code. @xref{Truncation, cache-long-scans}.
+@end ignore
@defun vertical-motion count &optional window
This function moves point to the start of the screen line @var{count}
The @var{count} argument can be a cons cell, @code{(@var{cols}
. @var{lines})}, instead of an integer. Then the function moves by
@var{lines} screen lines, and puts point @var{cols} columns from the
-start of that screen line.
+visual start of that screen line. Note that @var{cols} are counted
+from the @emph{visual} start of the line; if the window is scrolled
+horizontally (@pxref{Horizontal Scrolling}), the column on which point
+will end is in addition to the number of columns by which the text is
+scrolled.
The return value is the number of screen lines over which point was
moved. The value may be less in absolute value than @var{count} if
quotes are ignored.)
@end deffn
-@deffn Command up-list &optional arg
-This function moves forward out of @var{arg} (default 1) levels of parentheses.
-A negative argument means move backward but still to a less deep spot.
+@deffn Command up-list &optional arg escape-strings no-syntax-crossing
+This function moves forward out of @var{arg} (default 1) levels of
+parentheses. A negative argument means move backward but still to a
+less deep spot. If @var{escape-strings} is non-@code{nil} (as it is
+interactively), move out of enclosing strings as well. If
+@var{no-syntax-crossing} is non-@code{nil} (as it is interactively), prefer
+to break out of any enclosing string instead of moving to the start of
+a list broken across multiple strings. On error, location of point is
+unspecified.
+@end deffn
+
+@deffn Command backward-up-list &optional arg escape-strings no-syntax-crossing
+This function is just like @code{up-list}, but with a negated argument.
@end deffn
@deffn Command down-list &optional arg