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.