Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!ames!ptsfa!ihnp4!ihwpt!warren From: warren@ihwpt.ATT.COM (warren montgomery) Newsgroups: comp.emacs Subject: How we could have made flow control livable Message-ID: <1759@ihwpt.ATT.COM> Date: Mon, 22-Jun-87 10:03:37 EDT Article-I.D.: ihwpt.1759 Posted: Mon Jun 22 10:03:37 1987 Date-Received: Thu, 25-Jun-87 05:35:48 EDT Organization: AT&T Bell Laboratories - Naperville, Illinois Lines: 34 I am not a fan of ^S/^Q, but flow control is a necessary evil for some applications of terminals. First, for all of those arguing about whether flow control can be avoided when scrolling through a megabyte file, realize that there are many ways to use a terminal. If you really want to watch a megabyte flash before your eyes or have it spew onto your 10cps printer, you can't avoid flow control. If, however, you just want to re-paint a screen, like emacs and most other applications do, the number of characters that the terminal needs to buffer to avoid flow control is bounded by the number of characters that fit on the screen (plus a bit for type ahead situations). This is what I think terminal manufacturers have little excuse for not providing for. The terminal should be able to keep up with the line speed for long enough that a page can be blasted out without flow control. The place ^S/^Q really gets me, though, is on inter-machine links (cu, rlogin, dkcu, etc.) All of these on my system at least either need ^S/^Q to function, or are broken in some way so that ^S/^Q is permanently stuck on. The unix TTY driver could have been written in a way to make this all much easier, if it had allowed ^S and ^Q to be escaped by preceeding them with backslash. Then, over an inter-machine link, if you turn off flow control locally, it passes your ^S/^Q's through with backslashes in front and they go straight to your remote emacs, while still allowing the two machines to use ^S/^Q internally. (yes, you have to synchronize input and output to the point where the receive half doesn't generate a ^S after a backslash, but this isn't tough). The backslash escape would also allow emacsers to type these things from a terminal that needs ^S/^Q if they really want to, provided that they are a bit careful about typing backslashes during output. -- Warren Montgomery, ihesa!warren