[Python-3000] Unicode and OS strings (original) (raw)

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