[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#15296: 24.3.50; A macro object does not necessarily have `lambda' as
From: |
Drew Adams |
Subject: |
bug#15296: 24.3.50; A macro object does not necessarily have `lambda' as its cadr |
Date: |
Sat, 7 Sep 2013 07:23:39 -0700 (PDT) |
> > 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).
Wow, that's weird. And thank you. That was the first thing I looked for
(the second was `macro-p'), and for some reason I didn't find it (and I'm
using only a recent Emacs 24 build for this testing).
But you are right. I must have somehow checked for that in a different
Emacs version. Anyway, that solves my problem wrt testing the type.
> > 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.
Not confusing, actually. It's quite clear. And wrong, unfortunately.
So AFAICT this should remain open for now, as a doc bug.