Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Gosling Emacs
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Emacs implementation by James Gosling}} {{Use dmy dates|date=June 2020}} {{Infobox software | name = Gosling Emacs / Unipress Emacs | logo = | screenshot = | caption = | author = [[James Gosling]] | developer = [[Numara Software|UniPress]] | released = {{Start date and age|1981}} | latest release version = | latest release date = | operating system = [[Unix]], [[OpenVMS|VMS]] | programming language = [[C (programming language)|C]] | genre = [[Text editor]] | license = }} '''Gosling Emacs''' (often shortened to "Gosmacs" or "gmacs") is a discontinued [[Emacs]] implementation written in 1981 by [[James Gosling]] in [[C (programming language)|C]].<ref>{{citation | url=https://www.gnu.org/gnu/rms-lisp.html | title=My Lisp Experiences and the Development of GNU Emacs | first=Richard | last=Stallman | author-link = Richard M. Stallman | date=28 October 2002}}</ref> Gosling initially allowed Gosling Emacs to be redistributed with no formal restrictions, as required by the "Emacs commune" since the 1970s,<ref>{{cite book|chapter=6. The Emacs Commune|chapter-url=https://www.oreilly.com/openbook/freedom/ch06.html|title=Free as in freedom|isbn=0-596-00287-4|author=Sam Williams|year=2002|publisher="O'Reilly Media, Inc." |url=https://archive.org/details/freeasinfreedomr00will}}</ref> only asking for a letter acknowledging his authorship.<ref>{{cite web |url=https://www.youtube.com/watch?v=TJ6XHroNewc |title=Oral History of James Gosling, part 1 of 2 |author=Hansen Hsu and Marc Weber |date=10 October 2019 |website=youtube |publisher=Computer History Museum |access-date=5 June 2023}}</ref> Later, wishing to move on and after a failed search for people who would maintain it under the same rights, he finally sold his version of Emacs to UniPress because they agreed to sell it under reasonable terms. The dispute between [[Richard Stallman]] and UniPress inspired the creation of the first formal license for Emacs, which later [[GNU General Public License#History|became the GPL]], as Congress had [[Software copyright#History of software copyrights in the United States|introduced copyright for software]] in 1980.<ref>{{cite book|chapter=9. The GNU General Public License|chapter-url=https://www.oreilly.com/openbook/freedom/ch09.html|title=Free as in freedom|isbn=0-596-00287-4|author=Sam Williams|year=2002|publisher="O'Reilly Media, Inc." |url-access=registration|url=https://archive.org/details/freeasinfreedomr00will}}</ref> ==Features== Gosling Emacs was especially noteworthy because of the effective redisplay code,<ref>{{citation | url=http://portal.acm.org/citation.cfm?id=806463 | publisher=Proceedings of the ACM SIGPLAN Symposium on Text Manipulation | title=A Redisplay Algorithm | first=James | last=Gosling | journal=ACM SIGPLAN Notices | date=June 1981| volume=16 | issue=6 | pages=123–129 | doi=10.1145/872730.806463 | url-access=subscription }}</ref> 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 (poison)|skull-and-crossbones]] in [[ASCII art]],<ref>{{cite web |url=https://donhopkins.com/home/archive/emacs/skull-and-crossbones.txt |title=Ultra-hot screen management package |author=<!--Not stated--> |date=n.d. |website= |publisher= |access-date=February 12, 2022}}</ref> warning any would-be improver that even if they thought they understood how the display code worked, they probably did not<!-- borges -->.<ref name="rms-slashdot">{{citation | url = http://features.slashdot.org/story/13/01/06/163248/richard-stallman-answers-your-questions | title = Richard Stallman Answers Your Questions | first = Richard | last = Stallman | author-link = Richard M. Stallman | editor = samzenpus | publisher = [[Slashdot]] | date = 7 January 2013 | quote = 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.}}</ref> ==Distribution== Since Gosling had permitted its unrestricted redistribution, [[Richard Stallman]] used some Gosling Emacs code in the initial version of [[GNU Emacs]].<ref>{{cite book |title=Making and Unmaking Intellectual Property |author1=Christopher Kelty |author2=Mario Biagioli |author3=Peter Jaszi |author4=Martha Woodmansee |year=2015 |publisher=University of Chicago Press |isbn=9780226172491 |quote=...Stallman was using code from Gosling, based on permission that Gosling had given to Labalme, but Labalme had written code for Gosling that he had commercialized without telling Labalme.}}</ref><ref>{{Citation|title=Oral History of James Gosling, part 1 of 2|url=https://www.youtube.com/watch?v=TJ6XHroNewc |archive-url=https://ghostarchive.org/varchive/youtube/20211211/TJ6XHroNewc| archive-date=2021-12-11 |url-status=live|language=en|access-date=2019-10-14}}{{cbignore}}</ref> 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 extensible."<ref name="rms-slashdot"/> 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|year=2002|publisher="O'Reilly Media, Inc." |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|author=[[Jamie Zawinski]]|date=8 March 1999}}</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}} ==Extension language== Its extension language, Mocklisp, has a syntax that appears similar to [[Lisp (programming language)|Lisp]], but Mocklisp does not have lists, only strings and arrays. The Mocklisp interpreter, built by Gosling and a collaborator, was replaced by a full Lisp interpreter in GNU Emacs.<ref name=faif7/> == References == {{Reflist}} * 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 {{EmacsNavbox}} [[Category:Emacs]] [[Category:Unix text editors]] [[Category:1981 software]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cbignore
(
edit
)
Template:Citation
(
edit
)
Template:Citation needed
(
edit
)
Template:Cite book
(
edit
)
Template:Cite news
(
edit
)
Template:Cite web
(
edit
)
Template:EmacsNavbox
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)
Template:Use dmy dates
(
edit
)