From: utzoo!decvax!cca!mark@Berkeley@sri-unix Newsgroups: net.unix-wizards Title: Re: EMACS control character warning Article-I.D.: sri-unix.1715 Posted: Fri Jun 11 00:32:21 1982 Received: Sat Jun 12 00:56:58 1982 From: mark at Berkeley (Mark Horton) Date: 31-May-82 21:00:42-EDT (Mon) Re: Recently, I have been using a version of EMACS for Unix systems that uses CTRL/S for "search" and CTRL/Q for "quote next character" Please be warned that many terminals, such as the VT52 and VT100 use these for host->terminal flow control. (CTRL/S stops the host and CTRL/Q restarts it). This can lead to strange, irreproducable, editor glitches. There are actually zillions of terminals out there that can use XON/XOFF handshaking. Practically every new terminal being made does this. You can argue the merits of the particular protocol all you want, but the facts are that this one is being rapidly made the de-facto standard, and it works even over phone lines without any special smarts in the tty drivers. (That is, the system being called doesn't care if the caller is a computer or a terminal, as the protocol works with both.) Practially every terminal can shut off this handshaking (the h19 is the main exception) if the system is willing to add appropriate "worst case" padding. My experience has been that any terminal with a buffer does much better with xon/xoff than with worst-case padding. Four years ago, vi bit the bullet and moved its control S and Q commands to other keys. This allowed terminals using xon/xoff handshaking to run in that mode while in a screen editor. Recently the Rand Editor has also moved away from these two keys. The major editor that still uses them for commands is the EMACS family. (There must be 10 or 20 implementations of EMACS by now.) Certainly it is painful to move commands with sensible mnemonics like "search" and "quote", but experience has shown that the pain quickly fades as users get used to the new syntax. (There is the usual griping about non-upward compatibility and how wonderful it was before associated with ANY change.) I have brought this up before. Usually when I do I am immediately engulfed in flames from RMS about "losing networks that don't allow transparent connectiions". While it certainly would be nice if all networks allowed transparent connections, this has nothing to do with the fact that most terminals now need xon/xoff support to run at full speed. I think it's clear that new editors should avoid use of ^S and ^Q as command characters. (They should also avoid escape, since most arrow and function keys transmit escape sequences, causing an ambiguity. EMACS will probably never understand arrow keys, and thus will be harder to learn than it need be, because it uses escape so heavily.) I also would like to see EMACS move away from these keys. (I know from experience that it won't, but you should at least all be aware of what you're missing because of this.) Mark Horton