-File: lispref.info, Node: List Motion, Next: Skipping Characters, Prev: Screen Lines, Up: Motion
-
-Moving over Balanced Expressions
---------------------------------
-
- Here are several functions concerned with balanced-parenthesis
-expressions (also called "sexps" in connection with moving across them
-in XEmacs). The syntax table controls how these functions interpret
-various characters; see *Note Syntax Tables::. *Note Parsing
-Expressions::, for lower-level primitives for scanning sexps or parts of
-sexps. For user-level commands, see *Note Lists and Sexps:
-(emacs)Lists and Sexps.
-
- - Command: forward-list &optional arg
- This function moves forward across ARG balanced groups of
- parentheses. (Other syntactic entities such as words or paired
- string quotes are ignored.) ARG defaults to 1 if omitted. If ARG
- is negative, move backward across that many groups of parentheses.
-
- - Command: backward-list &optional count
- This function moves backward across COUNT balanced groups of
- parentheses. (Other syntactic entities such as words or paired
- string quotes are ignored.) COUNT defaults to 1 if omitted. If
- COUNT is negative, move forward across that many groups of
- parentheses.
-
- - Command: up-list &optional count
- This function moves forward out of COUNT levels of parentheses. A
- negative argument means move backward but still to a less deep
- spot.
-
- - Command: down-list &optional count
- This function moves forward into COUNT levels of parentheses. A
- negative argument means move backward but still go deeper in
- parentheses (-COUNT levels).
-
- - Command: forward-sexp &optional count
- This function moves forward across COUNT balanced expressions.
- Balanced expressions include both those delimited by parentheses
- and other kinds, such as words and string constants. COUNT
- defaults to 1 if omitted. If COUNT is negative, move backward
- across that many balanced expressions. For example,
-
- ---------- Buffer: foo ----------
- (concat-!- "foo " (car x) y z)
- ---------- Buffer: foo ----------
-
- (forward-sexp 3)
- => nil
-
- ---------- Buffer: foo ----------
- (concat "foo " (car x) y-!- z)
- ---------- Buffer: foo ----------
-
- - Command: backward-sexp &optional count
- This function moves backward across COUNT balanced expressions.
- COUNT defaults to 1 if omitted. If COUNT is negative, move
- forward across that many balanced expressions.
-
- - Command: beginning-of-defun &optional count
- This function moves back to the COUNTth beginning of a defun. If
- COUNT is negative, this actually moves forward, but it still moves
- to the beginning of a defun, not to the end of one. COUNT
- defaults to 1 if omitted.
-
- - Command: end-of-defun &optional count
- This function moves forward to the COUNTth end of a defun. If
- COUNT is negative, this actually moves backward, but it still
- moves to the end of a defun, not to the beginning of one. COUNT
- defaults to 1 if omitted.
-
- - User Option: defun-prompt-regexp
- If non-`nil', this variable holds a regular expression that
- specifies what text can appear before the open-parenthesis that
- starts a defun. That is to say, a defun begins on a line that
- starts with a match for this regular expression, followed by a
- character with open-parenthesis syntax.
-
-\1f