[elephant-cvs] CVS elephant/src/elephant

ieslick ieslick at common-lisp.net
Sat Feb 25 17:04:57 UTC 2006


Update of /project/elephant/cvsroot/elephant/src/elephant
In directory clnet:/tmp/cvs-serv29707/src/elephant

Modified Files:
	classes.lisp 
Log Message:
Exploring SBCL failures & incorporating Andrew Blumberg's SBCL MOP fix

--- /project/elephant/cvsroot/elephant/src/elephant/classes.lisp	2006/02/22 22:01:44	1.5
+++ /project/elephant/cvsroot/elephant/src/elephant/classes.lisp	2006/02/25 17:04:56	1.6
@@ -142,8 +142,7 @@
       ;; Update new persistent slots, the others we get for free (same oid!)
       ;; Isn't this done by the default call-next-method?
       (apply #'shared-initialize instance new-persistent-slots initargs))
-    )
-  )
+    ))
 
 (defmethod update-instance-for-different-class :around ((previous persistent) (current persistent) &rest initargs &key)
   (let* ((old-class (class-of previous))
@@ -174,6 +173,7 @@
       (remove-kv (oid previous) (find-class-index old-class)))
     (call-next-method)))
 
+
 (defmethod slot-value-using-class :around ((class persistent-metaclass) (instance persistent-object) (slot-def persistent-slot-definition))
   "Get the slot value from the database."
   (declare (optimize (speed 3)))
@@ -296,7 +296,18 @@
 	     (type persistent-object instance))
     (persistent-slot-boundp (get-con instance) instance name)))
 
-#+(or cmu sbcl)
+#+sbcl ;; CMU also?  Old code follows...
+(defmethod initialize-internal-slot-functions ((slot-def persistent-slot-definition))
+  (let ((name (slot-definition-name slot-def)))
+    (setf (slot-definition-reader-function slot-def)
+	  (make-persistent-reader name))
+    (setf (slot-definition-writer-function slot-def)
+	  (make-persistent-writer name))
+    (setf (slot-definition-boundp-function slot-def)
+	  (make-persistent-slot-boundp name)))
+  (call-next-method)) ;;  slot-def)
+
+#+cmu
 (defmethod initialize-internal-slot-functions ((slot-def persistent-slot-definition))
   (let ((name (slot-definition-name slot-def)))
     (setf (slot-definition-reader-function slot-def)




More information about the Elephant-cvs mailing list