X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fpackage.lisp;h=e71f3451b0af942e1bc0415b11aace3aa3d45f76;hb=34dd23563d2f5cf05c72b971da0d0b065a09bf2a;hp=8af6ad8e068aa0d8907b0a5510b57ece8b4c30b4;hpb=56ce3857f7830670d55d2fe17246353dff2e71f7;p=sbcl.git diff --git a/src/code/package.lisp b/src/code/package.lisp index 8af6ad8..e71f345 100644 --- a/src/code/package.lisp +++ b/src/code/package.lisp @@ -56,8 +56,9 @@ ;;; KLUDGE: We use DEF!STRUCT to define this not because we need to ;;; manipulate target package objects on the cross-compilation host, ;;; but only because its MAKE-LOAD-FORM function needs to be hooked -;;; into the pre-CLOS DEF!STRUCT MAKE-LOAD-FORM system. The DEF!STRUCT -;;; side-effect of defining a new PACKAGE type on the +;;; into the pre-CLOS DEF!STRUCT MAKE-LOAD-FORM system so that we can +;;; compile things like IN-PACKAGE in warm init before CLOS is set up. +;;; The DEF!STRUCT side effect of defining a new PACKAGE type on the ;;; cross-compilation host is just a nuisance, and in order to avoid ;;; breaking the cross-compilation host, we need to work around it ;;; around by putting the new PACKAGE type (and the PACKAGEP predicate @@ -227,10 +228,10 @@ (inherited-symbol-p (gensym)) (BLOCK (gensym))) `(let* ((,these-packages ,package-list) - (,packages `,(mapcar #'(lambda (package) - (if (packagep package) - package - (find-package package))) + (,packages `,(mapcar (lambda (package) + (if (packagep package) + package + (find-package package))) (if (consp ,these-packages) ,these-packages (list ,these-packages)))) @@ -253,7 +254,8 @@ (car ,',packages)))) (when ,symbols (setf ,',vector (package-hashtable-table ,symbols)) - (setf ,',hash-vector (package-hashtable-hash ,symbols))))) + (setf ,',hash-vector + (package-hashtable-hash ,symbols))))) (:external `(let ((,symbols (package-external-symbols (car ,',packages))))