[armedbear-devel] Compiler loses lexical macro in (eval-when (:compile-toplevel ...))

Mark Evenson evenson at panix.com
Fri Mar 21 09:35:11 UTC 2014


On 3/21/14, 4:48, Douglas Katzman wrote:
> (eval-when (:compile-toplevel :load-toplevel :execute)
>   (defvar *count* 0)
>   (macrolet ((something (sym) `(setf (get ,sym 'uniqueid) (incf *count*))))
>     (defun register-it (x) (something x))))
> (eval-when (:compile-toplevel :execute)
>   (format t "~&OK so far~%")
>   (register-it :foo))
> (eval-when (:compile-toplevel :execute)
>   (format t "~&Got ~D~%" (symbol-plist :foo)))

Confirmed and filed as [ticket-351][].  Thanks for the bug report.

[ticket-351]: http://abcl.org/trac/ticket/351

-- 
"A screaming comes across the sky.  It has happened before, but there
is nothing to compare to it now."



More information about the armedbear-devel mailing list