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