Xemacs | |
---|---|
| |
Sorts | Textredigerare |
Utvecklaren | XEmacs community |
Skrivet i | C [3] och Lisp |
Gränssnitt | GTK |
Operativ system | Cross plattform |
Första upplagan | 1991 |
senaste versionen |
|
betaversion | |
Licens | GNU GPL |
Hemsida | xemacs.org |
Mediafiler på Wikimedia Commons |
XEmacs är en grafisk och konsoltextredigerare av Emacs -familjen , en gaffel av GNU Emacs , distribuerad under GNU GPL-licensen , som körs på de flesta Unix-liknande operativsystem och på Microsoft Windows .
I slutet av 1980-talet stod Richard P. Gabriels företag Lucid inför behovet av att använda Emacs som redaktör i deras nya Energize-produkt, en integrerad utvecklingsmiljö för C++ . På grund av en betydande försening mellan 1987 och 1993 med att släppa en ny version av GNU Emacs [4] , rekryterade Lucid ett utvecklingsteam för att förbättra och vidareutveckla redaktörskoden [5] , med förväntningen att deras nya version, som släpptes 1991, skulle bli grunden för GNU Emacs 19. Men på grund av tidsbrist kunde de inte skicka in sina ändringar till Free Software Foundation (FSF) [6] .
När Lucid gick i konkurs 1994, fortsatte andra utvecklare att underhålla koden [7] . Företag som Sun Microsystems ville fortsätta göra Lucid Emacs; dock blev användningen av detta varumärke juridiskt tvetydig, på grund av att ingen visste vem som skulle kontrollera varumärket "Lucid" [8] .
Medan XEmacs ursprungligen stödde X11 , kunde den, liksom GNU Emacs, kompileras utan GUI-stöd och köras på icke-X11-fönstersystem, så prefixet "X" i namnet är inte associerat med specifikt fönstersystemstöd. Dessutom hade XEmacs under en tid vissa terminalfunktioner, såsom syntaxmarkering , som GNU Emacs inte hade.
År 2004 skapade redaktörens utvecklingsteam, ledd av Steve Youngs , en oberoende gaffel - SXEmacs , med hänvisning till det instabila tillståndet för XEmacs, såväl som svårigheten att göra radikala förbättringar på grund av XEmacs-gemenskapens konservatism.
Bland redaktörens funktioner finns kommandon för att manipulera ord och stycken (ta bort, flytta, flytta inuti dem, och så vidare), syntaxmarkering av källkoder , tangentbordsmakron för att exekvera godtyckliga sekvenser av redigeringskommandon som definieras av användaren. XEmacs har omfattande inbyggd hjälp, tillsammans med fem manualer tillgängliga på programmets webbplats. Många språk stöds. För att redigera programs källkoder är de så kallade !!redigeringslägena implementerade för många programmeringsspråk.
XEmacs kan köras på en mängd olika operativsystem, inklusive olika varianter av BSD , Linux , Solaris , Mac OS X. Att köra programmet på Mac OS kräver X11 ; även om utvecklingen av den ursprungliga versionen för Carbon startade 2007. Det finns två versioner av XEmacs för Microsoft Windows, den ena kräver ingen ytterligare programvara för att installeras, och den andra kräver att Cygwin är installerad för att kunna köras .
Användaren kan åsidosätta beteendet hos vilken del av editorn som helst med hjälp av programmeringsspråket - Emacs Lisp - en version av Lisp. Att ändra källkoden kräver inte att redigeraren laddas om eller kompileras om. Många färdiga tillägg skrivna i Lisp är tillgängliga för programmerare.
Redan från början av projektet försökte utvecklarna att släppa nya versioner av editorn så ofta som möjligt, för tillfället finns det 2-3 släpp per år [9] . Det upprätthåller också öppenheten för experiment, och XEmacs introducerar ofta nya funktioner före andra redaktörer i familjen, som att applicera olika typsnitt eller använda färger när man arbetar med textterminaler. Med tiden skriver utvecklare aktivt om koden för att möta modernare standarder. XEmacs har ett enhetligt pakethanteringssystem skrivet av oberoende utvecklare. Från och med 2007 stöder redigeraren GTK+ [10] .
XEmacs utveckling har alltid varit väldigt öppen, inklusive tillgång till anonyma CVS , senare Mercurial , och e -postlistor med öppen källkod . Avsikten är att upprätthålla full kompatibilitet med GNU Emacs [11] .
Releaseförberedelser utförs i tre grenar: stabil ( stabil ), gamma ( gamma ) och beta ( beta ) [12] , innovationer dyker först upp i beta, även om dessa versioner kan vara otillräckligt testade och ha problem med stabilitet och säkerhet.
Några av XEmacs huvudutvecklare har publicerat sina åsikter om splittringen mellan XEmacs och GNU Emacs, till exempel har Stephen Turnbull publicerat sammanfattningar av båda sidors argument. En av huvudorsakerna till kontroversen har varit olika åsikter om delegering: FSF anser att delegering av FSF är nödvändigt för att ge skydd mot GPL-intrång [13] , medan XEmacs-utvecklarna hävdar att frånvaron av behovet av delegering möjliggjorde stora företag att engagera sig i utveckling, eftersom företag ibland kan licensiera koden, men på grund av oviljan att komma i konflikt med ägarna kan det vara svårt för företag att få tillstånd att helt överföra rättigheterna till koden. Free Software Foundation innehar rättigheterna till mycket av XEmacs-koden, eftersom dessa rättigheter överfördes under fusions- och samutvecklingsförsök. Huruvida en bit ny kod från XEmacs kommer in i GNU Emacs beror ofta på en viss författares önskan att överföra rättigheterna till FSF.
Nya funktioner i en editor dyker vanligtvis upp snart i en annan. Dessutom gör många utvecklare ändringar i båda projekten, särskilt stora Lisp-undersystem som Gnus och Dired utvecklas för att fungera i båda redaktörerna.
emacs | ||||||
---|---|---|---|---|---|---|
Genomföranden |
| |||||
Lägen | ||||||
Enhet | ||||||
Övrig |
| |||||
|