[Cl-store-devel] bug with referrers

Robert Sedgewick rds at mercury.chem.pitt.edu
Thu Jul 29 15:00:00 UTC 2004


Hi,

I think I found a simple bug with the circularity fixing code where one 
of the referrers doesn't get set to its real value.

"""
  (defclass foo ()
              ((a :accessor foo-a)))

  (defvar *foo* (make-instance 'foo))
  (defvar *bar* (make-instance 'foo))

(setf (foo-a *foo*) *bar*)
(setf (foo-a *bar*) *foo*)

(cl-store:store (list *foo*) "/tmp/test.store")
(defvar *foo2* (cl-store:restore "/tmp/test.store"))
"""

Now (foo-a (foo-a (car *foo2*))) is 'CL-STORE-REFERRERS::%REFERRER-2

Basically the problem is that #'fix-circularities never gets called on 
the restored *foo*.

--Robbie





More information about the cl-store-devel mailing list