◐ Shell
clean mode source ↗

Message 78417 - Python tracker

>> Should we also change stdin?
> I don't know, but "python -h" only talks about stderr/stdout.

The manpage of Python2 is clear:

   -u     Force stdin, stdout and stderr to be totally unbuffered.

stdin is also unbuffered.

> It seems the "name" field of the TextIOWrapper object isn't 
> set in create_stdio()

It used only used for buffered output. Without the patch, 
sys.stdout.name == sys.stdout.buffer.name == '1' :-/

New patch:
 - use create_stdio() to create unbuffered sys.stdin
 - rename Py_UnbufferedStdoutFlag to Py_UnbufferedStdioFlag
 - replace "Py_UnbufferedStdioFlag++;" by "Py_UnbufferedStdioFlag = 
1;"
 - change create_stdio(): (...)

Note: there is no test for unbuffered input because I don't know how 
to test this (even by manual tests) :-p