(defmethod ensure-class-using-class ((class null) name &rest args &key)
(multiple-value-bind (meta initargs)
(ensure-class-values class args)
- #+nil
- (set-class-type-translation (class-prototype meta) name)
(setf class (apply #'make-instance meta :name name initargs))
(without-package-locks
(setf (find-class name) class))
(order-layout-inherits
(map 'simple-vector #'class-wrapper
(reverse (rest cpl))))))
- (register-layout layout :invalidate t))))
+ (register-layout layout :invalidate t)
+ (set-class-type-translation class (layout-classoid layout)))))
(mapc #'make-preliminary-layout (class-direct-subclasses class)))))
(:metaclass funcallable-standard-class))
(compile nil '(lambda (x) (typep x 'funcallable-class-for-typep)))
\f
+;;; even anonymous classes should be valid types
+(let* ((class1 (make-instance 'standard-class :direct-superclasses (list (find-class 'standard-object))))
+ (class2 (make-instance 'standard-class :direct-superclasses (list class1))))
+ (assert (subtypep class2 class1))
+ (assert (typep (make-instance class2) class1)))
+\f
;;;; success
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.14.25"
+"0.9.14.26"