Martin Panter added the comment: IMO adding a Popen(errors=...) parameter would be a new feature for 3.6+ only. Also, the patch does not take the error handler into account when encoding and decoding multiple PIPEs in communicate().
I think it would be better to fix this bug in Lib/distutils/_msvccompiler.py only. The equivalent bug fix would look like: out = subprocess.check_output( ..., stderr=subprocess.STDOUT, # No universal_newlines! ) ... out = io.TextIOWrapper(io.BytesIO(out), errors="surrogateescape").read() Or maybe a simpler version is sufficient: (I’m not familiar enough with the use case or Windows to say.) out = out.decode("ascii", "surrogateescape") ---------- nosy: +martin.panter _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue27048> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com