Commit 2ca03c1f authored by Victor Stinner's avatar Victor Stinner

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).
parent 9ca9c25b
...@@ -27,6 +27,10 @@ class Log: ...@@ -27,6 +27,10 @@ class Log:
stream = sys.stderr stream = sys.stderr
else: else:
stream = sys.stdout 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.write('%s\n' % msg)
stream.flush() stream.flush()
......
...@@ -370,6 +370,10 @@ C-API ...@@ -370,6 +370,10 @@ C-API
Library 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. - Issue #8513: os.get_exec_path() supports b'PATH' key and bytes value.
subprocess.Popen() and os._execvpe() support bytes program name. Add subprocess.Popen() and os._execvpe() support bytes program name. Add
os.supports_bytes_environ flag: True if the native OS type of the environment os.supports_bytes_environ flag: True if the native OS type of the environment
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment