EMacro Overview


Abstract

What is EMacro? Emacro is a .emacs configuration system for Emacs. It is:

Easy
EMacro prompts you once only, and saves your configuration in an easy to read file.
You don't need to know elisp to run Emacs with sane defaults, such as loading the best available Perl mode, when opening *.pl files.
EMacro also includes extensive user documentation
Combine Emacs v21.1 with EMacro and EMacro Libs, and new users can get comfortable immediately!
Extensible
Ease of use for EMacro does not come at the expense of advanced users. If you love elisp, you will find EMacro has code that is easy to search, with plenty of hints in its comments.
Fast
EMacro has been optimized for speed. It may double the number of seconds that Emacs loads, but it will save you minutes, from searching for, and loading libraries. EMacro can be considered the world's largest .emacs, but it is still quite manageable in size.
Portable
It works with Microsoft Windows, Mac OS X, and Gnu/Linux compatible systems, including BSD and Sun Solaris. Others have not been tested, but should work. EMacro works with both Emacs and XEmacs.
Complete
EMacro combines the work of everyone in credits.html, in a sense, all the ideas that are good enough to share.
Tested
Since EMacro is more complete, there is less need to add code, which will break it. Code for EMacro goes back 10 years. EMacro has a team that spends more time uncovering bugs, under more varieties of conditions, than any other .emacs.
Uniform
Stop learning a different editor, every time you switch platforms or languages. With EMacro Libs, you will also find Emacs more similar to XEmacs. Try the key-themes from the Options menu, to blend with your favorite Operating System.

Directory Descriptions

/usr/share/elisp/emacro/
binContains shell scripts or batch files
contribOptional code in testing
docHTML help files
emacroMain elisp code libraries
i18nInternational Language code
distFor developers packaging EMacro
programmerMacro libraries for developers
~/emacs/
(top level)Part of load-path, where you can try new elisp libraries
preferencesSystem generated & customized files. You may edit or delete all files in this directory


For individual file details, see manifest.html


Program Flow

Emacs first loads ~/.emacs or XEmacs loads ~/.xemacs/init.el, if any such file exists.
EMacro then loads its site-start.el. This init file loads /usr/share/elisp/emacro/lisp/e-macro.el, which then loads /usr/share/elisp/emacro/e-path.el. You may need to edit e-path.el, to find the path to every Emacs macro library file you expect to use.
Next, ~/emacs/preferences/e-preload.el is loaded. You can customize this file, for any user code, before the bulk of EMacro is executed.
Then comes /usr/share/elisp/emacro/e-configure.el, which generates ~/emacs/preferences/e-prefs.el as necessary, checking for elisp libraries in the load-path.
The remaining files are loaded in no particular order. If tiny-tools are in the load-path, then they may not load, until the idle timer detects no keyboard activity for several seconds.
Lastly, files loaded are from the preferences directory, including the defcustom files, where preferences from the M-x customize or associated pulldown menu are saved. The final file loaded is ~/emacs/preferences/e-postload.el, which contains user code.
Note that e-preload.el and e-postload.el serve a similar purpose, and are loaded before or after the bulk of EMacro, respectively.

Valid XHTML 1.1! Valid CSS!