WhyDifferentEmacs

Revision 1 as of 2007-12-21 07:27:34

Clear message

This page explains why I want to maintain a separate Emacs package, and not just use Debian's packaging for Emacs.

History

As a result of the [http://www.debian.org/vote/2006/vote_001 Debian anti-GFDL vote], the emacs21 package was stripped of its documentation. There was a public outcry about this from several people on the debian-emacsen mailing list, with several very long threads. I felt very strongly that Debian had made the wrong decision, and decided to do something to counteract it. I switched to Ubuntu, a distribution known for its lenient and fair stance concerning the GFDL, and decided to try to get their emacs21 package changed back so that it included the manuals.

It turned out that reversing the breakage was somewhat of a pain, due to some of the things that Debian had removed. When Emacs 22 came out, I decided to take the packaging for emacs-snapshot (whose maintainer resisted the stripping of the manuals for long time, until he eventually had to make his own separate APT repository for it) and rebase it to work with the Emacs 22 release. The task was easier than expected, and I soon had a working emacs22 package. I contacted several people about getting this into Ubuntu, and was greatly helped by Reinhard Tartler, who now also helps to maintain this package.

The manuals can be installed by means of a separate package. So why do you care?

Emacs has an unusually high level of integration with its manuals. Links to manuals may be inserted into function documentation, including very specific links to chapters and anchors. Emacs has a built-in Info reader to accommodate the viewing of these manuals from within Emacs, so no external program needs to be called. It is nontrivial to separate Emacs and its manuals, and to provide useful error messages when such links to manuals are followed. To the best of my knowledge, there was no serious attempt made in the Debian Emacs 22 packaging to programmatically explain to users why they could not browse these manuals, beyond perhaps a backtrace or an "Info file does not exist" warning.

There are also certain expectations of manual availability with respect to new users. New users are expected to visit the Emacs Help menu, and start browsing documentation. Much in the same way that vim users are expected to go through at least some of the tutorial that shows up in the splash screen, Emacs has a high enough learning curve that new users need a tutorial, a how-to-use-it sort of manual, and a FAQ.

As users become more acclimated with Emacs, it is expected that they will want to learn how to customize their configuration file (called either ~/.emacs or ~/.emacs.d/init.el). In order to do this, they may need to pick up a rudimentary knowledge of Emacs Lisp. The Emacs Lisp Intro manual is a must for this use case.

There were some other files besides the manuals that were split out from the main Emacs package. Among these was the GNU Manifesto, which is explorable from the Emacs Help menu.