GNU bug report logs -
#15296
24.3.50; A macro object does not necessarily have `lambda' as its cadr
Previous Next
Reported by: Drew Adams <drew.adams <at> oracle.com>
Date: Sat, 7 Sep 2013 05:41:02 UTC
Severity: minor
Found in version 24.3.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> > 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.
This bug report was last modified 11 years and 336 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.