define-compiler-macro

define-compiler-macro is an alias for `cl-define-compiler-macro' in `cl.el'.

(define-compiler-macro FUNC ARGS &rest BODY)

Define a compiler-only macro.
This is like `defmacro', but macro expansion occurs only if the call to
FUNC is compiled (i.e., not interpreted). Compiler macros should be used
for optimizing the way calls to FUNC are compiled; the form returned by
BODY should do the same thing as a call to the normal function called
FUNC, though possibly more efficiently. Note that, like regular macros,
compiler macros are expanded repeatedly until no further expansions are
possible. Unlike regular macros, BODY can decide to "punt" and leave the
original function call alone by declaring an initial `&whole foo' parameter
and then returning foo.