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

Bug in Victoria Day PCL



We are running the Victoria Day PCL under LUCID 3.0.2 on Sun 3/60 Sun OS4.0.

We discovered the following problem :

>(defclass a1 () ())
NIL
> (defmethod initialize-instance :after ((o a1) &rest a) (print "in a1"))
NIL
> (defclass a2 () ())
NIL
> (defmethod initialize-instance :after ((o a2) &rest a) (print "in a2"))
NIL
> (defclass a3 (a1 a2) ())
NIL
> (make-instance 'a3)

"in a1"
#<A3 53271003>

The "initialize instance :after" method for the superclass a2 is NOT called.

However, if we define all classes before defining the after methods. It works
fine. For example:

> (defclass a4 () ())
NIL
> (defclass a5 () ())
NIL
> (defclass a6 (a4 a5) ())
NIL
> (defmethod initialize-instance :after ((o a4) &rest a) (print "in a4"))
NIL
> (defmethod initialize-instance :after ((o a5) &rest a) (print "in a5"))
NIL
> (make-instance 'a6)

"in a5"
"in a4"
#<A6 53630563>

Does anyone have a similar problem?

Any suggestions or fixes are appreciated

-Richard Leung
 UCLA Computer Science Dept.