[wellylug] Take a hint

Ewen McNeill wellylug at ewen.mcneill.gen.nz
Wed Sep 8 21:18:11 NZST 2004


In message <E1C4xm9-0006cw-00 at israel.diaspora.gen.nz>, michael at diaspora.gen.nz w
rites:
>Ewen McNeill writes:
>>Gosh, another[0] stunningly unfortunate choice on behalf of the GNU
>>project: ctrl-S (XOFF) 
>>[0] Using ctrl-H [for help -- typically bound to backspace key now]
>
>The bindings in bash aren't known as 'Emacs bindings' for nothing.

Fair enough, although at least Emacs will put the terminal into raw mode
so the keystrokes stand a chance of working, whereas bash (well,
readline) tries to use the terminal in an at least semi-cooked mode.  (I
wasn't aware that you could search-forward again with ctrl-S from a
reversed search in Emacs, but I don't use Emacs much.)

>I'd also note that C-s and C-h as Emacs bindings likely predate terminals
>that use XON/XOFF flow control, or C-h as the 'delete and move cursor
>back one space' key; these sort of Emacs bindings date from the early
>70s, ISTR.

AFAICT XON/XOFF (DC3 and DC1 in ASCII standard notation) date back to
around the time that ASCII was being standardised, which was in the
early to mid 1960s, eg:

http://www.nadcomm.com/ascii_code.htm
http://homepages.cwi.nl/~dik/english/codes/stand.html#ascii1963

and at least some of those references indicate that the same characters
were chosen because they were being used to control data from paper 
tape prior to that.

Certainly by the time the VT100 -- 1978 -- was being designed XON/XOFF
seems to be very standardized:

http://www.columbia.edu/acis/history/vt100.html

and other terminals from the same era also used xon/xoff, eg:

http://www.columbia.edu/acis/history/hp2621.html

I've not been able to find any earlier terminals which explicitly list
XON/XOFF support; the vt52 -- from 1975 (vt52.html at the same site) --  
for instance, doesn't report XON/XOFF support.  Possibly it only became
widely used with terminals capable of 19200 bps or higher (the vt52
would do only up to 9600bps); from my days of writing terminal programs
(in 8-bit assembler) you could keep up with 9600bps with 4MHz or slower 
8-bit hardware, whereas 19200 bps was a real struggle.

Presumably whatever terminal(s) MIT were using at around the time the
Emacs TECO scripts were written (and/or Emacs rewritten in something a
little more low level than another editor's macros) didn't use XON/XOFF.

Generally Emacs's default keybindings seem to be chosen to be mnemonic
rather than actually useable (ctrl-f, ctrl-b, ctrl-p, ctrl-n are
reasonably mnemonic for their use, but it's not all that easy to move
amongst them; ctrl-h for help is nicely mnemonic but not particuarly
useful; ctrl-r/ctrl-s aren't much better).  But then the first vaguely
"standard" editor I used was a wordstar clone, whose keybindings were
chosen for convenient typing (with very little thought to memorability).

>(Emacs user, and not ashamed of it.  'Eight megs and constantly swapping'
>seems pretty light in these days of Mozilla; Emacs is currently using
>7720KB of memory, Mozilla just after starting 23520KB.  

That's modern technology for you.  Programs expand to exhaust the space
available.  I'm not entirely sure it's progress either.

>I'll claim that elisp is nicer than Javascript, too.)

That I'll grant you.

Ewen




More information about the wellylug mailing list