With the latest codes from darcs, defining a persistent class with a slot with an accessor invokes an error like "There is no class named CLASS-NAME.".
Here is an example. (open-store '(:BDB "/path/to/db")) (defpclass new-class () ((slot1 :accessor slot1))) ; There is no class named NEW-CLASS. ; [Condition of type SIMPLE-ERROR] ; ; Restarts: ; 0: [ABORT] Return to SLIME's top level. ; 1: [TERMINATE-THREAD] Terminate this thread (#<THREAD "worker" RUNNING {A99C9E9}>) ; ; Backtrace: ; 0: (SB-PCL::REAL-ADD-METHOD #<STANDARD-GENERIC-FUNCTION SLOT1 (1)> #<SB-MOP:STANDARD-READER-METHOD SLOT1, slot:SLOT1, ((CLASS #<PERSISTENT-METACLASS NEW-CLASS>)) {A9A2B31}> NIL) ; 1: (SB-PCL::FIX-SLOT-ACCESSORS #<PERSISTENT-METACLASS NEW-CLASS> (#<ELEPHANT::PERSISTENT-DIRECT-SLOT-DEFINITION SLOT1>) SB-PCL::ADD NIL) ; 2: ((SB-PCL::FAST-METHOD SHARED-INITIALIZE :AFTER (SB-PCL::STD-CLASS T)) #(17 NIL 5 NIL) #<unavailable argument> #<PERSISTENT-METACLASS NEW-CLASS> T)[:EXTERNAL] ; 3: ((LAMBDA (SB-PCL::.PV. SB-PCL::.NEXT-METHOD-CALL. SB-PCL::.ARG0. SB-PCL::.ARG1. SB-INT:&MORE SB-PCL::.DFUN-MORE-CONTEXT. SB-PCL::.DFUN-MORE-COUNT.)) #<unused argument> #<unused argument> #<PERSISTENT-METACLASS NEW-CLASS> T -304735685 10) ; 4: ((SB-PCL::FAST-METHOD SHARED-INITIALIZE :AROUND (PERSISTENT-METACLASS T)) #<unavailable argument> #<unavailable argument> #<unavailable argument> #<unavailable argument>)[:EXTERNAL] ; 5: ((SB-PCL::FAST-METHOD MAKE-INSTANCE (CLASS)) #<unavailable argument> #<unavailable argument> #<STANDARD-CLASS PERSISTENT-METACLASS>)[:EXTERNAL] ; 6: ((SB-PCL::FAST-METHOD SB-MOP:ENSURE-CLASS-USING-CLASS (NULL T)) #<unavailable argument> #<unavailable argument> NIL NEW-CLASS)[:EXTERNAL] ; 7: (SB-PCL::REAL-LOAD-DEFCLASS NEW-CLASS PERSISTENT-METACLASS NIL ((:NAME SLOT1 :READERS (SLOT1) :WRITERS (#) ...)) NIL (SLOT1) ((SETF SLOT1)) (SLOT1) NIL NIL) ; 8: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SB-PCL::LOAD-DEFCLASS (QUOTE NEW-CLASS) (QUOTE PERSISTENT-METACLASS) (QUOTE NIL) (LIST (LIST* :NAME # :READERS # :WRITERS ...)) (LIST) ...) #<NULL-LEXENV>) ; 9: (SB-INT:SIMPLE-EVAL-IN-LEXENV (LET NIL (SB-PCL::LOAD-DEFCLASS (QUOTE NEW-CLASS) (QUOTE PERSISTENT-METACLASS) (QUOTE NIL) (LIST #) (LIST) ...)) #<NULL-LEXENV>) ; 10: (SB-INT:SIMPLE-EVAL-IN-LEXENV (EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) (LET NIL (SB-PCL::LOAD-DEFCLASS # # # # # ...))) #<NULL-LEXENV>) ; 11: (SB-INT:SIMPLE-EVAL-IN-LEXENV (DEFPCLASS NEW-CLASS NIL ((SLOT1 :ACCESSOR SLOT1))) #<NULL-LEXENV>) Is that a bug in elephant? I use SBCL 1.0.18 on Ubuntu Linux 9.04 32bit. Tomo _______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel