Skip to content
Snippets Groups Projects
Commit e5d1aeaf authored by rtoy's avatar rtoy
Browse files

From Gerd, cmucl-imp, 2005-06-18:

(progn
  (defclass foo92b (foo92a) ((s :initarg :s)))
  (defclass foo92a () ())
  (let ((x (make-instance 'foo92b :s 5)) (update-counter 0))
    (defclass foo92b (foo92a) ((s) (s1) (s2))) ; still subclass of foo92a
    (slot-value x 's)
    (defmethod update-instance-for-redefined-class ((object foo92b) added-slots discarded-slots property-list &rest initargs)
      (incf update-counter))
    (make-instances-obsolete 'foo92a)
    (slot-value x 's)
    update-counter))
Expected: 1
Got:      0

[Taken from clisp's clos.tst]


	* src/pcl/std-class.lisp (force-cache-flushes): Use new state
	:obsolete if some superclass has been obsoleted.

	* src/pcl/cache.lisp (check-wrapper-validity): If state is
	:invalid, recurse because force-cache-flushes can change the
	state.
parent 560a3e96
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment