X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fdefbangtype.lisp;h=d59b7c1294603a2d020b9110c0b0a545a72e8b48;hb=65b5ab7e713d04e0d76bc0ee196374f6e57b922f;hp=c42a0c14db3b60a82f7dffc87272d8b8bde75318;hpb=cea4896b2482b7b2b429c1631d774b4cfbc0efba;p=sbcl.git diff --git a/src/code/defbangtype.lisp b/src/code/defbangtype.lisp index c42a0c1..d59b7c1 100644 --- a/src/code/defbangtype.lisp +++ b/src/code/defbangtype.lisp @@ -11,7 +11,7 @@ ;;;; the DEF!TYPE macro -;;; DEF!MACRO = cold DEFTYPE, a version of DEFTYPE which at +;;; DEF!TYPE = cold DEFTYPE, a version of DEFTYPE which at ;;; build-the-cross-compiler time defines its macro both in the ;;; cross-compilation host Lisp and in the target Lisp. Basically, ;;; DEF!TYPE does something like @@ -28,14 +28,14 @@ ;;; 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 @@ -45,12 +45,12 @@ (/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."))))