Unset ICRNL in CBREAK mode in stty(1) following X/Open Curses
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 21 Jan 2024 05:07:31 UTC
Respected maintainers, In X/Open Curses, Issue 7 ( https://pubs.opengroup.org/onlinepubs/9699909599/toc.pdf), the following is mentioned about the cbreak mode: This mode achieves the same effect as non-canonical-mode, Case B input processing (with MIN set to 1 and *ICRNL cleared*) as specified in the XBD specification. For example, ncurses does this in NCURSES_SP_NAME(cbreak): https://github.com/mirror/ncurses/blob/87c2c84cbd2332d6d94b12a1dcaf12ad1a51a938/ncurses/tinfo/lib_raw.c#L177 My question is this: I understand that the standard linked above is NOT a specification for stty but rather for curses, and therefore the FreeBSD implementation of stty need not follow it. *But*, would this be a welcome change in stty for the sake of sticking to *some* standard? Or could this potentially break lots of existing projects? --------------------------------------------- Some context: I had made some changes in the tty library of Python to make it more standard compliant: https://githubcom/python/cpython/pull/101832 <https://github.com/python/cpython/pull/101832> This is a part of a series of changes: https://github.com/python/cpython/issues/85984 The particular change of concern is that in `tty.setcbreak()`, I unset ICRNL. Because of this change , some old behavior is broken: https://github.com/python/cpython/issues/114328 Sincerely, Soumendra