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