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.