Path: utzoo!attcan!uunet!lll-winken!lll-tis!helios.ee.lbl.gov!pasteur!agate!bionet!apple!rutgers!topaz.rutgers.edu!aramis.rutgers.edu!geneva.rutgers.edu!hedrick From: hedrick@geneva.rutgers.edu (Charles Hedrick) Newsgroups: comp.emacs Subject: Re: History & Origin of EMACS ? Message-ID: Date: 9 Nov 88 04:30:59 GMT References: <225@ncelvax.UUCP> Organization: Rutgers Univ., New Brunswick, N.J. Lines: 61 To: greg@ncelvax.UUCP Emacs was originally developed for ITS, an OS for the PDP-10 used at MIT and a few other places. It was initially a set of macros for ITS Teco. A version was done for TOPS-20, another OS for the PDP-10 which was in wider use. This was probably the most common editor on TOPS-20 within the research community. When people talk about Emacs these days (unless they still have a PDP-10 lying around), they generally refer to some other editor that is similar in one way or another to the original EMACS. There are several properties of EMACS that should be reproduced: - it is user-programmable. Most new Emacs'es supply you with a subset of Lisp that has added primitives for manipulating text buffers and displays. A few performance-criticial commands (inserting and deleting letters) are normally implemented directly in C or whatever, but the rest of Emacs is written in Lisp or whatevaer the extension language is. Source code is available for users, and provisions are made for users to modify functions in their own copy, and to add new facilities. In newer versions of Emacs it is possible to implement vi. - it is reconfigurable. This is reallly a subset of the above, but obviously any character can be bound to any function. - it is modeless. Initially this meant mainly that there was no "insert mode". When you type text it is entered. Commands use control characters or other characters not part of the normal printable alphabet. However newer versions have carried modelessness further. Gnu Emacs has replaced "modes" with properties of individual buffers. - the basic commands are compatible with the original Emacs. Of course since Emacs is completely reconfigurable, this is something the user can do for himself, but the default bindings should be reasonably compatible with one of the standard Emacses. - it should have the kitchen sink. There should be special packages for editing the most common programming languages, mail systems, news systems, etc. If your specification calls for a Unix-based system, you'll probably want to use one of the two "big" Unix Emacses: Unipress or Gnu. Unipress comes from Unipress in Highland Park, NJ. Gnu comes from the Free Software Foundation, and copies can be obtained many places. You'll want to look carefully at the Gnu license to see whether your organization can live with it. (It basically requires you to make source available, though you can charge for distributing it.) Both versions have a large user community and active support. Unipress has a company that you can hold accountable for support, but there are also people you can buy support from for Gnu. You'll probably want to evaluate both unless you have contractual reasons to prefer dealing with Unipress. Gnu Emacs was written by Richard Stallman, who also prepared the original ITS Emacs. So some claim it is "the official Unix Emacs." On the other hand, Unipress goes back to Gosling's port, which was around for some time before Gnu, so there would be a reasonable battle over the title. There are also several micro oriented Emacses. These generally have simple commands compatible with the "big" Emacses, and commands can be rebound to different keys. However normally their user programming facialities are limited, and they do not have all the fancy packages. However I suspect the people who wrote the RFP had in mind one of the two major versions, or something similar (there are similar ones within ATT and elsewhere, but I don't think they are as widespread).