0.6.10.21:
[sbcl.git] / src / code / type-class.lisp
index 6567e42..d1dbb0b 100644 (file)
@@ -23,6 +23,7 @@
       (error "~S is not a defined type class." name)))
 
 (defun must-supply-this (&rest foo)
+  (/show0 "failing in MUST-SUPPLY-THIS")
   (error "missing type method for ~S" foo))
 
 ;;; A TYPE-CLASS object represents the "kind" of a type. It mainly contains
 
 (defmacro !define-type-method ((class method &rest more-methods)
                              lambda-list &body body)
-  #!+sb-doc
-  "DEFINE-TYPE-METHOD (Class-Name Method-Name+) Lambda-List Form*"
   (let ((name (symbolicate CLASS "-" method "-TYPE-METHOD")))
     `(progn
-       (defun ,name ,lambda-list ,@body)
+       (defun ,name ,lambda-list
+        ,@body)
        (!cold-init-forms
-        ,@(mapcar #'(lambda (method)
-                      `(setf (,(class-function-slot-or-lose method)
-                              (type-class-or-lose ',class))
-                             #',name))
-                  (cons method more-methods)))
+       ,@(mapcar (lambda (method)
+                   `(setf (,(class-function-slot-or-lose method)
+                           (type-class-or-lose ',class))
+                          #',name))
+                 (cons method more-methods)))
        ',name)))
 
 (defmacro !define-type-class (name &key inherits)