X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftarget-package.lisp;h=00cbc54efe98a64f8ab6cd244cdcd6923e28fa8b;hb=0395c15ff8394bfaaed03050c1a7a131f197a732;hp=354f64dec61fdde08f453c35157a9223b6e7ada7;hpb=518a009ac066602b7920bdd56edb4d24b20b04bf;p=sbcl.git diff --git a/src/code/target-package.lisp b/src/code/target-package.lisp index 354f64d..00cbc54 100644 --- a/src/code/target-package.lisp +++ b/src/code/target-package.lisp @@ -335,7 +335,8 @@ error if any of PACKAGES is not a valid package designator." ;;; most other operations, are unspecified for deleted packages. We ;;; just do the easy thing and signal errors in that case. (macrolet ((def (ext real) - `(defun ,ext (x) (,real (find-undeleted-package-or-lose x))))) + `(defun ,ext (package-designator) + (,real (find-undeleted-package-or-lose package-designator))))) (def package-nicknames package-%nicknames) (def package-use-list package-%use-list) (def package-used-by-list package-%used-by-list) @@ -794,7 +795,14 @@ implementation it is ~S." *default-package-use-list*) (aver (= (length name) length)) name) (t - (subseq name 0 length))))) + ;; This so that SUBSEQ is inlined, + ;; because we need it fixed for cold init. + (string-dispatch + ((simple-array base-char (*)) + (simple-array character (*))) + name + (declare (optimize speed)) + (subseq name 0 length)))))) (with-single-package-locked-error (:package package "interning ~A" symbol-name) (let ((symbol (make-symbol symbol-name)))