Yes, the standard object slots are 'transient' by default. Any subclass which is persistent inherits the transient semantics so what you are seeing is the right default behavior. The only way to make them persistent is to shadow the old definition with a new persistent definition in the subclass, so I'm not inclined to change the default behavior.
You could look at adding an :persistent-inherit as a class option to do this. But I think that it is a bit dirty since now you can have one subclass with different slot behavior than another. You could also write a method which overrides one of the initialization phases for the new subclass specifically which upgrades the effective slot definitions so they are now persistent slot metaobjects. Ian On Dec 24, 2008, at 3:15 PM, Yarek Kowalik wrote: > I have two classes, one an "ephemeral" and one persistent. The > persistent class inherits from the ephemeral class. When I copy > slot values from an ephemeral instance to persistent instance, only > the slots that are redefined in the persistent class get persisted > properly, the other inherited slots are not, as if they were marked > transient by default. Is this the correct behaviour? Is there a > way to make all inherited slots persistent? > > In the example below only slots 'last-name' and 'username' get > persisted when copying from 'site-user-ephemeral instance to 'site- > user instance. > > Yarek > > (defclass site-user-ephemeral () > ((first-name > :accessor site-user-first-name > :initarg :first-name > :type string) > (last-name > :accessor site-user-last-name > :initarg :last-name > :type string) > (username > :accessor site-user-username > :initarg :username > :type string) > (email > :accessor site-user-email > :initarg :email > :type string) > (password > :accessor site-user-password > :initarg :password > :type string)) > (:documentation "object for storing user data")) > > (defpclass site-user (site-user-ephemeral) > ((last-name) > (username > :index t)) > (:index t) > (:documentation "persistent object for storing user data")) > _______________________________________________ > elephant-devel site list > elephant-devel@common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel _______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel