Function: defmacro*

defmacro* is a function alias for cl-defmacro, defined in cl-macs.el.gz.

This macro is obsolete since 27.1; use cl-defmacro instead.

Signature

(defmacro* NAME ARGLIST [DOCSTRING] BODY...)

Documentation

Define NAME as a macro.

Like normal defmacro, except ARGLIST allows full Common Lisp conventions, and BODY is implicitly surrounded by (cl-block NAME ...).

The full form of a Common Lisp macro argument list is

   (VAR...
    [&optional (VAR [INITFORM [SVAR]])...]
    [&rest|&body VAR]
    [&key (([KEYWORD] VAR) [INITFORM [SVAR]])... [&allow-other-keys]]
    [&aux (VAR [INITFORM])...]
    [&environment VAR])

VAR may be replaced recursively with an argument list for destructuring, &whole is supported within these sublists. If SVAR, INITFORM, and KEYWORD are all omitted, then (VAR) may be written simply VAR. See the Info node (cl)Argument Lists for more details.

Aliases

defmacro* (obsolete since 27.1)