X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcold%2Fshared.lisp;h=c6f992240f833871e8b848822c98a985ed20346d;hb=5cd0fc84df83d1b3321b7fc969843207721de429;hp=f523aa8ae436acba6422874ce46b519965419720;hpb=ff92598854bf7cae8d57fe49cef4d9a98e1ab345;p=sbcl.git diff --git a/src/cold/shared.lisp b/src/cold/shared.lisp index f523aa8..c6f9922 100644 --- a/src/cold/shared.lisp +++ b/src/cold/shared.lisp @@ -23,14 +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 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. -#+(and sbcl sb-package-locks) -(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. @@ -178,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