Fix bug introduced in r68451: stdio must always be opened in line-buffered mode
if isatty() is true.
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 8a1af3b..6819be5 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -734,10 +734,10 @@
 	int fd, int write_mode, char* name,
 	char* encoding, char* errors)
 {
-	PyObject *buf = NULL, *stream = NULL, *text = NULL, *raw = NULL;
+	PyObject *buf = NULL, *stream = NULL, *text = NULL, *raw = NULL, *res;
 	const char* mode;
-	const PyObject *line_buffering;
-	int buffering;
+	PyObject *line_buffering;
+	int buffering, isatty;
 
 	if (Py_UnbufferedStdioFlag)
 		buffering = 0;
@@ -766,13 +766,21 @@
 	text = PyUnicode_FromString(name);
 	if (text == NULL || PyObject_SetAttrString(raw, "_name", text) < 0)
 		goto error;
-	Py_CLEAR(raw);
-	Py_CLEAR(text);
-
-	if (Py_UnbufferedStdioFlag)
+	res = PyObject_CallMethod(raw, "isatty", "");
+	if (res == NULL)
+		goto error;
+	isatty = PyObject_IsTrue(res);
+	Py_DECREF(res);
+	if (isatty == -1)
+		goto error;
+	if (isatty || Py_UnbufferedStdioFlag)
 		line_buffering = Py_True;
 	else
 		line_buffering = Py_False;
+
+	Py_CLEAR(raw);
+	Py_CLEAR(text);
+
 	stream = PyObject_CallMethod(io, "TextIOWrapper", "OsssO",
 				     buf, encoding, errors,
 				     "\n", line_buffering);