How is the source code of GNU Emacs organized? What are the main modules and their functionality? Where can I find an official, up-to-date description of the architecture and its source code?
Asked
Active
Viewed 3,650 times
1 Answers
48
Being an official GNU project it adheres closely to the GNU coding standards and directory layout. That said, if you are exploring the source tree I would start, as with most projects, with the README file in the root directory.
From that file onwards, there are several sub-directories:
`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.

reza.safiyat
- 184
- 3
- 14

stsquad
- 4,651
- 29
- 45
msdos
directory seems to be DJGPP support. http://www.delorie.com/djgpp/ There is a separatent
directory from which today's w32 support springs from. Fun fact: I first learned about the GPL through delorie.com... :) – daveloyall Dec 18 '14 at 23:14