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:
defis used for this function also.
lisp-body-indentmore columns than the open-parenthesis starting the containing expression. If the argument is distinguished and is either the first or second argument, it is indented twice that many extra columns. If the argument is distinguished and not the first or second argument, the standard pattern is followed for that line.
parse-partial-sexp(a Lisp primitive for indentation and nesting computation) when it parses up to the beginning of this line.