Multi-line Indent Program Indent C Indent
The indentation pattern for a Lisp expression can depend on the function called by the expression. For each Lisp function, you can choose among several predefined patterns of indentation, or define an arbitrary one with a Lisp program.
The standard pattern of indentation is as follows: the second line of the expression is indented under the first argument, if that is on the same line as the beginning of the expression; otherwise, the second line is indented underneath the function name. Each following line is indented under the previous line whose nesting depth is the same.
If the variable
lisp-indent-offset is non-
nil, it overrides
the usual indentation pattern for the second line of an expression, so that
such lines are always indented
lisp-indent-offset more columns than
the containing list.
The standard pattern is overridden for certain functions. Functions
whose names start with
def always indent the second line by
lisp-body-indent extra columns beyond the open-parenthesis
starting the expression.
The standard pattern can be overridden in various ways for individual
functions, according to the
lisp-indent-function property of the
function name. There are four possibilities for this property:
This is the same as no property; the standard indentation pattern is used.
||The pattern used for function names that start with |
|a number, number||The first number arguments of the function are
distinguished arguments; the rest are considered the body
of the expression. A line in the expression is indented according to
whether the first argument on it is distinguished or not. If the
argument is part of the body, the line is indented |
|a symbol, symbol||symbol should be a function name; that function is called to
calculate the indentation of a line within this expression. The
function receives two arguments: