Emacs 22.1

02 Sep 2007

Did you know emacs finally popped out a new release? The last release was in Feb 6, 2005! Yes 2.5 years ago. You probably have been using a snapshotted version, but now it's time to upgrade to the real version. The list of changes is kinda long: 230K of raw text. I mostly use emacs in the terminal (not GUI), on Mac OSX, and mostly for programming. Here's my greatest hits.

Mac OS X Support

Finally official and supported. This is more a big deal if you use a GUI. For terminal users, the following key remapping command may be useful

** The variable `mac-command-key-is-meta' is obsolete.  Use
`mac-command-modifier' and `mac-option-modifier' instead.


ruler-mode is neato.

display-battery-mode -- more toys!

;; turn off the splash screen on startup
(setq inhibit-splash-screen t)

New major modes

python-mode was finally added. ruby-mode, javascript/emacs-script-mode still absent. Boo!

dns master files, and cfengine config file however get their own mode.

conf-file major mode

conf-mode is a new major mode for editing conf file. Apparently it can recongize .cf, .config.properties, .desktop, .ini, and "many others".

If emacs doesn't recognize your conf file, I suppose you need to add something like this to your .emacs

(add-to-list 'auto-mode-alist '("\\.XXX$" . conf-mode))

cc-mode improvements

all sorts of parsing improvements to C++

Doc-comment highlighting. For you javadocs can now be color coded. Oddly, no support Doxygen! They they the system is plug-inable. So maybe this can be fixed. More here

Doxygen does support javadoc style comments in C++ code, so if you do that, then add this to your .emacs

(add-hook 'c++-mode-hook
    (function (lambda ()
        (add-to-list 'c-doc-comment-style '(c++-mode . javadoc))))

Other programming stuff improved

More improvements to M-x compile to support more messages

Lots of improvements and additions in etags for: C, C++, HTML, PHP, Lua, perl, prolog



** The new package flymake.el does on-the-fly syntax checking of program
source files. See the Flymake's Info manual for more details.

The idea is thatin the background, your source file will be get compiled and proactively tell you where you made mistakes. I haven't tried it yet, but it sounds interesting.

Wow, there is a movie demo-ing this feature. A movie on emacs. Amazing. It's oddly effective. Oh yeah, flymake is cool too. I may yet need to upgrade to GUI version of emacs.

File Operations

*** The new hook 'before-save-hook' is invoked by `basic-save-buffer'
before saving buffers.  This allows packages to perform various final
tasks.  For example, it can be used by the copyright package to make
sure saved files have the current year in any copyright headers.

I don't remember where I saw this, but I'm told this is also Emacs 22

;; Trick for emacs 22
;; if the script has a first line of "#!" then do chmod a+x
(add-hook 'after-save-hook 'executable-make-buffer-file-executable-if-script-p)