“sometimes i feel like we’re making emacs better and better because we don’t know what to do with emacs once it is finished.” – AlexSchroeder on InternetRelayChat

Click the heading to search for all pages belonging to the writing of Lisp code. These pages contain information for would-be authors of new major and minor modes: EmacsLisp style, coding conventions, pointers and documentation to existing features. What follows are some suggestions; find more other pages by searching for backlinks via the heading.

Before you get starting diving into Emacs Lisp, it’s a good idea to be aware of some EmacsLispLimitations. Once upon a time I thought I wanted to use Emacs Lisp for all of my coding needs, but then rediscovered the old truism: some languages are better suited for some tasks. – JohnWiegley

Learning Emacs Lisp

Ordered for pedagogy:

Writing a Major Mode

Tips and tricks for writing a MajorMode.

Style and suggestions

Emacs Lisp Tools and Tricks

Emacs Lisp Installers

Emacs Lisp Libraries

Proof of Concept

Discussion About Emacs Lisp


Xemacs is not used very much these days. This section is kept for legacy.


This list is mostly for pages that are no longer relevant because Emacs comes with features making them obsolete.