Subject: bug#15296: 24.3.50; A macro object does not necessarily have `lambda' as its cadr

From: Michael Heerdegen <[email-masked]>
Date: Sat, 07 Sep 2013 13:34:27 +0200

Drew Adams <[email-masked]> writes:

> AFAICT, (elisp) `Defining Macros' is the closest thing we have to doc
> telling you how to test whether a Lisp object is a macro.  There is no
> `macro-p' predicate or similar in Emacs Lisp, unless I'm missing
> something.  (Shouldn't there be?)

There is `macrop' in subr.el (since some months ago, I think).

> Anyway, this Elisp manual node says that a macro is a list whose car
> is `macro' and whose `cdr' is a lambda expression.  That's not true if
> the `defmacro' was byte-compiled.

Confusing, indeed.

Michael.