It should be a set according to http://www.alu.org/mop/dictionary.html
*Generic Function* *class-direct-subclasses* *class*
Returns a set of the direct subclasses of *class*. The elements of this set are class metaobjects that all mention this class among their direct superclasses. The empty set is returned if *class* has no direct subclasses. This value is maintained by the generic functions *add-direct-subclass*http://www.alu.org/mop/dictionary.html#add-direct-subclass and *remove-direct-subclass*http://www.alu.org/mop/dictionary.html#remove-direct-subclass . (map nil 'print (system:class-direct-subclasses (find-class 'ido-pathway-block)))
#<STANDARD-CLASS PARSED-SHEET-INFO-BLOCK {895391}> #<STANDARD-CLASS PARSED-EVIDENCE-BLOCK {C422A5}> #<STANDARD-CLASS PARSED-COMPLEX-BLOCK {90AD53}> #<STANDARD-CLASS PARSED-PROCESS-BLOCK {14D509}> #<STANDARD-CLASS PARSED-HANDLE-BLOCK {5AFFB3}> #<STANDARD-CLASS PARSED-SHEET-INFO-BLOCK {895391}> #<STANDARD-CLASS PARSED-EVIDENCE-BLOCK {C422A5}> #<STANDARD-CLASS PARSED-COMPLEX-BLOCK {90AD53}> #<STANDARD-CLASS PARSED-PROCESS-BLOCK {14D509}> #<STANDARD-CLASS PARSED-HANDLE-BLOCK {5AFFB3}>
-Alan
Hi Alan,
On Mon, Jan 18, 2010 at 1:54 AM, Alan Ruttenberg alanruttenberg@gmail.com wrote:
It should be a set according to http://www.alu.org/mop/dictionary.html
r12391 *could* fix that. I didn't check, but I did see code unconditionally adding classes to the list of subclasses, so I changed a PUSH to a PUSHNEW.
Could you verify that it fixes it? If not, could you provide some sample code on how to get to the situation you have? (Like 3 or 4 class definitions, empty ones)?
Hope that helps!
Bye,
Erik.
This fixes it. FWIW, here is the test as it fails previously. Thanks! -Alan
CL-USER> (defclass a () ) #<STANDARD-CLASS A {AECB15}> CL-USER> (defclass b (a) ) #<STANDARD-CLASS B {96DEEC}> CL-USER> (defclass b (a) ) #<STANDARD-CLASS B {96DEEC}> CL-USER> (mop::class-direct-subclasses (find-class 'a)) (#<STANDARD-CLASS B {96DEEC}> #<STANDARD-CLASS B {96DEEC}>)
On Mon, Jan 18, 2010 at 3:15 PM, Erik Huelsmann ehuels@gmail.com wrote:
Hi Alan,
On Mon, Jan 18, 2010 at 1:54 AM, Alan Ruttenberg alanruttenberg@gmail.com wrote:
It should be a set according to http://www.alu.org/mop/dictionary.html
r12391 *could* fix that. I didn't check, but I did see code unconditionally adding classes to the list of subclasses, so I changed a PUSH to a PUSHNEW.
Could you verify that it fixes it? If not, could you provide some sample code on how to get to the situation you have? (Like 3 or 4 class definitions, empty ones)?
Hope that helps!
Bye,
Erik.
armedbear-devel@common-lisp.net