Next: , Previous: , Up: Motion   [Contents][Index]


41.2.6 Moving over Balanced Expressions

Here are several functions concerned with balanced-parenthesis expressions (also called sexps in connection with moving across them in SXEmacs). The syntax table controls how these functions interpret various characters; see Syntax Tables. See Parsing Expressions, for lower-level primitives for scanning sexps or parts of sexps. For user-level commands, see Lists and Sexps in SXEmacs Reference Manual.

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.


Next: , Previous: , Up: Motion   [Contents][Index]