From 754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 7 Apr 2024 13:41:34 -0500 Subject: new repository --- devdocs/elisp/indenting-macros.html | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 devdocs/elisp/indenting-macros.html (limited to 'devdocs/elisp/indenting-macros.html') diff --git a/devdocs/elisp/indenting-macros.html b/devdocs/elisp/indenting-macros.html new file mode 100644 index 00000000..1b20e0cc --- /dev/null +++ b/devdocs/elisp/indenting-macros.html @@ -0,0 +1,12 @@ +

Indenting Macros

Within a macro definition, you can use the declare form (see Defining Macros) to specify how TAB should indent calls to the macro. An indentation specification is written like this:

(declare (indent indent-spec))
+
+

This results in the lisp-indent-function property being set on the macro name.

Here are the possibilities for indent-spec:

nil

This is the same as no property—use the standard indentation pattern.

defun

Handle this function like a ‘def’ construct: treat the second line as the start of a body.

an integer, 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 lisp-body-indent more 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 line uses the standard pattern.

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:

pos

The position at which the line being indented begins.

state

The value returned by parse-partial-sexp (a Lisp primitive for indentation and nesting computation) when it parses up to the beginning of this line.

It should return either a number, which is the number of columns of indentation for that line, or a list whose car is such a number. The difference between returning a number and returning a list is that a number says that all following lines at the same nesting level should be indented just like this one; a list says that following lines might call for different indentations. This makes a difference when the indentation is being computed by C-M-q; if the value is a number, C-M-q need not recalculate indentation for the following lines until the end of the list.

+
+

+ Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
+ https://www.gnu.org/software/emacs/manual/html_node/elisp/Indenting-Macros.html +

+
-- cgit v1.2.3