? .diff ? .log ? 0.9.10.27.diff ? build ? contrib/asdf/asdf.x86f Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.2725 retrieving revision 1.2726 diff -u -r1.2725 -r1.2726 --- version.lisp-expr 9 Mar 2006 13:05:22 -0000 1.2725 +++ version.lisp-expr 10 Mar 2006 17:40:27 -0000 1.2726 @@ -17,4 +17,4 @@ ;;; 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.10.26" +"0.9.10.27" Index: src/pcl/std-class.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/pcl/std-class.lisp,v retrieving revision 1.92 retrieving revision 1.93 diff -u -r1.92 -r1.93 --- src/pcl/std-class.lisp 27 Feb 2006 11:02:12 -0000 1.92 +++ src/pcl/std-class.lisp 10 Mar 2006 17:40:27 -0000 1.93 @@ -812,9 +812,8 @@ (update-gfs-of-class class) (update-initargs class (compute-default-initargs class)) (update-ctors 'finalize-inheritance :class class)) - (unless finalizep - (dolist (sub (class-direct-subclasses class)) - (update-class sub nil))))) + (dolist (sub (class-direct-subclasses class)) + (update-class sub nil)))) (define-condition cpl-protocol-violation (reference-condition error) ((class :initarg :class :reader cpl-protocol-violation-class) Index: tests/clos.impure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/clos.impure.lisp,v retrieving revision 1.76 retrieving revision 1.77 diff -u -r1.76 -r1.77 --- tests/clos.impure.lisp 29 Jan 2006 22:15:27 -0000 1.76 +++ tests/clos.impure.lisp 10 Mar 2006 17:40:27 -0000 1.77 @@ -1244,4 +1244,16 @@ (y (make-kpreid-enode))) (= (slot-value x 'slot) (slot-value y 'slot)))) +;;; defining a class hierarchy shouldn't lead to spurious classoid +;;; errors on TYPEP questions (reported by Tim Moore on #lisp +;;; 2006-03-10) +(defclass backwards-2 (backwards-1) (a b)) +(defclass backwards-3 (backwards-2) ()) +(defun typep-backwards-3 (x) + (typep x 'backwards-3)) +(defclass backwards-1 () (a b)) +(assert (not (typep-backwards-3 1))) +(assert (not (typep-backwards-3 (make-instance 'backwards-2)))) +(assert (typep-backwards-3 (make-instance 'backwards-3))) + ;;;; success