GNU Emacs

Ang **GNU Emacs** ay isang *text editor* (o tagapagpatnugot ng teksto) at hanay ng mga libreng kasangkapan sa *software*. Nagsimula ang pag-unlad nito noong 1984 sa pamamagitan ng tagapagtatag ng Proyektong GNU na si Richard Stallman, batay sa tagapagpatnugot na Emacs na binuo para sa mga *operating system* (sistemag pang-operasyon) ng Unix. Naging isang sentral na bahagi ang GNU Emacs ng proyektong GNU at isang pangunahing proyekto ng kilusang malayang software.

Ang tagline ng programa ay "*the extensible self-documenting text editor*" (ang napapalawig na tagapagpatnugot ng teksto na nagsusulat ng sarili). Karamihan sa mga kakayahan ng GNU Emacs ay ipinatupad sa *user-accessible* (nagagamit ng tagagamit) na Emacs Lisp, na nagpapahintulot ng malalim na pagpapalawak nang direkta ng mga gumagamit at sa pamamagitan ng mga pakete na kontribusyon ng komunidad. Ang mga nakasamang tampok nito ay kinabibilangan ng isang *file browser* at *editor* (Dired), isang masulong na kalkulador (Calc), isang *email client* at tagabasa ng balita (Gnus), integrasyon ng *Language Server Protocol*, at ang sistemang produktibo na Org-mode. Isang malaking komunidad ng mga gumagamit ang nag-ambag ng mga ekstensyon tulad ng Magit (Git *interface*), ang Vim *emulation layer* na Evil (*software*), ilang mga *search framework*, ang *window manager* EXWM, at mga kasangkapan para sa pagtatrabaho gamit ang malawak na hanay ng mga *programming language* (wikang pamprograma).

## Kasaysayan 
Ang orihinal na EMACS ay isinulat noong 1976 nina David A. Moon at Guy L. Steele Jr. bilang isang hanay ng mga *macro* para sa TECO *editor*, at noong 1984, sinimulan ni Richard Stallman ang trabaho sa GNU Emacs upang makagawa ng malayang software na kapalit ng propiyetaryo na Gosling Emacs. Unang ibinatay ang GNU Emacs sa Gosling Emacs, subait ang pagpapalit ni Stallman ng Mocklisp *interpreter* (tagapagintrepreta) nito sa isang tunay na Lisp *interpreter* ay nagdulot na halos lahat ng kodigo nito na kailangang muling isulat. Ito ang naging unang programang inilabas ng noo’y nagsisimulang Proyektong GNU. Isinulat ang GNU Emacs sa wikang C at naglalaan ng Emacs Lisp, na ipinatupad din sa C, bilang isang wikang ekstensyon. Ang Bersyon 13, ang unang pampublikong bersyon, ay inilabas noong Marso 20, 1985. Ang unang malawakang naipamahaging bersyon ng GNU Emacs ay ang bersyon 15.34, na inilabas kalaunan noong 1985. Ang mga unang bersyon ng GNU Emacs ay may bilang na "1.x.x," kung saan ang unang tambilang ay nagpapakita ng bersyon ng C *core*. Ang "1" ay tinanggal matapos ang bersyon 1.12 dahil inakala na ang pangunahing numero ay hindi na magbabago, kaya ang pangunahing bersyon ay lumaktaw mula "1" sa "13". Isang bagong pangatlong numero ng bersyon ang idinagdag upang kumatawan sa mga pagbabago na ginawa ng mga sayt ng tagagamit. Sa kasalukuyang sistema ng pagbilang, ang numerong may dalawang bahagi ay nangangahulugan ng isang bersyong nilabas, habang ang mga bersyong *development* (o ginagawa pa) ay may tatlong bahagi.

Pagkatapos, na-*port* ang GNU Emacs sa Unix *operating system.* Nag-alok ito ng mas maraming tampok kaysa sa Gosling Emacs, partikular ang isang buong-tampok na Lisp bilang wikang ekstensyon, at di nagtagal ay pinalitan nito ang Gosling Emacs bilang *de facto* na Unix Emacs *editor*. Ginamit ni Markus Hess ang isang depekto sa seguridad sa *email subsystem* ng GNU Emacs sa kanyang katuwaang pagka-*crack* nooong 1986, kung saan nakuha niya ang *superuser access* sa mga kompyuter ng Unix.

Bagamat karaniwan nang nag-aambag ang mga gumagamit ng mga *patch* at kodigong Elisp sa net.emacs *newsgroup*, ang pakikilahok sa pagbuo ng GNU Emacs ay medyo limitado hanggang 1999, at ginamit bilang halimbawa ng istilo ng pagbuo na "Cathedral" sa *The Cathedral and the Bazaar*. Mula noon, ang proyekto ay nagpatibay ng isang pampublikong *mailing list* para sa pagbuo at di-kilalang pagpasok s CVS. Nangyari ang pagbuo sa isang CVS *trunk* hanggang 2008, at gumagamit ngayon ng Git na DVCS.

Si Richard Stallman ay nanatiling pangunahing tagapangasiwa ng GNU Emacs, subalit paminsan-minsan ay umatras sa tungkuling ito. Sina Stefan Monnier at Chong Yidong ang nangasiwa sa pagpapanatili mula 2008. Noong Setyembre 21, 2015, inihayag ni Monnier na magbibitiw siya bilang tagapangasiwa kasabay ng *feature freeze* ng Emacs 25. Si John Wiegley, isang matagal nang tapag-ambag, ang inihayag bilang bagong tagapangasiwa noong Nobyembre 5, 2015. Sumama kay Wiegley si Eli Zaretskii noong Hulyo 2016, at si Lars Ingebrigtsen noong Setyembre 2020.

## Paglilisensya 
Sinasabi sa mga tuntunin ng GNU General Public License (GPL, ) na ang pinagmulang kodigo ng Emacs, kabilang ang mga bahaging C at Emacs Lisp, ay malayang makukuha para sa pagsusuri, pagbabago, at muling pamamahagi.

## Mga plataporma 
Tumatakbo ang GNU Emacs sa malawak na hanay ng mga *operating system*, kabilang ang DOS, Windows, at karamihan sa mga *operating system* na kahalintulad ng Unix gaya ng Linux, iba’t ibang BSD, Solaris, AIX, HP-UX, at macOS. Marami sa mga sistemang mala-Unix ang may kasamang Emacs bilang *default* o paunang pili. Noong 2023, inilabas ang opisyal na bersyon para sa Android. Tinanggal naman sa bersyon 23.1 ang suporta para sa ilang platapormang itinuturing nang lipas.

Maaaring gamitin ang GNU Emacs sa parehong *text terminal* at *graphical user interface* (GUI). Sa mga sistemang kahalintulad ng Unix, maaaring gamitin ng GNU Emacs ang X Window System para lumikha ng GUI, alinman sa pamamagitan ng direktang paggamit ng mga Athena widget o gamit ang mga "*widget toolkit*" tulad ng Motif, LessTif, o GTK+. Maaari rin nitong gamitin ang mga likas na grapikong sistema sa macOS at Windows upang magpakita ng *menubar*, *toolbar*, *scrollbar*, at *context menu* na umaayon sa anyo at karaniwang kilos ng bawat plataporma.

## Mga sanggunian
Kategorya:Software