ซอร์สโค้ด GNU Emacs มีการจัดระเบียบอย่างไร


43

ซอร์สโค้ดของ GNU Emacs เป็นอย่างไร โมดูลหลักและฟังก์ชันการทำงานของพวกเขาคืออะไร? ฉันจะหาคำอธิบายสถาปัตยกรรมและซอร์สโค้ดที่เป็นทางการล่าสุดได้อย่างไร

คำตอบ:


44

เป็นโครงการ GNU อย่างเป็นทางการโดยยึดมั่นอย่างใกล้ชิดกับมาตรฐานการเข้ารหัสของ GNU และการจัดวางไดเรกทอรี ที่กล่าวว่าหากคุณกำลังสำรวจแผนผังต้นไม้ฉันจะเริ่มต้นเช่นเดียวกับโครงการส่วนใหญ่โดยใช้ไฟล์ READMEในไดเรกทอรีราก

จากไฟล์นั้นเป็นต้นไปมีหลายไดเรกทอรีย่อย:

`src'       holds the C code for Emacs (the Emacs Lisp interpreter and
            its primitives, the redisplay code, and some basic editing
            functions).
`lisp'      holds the Emacs Lisp code for Emacs (almost everything else).
`leim'      holds the library of Emacs input methods, Lisp code and
            auxiliary data files required to type international characters
            which can't be directly produced by your keyboard.
`lib-src'   holds the source code for some utility programs for use by or
            with Emacs, like movemail and etags.
`etc'       holds miscellaneous architecture-independent data files
            Emacs uses, like the tutorial text and the Zippy, the Pinhead
            quote database. The contents of the `lisp', `leim', `info',
            `man', `lispref', and `lispintro' subdirectories are
            architecture-independent too.
`info'      holds the Info documentation tree for Emacs.
`doc/emacs' holds the source code for the Emacs Manual.  If you modify the
            manual sources, you will need the `makeinfo' program to produce
            an updated manual. `makeinfo' is part of the GNU Texinfo
            package; you need version 4.6 or later of Texinfo.
`doc/lispref'   holds the source code for the Emacs Lisp reference manual.
`doc/lispintro' holds the source code for the Introduction to Programming
                in Emacs Lisp manual.
`msdos'     holds configuration files for compiling Emacs under MS-DOS.
`nt'        holds various command files and documentation files that pertain
            to building and running Emacs on Windows 9X/ME/NT/2000/XP.
`test'      holds tests for various aspects of Emacs's functionality.

7
นอกจากนี้ให้ดูคู่มือแฮ็กเกอร์เกี่ยวกับ wiki emacswiki.org/emacs/HackerGuide
knarf

1
@ Knarf: อย่างน้อยก็อธิบายถึงการใช้แมคโครที่ชั่วร้ายที่ฉันเห็นเมื่อใดก็ตามที่ฉันดูรหัส C ;-)
stsquad

1
ขอขอบคุณมีลิงก์ไปยังไฟล์ README เวอร์ชันล่าสุด (สมมุติว่าอ้างอิง HEAD ของสาขาหลักหรือคำแนะนำที่เกี่ยวข้องกับการปล่อยเสถียรล่าสุด) ที่เราสามารถรวมไว้ในคำตอบนี้ได้หรือไม่
Amelio Vazquez-Reina

2
@ user815423426: ตอนนี้การโยกย้าย git เสร็จสมบูรณ์ฉันได้เชื่อมโยงไปยังหน้านั้น
stsquad

1
Emacs ยังสามารถรวบรวม MSDOS ของผู้ใช้!
Edgar Aroutiounian
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.