elisp: Macro Type

 
 2.3.14 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 argument-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’
 macro, but any list that begins with ‘macro’ is a macro as far as Emacs
 is concerned.  SeeMacros, for an explanation of how to write a
 macro.
 
    *Warning*: Lisp macros and keyboard macros (SeeKeyboard Macros)
 are entirely different things.  When we use the word “macro” without
 qualification, we mean a Lisp macro, not a keyboard macro.