# HG changeset patch # User Richard M. Stallman # Date 1026036452 0 # Node ID 9b8d032820a25baf43d9493007ec11110d0d0c4b # Parent 7384ea4d758d937c9f922e106f3cf6947c5d9445 (Fdefmacro): Doc fix. diff -r 7384ea4d758d -r 9b8d032820a2 src/eval.c --- a/src/eval.c Sun Jul 07 09:56:08 2002 +0000 +++ b/src/eval.c Sun Jul 07 10:07:32 2002 +0000 @@ -646,12 +646,24 @@ 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; {