Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!rna!dan From: dan@rna.UUCP (Dan Ts'o) Newsgroups: comp.emacs Subject: Re: gnumacs bindings Message-ID: <655@rna.UUCP> Date: Sun, 20-Sep-87 17:46:43 EDT Article-I.D.: rna.655 Posted: Sun Sep 20 17:46:43 1987 Date-Received: Sun, 20-Sep-87 23:39:30 EDT References: <3590005@hpindda.HP.COM> <8709181153.AA08300@ucbvax.Berkeley.EDU> <636@unmvax.unm.edu> Reply-To: dan@rna.UUCP (Dan Ts'o) Organization: Rockefeller Neurobiology Lines: 33 In article <636@unmvax.unm.edu> mike@turing.unm.edu (Michael I. Bushnell) writes: >>It seems to me that this "cultural river" is relative. Emacs started on a >>system which used DELete to mean just that (and most of the terminals had a >>nice DELete key!). Some(how,when) Unix(tm) picked (first "#" and then) >>BACKspace to mean delete. (I assume some Unix guru's keyboard didn't have >>a decent DELete key?) Now Emacs runs on Unix systems, and Unix users are >>used to BACKspace. (But in: > >ACK! NO! NOT TRUE!!!!!!!! Not true, indeed. Remember that UNIX started as a very simple OS, with a very simple TTY driver, back in the days of TTY's, like the TTY33. Teletype was/is a part of the Bell System (Western Electric ?). The tty driver simply echoed incoming characters, with very few exceptions, like mapping CR to LF and outputting CRLF. So echoing DEL won't have been very useful: no feedback as to whether or how many characters to delete. Thus # was not unreasonable. The same goes for the line kill character: @. The DEL was (and is still used in SysV) as the interrupt (like ^C), where echoing was irrelevant. Now, BS would also have been (and is) reasonable on CRT's, but UNIX started on printing tty's, where the result is a mess. A more complicated tty driver would have handled DEL like DEC did in OS's like TOPS10 and RT11, by echoing the deleted character, in some cases surrounded by \/: misteak\eak/ake But remember the UNIX kernel used to fit in under 16kbyte (8kwords). Many early university UNIX systems hacked the UNIX tty driver to "bits", adding all sorts of stuff like TENEX mode, and better DEL handling for CRT's. So the original reason why BS got popular as the erase char in UNIX, especially with standard non-BSD UNIX, is that the CRT terminal would handle the cleaning up of the displayed line "automatically", without any help or special code in the tty driver.