;;; completely parallel, at which time they should be merged to
;;; eliminate the duplicate code.
-(defmacro def!type (&rest rest)
+(defmacro def!type (name &rest rest)
`(progn
- (deftype ,@rest)
- #+sb-xc-host
- ,(let ((form `(sb!xc:deftype ,@(uncross rest))))
- (if (boundp '*delayed-def!types*)
- `(push ',form *delayed-def!types*)
- form))))
+ (deftype ,name ,@rest)
+ #+sb-xc-host
+ ,(let ((form `(sb!xc:deftype ,(uncross name) ,@rest)))
+ (if (boundp '*delayed-def!types*)
+ `(push ',form *delayed-def!types*)
+ form))))
;;; machinery to implement DEF!TYPE delays
#+sb-xc-host
(/show "done binding *DELAYED-DEF!TYPES*")
(defun force-delayed-def!types ()
(if (boundp '*delayed-def!types*)
- (progn
- (mapc #'eval *delayed-def!types*)
- (makunbound '*delayed-def!types*))
- ;; This condition is probably harmless if it comes up when
- ;; interactively experimenting with the system by loading a
- ;; source file into it more than once. But it's worth warning
- ;; about it because it definitely shouldn't come up in an
- ;; ordinary build process.
- (warn "*DELAYED-DEF!TYPES* is already unbound."))))
+ (progn
+ (mapc #'eval *delayed-def!types*)
+ (makunbound '*delayed-def!types*))
+ ;; This condition is probably harmless if it comes up when
+ ;; interactively experimenting with the system by loading a
+ ;; source file into it more than once. But it's worth warning
+ ;; about it because it definitely shouldn't come up in an
+ ;; ordinary build process.
+ (warn "*DELAYED-DEF!TYPES* is already unbound."))))