[comp.unix.wizards] undocumented stty fields, visible bell, and su

aad@stpstn.UUCP (Anthony A. Datri) (09/10/88)

[line eaters are illegal in most states]

  I've discovered some rather baffling behavior on a sun 3 running 3.2.  I'm
using a DEC gigi terminal, and I've hacked my own termcap entries, including
one with a visible bell (vb) field, *but no explicit bl field*.  If I su to
root or anyone else, and set filec, the vb field seems to work!  I hit escape,
and it does the vb sequence, and it doesn't beep!  Several people have told me
that there isn't any way this should be happening, but it happens!

I also notice that here there seem to be a couple of undocumented
stty options -- noflsh, nopost, noisig.  All seem to be -'ed, ie.,
I normally have -noflsh, -nopost, and -noisig show up in `stty everything`.
Can someone enlighten me on those options?  None of them seem to control
the visible bell entirely, but I do notice that if I stty noisig,
the vb sequence takes longer -- the screen changes, stays, then changes back.

-- 
@disclaimer(Any concepts or opinions above are entirely mine, not those of my
	    employer, my GIGI, or my 11/34)
beak is								  beak is not
Anthony A. Datri,SysAdmin,StepstoneCorporation,stpstn!aad

guy@gorodish.Sun.COM (Guy Harris) (09/13/88)

> I also notice that here there seem to be a couple of undocumented
> stty options -- noflsh, nopost, noisig.  All seem to be -'ed, ie.,
> I normally have -noflsh, -nopost, and -noisig show up in `stty everything`.
> Can someone enlighten me on those options?  None of them seem to control
> the visible bell entirely, but I do notice that if I stty noisig,
> the vb sequence takes longer -- the screen changes, stays, then changes back.

You're imagining things.  "noisig" can't cause what you see.

"noflsh" is from 4.3BSD.  Berkeley didn't bother documenting it in STTY(1), but
in TTY(4) they document it as:

	LNOFLSH	100000	Inhibit flushing of pending I/O when an interrupt
			character is typed.

which means that if it is set, interrupt characters (for example, ^C) do not
cause any unread input or untransmitted output to be flushed.

"nopost" and "noisig" were added in 3.2 to make life easier for the code that
emulates much of the System V tty driver behavior.  "nopost" turns off all
output post-processing; it's like "litout", except that it doesn't put the
hardware into 8 bits, no parity mode.  "noisig" disables all interrupt
characters.  (If anybody wants to tweak those bits in a program, they are in an
"extra" mode word, fetched with TIOCGETX and set with TIOCSETX.)