Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84 SMI; site sun.uucp
Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!decvax!decwrl!sun!guy
From: guy@sun.uucp (Guy Harris)
Newsgroups: net.emacs
Subject: Re: emacs under flow control
Message-ID: <2404@sun.uucp>
Date: Tue, 9-Jul-85 21:53:29 EDT
Article-I.D.: sun.2404
Posted: Tue Jul  9 21:53:29 1985
Date-Received: Fri, 12-Jul-85 04:09:04 EDT
References: <2899@cornell.UUCP> <466@bu-cs.UUCP> <490@tjalk.UUCP>
Organization: Sun Microsystems, Inc.
Lines: 36

> Modifying and adapting all existing programs to use ^\ for ^S on even
> days and for ^Q on odd days is a finite job, but doing the same for all
> incoming sources is a never-ending story.  And don't tell me programmers
> should write their code to avoid the problem. Perhaps they should, but most
> of them won't.  Many just know that a terminal is a 7-bit channel and have
> never seen anything else.

I don't know of any programs running under UNIX other than EMACS which
assume that a user typing at a keyboard can send a ^S or ^Q to the program.
(UUCP assumes an 8-bit raw datapath, but that's different.)  Any program
written for any DEC operating system that makes that assumption is going to
fail unless it puts the terminal path into 8-bit passall mode, so such
programs are probably unlikely under RT-11, RSX-11, RSTS, VMS, TOPS-[12]0,
etc.  You don't have to do that job for all incoming sources; most
programmers don't write code that runs into the problem.

> In this case that could mean that any sequence typed as ^]X would arrive
> as the right-most five bits of X.  For this to work, it should be in the
> terminal driver, which is doing funny things with NL/CR already.
> 
> This is probably easier said than done, but it is a one-time finite job,
> and will work for all programs to come.

Putting it into the terminal driver won't help.  Such a solution is in the
4.xBSD terminal driver (^V is a super-quote), but that doesn't do any good
if you're using a flow-controlled network to talk to your machine and the
^S/^Q disappears before it even gets to the host.  Given the number of such
networks, it is a finite job but not an easy one (you'll have to convince
all those vendors to permit you to either disable flow control or escape the
flow control characters).  If more such networks appear, it's not even
guaranteed to be a one-time finite job (although the rate of increase in the
number of such networks might be less than the rate of increase in the
number of programs which actually care whether they can receive a ^S or ^Q
or not).

	Guy Harris