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

bug in change class of a class



;;;
;;; Patch std-class.lisp
;;; KRA 89/3/30:  Let class-change happen if the metaclass of a class changes.
;;; Previously when you redefined a class to have a new metaclass, the
;;; metaclass didn't change.

(defmethod class-for-redefinition ((old-class standard-class)
				   (proto-class standard-class)
				   name
				   local-supers
				   local-slot-slotds
				   extra)
  (declare (ignore name local-supers local-slot-slotds extra))
  (UNLESS (EQ (CLASS-OF OLD-CLASS) (CLASS-OF PROTO-CLASS))
      (CHANGE-CLASS OLD-CLASS (CLASS-OF PROTO-CLASS)))
  old-class)