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."[1] Pembangunan bermula pada pertengahan tahun 1970-an dan kekal aktifsetakat 2012. 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
Emacs logo
GNU Emacs 23.3.1
Pengarang asalRichard Stallman
PembangunProjek GNU
Pelancaran pertama1976
Bahasa pengaturcaraanC, Emacs Lisp
Sistem pengendalianSaling platform, GNU
Terdapat dalamBahasa Inggeris
JenisPenyunting teks
LesenGNU GPLv3
Tapak webwww.gnu.org/software/emacs

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.,[2][3][4][5] berilhamkan sepasang penyunting makro-TECO, TECMAC dan TMACS yang ditulis Steele, Dave Moon, Richard Greenblatt, Charles Frankston, dan lain-lain.[6]

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

Versi Emacs yang paling popular dan paling banyak diport ialah GNU Emacs, perisian yang dibina Stallman bagi Projek GNU.[8] 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 sunting

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—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.[9]

Kerja membangunkan GNU Emacs agak tertutup sehingga tahun 1999, sehinggalah ia menjadi contoh gaya pembangunan "Cathedral" yang diperikan dalam 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.[10]

Sifat sunting

 
Tawan skrin menunjukkan kebolehan Emacs menanda teks dan memaparkan dua skrin menyunting serta kalendar dalam satu tetingkap.

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—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 sunting

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)[11] 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 sunting


Nota sunting

  • Ciccarelli, Eugene (1978). An Introduction to the Emacs Editor. Cambridge, Massachusetts: MIT Artificial Intelligence Laboratory. AIM-447. PDF HTML
  • Stallman, Richard M. (1979, updated 1981). EMACS: The Extensible, Customizable, Self-Documenting Display Editor. Cambridge Massachusetts: MIT Artificial Intelligence Laboratory. AIM-519A. Check date values in: |year= (bantuan) PDF[pautan mati kekal] HTML
  • Stallman, Richard M. (1987). "The EMACS Full-Screen Editor". GARB (Maj 1987). Lysator, Linköping University. m/s. 8–11.CS1 maint: postscript (link)
  • Stallman, Richard M. (2002). GNU Emacs Manual (ed. 15th). GNU Press. ISBN 1-882114-85-X.
  • Stallman, Richard M. (2002). "My Lisp Experiences and the Development of GNU Emacs". Dicapai pada 2007-02-01.
  • Chassel, Robert J. (2004). An Introduction to Programming in Emacs Lisp. GNU Press. ISBN 1-882114-56-6. Diarkibkan daripada yang asal pada 2013-07-03. Dicapai pada 2012-12-27.
  • Glickstein, Bob (1997 (April)). Writing GNU Emacs Extensions. O'Reilly & Associates. ISBN 1-56592-261-1. Check date values in: |year= (bantuan)
  • Cameron, Debra; Elliott, James; Loy, Marc; Raymond, Eric; Rosenblatt, Bill (2004 (December)). Learning GNU Emacs, 3rd Edition. O'Reilly & Associates. ISBN 0-596-00648-9. Check date values in: |year= (bantuan)CS1 maint: multiple names: authors list (link)
  • Greenberg, Bernard S. (1979). Multics Emacs: The History, Design and Implementation.
  • Finseth, Craig A. (1991). The Craft of Text Editing -or- Emacs for the Modern World. Springer-Verlag & Co. ISBN 978-1-4116-8297-9. Cite has empty unknown parameter: |coauthors= (bantuan)
  • Zawinski, Jamie (1999, updated 2005-06-21). "Emacs Timeline". Dicapai pada 2006-09-30. Cite has empty unknown parameter: |coauthors= (bantuan); Check date values in: |date= (bantuan)
  • Thompson, Adrienne G. (2009). "MACSimizing TECO". Dicapai pada 2012-02-26.

Rujukan sunting

  1. ^ "GNU Emacs Manual". GNU Emacs Manual. FSF. Dicapai pada 24 November 2012.
  2. ^ Bernard S. Greenberg. "Multics Emacs: The History, Design and Implementation".
  3. ^ "GNU Emacs FAQ".
  4. ^ Jamie Zawinski. "Emacs Timeline".
  5. ^ Adrienne G. Thompson. "MACSimizing TECO".
  6. ^ "A history of Emacs". XEmacs Internals Manual. 2006-12-11. Dicapai pada 2007-08-22.
  7. ^ "VAXen". Catb.org. Dicapai pada 2009-11-08.
  8. ^ Allombert, Bill. "Debian Popularity Contest". Editors report. Debian. Dicapai pada 22 November 2011.[pautan mati kekal]
  9. ^ Stoll, Clifford (1988). "Stalking the wily hacker". Communications of the ACM. 31 (5): 484–497. doi:10.1145/42411.42412CS1 maint: postscript (link)
  10. ^ "Re: Looking for a new Emacs maintainer or team". gnu.org Mailing List. Dicapai pada 2008-02-23.; see also "Stallman on handing over GNU Emacs, its future and the importance of nomenclature"
  11. ^ "Re: VM and the FSF". Mail.gnu.org. Dicapai pada 2009-11-08.

Pautan luar sunting


Templat:EmacsNavbox