1.1.13: will be tagged as "sbcl-1.1.13"
[sbcl.git] / src / code / defbangtype.lisp
index 6fac80c..d59b7c1 100644 (file)
 ;;; 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."))))