coreutils
[Top][All Lists]
Advanced

[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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]