Next: Commands for C Indentation, Previous: Indenting Several Lines, Up: Indentation for Programs [Contents][Index]
28.3.3 Customizing Lisp IndentationThe 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.
Certain functions override the standard pattern. Functions whose names start with def
treat the second lines as the start of a body, by indenting the second line lisp-body-indent
additional columns beyond the open-parenthesis that starts the expression.
You can override the standard pattern in various ways for individual functions, according to the lisp-indent-function
property of the function name. This is normally done for macro definitions, using the declare
construct. See Defining Macros in The Emacs Lisp Reference Manual.
In Emacs Lisp, lists are usually indented as if they are function-like forms:
(setq foo '(bar zot gazonk))
However, if you add a space after the opening parenthesis, this tells Emacs that it’s a data list instead of a piece of code, and Emacs will then indent it like this:
(setq foo '( bar zot gazonk))
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4