Go to the first, previous, next, last section, table of contents.


Moving over Balanced Expressions

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

Command: forward-list arg
This function moves forward across arg balanced groups of parentheses. (Other syntactic entities such as words or paired string quotes are ignored.)

Command: backward-list arg
This function moves backward across arg balanced groups of parentheses. (Other syntactic entities such as words or paired string quotes are ignored.)

Command: up-list arg
This function moves forward out of arg levels of parentheses. A negative argument means move backward but still to a less deep spot.

Command: down-list arg
This function moves forward into arg levels of parentheses. A negative argument means move backward but still go deeper in parentheses (-arg levels).

Command: forward-sexp arg
This function moves forward across arg balanced expressions. Balanced expressions include both those delimited by parentheses and other kinds, such as words and string constants. 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 arg
This function moves backward across arg balanced expressions.

Command: beginning-of-defun arg
This function moves back to the argth beginning of a defun. If arg is negative, this actually moves forward, but it still moves to the beginning of a defun, not to the end of one.

Command: end-of-defun arg
This function moves forward to the argth end of a defun. If arg is negative, this actually moves backward, but it still moves to the end of a defun, not to the beginning of one.

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.


Go to the first, previous, next, last section, table of contents.