According to the documentation they save the original result of termios.tcgetattr() and return it. But while making a copy of the attribute list before modifying it they do not take in account that it contains a reference to original cc list and modify it. So these functions return a list which contains original values and modified cc list.
These functions started returning the attribute list in #85984 (486bc8e).
The question: who should make a copy of the internal list: setraw() before passing it to cfmakeraw(), or cfmakeraw() itself?
Activity
pythongh-110392: Fix tty functions
gh-110392: Fix tty functions (GH-110642)
pythongh-110392: Fix tty functions (pythonGH-110642)
[3.12] gh-110392: Fix tty functions (GH-110642) (GH-110853)
pythongh-110392: Fix tty functions (pythonGH-110642)
pythongh-110392: Fix tty functions (pythonGH-110642)