From: utzoo!decvax!harpo!floyd!cmcl2!philabs!micomvax!bob
Newsgroups: net.unix-wizards
Title: Re: VT100/VT640 ^S/^Q and EMACS
Article-I.D.: micomvax.101
Posted: Thu Sep  9 00:04:07 1982
Received: Fri Sep 10 04:46:59 1982
References: sri-unix.3165

As a new subscriber, I didn't get the first article re Emacs and VT100's.
However, I thought I might as well add my two bits worth anyway:

Whenever you type a ^S on the VT100, the silly beast thinks "ahah, I've
sent an XOFF, so therefore I never need bother send another until I send
an XON, because, of course, the host wouldn't DARE to send any characters
to me until then...".  Now this works fine if the host really does stop
sending characters upon receipt of the ^S.  When you're in Emacs, however,
flow control is not used--the driver pads wherever necessary with NUL's, and
^S is typically bound to some function, like search-forward.

What all of this amounts to is that if you use a ^S command within an emacs
session, and don't use a subsequent ^Q command, then output generated after
you leave Emacs will be garbled (at 9600 baud, anyway).

Obviously, this is a bug in the VT100--a trivial fix is for the VT100 to not
set the "^S sent" flag when the user types it, but only when it is sent
for flow-control reasons.

One silly little fix you can use is to bind the two exit functions
(pause-emacs and exit-emacs) to two two-character sequences beginning with
^Q.  What can I say, it works!