X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftarget-package.lisp;h=7a06e73d97c710fb80664b90944e1b108d1f1469;hb=b14a61c6af3e3005c94e633e727177346240066e;hp=fd1dffe298fcdc0c7a13289ba99165d45ab8b9e3;hpb=805689ba3c0ee4e42dbeef9b7bfd320e236813ca;p=sbcl.git diff --git a/src/code/target-package.lisp b/src/code/target-package.lisp index fd1dffe..7a06e73 100644 --- a/src/code/target-package.lisp +++ b/src/code/target-package.lisp @@ -579,19 +579,18 @@ REMOVE-PACKAGE-LOCAL-NICKNAME, and the DEFPACKAGE option :LOCAL-NICKNAMES." (nicknamed (when nicknames (cdr (assoc string nicknames :test #'string=)))) (packageoid (or nicknamed (gethash string *package-names*)))) - (when (and (null packageoid) - (not *in-package-init*) ; KLUDGE - (let ((mismatch (mismatch "SB!" string))) - (and mismatch (= mismatch 3)))) - (restart-case - (signal 'bootstrap-package-not-found :name string) - (debootstrap-package () - (return-from find-package-using-package + (if (and (null packageoid) + (not *in-package-init*) ; KLUDGE + (let ((mismatch (mismatch "SB!" string))) + (and mismatch (= mismatch 3)))) + (restart-case + (signal 'bootstrap-package-not-found :name string) + (debootstrap-package () (if (string= string "SB!XC") (find-package "COMMON-LISP") (find-package - (substitute #\- #\! string :count 1))))))) - packageoid))) + (substitute #\- #\! string :count 1))))) + packageoid)))) (typecase package-designator (package package-designator) (symbol (find-package-from-string (symbol-name package-designator)))