Don't allow subclassing computed-classes by standard-classes, that won't work due to svuc and friends specialized on computed-class.
Thu Apr 2 09:57:05 PDT 2009 levente.meszaros@gmail.com
* Don't allow subclassing computed-classes by standard-classes, that won't work due to svuc and friends specialized on computed-class.
Warning: CRC errors found. These are probably harmless but should be repaired.
See 'darcs gzcrcs --help' for more information.
diff -rN -u old-computed-class/mop.lisp new-computed-class/mop.lisp
--- old-computed-class/mop.lisp 2014-07-22 02:21:08.000000000 -0700
+++ new-computed-class/mop.lisp 2014-07-22 02:21:08.000000000 -0700
@@ -35,10 +35,8 @@
()
(:documentation "Just like computed-class but the classes having this metaclass will have custom accessors. This slows down loading but speeds up the accessors quite a bit."))
-(defmethod validate-superclass ((class standard-class) (superclass computed-class))
- t)
-(defmethod validate-superclass ((class computed-class) (superclass standard-class))
- t)
+(defmethod validate-superclass ((subclass computed-class) (superclass standard-class))
+ (subtypep (class-of subclass) (class-of superclass)))
(defclass computed-object ()
()