A day in the life of emacs
[Posted March 2, 2005 by corbet]
Your editor is often asked that most fundamental of Linux-user questions:
vi or emacs? The answer - that both editors often come in useful over the
course of a working day - tends to please nobody. The truth of the matter,
however, is that most of the serious work of producing LWN is done in
emacs. Until very recently, the current version of GNU emacs was 21.3,
which was released on March 19, 2003 - almost exactly two years ago.
Your editor got to wondering about the current state of emacs, and whether
it was still under active development or no. Some time digging through the
emacs development mailing list turned up a few interesting things.
First and foremost, it should be said that the emacs developers are,
indeed, active. Whenever the project gets around to making a new release,
emacs users will be surprised at how much as been done - more on that
shortly. It was surprising to see that Richard Stallman, the creator of
GNU emacs, remains very active in its development. He may not produce as
much code as he used to, but he is active in the discussions, and still
functions very much as the final decision maker on patches. When
RMS makes a decree, things happen that way.
A reading of Richard's postings indicate a real concern for the utility of
emacs and the creation of a useful user interface. Emacs detractors may
differ, but the fact is that quite a bit of thought is going into how emacs
works.
Development is not the only issue to be found on a list like this, of
course. Back in December Ben Wing requested permission to use parts of the GNU
emacs manual in the XEmacs manual. This sort of reuse would seem to be
just the sort of freedom that the GNU project is working for; XEmacs is
free software, and its manual is licensed under the GPL. Unfortunately,
since the GNU emacs manual is licensed under the GFDL, it is not possible to
reuse portions of it in the XEmacs manual. Mr. Stallman's responses
indicate that he has no problem with this state of affairs:
I did not choose this license with a view to its effects on you; it
is the general FSF policy for manuals. However, the fact that it
is inconvenient for XEmacs does not strike me as a disadvantage.
After all, you have been uncooperative towards us for 10 years, and
you don't see that as a disadvantage. We don't owe you anything,
not even small favors.
The XEmacs developers would appear to have gone away empty-handed.
Shortly thereafter, Steve Youngs showed up with an announcement of a brand new emacs fork
called SXEmacs. It appears to be a new
version of XEmacs with different coding conventions, Windows support
removed, and various other changes planned. Not much discussion resulted,
but Mr. Youngs is still working on SXEmacs.
At the end of January, Per Abrahamsen proposed that emacs go into a "regression
fixes only" freeze so that a release could actually happen. Nobody even
responded.
On February 7, Richard Stallman noted that
he had rushed out version 21.4, which adds a single security fix to 21.3.
This move surprised a number of developers who had been telling people
about the great new features 21.4 would have. Richard suggested instead
that the next release should be version 22, since "It has plenty of
new features." A plan to use
negative version numbers for test releases (e.g. 22.1.-998) was,
fortunately, turned down.
So what will be in emacs 22.1, when it comes out? Your editor grabbed the
CVS version to play with, and found a few things:
- Many things are now bundled with the emacs source distribution;
these include Leim and the emacs Lisp manual.
- New systems supported include Cygwin, Linux on S/390, and Mac
OS X.
- A change that may surprise some users: clicking on a URL with the left
mouse button will now cause emacs to follow the link. The old
behavior (simply moving point to the indicated location) can be had by
holding the mouse button for half a second.
- The GTK+ toolkit is now supported.
- Many modes have seen major improvements; these include gnus, info,
SQL, MH-E, cc, and more.
- Drag-and-drop operation is now supported.
- Mouse wheel support is enabled by default. There appears to be some
logic in the new mouse wheel code which causes the number of lines
scrolled to increase if multiple wheel events come in a short time;
your editor found the experience to be somewhat disorienting.
- A number of new modes have been added, including conf-mode (configuration
file editing), dns-mode (for bind master files), flymake (on-the-fly
source code syntax checking), thumbs (image thumbnail display), and cua
(which provides key bindings which will be more familiar to Windows
users).
There are hundreds of other changes; the NEWS
file has all the detail anybody could want. As for when emacs users
will see all these changes: it's hard to say. Mr. Stallman has never been
willing to project release dates for software. In this case, back in
December, all he would commit to was:
"It isn't around the corner, but I hope we are getting closer to
it."
(
Log in to post comments)