[net.emacs] GNU EMACS 15.22 problem

louie@umd5.UUCP (05/01/85)

I've got GNU EMACS, version 15.22 running on a VAX 11/750 under ULTRIX 1.0
(which is 4.2BSD from DEC).  It seems to work just fine except for one
strange problem.  When exiting from EMACS via a ^X-^C key sequence, it
seems to 'leave' characters in the tty input queue.  Typically, they are
^? (DEL), ~ (tilde), or @ (at-sign).  Usually only one or two queued.
I tried doing a TIOCFLUSH in RstTrm(), but that didn't seem to fix it.
I am running with INTERRUPT_INPUT defined.  I think it may be related
to switching the tty back into cooked mode and disabling async I/O, but
have no concrete reasons to support this claim.  It doesn't occur with
any other programs.

Help!

-- 
Louis A. Mamakos WA3YMH   University of Maryland, Computer Science Center
 Internet: louie@umd5.arpa
 UUCP: {seismo!umcp-cs, ihnp4!rlgvax}!cvl!umd5!louie

smh@mit-eddie.UUCP (Steven M. Haflich) (05/03/85)

I too have experienced the problem with GNU EMACS emitting garbage
characters to the tty upon exit.  When using a VT100 emulator on a PC
that reports ---BREAK-RECEIVED--- on framing errors, it bacame
apparent that the problem is not extraneous well-formed characters,
but some screwup resetting tty mode during exit, perhaps temporarily
messing up speed or parity.  I may get around to checking the code
one of these days.

jeff@fluke.UUCP (Jeff Stearns) (05/06/85)

In article <4160@mit-eddie.UUCP> smh@mit-eddie.UUCP (Steven M. Haflich) writes:
>I too have experienced the problem with GNU EMACS emitting garbage
>characters to the tty upon exit.  When using a VT100 emulator on a PC
>that reports ---BREAK-RECEIVED--- on framing errors, it bacame
>apparent that the problem is not extraneous well-formed characters,
>but some screwup resetting tty mode during exit, perhaps temporarily
>messing up speed or parity.  I may get around to checking the code
>one of these days.

Sounds like a problem I discovered when working with the line printer spoolers.

Some device filters do a series of ioctl's to change the tty modes while
driving the printer.  When finished, they switch 'em back - and a garbage
character can be introduced into the tty output queue.  It's an honest-to-god
character *fragment*.

Hang a good serial line analyzer on the line and you'll see the first few bits
of the character go by, then WHAM - it gets cut off in mid air.

I believe that it happens when the kernel is changing tty modes.  I suspect
that it may be sending a (premature) reset to the tty interface hardware while
the last character is in the midst of dribbling out the UART.

I found this problem on both 4.2BSD on a VAX, and on release 1.3 from Sun.
I now see hints that Sun may have fixed the problem in their latest release.
-- 
	Jeff Stearns       (206) 356-5064
	John Fluke Mfg. Co.
	P.O. Box C9090  Everett WA  98043  
	{uw-beaver,decvax!microsof,ucbvax!lbl-csam,allegra,ssc-vax}!fluke!jeff