On Thu, Jan 3, 2013 at 6:43 AM, Benjamin Peterson <benja...@python.org>wrote:

> 2013/1/3 Eli Bendersky <eli...@gmail.com>:
> >
> >
> >> >>
> >> >> 2013/1/1 Eli Bendersky <eli...@gmail.com>:
> >> >> > Hello and happy 2013,
> >> >> >
> >> >> > Something I noticed earlier today is that some C versions of stdlib
> >> >> > modules
> >> >> > define their name similarly to the Python version in their
> >> >> > PyTypeObject.
> >> >> > Some examples: Decimal, xml.etree's Element. Others prepend an
> >> >> > understore,
> >> >> > like _pickle.Pickler and many others.
> >> >> >
> >> >>
> >> >> I don't it's terribly important except if the object from the C
> module
> >> >> is directly exposed through the API it's nicer if it's __name__
> >> >> doesn't have a leading underscore.
> >> >
> >
> >
> > As a followup question: would it be considered a compatibility-breaking
> > change to rename PyTypeObject names? As a concrete example, in
> > Modules/_elementtree.c the name of Element_Type (essentially the
> > xml.etree.ElementTree.Element replacement in C) is "Element". For the
> > purpose of pickling/unpickling it should be named "_elementtree.Element"
> or
> > "xml.etree.ElementTree.Element" or some such thing. Can such a change be
> > made between 3.3 and 3.4? Between 3.3 and 3.3.1?
>
> I don't know much about etree. Can you pickle Element?
>

etree has a C accelerator that was improved and extended in 3.3 and was
made the default when importing etree. But a regression (issue #16076)
occurs because _elementree.Element has no pickling support, while the
Python version does by default (being a plain Python class). In the
aforementioned issue we're trying to resolve the strategy for supporting
pickling for _elementtree.Element. I hope my understanding of unpickling is
correct - it does need a class name to find the module that can unpickle
the object, right? If this is correct, than such a change (name of the
type) may be required to solve the regression between 3.3 and 3.3.1

Eli
_______________________________________________
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