Gosling Emacs - Gosling Emacs

Gosling Emacs / Unipress Emacs
Pierwotny autor (autorzy) James Gosling
Deweloper(zy) UniPress
Pierwsze wydanie 1981 ; 40 lat temu ( 1981 )
Napisane w C
System operacyjny Unix , VMS
Rodzaj Edytor tekstu

Gosling Emacs (często skracany do „Gosmacs” lub „gmacs”) to przerwana implementacja Emacsa napisana w 1981 roku przez Jamesa Goslinga w C .

Gosling początkowo zezwolił na redystrybucję Goslinga Emacsa bez żadnych formalnych ograniczeń, czego wymagała „ komuna Emacs” od lat 70., ale później sprzedał go firmie UniPress . Spory z UniPress zainspirowały stworzenie pierwszej formalnej licencji dla Emacsa, która później stała się GPL , ponieważ Kongres wprowadził prawa autorskie do oprogramowania w 1980 roku.

Cechy

Gosling Emacs był szczególnie godny uwagi ze względu na efektywny kod ponownego wyświetlania, który wykorzystywał technikę programowania dynamicznego do rozwiązania klasycznego problemu korekcji ciąg-do-ciągu . Algorytm był dość wyrafinowany; ta sekcja źródła była na czele z czaszką i piszczelami w grafice ASCII , ostrzegając każdego niedoszłego ulepszacza, że ​​nawet jeśli sądzili, że rozumieją, jak działa kod wyświetlania, prawdopodobnie nie rozumieją.

Dystrybucja

Ponieważ Gosling zezwolił na nieograniczoną redystrybucję, Richard Stallman użył kodu Gosling Emacs w początkowej wersji GNU Emacs . Między innymi przepisał część kodu Goslinga z komentarzem o czaszce i piszczelach i uczynił go „… krótszym, szybszym, jaśniejszym i bardziej elastycznym”.

W 1983 roku UniPress zaczął sprzedawać Gosling Emacs na Uniksa za 395 USD, a na VMS za 2500 USD, reklamując go jako „EMACS – wielookienkowy edytor tekstu (wersja Gosling)”.

Kontrowersyjnie Unipress poprosił Stallmana o zaprzestanie dystrybucji jego wersji Emacsa dla Uniksa. UniPress nigdy nie podjął kroków prawnych przeciwko Stallmanowi ani jego rodzącej się Fundacji Wolnego Oprogramowania , wierząc, że „hobbyści i naukowcy nigdy nie wyprodukują Emacsa, który mógłby konkurować” z ich produktem. Cały kod Gosling Emacs został usunięty z GNU Emacs do wersji 16.56 (lipiec 1985), z możliwym wyjątkiem kilku szczególnie zaangażowanych sekcji kodu wyświetlania. Najnowsze wersje GNU Emacsa (od sierpnia 2004) nie zawierają ostrzeżenia o czaszce i piszczeli.

Język rozszerzenia

Jego język rozszerzeń, Mocklisp, ma składnię podobną do Lisp , ale Mocklisp nie ma list ani żadnych innych ustrukturyzowanych typów danych. Interpreter Mocklisp, zbudowany przez Goslinga i współpracownika, został zastąpiony pełnym interpreterem Lispu w GNU Emacs.

Bibliografia