&body body)
#!+sb-doc
"Within the lexical scope of the body forms, MNAME is defined via macrolet
- such that successive invocations of (MNAME) will return the symbols,
- one by one, from the packages in PACKAGE-LIST. SYMBOL-TYPES may be
- any of :INHERITED :EXTERNAL :INTERNAL."
+such that successive invocations of (MNAME) will return the symbols, one by
+one, from the packages in PACKAGE-LIST. SYMBOL-TYPES may be any
+of :INHERITED :EXTERNAL :INTERNAL."
(let* ((packages (gensym))
(these-packages (gensym))
(ordered-types (let ((res nil))
(or (find-package package)
(error 'simple-package-error
;; could be a character
- :name (string package)
+ :package (string package)
:format-control "~@<~S does not name a package ~:>"
:format-arguments (list package)))))
(if (consp ,these-packages)
:INHERITED must be supplied."))
,(dolist (symbol symbol-types)
(unless (member symbol '(:internal :external :inherited))
- (error 'program-error
+ (error 'simple-program-error
:format-control
"~S is not one of :INTERNAL, :EXTERNAL, or :INHERITED."
- :format-argument symbol)))
+ :format-arguments (list symbol))))
(,init-macro ,(car ordered-types))
(flet ((,real-symbol-p (number)
(> number 1)))