(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 REQUIRED-ARG
(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 REQUIRED-ARG
(hash nil :type (or hash-vector null))
;; The total number of entries allowed before resizing.
;;
;; 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
(,',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)))