Emacs

**Emacs**  ialah sebuah famili penyunting teks yang mempunyai ciri istimewa yakni kebolehpanjangan. Satu manual memerikan perisian penyunting ini sebagai "satu penyunting tampilan masa sebenar yang boleh dipanjangkan, diubah suai, dan mendokumentasi diri."  Pembangunan bermula pada pertengahan tahun 1970-an dan kekal aktif. Emacs memiliki lebih daripada 2,000 perintah yang terbina dalam dan membolehkan penggunanya menggabung perintah-perintah ini ke dalam makro bagi menjalankan kerja secara automatik, khususnya dengan penggunaan Emacs Lisp, satu varian bahasa pengaturcaraan Lisp. 

Emacs asal terdiri daripada satu set *Editor MACroS* buat penyunting TECO. Ia ditulis pada tahun 1976 oleh Richard Stallman. Stallman menulis Emacs mula-mulanya dengan Guy L. Steele, Jr., berilhamkan sepasang penyunting makro-TECO, TECMAC dan TMACS yang ditulis Steele, Dave Moon, Richard Greenblatt, Charles Frankston, dan lain-lain.

Emacs menjadi pesaing utama vi dalam "perang penyunting" yang wujud dalam budaya Unix. Dalam bahasa Inggeris, perkataan "emacs" dimajmukkan kepada *emacsen* sebagai analogi kepada * *.

Versi Emacs yang paling popular dan paling banyak diport ialah *GNU Emacs*, perisian yang dibina Stallman bagi  Projek GNU. Satu versi yang biasa digunakan juga ialah XEmacs, yang diserpihkan daripada GNU Emacs pada tahun 1991. Seperti GNU Emacs, XEmacs kekal serasi dengan dan masih menggunakan Emacs Lisp.

### GNU Emacs

Stallman mula membangunkan GNU Emacs pada tahun 1984 dengan niat mewujudkan pilihan perisian bebas kepada Gosling Emacs. Pada awalnya, Gosling Emacs menjadi asas GNU Emacs, tetapi beliau menggantikan pentafsir Mocklisp dengan pentafsir Lisp tulen. Usaha ini memerlukan penggantian kod dengan kod yang baharu, dan GNU Emacs menjadi projek pertama yang dikeluarkan Projek GNU, yang sendirinya baharu bertapak. GNU Emacs ditulis dalam C dan menyediakan Emacs Lisp (yang sendirinya ditulis dalam C) sebagai bahasa pemanjangan.  Versi 13, versi awam pertama, dibuat pada 20 Mac 1985. Versi yang diledarkan secara meluas pada lewat tahun 1985 ialah 15.34&mdash;Versi 2 hingga 12 tidak pernah wujud. 

GNU Emacs kemudiannya diport kepada Unix. Oleh sebab ia memiliki lebih kemudahan, terutamanya pentafsir Lispnya yang membolehkan kepemanjangan program berbanding Gosling Emacs, GNU Emacs menggantikan Gosling Emacs sebagai penyunting *de facto* dalam sistem-sistem Unix. 

Satu kecacatan keselamatan dalam subsistem e-mel GNU Emacs telah membenarkan sistem e-mel dieksploitasi Markus Hess yang berjaya menggodam program bagi mendapatkan status superuser pada komputer-komputer Unix.

Kerja membangunkan GNU Emacs agak tertutup sehingga tahun 1999, sehinggalah ia menjadi contoh gaya pembangunan "Cathedral" yang diperikan dalam buku *[[Katedral dan Bazar (buku)|The Cathedral and the Bazaar]]* karangan Eric Raymond. Semenjak 1999 projek dibangunkan beramai-ramai dan sekarang pembangunannya menggunakan sistem Sistem Kawalan Versi yang teragih (DVCS) .

Richard Stallman kekal menjadi penyenggara GNU Emacs mahupun beliau mengambil cuti daripada tugas penyeggaraan. Pada tahun 2008, tugas penyenggaraan diserahkan kepada Stefan Monnier and Chong Yidong.

## Sifat

Emacs ialah sebuah penyunting teks dan bukan pemproses perkataan. Justeru ia tertumpu kepada pengendalian cebisan teks dan tidak kepada pengendalian rupa taip ("fon") aksara, walaupun Emacs berkebolehan melakukan fungsi ini. Emacs menyediakan perintah bagi mengendali perkataan dan paragraf (membuang, mengalih, merentasi, dan sebagainya), menanda sintaks agar penulisan dan pembacaan kod lebih mudah, dan juga penyediaan "makro papan kekunci" bagi menjalankan himpunan perintah menyunting yang ditetapkan pengguna.

Emacs berfungsi sebagai penyunting teks moden yang lain&mdash;ia sebuah penyunting "dalam masa nyata" dalam erti kata apa jua yang disunting akan kelihatan di skrin.

Emacs juga mengandungi sebuah tutorial yang terbina dalam. Apabila Emacs dimulakan tanpa sebarang fail yang perlu disunting, ia memaparkan petunjuk bagaimana tugas penyuntingan mudah dapat dilakukan sekiranya tutorial itu dipanggil oleh pengguna.

## Pelesenan

GNU Emacs dilesenkan dengan lesen GPL; justeru kod sumber, termasuk komponen C dan Emacs Lisp, terdapat bebas bagi diperiksa, diubahsuai dan diagihkan.

Telah menjadi polisi GNU Emacs (dan banyak lagi pekej perisian GNU) hanya akan menerima sumbangan kod dengan syarat pemegang hak cipta bersetuju memberi hak kepada Yayasan Perisian Bebas (FSF) walaupun satu pengecualian berlaku dengan perisian MULE (perisian yang mengendalikan Unicode dan kod-kod termaju berkaitan skrip bahasa-bahasa selain bahasa Inggersi) kerana pemegang hak cipta, Kerajaan Jepun, tidak dapat memberikan hak. Namun, polisi ini tidak diguna pakai dengan kod yang kurang daripada 10 baris, atau membetulkan pepijat. Polisi ini diambil agar FSF dapat mempertahankan perisian di hadapan mahkamah sekiranya lesen copyleftnya dicabul.

## Lihat juga

* Perbandingan penyunting teks
* Conkeror
* GNU TeXmacs
* Senarai penyunting teks

## Nota

*  [ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-447.pdf PDF] HTML
*  [ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-519A.pdf PDF] HTML
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 

## Rujukan

## Pautan luar

* 
* Reviewed entry in the Free Software Directory.
* EmacsWiki
* List of Emacs implementations
* Emacs stuff comparison