X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcold%2Fshared.lisp;h=c6f992240f833871e8b848822c98a985ed20346d;hb=5cd0fc84df83d1b3321b7fc969843207721de429;hp=5f86752620730c51836e54beb9b4890e6bd86cc3;hpb=fea8ea02847ddc0864546a02480fb3e97d6fa318;p=sbcl.git diff --git a/src/cold/shared.lisp b/src/cold/shared.lisp index 5f86752..c6f9922 100644 --- a/src/cold/shared.lisp +++ b/src/cold/shared.lisp @@ -23,17 +23,6 @@ (in-package "SB-COLD") -;;; FIXME: This is embarassing -- SBCL violates SBCL style-package -;;; locks on the host lisp. Rather then find and fix all the cases -;;; right now, let's just remain self-hosting. The problems at least -;;; involve a few defvars and local macros with names in the CL -;;; package. -#+sbcl -(let ((plp (find-symbol PACKAGE-LOCKED-P :sb-ext))) - (when (and plp (fboundp plp)) - (dolist (p (list-all-packages)) - (sb-ext::unlock-package p)))) - ;;; prefixes for filename stems when cross-compiling. These are quite arbitrary ;;; (although of course they shouldn't collide with anything we don't want to ;;; write over). In particular, they can be either relative path names (e.g. @@ -181,7 +170,13 @@ (setf tmp-obj ;; (Note that this idiom is taken from the ANSI ;; documentation for TRUENAME.) - (with-open-file (stream tmp-obj :direction :output) + (with-open-file (stream tmp-obj + :direction :output + ;; Compilation would overwrite the + ;; temporary object anyway and overly + ;; strict implementations default + ;; to :ERROR. + :if-exists :supersede) (close stream) (truename stream))) ;; and some compilers (e.g. OpenMCL) will complain if they're