# Do warm init stuff, e.g. building and loading CLOS, and stuff which
# can't be done until CLOS is running.
# Do warm init stuff, e.g. building and loading CLOS, and stuff which
# can't be done until CLOS is running.
- (sb-int:/show "about to SAVE-LISP-AND-DIE")
+
+ ;; Unintern no-longer-needed stuff before the possible PURIFY
+ ;; in SAVE-LISP-AND-DIE.
+ #-sb-fluid (sb-impl::!unintern-init-only-stuff)
+
+ (sb-int:/show "done with warm.lisp, about to SAVE-LISP-AND-DIE")
;; Even if /SHOW output was wanted during build, it's probably
;; not wanted by default after build is complete. (And if it's
;; wanted, it can easily be turned back on.)
#+sb-show (setf sb-int:*/show* nil)
;; Even if /SHOW output was wanted during build, it's probably
;; not wanted by default after build is complete. (And if it's
;; wanted, it can easily be turned back on.)
#+sb-show (setf sb-int:*/show* nil)
- (sb-ext:save-lisp-and-die "output/sbcl.core" :purify t)
+ ;; REMOVEME: This is supposed to be :PURIFY T, the :PURIFY NIL
+ ;; is a hopefully-very-short-lived workaround for a bug in
+ ;; sbcl-0.6.12.8.
+ (sb-ext:save-lisp-and-die "output/sbcl.core" :purify nil)