• Victor Stinner's avatar
    bpo-34485: Enhance init_sys_streams() (GH-8978) · 9e4994d4
    Victor Stinner authored
    Python now gets the locale encoding with C code to initialize the encoding
    of standard streams like sys.stdout. Moreover, the encoding is now
    initialized to the Python codec name to get a normalized encoding name and
    to ensure that the codec is loaded. The change avoids importing
    _bootlocale and _locale modules at startup by default.
    
    When the PYTHONIOENCODING environment variable only contains an encoding,
    the error handler is now is now set explicitly to "strict".
    
    Rename also get_default_standard_stream_error_handler() to
    get_stdio_errors().
    
    Reduce the buffer to format the "cpXXX" string (Windows locale encoding).
    9e4994d4
pylifecycle.c 66.2 KB