GNU Emacs: Forskjell mellom sideversjoner

Fra Wikipedia, den frie encyklopedi
Slettet innhold Innhold lagt til
Ranværing (diskusjon | bidrag)
Ranværing (diskusjon | bidrag)
Linje 120: Linje 120:


===Filhåndtering og visning===
===Filhåndtering og visning===
GNU Emacs holder tekst i [[datastruktur]]er kjent som [[databuffer]]e.
{{seksjonsstubb}}

Emacs keeps text in [[data structure]]s known as [[Data buffer|buffers]]. Buffers may or may not be displayed onscreen, and all buffer features are accessible to both an [[Emacs Lisp]] program and to the user interface.<ref>{{cite book|url=https://books.google.com/books?id=h34pwy005nYC&pg=PA264&lpg=PA264|title=Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design|isbn=9780596554392|last1=Spinellis|first1=Diomidis|last2=Gousios|first2=Georgios|date=2009-01-15}}</ref> The user can create new buffers and dismiss unwanted ones, and many buffers can exist at the same time. There is no upper limit on the number of buffers Emacs allows, other than hardware memory limits. Advanced users may amass hundreds of open buffers of various types relating to their current work.<ref>{{cite book|url=https://books.google.com/books?id=t0NECwAAQBAJ&pg=PA853&lpg=PA853|title=Statistical Analysis and Data Display: An Intermediate Course with Examples in R|isbn=9781493921225|last1=Heiberger|first1=Richard M.|last2=Holland|first2=Burt|date=2015-12-23}}</ref> Emacs can be configured to save the list of open buffers on exit, and reopen this list when it is restarted.<ref>{{cite web|url=https://www.gnu.org/software/emacs/manual/html_node/emacs/Saving-Emacs-Sessions.html|title=Saving Emacs Sessions}}</ref>

Some buffers contain text loaded from [[text file]]s, which the user can edit and save back to permanent storage. These buffers are said to be "visiting" files. Buffers also serve to display other data, such as the output of Emacs commands, [[dired]] directory listings, documentation strings displayed by the "help" library and notification messages that in other editors would be displayed in a [[dialog box]]. Some of these notifications are displayed briefly in the minibuffer, and GNU Emacs provides a {{mono|*Messages*}} buffer that keeps a history of the most recent notifications of this type. When the minibuffer is used for output from Emacs, it is called the "echo area".<ref>{{cite web|url=https://www.gnu.org/software/emacs/manual/html_node/emacs/Echo-Area.html|title=Echo Area}}</ref> Longer notifications are displayed in buffers of their own. The maximum length of messages that will be displayed in the minibuffer is, of course, configurable.

Buffers can also serve as input and output areas for an external process such as a [[shell (computing)|shell]] or [[REPL]]. Buffers which Emacs creates on its own are typically named with [[asterisk]]s on each end, to distinguish from user buffers. The list of open buffers is itself displayed in this type of buffer.

Most Emacs key sequences remain functional in any buffer. For example, the standard Ctrl-s <code>isearch</code> function can be used to search filenames in dired buffers, and the file list can be saved to a text file just as any other buffer. dired buffers can be switched to a writable mode, in which filenames and attributes can be edited textually; when the buffer is saved, the changes are written to the filesystem. This allows multiple files to be renamed using the search and replace features of Emacs. When so equipped, Emacs displays [[image files]] in buffers. Emacs is binary safe and 8-bit clean.<ref>{{cite web|url=https://www2.lib.uchicago.edu/keith/tcl-course/emacs-tutorial.html|title=A Tutorial Introduction to GNU Emacs}}</ref>

Emacs can split the editing area into separate non-overlapping sections called "windows," a feature that has been available since 1975, predating the graphical user interface in common use. In Emacs terminology, "windows" are similar to what other systems call "[[Framing (World Wide Web)|frames]]" or "[[Paned window (computing)|panes]]"{{snd}} a rectangular portion of the program's display that can be updated and interacted with independently. Each Emacs window has a [[status bar]] called the "mode line" displayed by default at the bottom edge of the window. Emacs windows are available both in text-terminal and graphical modes and allow more than one buffer, or several parts of a buffer, to be displayed at once. Common applications are to display a [[dired]] buffer along with the contents of files in the current directory (there are special modes to make the file buffer follow the file highlighted in dired), to display the [[source code]] of a program in one window while another displays a [[shell (computing)|shell]] buffer with the results of compiling the program, to run a debugger along with a shell buffer running the program, to work on code while displaying a [[man page]] or other documentation (possibly loaded over the [[World Wide Web]] using one of Emacs' built-in web browsers) or simply to display multiple files for editing at once such as a header along with its implementation file for C-based languages. In addition, there is {{mono|follow-mode}}, a minor mode that chains windows to display non-overlapping portions of a buffer. Using {{mono|follow-mode}}, a single file can be displayed in multiple side-by-side windows that update appropriately when scrolled. In addition, Emacs supports "narrowing" a buffer to display only a portion of a file, with top/bottom of buffer navigation functionality and buffer size calculations reflecting only the selected range.

Emacs windows are [[tiling window manager|tiled]] and cannot appear "above" or "below" their companions. Emacs can launch multiple "frames", which are displayed as individual [[window (computing)|windows]] in a graphical environment. On a text terminal, multiple frames are displayed stacked filling the entire terminal, and can be switched using the standard Emacs commands.<ref>{{cite web|url=https://www.gnu.org/software/emacs/manual/html_node/emacs/Frames.html|quote=However, it is still possible to create multiple “frames” on text terminals; such frames are displayed one at a time, filling the entire terminal screen|title=Frames - GNU Emacs Manual}}</ref>

===Store moduser===
===Store moduser===
{{seksjonsstubb}}
{{seksjonsstubb}}

Sideversjonen fra 12. okt. 2020 kl. 17:34

GNU Emacs
Skaper(e)Richard M. Stallman
Utvikler(e)GNU-prosjektet
Utgitt 1984
Nyeste versjon29.3 (24. mars 2024)[1]
Kodelagerhttps://git.savannah.gnu.org/cgit/emacs.git
PlattformMultiplattform
OperativsystemUnix-liknende (GNU/Linux, GNU Mach/GNU Hurd, macOS, derivater av BSD, Solaris), Microsoft Windows, MS-DOS
Skrevet iEmacs Lisp, C
SkrivebordsmiljøX Athena Widgets, GTK
LisensGPL-3.0+[2]
Nettstedwww.gnu.org/software/emacs/
Last nedhttps://www.gnu.org/software/emacs/
ForgjengerEmacs
EtterfølgerXEmacs, Remacs, Aquamacs, SXEmacs, Meadow

GNU Emacs (også kalt GNUMACS[3]) er en fri og åpen teksteditor som utvikles av GNU-prosjektet. Det er den mest populære utgaven[4] av teksteditoren Emacs (Editor MACroS), og er også den utgaven som er blitt portert til flest plattformer.

GNU Emacs er plattformuavhengig, og finnes i utgaver for MS-DOS, Microsoft Windows og Unix-liknende operativsystemer som GNU/Linux, GNU Mach/GNU Hurd, macOS, derivater av BSD og Solaris.[5]

Teksteditoren kan utvides ved å benytte det turingkomplette programmeringsspråket Emacs Lisp, og dens slogan er «den utvidbare og selvforklarende teksteditor». GNU Emacs har blitt kalt «den mest kraftige teksteditor som er tilgjengelig i dag»,[6] og kan vise filer med forskjellige tegnsett. Siden 1999 eller før har teksteditoren også vært istand til å vise de fleste naturlige språk.[7]

GNU Emacs ble skapt av GNU-prosjektets grunnlegger Richard Stallman (f. 1953). Editoren har vært en sentral komponent i GNU-prosjektet, og et flaggskip for bevegelsen som promoterer fri og åpen programvare.[8][9] Arbeidet med teksteditoren begynte i januar 1984. Den første versjonen fikk versjonsnummeret 13.8, og ble lansert 20. mars 1985. Siste versjon er 27.1 og ble lansert den 10. august 2020.

Historie

Fra TECO og E til Emacs

Utdypende artikler: TECO og Emacs

Arbeidet med Emacs (Editor MACroS) startet i 1974, og den første versjonen av Emacs så dagens lys høsten 1976.[10] Arkitekten bak Emacs var Guy Lewis Steele Jr. (f. 1954), og blant hans medarbeidere var Richard Matthew Stallman og David A. Moon. Emacs ble laget for operativsystemet Incompatible Timesharing System (ITS) mens de jobbet ved MIT Artificial Intelligence Laboratory (MIT AI Lab). Maskinvaren var 36-biter minidatamaskinen PDP-10, og Emacs var en direkte etterfølger til teksteditoren TECO.[11][10]

Richard M. Stallman (f. 1953) er grunnleggeren av GNU-prosjektet og opphavsmannen til GNU Emacs.
Grensesnittet til Emacs var påvirket av designet til space-cadet tastaturet fra Symbolics.

Ansatte ved Massachusetts Institute of Technology (MIT) benyttet på denne tiden space-cadet tastaturet på deres Lisp-maskiner.[12][13][14] Tastaturet inspirerte mye av sjargongen innen datidens informatikk, og grensesnittet til Emacs var påvirket av dette tastaturet.[15]

Emacs hadde altså sin opprinnelse i et forskermiljø som forsket på kunstig intelligens. Emacs startet som et sett med makroer til TECO, og ble i begynnelsen ikke betraktet som en ny teksteditor. Disse makroene var inspirert av teksteditoren E, som var blitt laget av Fred Wright ved Stanford Artificial Intelligence Lab ved Stanford University. Stallman var imponert av E-editorens intuitive WYSIWYG-prinsipp (What You See Is What You Get), som senere har blitt standard i de fleste moderne teksteditorer og tekstbehandlere.[10]

Stallman besøkte Stanford AI Lab i 1972 eller 1974, og returnerte til MIT AI Lab, hvor Carl Mikkelsen hadde tilføyd en kombinert visnings- og redigeringsmodus til TECO. Ved hjelp av tastetrykkene Control-R ble skjermen oppdatert hver gang brukeren trykket på en tast. Stallman implementerte denne modusen på nytt, slik at den kjørte mer effektivt. Han tilføyde også en makro slik at brukeren kunne omdefinere et hvilket som helst tastetrykk for å kjøre i TECO.[10]

TECO inneholdt inneholdt fasiliteter for tekstmanipulering, I/O og programmering, så nesten umiddelbart begynte mange brukere å implementere store samlinger av redigeringskommandoer, kraftfulle nok til å utføre enhver form for redigering. De mest kjente makroer var TECMAC, TMACS, MACROS, RMODE, Russ-mode og DOC.[10]

Men TECO manglet fortsatt mange viktige kontroll- og programmeringskonstruksjoner – deriblant navngitte funksjoner og variabler, som gjorde programmer mer lesbare og vedlikeholdbare. Derfor var TECO svært vanskelig å vedlikeholde. Dette var igjen en årsak til at Emacs ble implementert.[10]

Under utviklingen av Emacs ble det tilføyd nye egenskaper til TECO i form av biblioteker og selv-dokumentasjon, en ny lesbar programmeringsstil og nye makroer som benyttet denne stilen. De nye makroene var inspirert av mange TECO-baserte editorer, og makroene ble også skapt slik at de mest anvendte operasjoner krevde færrest tastetrykk.[10]

Etter lanseringen av Emacs som en egen editor, ble TECO videreutviklet på basis av det arbeid Stallman og hans medarbeidere hadde gjort. Nye egenskaper ble tilføyd TECO, for å øke hastigheten på løkker i tabellsøking og S-uttrykk parsing eller for å muliggjøre nye former for I/O eller grensesnittoperasjoner.[10] TECO ble senere også portert til MS-DOS, Windows 95, Windows 98, Windows NT 3.1/3.5/3.51/4.0, Windows 2000, Windows XP, OS/2, GNU/Linux og OpenBSD.[16]

I 1977 hadde interessen for Emacs vokst så mye at Mike McMahon ved SRI International adopterte editoren til DECs operativsystem TOPS-20 (etterfølgeren til TENEX). I 1981 var Emacs i bruk på omkring hundre steder.[10]

Fra Gosling Emacs til GNU Emacs

Redigering av flere Dired-buffere i GNU Emacs
Redigering av kildekode i programmeringsspråket C in GNU Emacs
Redigering og kompilering av C++-kode fra GNU Emacs

I januar 1984 begynte Stallman arbeidet med lage et fritt alternativ til den proprietære teksteditoren Gosling Emacs. Sistnevnte ble laget i 1981 av James Gosling (f. 1955) i programmeringsspråket C.[17] I begynnelsen ble Gosling Emacs distribuert uten noen formelle restriksjoner.[18] I 1980 vedtok imidlertid kongressen i USA å innføre patentrettigheter på programvare,[19] og da Gosling Emacs den 6. mai 1983 ble solgt til UniPress opphørte den frie distribusjonen av programvaren.[20]

Dette var igjen foranledningen til den første formelle lisensen for Emacs, som 25. februar 1989 ble til GNU General Public License (GPL). Versjon 13.8 var den første offisielle utgaven av GNU Emacs, og det første programmet som ble utgitt av det nydannede GNU-prosjektet. Den ble lansert den 20. mars 1985. Versjon 15.34 ble utgitt 7. mai 1985, og var den første versjonen med større utbredelse.[21]

De første versjonene av GNU Emacs benyttet kommandotolken Mocklisp fra Gosling Emacs. Den 15. juli 1985 ble versjon 16.56 av GNU Emacs lansert. Der var Mocklisp erstattet av en ekte LISP-kommandotolk, og dette gjorde at nesten hele koden ble omskrevet.[21]

GNU Emacs er skrevet i programmeringsspråket C og tilbyr Emacs Lisp (som også er implementert i C) som et utvidende programmeringsspråk.

Utviklingen videre

Da versjon 16.60 ble lansert den 19. september 1985, ble GNU Emacs portert til Unix System V.[21] Versjonen tilbød flere egenskaper enn Gosling Emacs, spesielt med Lisp som sitt utvidelsesspråk, og ganske snart erstattet den Gosling Emacs som en de facto Emacs-editor på Unix. I versjon 17.36 som ble lansert 20. desember 1985, hadde brukermanualene støtte for TeX.[21]

Versjon 18.24 ble lansert 2. oktober 1986, og var en betaversjon og ikke offisiell versjon. Den var likevel viktig, fordi den innførte mange nyheter. Kommandoen emacs -nw innførte støtte for konsollapplikasjoner i xterm. GNU Emacs ble i stand til å åpne TCP/IP, og innførte en servermodus. Kommandoen M-x disassemble ble også innført.[21]

Den beryktede hackeren Markus Hess, som spionerte for KGB, utnyttet en sikkerhetsfeil i E-post-subsystemet til GNU Emacs i 1986. Dette ga han urettmessig tilgang som superbruker i Unix-datamaskiner som var tilknyttet USAs forsvar via ARPANET og MILNET.[22]

Richard Stallman har ved flere anledninger markert seg som en motstander av overvåkning, utført av regjeringer og kommersielle korporasjoner.[23][24][25] I henholdsvis 2013 og 2014 ga han uttrykk for støtte til whistleblowere som Julian Assange (f. 1971)[26] og Edward Snowden (f. 1983).[27] Versjon 18.52 av GNU Emacs, som ble lansert 17. august 1988, innførte spook.el, et bibliotek som tilføyde enkelte «distraher NSA» nøkkelord (UNCPCJ Emergency management JITEM PEM bullion MSCJ Airplane SLIP rogue Gatt Ammonium nitrate Trafficking embassy Emergency TELINT) for hver melding man sendte over datanett.[28]

Versjon 19.28 ble lansert 1. november 1994 og innførte støtte for flere rammer under vindussystemet X. VC (et nytt grensesnitt for versjonskontroll) ble innført, og det ble også innført font-lock modus og hexl-modus for heksadesimal redigering.[21]

Selv om brukere vanligvis sendte oppdateringer og kode i Emacs Lisp til diskusjonsgruppen net.emacs (omdøpt til com.emacs 27. januar 1987),[21] var deltagelsen i utviklingen av GNU Emacs relativt begrenset inntil 1999. Dette ble i oktober 1999 brukt som eksempel på en «katedral-utvikling» i boken The Cathedral and the Bazaar av Eric Steven Raymond (f. 1957). Prosjektet har senere adoptert en alment tilgjengelig e-postliste for utvikling og en anonym tilgang til Concurrent Versions System (CVS). Utviklingen fant sted i en enkel CVS-stamme frem til 2008, da det tok i bruk distribuert versjonskontroll i versjonskontrollsystemet Git.[29]

Richard Stallman er fortsatt den grunnleggende vedlikeholder av GNU Emacs, men han har trådt tilbake fra denne rollen til tider. Stefan Monnier og Chong Yidong har hatt ansvar for vedlikeholdet siden 2008.[30] Den 21. september 2015 kunngjorde Monnier at han ville trekke seg tilbake som når egenskapene til Emacs 25 var frosset.[31] Den langvarige bidragsyter John Wiegley ble ny vedlikeholder den 5. november 2015.[32]

Versjonsnummereringen

Tidligere versjoner av GNU Emacs var nummererte «1.x.x», der første siffer betegner versjonen av GNU C. Tallet «1» ble sløyfet etter versjon 1.12 fordi man trodde at det store versjonsnummeret aldri ville forandres. Et nytt tredje versjonsnummer ble tilføyd for å representere mindre forandringer som var gjort av brukersider. Versjon 20.0 var f.eks. en ny versjon, mens versjon 20.0.1 hadde endringer som var foretatt av andre brukere.[33] I den nåværende nummereringsmodellen, brukes et tall med to komponenter for å angi en lansert versjon (f.eks. 22.1), mens utviklingsversjoner har tre komponenter. Versjon 23.0.50 var f.eks. en utviklingsversjon som til slutt ble til versjon 23.1.[34]

Lisensiering

Vilkårene i GNU General Public License (GPL) sier at kildekoden til Emacs, inkludert både C- og Emacs Lisp-komponentene, er fritt tilgjengelig for undersøkelse, modifisering og redistribusjon.

Logoen for GNU Emacs versjon 23

Eldre versjoner av dokumentasjonen til GNU Emacs hadde en ad-hoc-lisens som krevde inkludering av bestemt tekst i enhver modifisert kopi. I GNU Emacs-brukerhåndboken inkluderte dette for eksempel instruksjoner for å skaffe seg GNU Emacs og Richard Stallman's essay The GNU Manifesto. XEmacs-manualene har samme lisens. Nyere versjoner av dokumentasjonen bruker GNU Free Documentation License med «uforanderlige seksjoner» som krever at de samme dokumentene inkluderes og at manualene proklamerer at de er GNU-manualer.

Signifikante kodebidrag aksepteres bare hvis opphavsmannen avsier seg rettighetene til koden og sjenker den til Free Software Foundation. Feilrettinger og mindre kodebidrag på færre enn 10 linjer er unntatt fra regelen. Dette er for at FSF kan forsvare programvaren i retten dersom dens copyleft-lisens er krenket.

Den 29. juli 2011 kom det frem at GNU Emacs med uhell hadde utgitt enkelte binærfiler uten samsvarende kildekode i to år, i strid med ånden til GPL.[35][36][37] Richard Stallman beskrev dette som «en svært alvorlig feiltagelse»,[38] og feilen ble rettet øyeblikkelig. FSF saksøkte ingen distributører som uvitende hadde krenket GPL ved å distribuere disse filene.

Bruken av Emacs

Kommandoer

Skjermbilde av GNU Emacs 22.0.91.1 fra Ubuntu's emacs-snapshot-gtk.

I vanlig redigeringsmodus oppfører GNU Emacs seg som andre teksteditorer. Man setter inn tegn med tilhørende taster og flytter redigeringspunktet med piltastene. Brukeren trykker på modifiseringstaster, sammen med vanlige taster for å påkalle funksjoner fra Emacs Lisp. Modifiseringstastene som brukes er:

Kommander som save-buffer og save-buffers-kill-emacs kombinerer flere modifiseringsnøkler.

Enkelte kommandoer påkaller et eksternt program, slik som ispell for stavekontroll eller GNU Compiler Collection (gcc) for kompilering, parsing og visning av resultatet i GNU Emacs. Emacs støtter også «underordnede prosesser» — langvarige prosesser som samspiller med et Emacs-buffer. Dette brukes for å implementere shell-mode, hvor Unix-skallet er en underordnet prosess. Det brukes også i read–eval–print loop (REPL) moduser for ulike programmeringsspråk. Støtten for eksterne prosesser, gjør GNU Emacs attraktiv for interaktiv programmering i tråd med prinsippene i Interlisp eller Smalltalk.[39]

De som foretrekker taster som er i stil med IBM Common User Access kan bruke cua-mode. Dette var opprinnelig en tredjeparts tilføyelse, men har blitt inkludert i GNU Emacs siden versjon 22.

Minibuffer

Emacs benytter seg av et «minibuffer», vanligvis linjen i bunnen, til å presentere status- og kommandoinformasjon. Dette er funksjoner som vanligvis utføres av dialogbokser i de fleste grafiske brukergrensesnitt. Minibufferet holder informasjon slik som filnavn når man søker etter navnet på en fil som skal leses eller skrives. Kommandolinjeavslutning er også tilgjengelig ved å trykke Alt eller tabulatoren.

Filhåndtering og visning

GNU Emacs holder tekst i datastrukturer kjent som databuffere.

Emacs keeps text in data structures known as buffers. Buffers may or may not be displayed onscreen, and all buffer features are accessible to both an Emacs Lisp program and to the user interface.[40] The user can create new buffers and dismiss unwanted ones, and many buffers can exist at the same time. There is no upper limit on the number of buffers Emacs allows, other than hardware memory limits. Advanced users may amass hundreds of open buffers of various types relating to their current work.[41] Emacs can be configured to save the list of open buffers on exit, and reopen this list when it is restarted.[42]

Some buffers contain text loaded from text files, which the user can edit and save back to permanent storage. These buffers are said to be "visiting" files. Buffers also serve to display other data, such as the output of Emacs commands, dired directory listings, documentation strings displayed by the "help" library and notification messages that in other editors would be displayed in a dialog box. Some of these notifications are displayed briefly in the minibuffer, and GNU Emacs provides a *Messages* buffer that keeps a history of the most recent notifications of this type. When the minibuffer is used for output from Emacs, it is called the "echo area".[43] Longer notifications are displayed in buffers of their own. The maximum length of messages that will be displayed in the minibuffer is, of course, configurable.

Buffers can also serve as input and output areas for an external process such as a shell or REPL. Buffers which Emacs creates on its own are typically named with asterisks on each end, to distinguish from user buffers. The list of open buffers is itself displayed in this type of buffer.

Most Emacs key sequences remain functional in any buffer. For example, the standard Ctrl-s isearch function can be used to search filenames in dired buffers, and the file list can be saved to a text file just as any other buffer. dired buffers can be switched to a writable mode, in which filenames and attributes can be edited textually; when the buffer is saved, the changes are written to the filesystem. This allows multiple files to be renamed using the search and replace features of Emacs. When so equipped, Emacs displays image files in buffers. Emacs is binary safe and 8-bit clean.[44]

Emacs can split the editing area into separate non-overlapping sections called "windows," a feature that has been available since 1975, predating the graphical user interface in common use. In Emacs terminology, "windows" are similar to what other systems call "frames" or "panes" – a rectangular portion of the program's display that can be updated and interacted with independently. Each Emacs window has a status bar called the "mode line" displayed by default at the bottom edge of the window. Emacs windows are available both in text-terminal and graphical modes and allow more than one buffer, or several parts of a buffer, to be displayed at once. Common applications are to display a dired buffer along with the contents of files in the current directory (there are special modes to make the file buffer follow the file highlighted in dired), to display the source code of a program in one window while another displays a shell buffer with the results of compiling the program, to run a debugger along with a shell buffer running the program, to work on code while displaying a man page or other documentation (possibly loaded over the World Wide Web using one of Emacs' built-in web browsers) or simply to display multiple files for editing at once such as a header along with its implementation file for C-based languages. In addition, there is follow-mode, a minor mode that chains windows to display non-overlapping portions of a buffer. Using follow-mode, a single file can be displayed in multiple side-by-side windows that update appropriately when scrolled. In addition, Emacs supports "narrowing" a buffer to display only a portion of a file, with top/bottom of buffer navigation functionality and buffer size calculations reflecting only the selected range.

Emacs windows are tiled and cannot appear "above" or "below" their companions. Emacs can launch multiple "frames", which are displayed as individual windows in a graphical environment. On a text terminal, multiple frames are displayed stacked filling the entire terminal, and can be switched using the standard Emacs commands.[45]

Store moduser

Mindre moduser

Batchmoduser

Manualer

Internasjonalisering

Utvidbarhet

Ytelse

Plattformer

Forker

XEmacs

Andre forker av GNU Emacs

Versjonshistorie

Endringer i hver versjon av GNU Emacs er opplistet i en NEWS-fil som distribueres sammen med GNU Emacs.[46] Forandringer som er gjort ved nedgradering til en tidligere versjon er opplistet i en «Antinews»-fil, ofte med korte kommentarer om hvorfor dette er ønskelig. For å ta et eksempel: «For de brukerne som lever bakover i tid, her er informasjon om nedgradering til Emacs versjon 24.5. Vi håper at du vil like den større forenkling som resulterer i fraværet av mange Emacs 25.2-egenskaper».[47]

Versjon [21] Lansert [21] Signifikante endringer[48]
13.8 20. mars 1985 Første versjon. Magnetbåndet VAXSIG VAX85b DECUS har versjon 13.8 med filer datert 19. juni 1985 og RCS-filer datert 31. mars 1985. Versjon 13.9 er referert til i news-filen.[49] Versjon 13.8 må derfor ha vært første versjon, ettersom ingen annen versjon av 13.x er nevnt.
15.10 11. april 1985
15.34 7. mai 1985 Første versjon med større utbredelse
16.56 15. juli 1985 Første GNU Emacs 16-versjon. Emacs-lisp-mode skilles fra lisp-mode,[50] og eliminering av all kode fra Gosling Emacs på grunn av patentrettigheter.[21]
16.57 16. september 1985
16.58 17. september 1985
16.59
16.60 19. september 1985 Denne versjonen innlemmet blant annet patcher for å få GNU Emacs til å kjøre på UNIX System V.
17.36 20. desember 1985 Inkluderte en brukermanual som støttet TeX. Den første offisielle versjon som kjørte på UNIX System V uten patcher.
17.43 25. januar 1986 Andre offisielle utgave av versjon 17
17.45 30. januar 1986
17.46 4. februar 1986
17.48 10. februar 1986 Lansert 9. februar på net.emacs
17.49 12. februar 1986
17.55 18. mars 1986
17.57 27. mars 1986
17.58 4. april 1986
17.61 12. april 1986 Lansert 22. april 1986 på net.emacs
17.63 7. mai 1986
17.64 12. mai 1986
18.24 2. oktober 1986 En betaversjon. Tjenermodus,[51] M-x disassemble, Emacs kan åpne TCP/IP forbindelser, emacs -nw for å åpne Emacs som en konsollapplikasjon i xterm.
18.41 22. mars 1987
18.45 2. juni 1987
18.46 8. eller 9. juni 1987
18.47 10. eller 18. juni 1987
18.48 30. august eller 3. september 1987
18.49 16. eller 18. september 1987
18.50 11. eller 13. februar 1988
18.51 6. eller 7. mai 1988
18.52 17. august 1988 Innførte spook.el, et bibliotek som tilføyde enkelte «distraher NSA» nøkkelord (UNCPCJ Emergency management JITEM PEM bullion MSCJ Airplane SLIP rogue Gatt Ammonium nitrate Trafficking embassy Emergency TELINT) for hver melding man sendte over datanett.[28]
18.53 23. eller 24. februar 1989
18.54 26. april 1989
18.55 18. eller 23. august 1989
18.56 16. eller 17. januar 1991
18.57 25. januar 1991
18.58 18. februar 1991
18.59 30. eller 31. oktober 1992
19.7 22. mai 1993 Første betautgave
19.28 1. november 1994 Første offisielle utgave av versjon 19. Støtte for flere rammer under vindussystemet X; VC (et nytt grensesnitt for versjonskontroll) ble innført, font-lock modus og hexl-modus for heksadesimal redigering

Referanser

  1. ^ Eli Zaretskii (24. mars 2024). «Emacs 29.3 released» (engelsk). Besøkt 28. mars 2024. 
  2. ^ Free Software Directory, Free Software Directory ID emacs, Wikidata Q2470288, https://directory.fsf.org 
  3. ^ «GNUMACS». 
  4. ^ «"Learning GNU Emacs, Third Edition": A Guide to the World's Most Extensible, Customizable Editor». 
  5. ^ «Emacs machines list». 
  6. ^ «"Learning GNU Emacs, Third Edition": A Guide to the World's Most Extensible, Customizable Editor». 
  7. ^ «Alphabet Soup: The Internationalization of Linux, Part 1 Linux Journal March 1999». «With the availability of fonts and, where necessary, internationalized terminal emulators, Emacs can simultaneously handle most of the world's languages.» 
  8. ^ «The Linux Programmer's Toolbox». 
  9. ^ «Learning GNU Emacs». 
  10. ^ a b c d e f g h i Richard M. Stallman: EMACS: The Extensible, Customizable Display Editor, 1981, gjengitt på gnu.org, 11. januar 1998
  11. ^ EmacsHistory, emacswiki.org, 1. mars 2019
  12. ^ https://raw.githubusercontent.com/mietek/mit-cadr-system-software/master/src/lmdoc/kbdpro.3
  13. ^ «Re: Pretty-lambdas». 
  14. ^ «I know this is another "neckbeard" comment (Love that term), but anyone who ever... | Hacker News». 
  15. ^ Learning GNU Emacs, 2nd Edition. Sebastopol, CA: O'Reilly. 1996. s. 408–409. ISBN 1-56592-152-6. 
  16. ^ Text Editor and COrector, almy.us/teco.html, mai 2017
  17. ^ Stallman, Richard (28. oktober 2002), My Lisp Experiences and the Development of GNU Emacs, https://www.gnu.org/gnu/rms-lisp.html 
  18. ^ Sam Williams. «6. The Emacs Commune». Free as in freedom. ISBN 0-596-00287-4. 
  19. ^ Sam Williams. «9. The GNU General Public License». Free as in freedom. ISBN 0-596-00287-4. 
  20. ^ Jamie Zawinski: Emacs Timeline, wikiwix.com, 8. mars 1999, oppdatert 29.oktober 2007
  21. ^ a b c d e f g h i j «Xemacs Internals». 
  22. ^ Stoll, Clifford (1988). «Stalking the wily hacker». Communications of the ACM. 31 (5): 484–497. doi:10.1145/42411.42412. 
  23. ^ Facebook is surveillance monster feeding on our personal data, Richard Stallman, Russia Today Youtube Channel.
  24. ^ Stallman, Richard M. (14. oktober 2013). «Stallman: How Much Surveillance Can Democracy Withstand?». Wired. ISSN 1059-1028. 
  25. ^ Stallman, Richard (3. april 2018). «A radical proposal to keep your personal data safe | Richard Stallman». The Guardian (engelsk). ISSN 0261-3077. 
  26. ^ «'Join fight for privacy now!' Stallman on Snowden & how to escape surveillance». RT News. 17. juli 2013. Besøkt 17. juli 2014. 
  27. ^ «Richard Stallman: surveillance is incompatible with democracy». Livemint.com. 22. januar 2014. Besøkt 27. mars 2015. 
  28. ^ a b «NEWS.18». 
  29. ^ «Re: GNU EMACS». GNU. Besøkt 16. november 2014. ]
  30. ^ «Re: Looking for a new Emacs maintainer or team». gnu.org Mailing List. Besøkt 23. februar 2008. ; see also "Stallman on handing over GNU Emacs, its future and the importance of nomenclature"
  31. ^ «Feature freeze». lists.gnu.org. 
  32. ^ «Emacs gets new maintainer as Richard Stallman signs off». 
  33. ^ «NEWS.1-17». 
  34. ^ «GNU Emacs FAQ». 
  35. ^ Brockmeier, Joe (29. juli 2011). «Say what? GNU Emacs violates the GPL». Network World. Besøkt 19. januar 2016. 
  36. ^ License revoked: Applying Section 4 of the GPL and the lessons of Best Buy to Google’s Android Arkivert 2016-01-27 hos Wayback Machine by Edward J. Naughton (Aug 8, 2011)
  37. ^ [1] on slashdot.org (2011)
  38. ^ Re: Compiled files without sources???? på lists.gnu.org by Richard Stallman (Jul 28, 2011)
  39. ^ Halme, Heikki; Heinänen, Juha (1988). «GNU Emacs as a dynamically extensible programming environment». Software: Practice and Experience. 18 (10): 999–1009. doi:10.1002/spe.4380181006. 
  40. ^ Spinellis, Diomidis; Gousios, Georgios (15. januar 2009). Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design. ISBN 9780596554392. 
  41. ^ Heiberger, Richard M.; Holland, Burt (23. desember 2015). Statistical Analysis and Data Display: An Intermediate Course with Examples in R. ISBN 9781493921225. 
  42. ^ «Saving Emacs Sessions». 
  43. ^ «Echo Area». 
  44. ^ «A Tutorial Introduction to GNU Emacs». 
  45. ^ «Frames - GNU Emacs Manual». «However, it is still possible to create multiple “frames” on text terminals; such frames are displayed one at a time, filling the entire terminal screen» 
  46. ^ «NEWS.24.5». «GNU Emacs NEWS -- history of user-visible changes.» 
  47. ^ «Antinews». 
  48. ^ Emacs Timeline. Jwz.org, besøkt 17. juli 2013
  49. ^ «NEWS.1-17». 
  50. ^ «NEWS.1-17». 
  51. ^ «NEWS.18». «Programs such as mailers that invoke "the editor" as an inferior to edit some text can now be told to use an existing Emacs process instead of creating a new editor.» 

Litteratur

  • Richard M. Stallman, EMACS Manual for ITS Users, Artificial Intelligence Lab memo 554, 1980.
  • Richard M. Stallman, EMACS Manual for TWENEX Users, Artificial Intelligence Lab memo 555, 1980.

Eksterne lenker