Gosling Emacs: Difference between revisions
→Extension language: that's what the refererenced page actually says |
No edit summary |
||
Line 50: | Line 50: | ||
In 1983 UniPress began selling Gosling Emacs on [[Unix]] for $395 and on [[OpenVMS|VMS]] for $2,500, marketing it as "EMACS–multi-window text editor (Gosling version)".<ref name="byte198312">{{cite news | url=https://archive.org/stream/byte-magazine-1983-12/1983_12_BYTE_08-12_Easy_Software#page/n335/mode/2up/search/unipress+emacs | title=Unix Spoken Here / and MS-DOS, and VMS too! | work=BYTE | date=Dec 1983 | access-date=8 March 2016 | pages=334 | type=advertisement}}</ref> |
In 1983 UniPress began selling Gosling Emacs on [[Unix]] for $395 and on [[OpenVMS|VMS]] for $2,500, marketing it as "EMACS–multi-window text editor (Gosling version)".<ref name="byte198312">{{cite news | url=https://archive.org/stream/byte-magazine-1983-12/1983_12_BYTE_08-12_Easy_Software#page/n335/mode/2up/search/unipress+emacs | title=Unix Spoken Here / and MS-DOS, and VMS too! | work=BYTE | date=Dec 1983 | access-date=8 March 2016 | pages=334 | type=advertisement}}</ref> |
||
Controversially, Unipress asked Stallman to stop distributing his version of Emacs for Unix.<ref name=faif7>{{cite book|chapter=7. A Stark Moral Choice|chapter-url=https://www.oreilly.com/openbook/freedom/ch07.html|title=Free as in freedom|isbn=0-596-00287-4|author=Sam Williams|quote=According to the developer, Gosling, while a PhD student at Carnegie Mellon, had assured early collaborators that their work would remain accessible. When UniPress caught wind of Stallman's project, however, the company threatened to enforce the copyright.|url-access=registration|url=https://archive.org/details/freeasinfreedomr00will}}</ref> |
Controversially, Unipress asked Stallman to stop distributing his version of Emacs for Unix.<ref name=faif7>{{cite book|chapter=7. A Stark Moral Choice|chapter-url=https://www.oreilly.com/openbook/freedom/ch07.html|title=Free as in freedom|isbn=0-596-00287-4|author=Sam Williams|quote=According to the developer, Gosling, while a PhD student at Carnegie Mellon, had assured early collaborators that their work would remain accessible. When UniPress caught wind of Stallman's project, however, the company threatened to enforce the copyright...In the course of reverse-engineering Gosling's interpreter, Stallman would create a fully functional Lisp interpreter, rendering the need for Gosling's original interpreter moot. |url-access=registration|url=https://archive.org/details/freeasinfreedomr00will}}</ref> |
||
UniPress never took legal action against Stallman or his nascent [[Free Software Foundation]],{{Citation needed|date=May 2011}} believing "hobbyists and academics could never produce an Emacs that could compete" with their product.{{Citation needed|date=May 2011}} All Gosling Emacs code was removed from GNU Emacs by version 16.56 (July 1985),<ref>{{cite web|url=https://www.jwz.org/doc/emacs-timeline.html|title=Emacs timeline}}</ref> with the possible exception of a few particularly involved sections of the display code.{{Citation needed|date=May 2011}} The latest versions of GNU Emacs (since August 2004) do not feature the skull-and-crossbones warning.{{Citation needed|date=May 2011}} |
UniPress never took legal action against Stallman or his nascent [[Free Software Foundation]],{{Citation needed|date=May 2011}} believing "hobbyists and academics could never produce an Emacs that could compete" with their product.{{Citation needed|date=May 2011}} All Gosling Emacs code was removed from GNU Emacs by version 16.56 (July 1985),<ref>{{cite web|url=https://www.jwz.org/doc/emacs-timeline.html|title=Emacs timeline}}</ref> with the possible exception of a few particularly involved sections of the display code.{{Citation needed|date=May 2011}} The latest versions of GNU Emacs (since August 2004) do not feature the skull-and-crossbones warning.{{Citation needed|date=May 2011}} |
||
Revision as of 17:54, 28 August 2021
Original author(s) | James Gosling |
---|---|
Developer(s) | UniPress |
Initial release | 1981 |
Written in | C |
Operating system | Unix, VMS |
Type | Text editor |
Gosling Emacs (often shortened to "Gosmacs" or "gmacs") is a discontinued Emacs implementation written in 1981 by James Gosling in C.[1]
Gosling initially allowed Gosling Emacs to be redistributed with no formal restrictions, as required by the "Emacs commune" since the 1970s,[2] but later sold it to UniPress. The disputes with UniPress inspired the creation of the first formal license for Emacs, which later became the GPL, as Congress had introduced copyright for software in 1980.[3]
Features
Gosling Emacs was especially noteworthy because of the effective redisplay code,[4] which used a dynamic programming technique to solve the classical string-to-string correction problem. The algorithm was quite sophisticated; that section of the source was headed by a skull-and-crossbones in ASCII art,[5] warning any would-be improver that even if they thought they understood how the display code worked, they probably did not.[6]
Distribution
Since Gosling had permitted its unrestricted redistribution, Richard Stallman used some Gosling Emacs code in the initial version of GNU Emacs.[7] Among other things, he rewrote part of the Gosling code headed by the skull-and-crossbones comment and made it "...shorter, faster, clearer and more flexible."[6]
In 1983 UniPress began selling Gosling Emacs on Unix for $395 and on VMS for $2,500, marketing it as "EMACS–multi-window text editor (Gosling version)".[8]
Controversially, Unipress asked Stallman to stop distributing his version of Emacs for Unix.[9] UniPress never took legal action against Stallman or his nascent Free Software Foundation,[citation needed] believing "hobbyists and academics could never produce an Emacs that could compete" with their product.[citation needed] All Gosling Emacs code was removed from GNU Emacs by version 16.56 (July 1985),[10] with the possible exception of a few particularly involved sections of the display code.[citation needed] The latest versions of GNU Emacs (since August 2004) do not feature the skull-and-crossbones warning.[citation needed]
Extension language
Its extension language, Mocklisp, has a syntax that appears similar to Lisp, but Mocklisp does not have lists or any other structured datatypes. The Mocklisp interpreter, built by Gosling and a collaborator, was replaced by a full Lisp interpreter in GNU Emacs.[9]
References
- ^ Stallman, Richard (28 October 2002), My Lisp Experiences and the Development of GNU Emacs
- ^ Sam Williams. "6. The Emacs Commune". Free as in freedom. ISBN 0-596-00287-4.
- ^ Sam Williams. "9. The GNU General Public License". Free as in freedom. ISBN 0-596-00287-4.
- ^ Gosling, James (June 1981), A Redisplay Algorithm, Proceedings of the ACM SIGPLAN Symposium on Text Manipulation
- ^ http://donhopkins.com/home/archive/emacs/skull-and-crossbones.txt
- ^ a b Stallman, Richard (7 January 2013), "samzenpus" (ed.), Richard Stallman Answers Your Questions, Slashdot,
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.
- ^ Oral History of James Gosling, part 1 of 2, retrieved 14 October 2019
- ^ "Unix Spoken Here / and MS-DOS, and VMS too!". BYTE (advertisement). December 1983. p. 334. Retrieved 8 March 2016.
- ^ a b Sam Williams. "7. A Stark Moral Choice". Free as in freedom. ISBN 0-596-00287-4.
According to the developer, Gosling, while a PhD student at Carnegie Mellon, had assured early collaborators that their work would remain accessible. When UniPress caught wind of Stallman's project, however, the company threatened to enforce the copyright...In the course of reverse-engineering Gosling's interpreter, Stallman would create a fully functional Lisp interpreter, rendering the need for Gosling's original interpreter moot.
- ^ "Emacs timeline".
- Christopher Kelty, "EMACS, grep, and UNIX: authorship, invention and translation in software", https://web.archive.org/web/20110728022656/http://www.burlingtontelecom.net/~ashawley/gnu/emacs/ConText-Kelty.pdf