NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: lib/57867: Why does cbreak or raw affect terminal output differently?



On Wed, Jan 24, 2024 at 02:55:02PM +0000, Anthony Howe wrote:
>  
>  The SUS Curses Issue 7 talks about cbreak(), raw(), nl() as functions affecting 
>  input only (no mention about output).  Yet tty.c, raw(), disables `OPOST` that 
>  influences output and cbreak() leaves what ever the termios oflag has set by stty.
>  

I am not entirely sure and susv2 is not really clear on what the effect the calls have on
output processing.  My guess is OPOST is cleared in raw() to prevent special character
processing affecting the screen contents.  I expect that this behaviour has been there for a
very long time so we would need to look very carefully at changing it.  Having said that,
the bug that RVP pointed to dated back to the original import.

If you are adventurous you can modify tty.c to remove the output flags for raw mode and test
it.

>  When I was with MKS maintaining their Curses and balloting Xopen at the time, I 
>  found historical Curses behaviour (which touches input/output terminal 
>  behaviour) to conflict with XOpen drafts at the time which overlook how those 
>  functions also affect terminal output.
>  

Yes, and there still isn't any clarity there.

>  
>  Well I filed this not as a bug, but as a `support` question, which I assume this 
>  fell under in case it elevated to a bug.
>  
 Yes, I figured that you are used to dealing with commercial software support and followed
the usual process.  With NetBSD support questions are handled via the mailing list, you get
a broader audience so may get more help.  If it does sound like a bug then you will be asked
to log a PR.  If something is definitely a bug then, please, log a PR but for things that
are not clear then try the mailing list first, it not only helps you but other people with
the same question can see the answer and benefit from it.

-- 
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"


Home | Main Index | Thread Index | Old Index