[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bane%mimsy.umd:EDU:Xerox: VDPCL flakiness solved]

     ----- Begin Forwarded Messages -----

From: John R. Bane <bane@mimsy.umd.edu>
Subject: VDPCL flakiness solved
Original-Date: Wed, 26 Jul 89 19:13:17 -0400

There is a bug in DELETE-CLASS, a method defined in defclass.lisp and only
used in COMPUTE-COMBINATION-POINTS in points.lisp to clean up the
class structure after creating eql combined-methods.  Here's the corrected code,
complete with its original comments:

;;; ***                                                                 ***
;;; *** This is a piece of shit.  I had to do it quickly to get around  ***
;;; *** the defaulting of direct supers above.  Note that the new       ***
;;; *** metaobject protocol solves this problem.                        ***
;;; ***                                                                 ***
(defmethod delete-class ((class standard-class))
    (dolist (super (class-local-supers class))
		(setf (class-direct-subclasses super)
			  (delete class (class-direct-subclasses super)))))

The faulty code called delete with (class-direct-subclasses class).
Would one of y'all bring this to the attention of the PCL gods?

     ----- End Forwarded Messages -----