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

PCL bug?

Suppose the following:

	(defclass a () ())
	(defclass b (a)())
	(defclass c (a b) ())

When c's defclass is evaluated I get:
	Error: While computing the class-precedence-list for the class C:
	There is a circular constraint through the classes: B A B.
	This arises because:
	 B must precede A -- A is in the local supers of B.
	 A must precede B -- C has local supers (A B).

When I try to evaluate a new defclass for c such as:
	(defclass c (b) ())
the same error occurs.  I believe this is because c is not being removed 
from class a's direct-subclasses list.  That is, by evaluating the following:
	(defclass c () ())
	(describe (find-class 'a))
The class #<Standard-Class A 27013631> is an instance of class 
#<Standard-Class STANDARD-CLASS 16405431>.
Name:                  A
Class-Precedence-List: (A OBJECT T)
Local-Supers:          (OBJECT)
Direct-Subclasses:     (B C)
#<Standard-Class A 27013631>
it is noticed that c is still a member of a's direct-subclasses.

Is this a bug or am I missing something?

Darrell Shane

P.S. I am using the "12/7/88   Can't think of a cute name" PCL in Franz 
Allegro on a Sun3/60.