0.pre7.124:
[sbcl.git] / src / code / package.lisp
index 7a64d3a..b290abb 100644 (file)
 (sb!xc:defstruct (package-hashtable (:constructor %make-package-hashtable ())
                                    (:copier nil))
   ;; The g-vector of symbols.
-  ;; FIXME: could just be type SIMPLE-VECTOR, with REQUIRED-ARGUMENT
+  ;; FIXME: could just be type SIMPLE-VECTOR, with (MISSING-ARG) default
   (table nil :type (or simple-vector null))
   ;; The i-vector of pname hash values.
-  ;; FIXME: could just be type HASH-VECTOR, with REQUIRED-ARGUMENT
+  ;; FIXME: could just be type HASH-VECTOR, with (MISSING-ARG) default
   (hash nil :type (or hash-vector null))
   ;; The total number of entries allowed before resizing.
   ;;
@@ -93,8 +93,8 @@
   ;; packages that use this package
   (%used-by-list () :type list)
   ;; PACKAGE-HASHTABLEs of internal & external symbols
-  (internal-symbols (required-argument) :type package-hashtable)
-  (external-symbols (required-argument) :type package-hashtable)
+  (internal-symbols (missing-arg) :type package-hashtable)
+  (external-symbols (missing-arg) :type package-hashtable)
   ;; shadowing symbols
   (%shadowing-symbols () :type list)
   ;; documentation string for this package
         (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))))
                                    (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))))
                                  (,',init-macro ,(car ',ordered-types)))))))
         (when ,packages
           ,(when (null symbol-types)
-             (error 'program-error
+             (error 'simple-program-error
                     :format-control
-                    "Must supply at least one of :internal, :external, or ~
-                     :inherited."))
+                    "At least one of :INTERNAL, :EXTERNAL, or ~
+                     :INHERITED must be supplied."))
           ,(dolist (symbol symbol-types)
              (unless (member symbol '(:internal :external :inherited))
                (error 'program-error
                       :format-control
-                      "~S is not one of :internal, :external, or :inherited."
+                      "~S is not one of :INTERNAL, :EXTERNAL, or :INHERITED."
                       :format-argument symbol)))
           (,init-macro ,(car ordered-types))
           (flet ((,real-symbol-p (number)
                     ,@(when (member :internal ',ordered-types)
                         `((:internal
                            (setf ,',counter
-                                 (position-if #',',real-symbol-p ,',hash-vector
+                                 (position-if #',',real-symbol-p
+                                              ,',hash-vector
                                               :start (if ,',counter
                                                          (1+ ,',counter)
                                                          0)))
                     ,@(when (member :external ',ordered-types)
                         `((:external
                            (setf ,',counter
-                                 (position-if #',',real-symbol-p ,',hash-vector
+                                 (position-if #',',real-symbol-p
+                                              ,',hash-vector
                                               :start (if ,',counter
                                                          (1+ ,',counter)
                                                          0)))