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

Bug in change-class



I got into an infinite loop printing an obsolete-class which seems to be due to the cycle:

get-slot-using-class -> change-class -> change-class-internal -> all-slots ->
all-slots-using-class -> get-slot-using-class ...

The following seems to fix the problem:

(defmeth all-slots-using-class ((class obsolete-class) object)
  (append (iterate ((slotd in (class-instance-slots class)))
            (collect (slotd-name slotd))
            (collect
	      (get-slot--class object (slotd-name slotd))))
          (iwmc-class-dynamic-slots object)))