[Python-Dev] cpython: Issue #16129: Add `Py_SetStandardStreamEncoding`

Nick Coghlan ncoghlan at gmail.com
Fri Oct 18 12:16:03 CEST 2013


On 18 Oct 2013 15:20, "Georg Brandl" <g.brandl at gmx.net> wrote:
>
> Am 17.10.2013 17:36, schrieb Antoine Pitrou:
> > On Thu, 17 Oct 2013 15:22:03 +0200 (CEST)
> > nick.coghlan <python-checkins at python.org> wrote:
> >>
> >> +.. c:function:: int Py_SetStandardStreamEncoding(char *encoding, char
*errors)
> >> +
> >> +   .. index::
> >> +      single: Py_Initialize()
> >> +      single: main()
> >> +      triple: stdin; stdout; sdterr
> >> +
> >> +   This function should be called before :c:func:`Py_Initialize`. It
> >> +   specifies which encoding and error handling to use with standard
io,
> >> +   with the same meanings as in :func:`str.encode`.
> >> +
> >> +   It overrides :envvar:`PYTHONIOENCODING` values, and allows
embedding code
> >> +   to control io encoding when the environment variable does not work.
> >> +
> >> +   ``encoding`` and/or ``errors`` may be NULL to use
> >> +   :envvar:`PYTHONIOENCODING` and/or default values (depending on
other
> >> +   settings).
> >> +
> >> +   Note that :data:`sys.stderr` always uses the "backslashreplace"
error
> >> +   handler, regardless of this (or any other) setting.
> >> +
> >> +   If :c:func:`Py_Finalize` is called, this function will need to be
called
> >> +   again in order to affect subsequent calls to
:c:func:`Py_Initialize`.
> >> +
> >> +   Returns 0 if successful.
> >> +
> >> +
> >
> > Needs a versionadded tag.
>
> Also, shouldn't it be excluded from the stable/limited API?

Since it didn't expose any struct layouts, I just followed the precedent
set by the other PySet_* APIs on that front. Moving it would be fine, too,
though, since "embedding the interpreter" and "using the limited API" don't
exactly mix :)

Cheers,
Nick.

>
> Georg
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
https://mail.python.org/mailman/options/python-dev/ncoghlan%40gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20131018/d1506dcf/attachment.html>


More information about the Python-Dev mailing list