Issue #8663: distutils.log emulates backslashreplace error handler. Fix

compilation in a non-ASCII directory if stdout encoding is ASCII (eg. if stdout
is not a TTY).
This commit is contained in:
Victor Stinner 2010-05-19 17:00:07 +00:00
parent 9ca9c25bcd
commit 2ca03c1f7f
2 changed files with 8 additions and 0 deletions

View File

@ -27,6 +27,10 @@ class Log:
stream = sys.stderr
else:
stream = sys.stdout
if stream.errors == 'strict':
# emulate backslashreplace error handler
encoding = stream.encoding
msg = msg.encode(encoding, "backslashreplace").decode(encoding)
stream.write('%s\n' % msg)
stream.flush()

View File

@ -370,6 +370,10 @@ C-API
Library
-------
- Issue #8663: distutils.log emulates backslashreplace error handler. Fix
compilation in a non-ASCII directory if stdout encoding is ASCII (eg. if
stdout is not a TTY).
- Issue #8513: os.get_exec_path() supports b'PATH' key and bytes value.
subprocess.Popen() and os._execvpe() support bytes program name. Add
os.supports_bytes_environ flag: True if the native OS type of the environment