[Python-3000] Unicode and OS strings

Jim Jewett jimjjewett at gmail.com
Fri Sep 21 16:45:51 CEST 2007


On 9/18/07, Guido van Rossum <guido at python.org> wrote:
> On 9/18/07, Jim Jewett <jimjjewett at gmail.com> wrote:

> > ... given that defenc is now always UTF-8, won't exposing
> > it in the public typedef then just be an attractive nuisance?

> *ALL* fields of the struct def are strictly internal.

Is that policy documented somewhere?  I didn't get that impression
from the C API, the Extending and Embedding document, or from the
header itself.  In the header, it was above the "public API" line, but
so were things like Py_UNICODE_REPLACEMENT_CHARACTER, and it does
start with Py rather than _Py.  Other declarations, such as
_PyUnicode_AsDefaultEncodedString, were clearly marked as internal in
both comments and name.

> >  [ My proposal to remove *str and *defenc from definition in
> > the public .h file.)

> > As this would allow 3rd parties to create implementations specialized
> > for (and saving space on) smaller alphabets, without breaking C
> > extensions that stick to the public header files.

> That is not a supported use case.

Why not?  If it is just for lack of contributions, I'll shut up until
I find time.  But it sounds (and has sounded in the past) like a
policy decision -- and I want to know the reasoning behind it.

-jJ


More information about the Python-3000 mailing list