0.7.9.65:
[sbcl.git] / src / code / package.lisp
index e376b9d..9d47baf 100644 (file)
            (,packages `,(mapcar (lambda (package)
                                   (if (packagep package)
                                       package
-                                      (find-package package)))
+                                      ;; Maybe FIND-PACKAGE-OR-DIE?
+                                      (or (find-package package)
+                                          (error 'simple-package-error
+                                                 ;; could be a character
+                                                 :name (string package)
+                                                 :format-control "~@<~S does not name a package ~:>"
+                                                 :format-arguments (list package)))))
                                 (if (consp ,these-packages)
                                     ,these-packages
                                     (list ,these-packages))))
            `(setf ,package-use-list (package-%use-list (car ,packages)))
            `(declare (ignore ,package-use-list)))
        (macrolet ((,init-macro (next-kind)
+        (declare (optimize (inhibit-warnings 3)))
         (let ((symbols (gensym)))
           `(progn
              (setf ,',kind ,next-kind)
           (flet ((,real-symbol-p (number)
                    (> number 1)))
             (macrolet ((,mname ()
+             (declare (optimize (inhibit-warnings 3)))
              `(block ,',BLOCK
                 (loop
                   (case ,',kind