3 ms·
Stallman's and Gosling's Emacs as if they were the same thing They were, Gnu Emacs is a fork of what was then an old version of Gosling's Emacs. This was some
by hga 10y ago
Stallman's and Gosling's Emacs as if they were the same thing
They were, Gnu Emacs is a fork of what was then an old version of Gosling's Emacs. This was something contemporaneously admitted to by RMS, claiming he had an email authorizing it, but he, to my memory, never even produced a copy of it.
To someone intimately familiar with Gosling Emacs, as I was at the time, working for UniPress, this was totally obvious. Amusingly, this was perhaps the one time I could have been an expert witness of sorts, but the two owners of UniPress were menches and knew legal action was a bad idea (they'd had their own horror story forming the company after the broke from [redacted because I'm not 100% sure of my memory, but a name you'd recognize from that era]'s company, which they won when the latter's lawyer was caught burglarizing their office) and felt sales of their supported, on the then zillions of available Unix platforms (their unique selling proposition) Emacs would only be helped by RMS's version, at least for a good long while.
Eventually, RMS and others wrote the current Emacs.
See above, not at all. Substantially rewritten, but in the legal sense it's a derivative work. And exhibit number 1 in the list of horrific examples of RMS's stewardship of GNU/the FSF/etc., he took a chance that if it had gone badly would have resulted in GNU being stillborn or nearly so, much like happened to BSD.
The rest of your history is right (I have eyewitness testimony on the genesis from one of the beta testers, Ed Schwalenberg), except for Gosling Emacs being "a poor man's substitute", it was industrial strength, including not being an ersatz Emacs.
That is, it had a "Mocklisp" byte code compiled extension language (where else have we heard of this sort of thing from James Gosling? :-) in which a fair amount of functionality was embedded, it just wasn't a real LISP (but of course neither was TECO), and it diverged a fair amount in default keybindings etc.
There were also some other EMACS versions written in this in-between period, including SINE for the predecessor of the Media Lab's Multics like Magic OS, EINE and I think ZWEI, the latter two the ones for the Lisp Machine.
- cpr 10y agoI'm well aware of UniPress (didn't they start out selling Brian Reid's Scribe commercially?) and Michael Shamus' rather jailhouse-lawyer-ish behavior. But hearing that GNU Emacs started from Gosmacs is just hard to believe. If you were there and say so, I'll have to believe. ;-) It was certainly nowhere near as extensible as GNU Emacs, at least in my years of experience with it.
- hga 10y agoI was so there that RMS and I were roommates when he started the GNU Project ^_^ (much early history omitted, we were in the same social circle...). This of course came a bit later, I started working for a UniPress subcontractor in December of 1984 on the MS-DOS port, and then a year later directly for UniPress. But I absolutely, positively guarantee you they shared a common code base, something I confirmed for myself towards the end of or after more than a year of becoming intimately familiar with the UniPress Gosling Emacs C lower level code base. And it doesn't take much effort with Google to find confirmation from RMS, e.g. here's a 2013 Slashdot AMA (https://features.slashdot.org/story/13/01/06/163248/richard-stallman-answers-your-questions https://features.slashdot.org/story/13/01/06/163248/richard-...): Favorite hack by vlm Give me your best hack.... RMS: I can't remember all the hacks that I was proud of, so I can't pick the best. But here's something I remember fondly. The last piece of Gosmacs code that I replaced was the serial terminal scrolling optimizer, a few pages of Gosling's code which was proceeded by a comment with a skull and crossbones, meaning that it was so hard to understand that it was poison. I had to replace it, but worried that the job would be hard. I found a simpler algorithm and got it to work in a few hours, producing code that was shorter, faster, clearer, and more extensible. Then I made it use the terminal commands to insert or delete multiple lines as a single operation, which made screen updating far more efficient. Note that he might be overstating the significance of this, Gosling started his Emacs in 1981 per Wikipedia at a time CMU's researchers were somehow happy with running their fixed line terminals at the 1,200 baud default (they were capable of more, this story told to me by Ted Anderson, who coincidentally was the author of SINE, which Craig Finseth's list http://org.ntnu.no/emacs/implementations.html http://org.ntnu.no/emacs/implementations.html says was actually SINE Is Not EINE and therefore "the first known doubly-recursive acronym"). In general if you were using a standard terminal of the era, especially with a modem, you were desperate for cleverness from your redisplay code, it was e.g. a couple of years before the Ann Arbor Ambassador came out, and maybe longer before its firmware was up to snuff, VT-100 like, and could run at a flat out 9600 baud with 60 lines of text thanks to a fast microprocessor. And that might be why the Gosling Emacs redisplay code didn't do those multi-line operations, maybe they weren't possible on earlier terminals, or didn't buy you enough. Michael Shamus? That wasn't the famous figure UniPress broke away from. By the time I showed up in late 1984/early 1985, their two big things were handling the distribution and support of a Unix for Apple computers (Lisa? Mcintosh? Can't remember), and having or having access to one of most every type of popular Unix system available, so they could port the other software they were distributing including Gosling Emacs, provide binaries, fix bugs and provide real support, etc.