Function: define-compiler-macro

define-compiler-macro is a for cl-define-compiler-macro, defined in cl-macs.el.gz.

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

Signature

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

Documentation

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.

Aliases

define-compiler-macro (obsolete since 27.1)