Commit baa01c09 authored by mevenson@1c010e3e-69d0-11dd-93a8-456734b0d56f's avatar mevenson@1c010e3e-69d0-11dd-93a8-456734b0d56f
Browse files

Fix compiler for compile-time toplevel defstruct with print-object.

Fixes some problems which arose in compiling SBCL.
parent 9e4c98b2
......@@ -271,13 +271,17 @@ interpreted toplevel form, non-NIL if it is 'simple enough'."
(format *error-output* "; Unable to compile method~%"))))))))))
(when compile-time-too
(let* ((copy-form (copy-tree form))
;; ### Ideally, the precompiler would leave the forms alone
;; and copy them where required, instead of forcing us to
;; do a deep copy in advance
(precompiled-form (precompiler:precompile-form copy-form nil
*compile-file-environment*)))
(eval precompiled-form)))
(convert-ensure-method form :function)
(convert-ensure-method form :fast-function))
(let ((form (precompiler:precompile-form form nil
*compile-file-environment*)))
(when compile-time-too
(eval form))
form))
(precompiler:precompile-form form nil *compile-file-environment*))
(declaim (ftype (function (t t t) t) process-toplevel-defvar/defparameter))
(defun process-toplevel-defvar/defparameter (form stream compile-time-too)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment