GNU bug report logs -
#12119
24.1.50; symbol-macrolet regresssion
Previous Next
Reported by: Helmut Eller <eller.helmut <at> gmail.com>
Date: Thu, 2 Aug 2012 13:21:01 UTC
Severity: normal
Found in version 24.1.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
In Emacs 24, bzr revno 109393, this file
(require 'cl)
(defun foo ()
(let ((outer '42))
(symbol-macrolet ((x outer))
(let ((x 'inner))
(assert (eq x 'inner))))))
(foo)
when executed with: emacs -Q -batch -l symbol-macrolet.el
produces: Assertion failed: (eq x (quote inner))
With Emacs 22 the assertions doesn't fail.
Also, in Emacs 22 the macroepansion (via cl-macroexpand-all)
produces something like
(let ((outer '42))
(let ((outer 'inner))
(progn
(or
(eq outer 'inner)
(signal 'cl-assertion-failed
(list
'(eq x 'inner))))
nil)))
while in Emacs 24 it looks like
(let ((outer '42))
(progn
(let ((x 'inner))
(progn
(or
(eq outer 'inner)
(signal 'cl-assertion-failed
(list
'(eq x 'inner))))
nil))))
Such a change should be documented.
In GNU Emacs 24.1.50.1 (i686-pc-linux-gnu, GTK+ Version 2.20.1)
of 2012-08-02 on ix
Bzr revision: 109400 eggert <at> cs.ucla.edu-20120802104919-u42w0m8vbqm4p2l4
Windowing system distributor `The X.Org Foundation', version 11.0.10707000
Configured using:
`configure '--with-jpeg=no' '--with-gif=no' '--with-tiff=no''
Important settings:
value of $LANG: en_US
locale-coding-system: iso-latin-1-unix
default enable-multibyte-characters: nil
This bug report was last modified 12 years and 292 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.