On Tue, Sep 21, 2021 at 07:08:16AM +0300, Valery Ushakov wrote: > > nl/nonl are defined to affect *input* translation, turning off ICRNL, > so that apps can distinguish carriage return key. I *guess* that the > code changes ONLCR in lockstep out of lazyness, so that for apps that > run with echo/nl the nl->cr+nl on output is done by tty(4). Of course > that bites back by messing up cud1. I would say this is saving a > penny losing a pound. >
Well, ONLCR is not explicitly unset on start up AFAICT, the state is noted and the refresh code handles it. Yes, nl/nonl do set/unset ONLCR I have no insight as to whether that is a bug/lazy or not. > PS: From a quick look at xcurses - it seems to say that cbreak mode > implies ICRNL cleared: > > 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. > Our cbreak clears ICANON which, if I read the termios man page correctly, disables ICRNL. -- Brett Lymn -- Sent from my NetBSD device. "We are were wolves", "You mean werewolves?", "No we were wolves, now we are something else entirely", "Oh"
