Update of /project/cells/cvsroot/cells In directory clnet:/tmp/cvs-serv25158
Modified Files: defmodel.lisp Log Message: sbcl fixes (forward declaration of reader methods, eval-when)
--- /project/cells/cvsroot/cells/defmodel.lisp 2008/02/01 15:52:49 1.14 +++ /project/cells/cvsroot/cells/defmodel.lisp 2008/02/11 14:47:30 1.15 @@ -46,7 +46,9 @@ `(eval-when (:compile-toplevel :execute :load-toplevel) (unless (macro-function ',deriver-fn) (defmacro ,deriver-fn () - `(,',reader-fn self)))))))))) + `(,',reader-fn self))) + #+sbcl (unless (fboundp ',reader-fn) + (defgeneric ,reader-fn (slot))))))))))
; ; ------- defclass --------------- (^slot-value ,model ',',slotname) @@ -98,9 +100,8 @@ (let* ((reader-fn (or reader accessor)) (writer-fn (or writer accessor)) ) - `(progn + `(eval-when (#+sbcl :load-toplevel :execute) ; ph -- prevent sbcl warning (setf (md-slot-cell-type ',class ',slotname) ,cell) - ,(when owning `(setf (md-slot-owning ',class ',slotname) ,owning)) ,(when reader-fn