[armedbear-devel] *print-case* :downcase breaks DEFSTRUCT compilation
Compiling the following file in the latest ABCL (r13272) illustrates the error: --------------------------- (in-package :cl-user) (eval-when (:compile-toplevel :load-toplevel :execute) (setf *print-case* ':downcase)) (defstruct rec a b) --------------------------- Alternatively, remove the EVAL-WHEN and set *PRINT-CASE* as :downcase before compiling the file containing only the DEFSTRUCT.
On 5/1/11 8:11 PM, Dan Corkill wrote:
(in-package :cl-user)
(eval-when (:compile-toplevel :load-toplevel :execute) (setf*print-case* ':downcase))
(defstruct rec a b)
Filed as [ticket #147][#147]. [#147]: http://trac.common-lisp.net/armedbear/ticket/147 -- "A screaming comes across the sky. It has happened before, but there is nothing to compare to it now."
Hi Mark, Dan, On Mon, May 2, 2011 at 6:07 AM, Mark Evenson <evenson@panix.com> wrote:
On 5/1/11 8:11 PM, Dan Corkill wrote:
(in-package :cl-user)
(eval-when (:compile-toplevel :load-toplevel :execute) (setf*print-case* ':downcase))
(defstruct rec a b)
Filed as [ticket #147][#147].
Yesterday evening, I took a short stab at analyzing this issue. I think it's an interaction between the lisp reader/printer assignment and the way our FASLs work. To be more precise: in DUMP-FORM (used from the compiler), we don't bind *all* the printer/reader influencing dynamic values, but rather only a limited number of them. It'll take more than the 20 minutes I had to analyze the best solution. I'll come back hopefully later this week. Regards, Erik.
participants (3)
-
Dan Corkill
-
Erik Huelsmann
-
Mark Evenson