From 90ef747e04ee586ef475b8ef03d3548e5059b105 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Sat, 4 Aug 2012 01:37:32 +0200 Subject: Close #13119: use "\r\n" newline for sys.stdout/err on Windows sys.stdout and sys.stderr are now using "\r\n" newline on Windows, as Python 2. --- Python/pythonrun.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'Python/pythonrun.c') diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 460946804d..cf4e34c33e 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -870,12 +870,15 @@ create_stdio(PyObject* io, Py_CLEAR(raw); Py_CLEAR(text); - newline = "\n"; #ifdef MS_WINDOWS - if (!write_mode) { - /* translate \r\n to \n for sys.stdin on Windows */ - newline = NULL; - } + /* sys.stdin: enable universal newline mode, translate "\r\n" and "\r" + newlines to "\n". + sys.stdout and sys.stderr: translate "\n" to "\r\n". */ + newline = NULL; +#else + /* sys.stdin: split lines at "\n". + sys.stdout and sys.stderr: don't translate newlines (use "\n"). */ + newline = "\n"; #endif stream = PyObject_CallMethod(io, "TextIOWrapper", "OsssO", -- cgit v1.2.1