Date: Sun, 21 Jan 2024 06:07:31 +0100 From: Soumendra Ganguly <soumendraganguly@gmail.com> To: freebsd-bugs@freebsd.org Subject: Unset ICRNL in CBREAK mode in stty(1) following X/Open Curses Message-ID: <CAOW54GWzkJ1zc_7CjY3nq-DMqnopvyPMk9rnttBrFR%2BZsgL62g@mail.gmail.com>
index | next in thread | raw e-mail
[-- Attachment #1 --] 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 [-- Attachment #2 --] <div dir="ltr"><div dir="ltr"><div>Respected maintainers,</div><br><div><div dir="ltr"><div><div>In X/Open Curses, Issue 7 (<a href="https://pubs.opengroup.org/onlinepubs/9699909599/toc.pdf" target="_blank">https://pubs.opengroup.org/onlinepubs/9699909599/toc.pdf</a>), the following is mentioned about the cbreak mode:</div><div><br></div><div>This mode achieves the same effect as non-canonical-mode, Case B input processing (with<br> MIN set to 1 and <strong>ICRNL cleared</strong>) as specified in the XBD specification.</div><div><br><div>For example, ncurses does this in NCURSES_SP_NAME(cbreak): <a href="https://github.com/mirror/ncurses/blob/87c2c84cbd2332d6d94b12a1dcaf12ad1a51a938/ncurses/tinfo/lib_raw.c#L177" target="_blank">https://github.com/mirror/ncurses/blob/87c2c84cbd2332d6d94b12a1dcaf12ad1a51a938/ncurses/tinfo/lib_raw.c#L177</a></div><div><br><div>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?<br></div></div></div></div><div><br></div><div>---------------------------------------------<br></div><div><br></div><div>Some context: I had made some changes in the tty library of Python to make it more standard compliant: <a href="https://github.com/python/cpython/pull/101832" target="_blank">https://githubcom/python/cpython/pull/101832</a></div><div><br></div><div>This is a part of a series of changes: <a href="https://github.com/python/cpython/issues/85984" target="_blank">https://github.com/python/cpython/issues/85984</a></div><div><br></div><div>The particular change of concern is that in `tty.setcbreak()`, I unset ICRNL. Because of this change , some old behavior is broken: <a href="https://github.com/python/cpython/issues/114328" target="_blank">https://github.com/python/cpython/issues/114328</a></div><div><br></div><div>Sincerely,</div><div>Soumendra<div class="gmail-yj6qo"></div><div class="gmail-adL"><br><br></div></div></div></div></div></div>help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOW54GWzkJ1zc_7CjY3nq-DMqnopvyPMk9rnttBrFR%2BZsgL62g>
