Oh, you are right. I thought that save_inst() used inst_persistent_id,
but that isn't the case. Now, I have checked more thoroughly and found
the relevant piece of code:

        if (!pers_save && self->inst_pers_func) {
                if ((tmp = save_pers(self, args, self->inst_pers_func)) != 0) {
                        res = tmp;
                        goto finally;
                }
        }

which is indeed called only when the object is not "supported" by pickle.

I guess my original argument doesn't hold anymore, thus I don't have
anything against supporting this feature officially.

Thanks for correcting me!
-- Alexandre


On Jan 14, 2008 12:59 PM, Armin Rigo <[EMAIL PROTECTED]> wrote:
> Hi,
>
> On Sat, Jan 12, 2008 at 07:33:38PM -0500, Alexandre Vassalotti wrote:
> > Well, in Python 3K, inst_persistent_id() won't be usable, since
> > PyInstance_Type was removed.
>
> Looking at the code, inst_persistent_id() is just a confusing name.  It
> has got nothing to do with PyInstance_Type; it's called for any object
> type that cPickle.c doesn't know how to handle.  In fact, it seems that
> cPickle.c never calls inst_persistent_id() for objects of type
> PyInstance_Type...
>
>
> A bientot,
>
> Armin.
>
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to