X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcold%2Fshared.lisp;h=5f86752620730c51836e54beb9b4890e6bd86cc3;hb=fea8ea02847ddc0864546a02480fb3e97d6fa318;hp=f523aa8ae436acba6422874ce46b519965419720;hpb=0332a8dfdfffccb839cd55ddb682c2d03785b376;p=sbcl.git diff --git a/src/cold/shared.lisp b/src/cold/shared.lisp index f523aa8..5f86752 100644 --- a/src/cold/shared.lisp +++ b/src/cold/shared.lisp @@ -23,13 +23,16 @@ (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)) +;;; 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