[elephant-devel] Fix for LispWorks 5.1

Chun Tian (binghe) binghe.lisp at gmail.com
Mon Jun 29 06:37:42 UTC 2009


Hi, Leslie

The only else "caching stuff" I found in "classes.lisp" is the class  
definition of "cacheable-persistent-object", I moved it into  
"cache.lisp" and this change didn't break the build on LispWorks 5.1,  
so only two definitions are moved to "cache.lisp":

(defclass cacheable-persistent-object (persistent-object)
   ((pchecked-out :accessor pchecked-out-p :initform nil)
    (checked-out :accessor checked-out-p :initform nil :transient t))
   (:metaclass persistent-metaclass)
   (:documentation
    "Adds a special value slot to store checkout state"))

(defmethod shared-initialize :around ((instance cacheable-persistent- 
object) slot-names &key make-cached-instance &allow-other-keys)
   ;; User asked us to start in cached mode?  Otherwise default to not.
   (setf (slot-value instance 'pchecked-out) make-cached-instance)
   (setf (slot-value instance 'checked-out) make-cached-instance)
   (call-next-method))

I think that's enough. Please find a trivial patch in attach of this  
mail.

Regards,

Chun Tian (binghe)

>
> Hi Chun,
>
>> I found a way to get pass this issue: moving above definition out of
>> "class.lisp", to, i.e. "cache.lisp", then everythings go fine. I run
>> some BDB tests, seems OK.
>
> Thanks for this fix; maybe you could send a patch that moves all
> of the caching stuff to cache.lisp?
>
> That would save us a lot of time and get your change into upstream
> more quickly.
>
>  Leslie
>
> -- 
> http://www.linkedin.com/in/polzer
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: elephant-lw51.diff
Type: application/octet-stream
Size: 2660 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/elephant-devel/attachments/20090629/eccf71e2/attachment.obj>
-------------- next part --------------



More information about the elephant-devel mailing list