Emacs
Emacs on tekstieditorien perhe, jonka keskeinen piirre on ohjelmoitava laajennettavuus.[1] Ensimmäisen Emacsin kehitystyö alkoi 1970-luvun puolessavälissä ja on yhä aktiivisesti kehitetty. Emacs on yhdessä Vim:n kanssa kaksi suosittua klassista tekstieditoria, joita monet ohjelmoijat edelleen käyttävät.
Emacs | |
---|---|
Tiedot | |
Ohjelmistotyyppi | tekstieditori |
Alusta | alustariippumaton |
Historia
Emacs periytyy TECO-editorin makrokokoelmista TECMAC ja TMACS, joista yhdistettiin EMACS (Editor MACroS) vuonna 1976.[2][3] Ensimmäinen Emacs julkaistiin Incompatible Timesharing System (ITS) ja TOPS-20 (TWENEX) -käyttöjärjestelmille, jolloin se oli toteuttu PDP-10 assemblyllä.[2] Samana vuonna ilmestyi Dan Weinrebin Lisp-kielellä tehty EINE (EINE Is Not EMACS).[2]
TECO:sta tehtiin versio Multics-käyttöjärjestelmälle vuonna 1971.[3] Vuoteen 1976 mennessä TECO:lle oli useita makropaketteja kuten TMACS ja TECMAC.[3] Richard Stallman yhdisti makropaketit vuonna 1976, josta syntyi nimi EMACS.[3][4]
1970- ja 1980-luvuilla julkaistiin Multics Emacs (1978) ja Gosling Emacs (1981). Multics Emacs oli kirjoitettu MacLispillä ja se myös käytti Lispiä laajennuskielenään. James Goslingin Gosling Emacs on kirjoitettu C:llä ja käyttää "Mocklisp"-kieltä laajennuskielenään.[2]
Vuonna 1984 aloitettu GNU Emacs oli GNU-projektin ensimmäinen merkittävä ohjelma.[5] GNU Emacsista eriytyi vuonna 1991 XEmacs (aluksi nimellä Lucid Emacs).[2][6][7]
MicroEmacs (myös kirjoitettu uEmacs, tai MicroEMACS) on eräs muunnos, jonka kehitti Dave Conroy vuonna 1985 tai 1986 henkilökohtaiseen käyttöön.[8] MicroEmacsin siirsivät Amigalle Steve Wilhite ja George Jones, jotka julkaisivat korjauksia public domainiin.[9] Editori toimitettiin AmigaOS:n mukana nimellä MEmacs.[10] Kehitystä jatkoi Daniel M. Lawrence (1958 - 2010), joka julkaisi oman versionsa ilmaisohjelmana kieltäen kaupallisen käytön.[9] Linus Torvalds ylläpitää omaa MicroEmacsista muokattua versiota, joka perustuu Petri H. Kutvosen uEmacs/PK -versioon (joka pohjautuu Lawrencen versioon).[11][12] Eräs versio, jonka GNU hyväksyy vapaaksi ohjelmaksi, on Jasspa's MicroEmacs. Se perustuu Lawrencen Microemacsin versioon 3.8 vuodelta 1988. Ylläpitäjät Jon Green ja Steven Phillips saivat vuonna 2002 Lawrencelta luvan julkaista oma versionsa GPL:n alaisuudessa.[13] MicroEmacs on toteutettu C-kielellä ja ei ole yhteensopiva muiden Emacsien kanssa nimestä huolimatta: MicroEmacsissa on samankaltaisuuksia Gosling EMACSiin, mutta muun muassa komennot ja avainsanat eroavat.[9][11]
JOVE (Jonathan's Own Version of Emacs) on Jonathan Paynen versio Emacsista ilman Lispiä.[14]
Emacs-editorit
Muunnelmia
Emacsista on useita muunnelmia:
- mg (ennen MicroGnuEmacs), perustuu Dave Conroyn PD-versioon[15]
- JOVE (Jonathan's Own Version of Emacs)[14]
- MINCE (MINCE Is Not Complete Emacs)
- Perfect Writer
- Freemacs
- Zile (Zile is Lossy Emacs)[16]
- Zmacs
- Climacs
- Epsilon
- PceEmacs
- Amacs
- Hemlock
- umacs
Lisäksi GNU Emacsiin perustuvia muunnelmia:
- Aquamacs
- Meadow
- SXEmacs
Tunnettuja Emacsin käyttäjiä
Lähteet
- A Tutorial Introduction to Emacs www2.lib.uchicago.edu. Viitattu 31.12.2017.
- Jamie Zawinski: Emacs Timeline. jwz.org. 29.10.2007. Viitattu 9.9.2019. (englanniksi)
- Bernard S. Greenberg: Multics Emacs: The History, Design and Implementation multicians.org. 1979, 1996. Viitattu 9.9.2019. (englanniksi)
- Peter H. Salus: Chapter 4. A Tale of Two Editors (Osa verkossa julkaistua kirjaa The Daemon, the Gnu and the Penguin) 22.4.2005. Groklaw. Arkistoitu . Viitattu 11.9.2019. (englanniksi)
- Steven J. Vaughan-Nichols: The 10 oldest, significant open-source programs 13.1.2013. ZDnet. Viitattu 9.9.2019. (englanniksi)
- Jamie Zawinski: The Lemacs/FSFmacs Schism. jwz.org. 2000. Viitattu 9.9.2019. (englanniksi)
- XEmacs vs. GNU Emacs xemacs.org. Viitattu 9.9.2019. (englanniksi)
- Jasspa's MicroEmacs jasspa.com. Viitattu 9.9.2019. (englanniksi)
- MicroEMACS EDM/2. Viitattu 9.9.2019. (englanniksi)
- AmigaOS Manual, AmigaDOS Using the Editors, MEmacs
- https://git.kernel.org/pub/scm/editors/uemacs/uemacs.git
- https://git.kernel.org/pub/scm/editors/uemacs/uemacs.git/tree/README
- http://www.jasspa.com/history.html
- Seth Kenlon: By Jove! It's a lightweight alternative to Vim opensource.com. 4.1.2017. Viitattu 9.9.2019. (englanniksi)
- http://bxr.su/OpenBSD/usr.bin/mg/README
- https://savannah.gnu.org/projects/zile
- http://www.literateprogramming.com/clb93.pdf (Arkistoitu – Internet Archive), s. 3
- http://www.amazon.com/gp/product/1565921526/102-6210427-3807369?v=glance&n=283155
- https://www.gnu.org/gnu/rms-lisp.html
Aiheesta muualla
- Emacs-opas Linux.fi-wikissä
- Multics Emacs: The History, Design and Implementation (englanniksi)