From 0654d6e3fc28a7723fb4990bee8f9ad19cf0904b Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 7 Jul 2002 10:07:32 +0000 Subject: [PATCH] (Fdefmacro): Doc fix. --- src/eval.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/eval.c b/src/eval.c index 33bda7bfc5..569b57f5ae 100644 --- a/src/eval.c +++ b/src/eval.c @@ -646,12 +646,24 @@ usage: (defun NAME ARGLIST [DOCSTRING] BODY...) */) DEFUN ("defmacro", Fdefmacro, Sdefmacro, 2, UNEVALLED, 0, doc: /* Define NAME as a macro. -The definition is (macro lambda ARGLIST [DOCSTRING] BODY...). +The actual definition looks like + (macro lambda ARGLIST [DOCSTRING] [DECL] BODY...). When the macro is called, as in (NAME ARGS...), the function (lambda ARGLIST BODY...) is applied to the list ARGS... as it appears in the expression, and the result should be a form to be evaluated instead of the original. -usage: (defmacro NAME ARGLIST [DOCSTRING] BODY...) */) + +DECL is a declaration, optional, which can specify how to indent +calls to this macro and how Edebug should handle it. It looks like this: + (declare SPECS...) +The elements can look like this: + (indent INDENT) + Set NAME's `lisp-indent-function' property to INDENT. + + (edebug DEBUG) + Set NAME's `edebug-form-spec' property to DEBUG. (This is + equivalent to writing a `def-edebug-spec' for the macro. +usage: (defmacro NAME ARGLIST [DOCSTRING] [DECL] BODY...) */) (args) Lisp_Object args; { -- 2.20.1