diff --git a/Doc/library/tty.rst b/Doc/library/tty.rst index f3dfc7bb099846..ed63561c40de24 100644 --- a/Doc/library/tty.rst +++ b/Doc/library/tty.rst @@ -35,10 +35,14 @@ The :mod:`tty` module defines the following functions: Convert the tty attribute list *mode*, which is a list like the one returned by :func:`termios.tcgetattr`, to that of a tty in cbreak mode. + This clears the ``ECHO`` and ``ICANON`` local mode flags in *mode* as well + as setting the minimum input to 1 byte with no delay. + .. versionadded:: 3.12 .. versionchanged:: 3.12.2 - The ``ICRNL`` flag is no longer cleared. + The ``ICRNL`` flag is no longer cleared. This matches Linux and macOS + ``stty cbreak`` behavior and what :func:`setcbreak` historically did. .. function:: setraw(fd, when=termios.TCSAFLUSH) @@ -59,13 +63,16 @@ The :mod:`tty` module defines the following functions: :func:`termios.tcsetattr`. The return value of :func:`termios.tcgetattr` is saved before setting *fd* to cbreak mode; this value is returned. + This clears the ``ECHO`` and ``ICANON`` local mode flags as well as setting + the minimum input to 1 byte with no delay. + .. versionchanged:: 3.12 The return value is now the original tty attributes, instead of None. .. versionchanged:: 3.12.2 - The ``ICRNL`` flag is no longer cleared. This matches both the behavior - of 3.11 and earlier as well as what Linux, macOS, and BSDs describe in - their ``stty(1)`` man pages regarding cbreak mode. + The ``ICRNL`` flag is no longer cleared. This restores the behavior + of Python 3.11 and earlier as well as matching what Linux, macOS, & BSDs + describe in their ``stty(1)`` man pages regarding cbreak mode. .. seealso::