Engang i tidernes morgen, eller rettere sagt tilbage i de meget tidlige halvfemsere, blev jeg optaget på Københavns Universitet. Her blev jeg for første gang udsat for en god dosis UNIX, hvilket sandsynligvis mere end et årti senere, udløste en pingvin-revolution i mit ydmyge hjem, der endte med at den dengang allestedsnærværende OS/2-elefant, blev efterlaft på en øde ø.
Det værktøj, man dengang havde til rådighed, som udvikler, var lidt mere simple end i dag.
Oftest drejede det sig om et tekstredigeringsprogram, og en kommandolinie oversætter/fortolker . Hvis man var meget heldig, kunne man fjernstyre oversætteren inde fra redigeringsprogrammet, ellers brugte man bare en selvstændig terminal til dette.
På den tid var de altdominerende redigeringsprogrammer VI og Emacs, samt et par enkelte afledede varianter såsom VIM og Xemacs. VI er kendt for sin meget stejle indlæringskurve, der grænser sig til det menneskefjendske for nybegynderen.
Efter en tid med XEmacs, der dengang havde en mere appellerende grafisk brugergrænseflade, ebbede min emacs-begejstring noget ud. CTRL+s var lidt nemmere at have med at gøre end CTRL+x – CTRL+s. Da udviklingen af XEmacs helt blev stoppet, mistede jeg helt interessen for disse gamle giganter – i det mindste i et stykke tid.
Pludselig havde Quick Emacs (QEmacs) sneget sig ind som en del af i nyinstallationen af den nye hjemmeserver og således også ind på min nye skrivebordsmaskine. QEmacs er en genimplementering af de basale tekstredigeringsfunktioner fra GNU Emacs, udført i ren C.
Nu da Emacs er blevet sluppet løs på gaden i nedtrykt sindsstemning i version 25 – er GNU Emacs atter engang lukket ind på skrivebordsmaskinen og det kan rapporteres at vi kommer rimeligt godt ud af det. De første cheat sheets er allerede hængt op på væggen. En fin måde at begynde at huske programmets kommandoer.
GNU Emacs
Oprindeligt blev Emacs udviklet, helt tilbage i 1976 af Richard Stallman og Guy Steele. Inspirationen kommer fra intet mindre end et sæt TECO-makroer til TECO og TMACS redigeringsprogrammerne.
Den Emacs som de fleste nok kender er GNU Emacs, der begyndte tilværelsen i 1984 – skabt af Richard Stallman, som et alternativ til den lukkede Gosling Emacs og den endte som en del af GNU Projektet.
GNU Emacs er basalt set en Emacs Lisp (ELisp) plug-in-motor, skrevet i C. Dette gør Emacs til et meget alsidigt monstrum da ELISP-udvidelserne rent teknisk er at betragte som platformsuafhængigt. Skal GNU Emacs således flyttes over på en ny platform kræves det rent teknisk kun at flytte den C-baserede kerne og ELisp fortolker. Ofte er livet dog lidt mere besværligt end det der rent teknisk burde kunne lade sig gøre.
Den mest kendte udvidelse er nok tekstredigeringsudvidelsen, der ligeledes er den primære standardudvidelse, som de fleste kender. Men der findes også både en e-post klient, en netlæser, en kalender og en masse andre herligheder.
Antallet af pakker stiger stødt. Rent faktisk har man siden 2013 kunnet registrere, at der gennemsnitligt er frigivet to nye pakker hver dag. Så hvis pakkehåndteringen synes at være lidt træg, er der en god grund.
Selve GNU Emacs består af en kernepakke og dertil en pakke der giver en grafisk brugergrænseflade (emacs-x11) med en værktøjslinje og grafiske indstillingsmuligheder og en der giver en tekstbaseret brugergrænseflade (emacs-nox). Uden de sidstnævnte, ingen brugergrænseflade og dermed ingen tekstredigering, eller noget andet.
GNU Emacs 25.x
Selvom GNU Emacs nok er faldet ud af manges bevidsthed, så er programmellet blevet videreudviklet i et stødt og adstadigt tempo, præcis ligesom VIM som vi for nyligt også har set nyt fra. Som minimum har vi set mindre opdateringer hvert andet år. Denne gang hopper den så fra 24.x og til 25.x – hvilket indikerer at det er en stor opdatering, indeholdende en masse ny guf og listen er da også alen lang. Siden udgivelsen er der yderligere kommet et par fejlretningsversioner.
I denne seneste generation er der blandt andet nu kommet understøttelse af dynamisk loadede Lisp-moduler, en ny Network Security Manager (NSM), med validering af TLS/SSL certifikater og eksperimentel Cairo-understøttelse. En anden ny ting er electric-quote-mode, der giver mulighed for buede enkelte og dobbelte citationstegn og generel forbedret understøttelse af UNICODE-tegn. Der er kommet understøttelse af nye sprog, nu er både Ruby og Go med i klubben og der er kommet forbedringer i understøttelsen af Lua og VHDL.
Sidst og ikke mindst er der fra og med GNU Emacs 25 lukket for officiel understøttelse af SG IRIX. IRIX projektet blev lukket ned i 2013, så man regner med at antallet af ramte Emacs-brugere er minimalt, gående imod nul.
Ellers er der hundredvis af småforbedringer til både hovedprogram og alle de
officielle pakker og moduler.
Henvisninger: