GNU bug report logs - #15296
24.3.50; A macro object does not necessarily have `lambda' as its cadr

Previous Next

Package: emacs;

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

From: Drew Adams <drew.adams <at> oracle.com>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: 15296 <at> debbugs.gnu.org
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.




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.