PREV UP NEXT GNU Emacs Lisp Reference Manual

2.3.11: Macro Type

A Lisp macro is a user-defined construct that extends the Lisp language. It is represented as an object much like a function, but with different parameter-passing semantics. A Lisp macro has the form of a list whose first element is the symbol macro and whose cdr is a Lisp function object, including the lambda symbol.

Lisp macro objects are usually defined with the built-in defmacro function, but any list that begins with macro is a macro as far as Emacs is concerned. See Macros, for an explanation of how to write a macro.