[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Unset ICRNL in CBREAK mode in stty(1) following X/Open Curses
From: |
Soumendra Ganguly |
Subject: |
Unset ICRNL in CBREAK mode in stty(1) following X/Open Curses |
Date: |
Sun, 21 Jan 2024 05:01:19 +0100 |
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 Coreutils
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://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
- Unset ICRNL in CBREAK mode in stty(1) following X/Open Curses,
Soumendra Ganguly <=