Cygwin and Emacs 22

Emacs long-awaited version 22.1 was released on 2007-07-02, and a package for Cygwin was available a few months later. The Cygwin package is still experimental, so Cygwin's setup program will select 21 by default.

I've been hanging out for the new features of 22, happily use it in Linux daily and want to also use it in my Cygwin. It's pretty simple to get it working in Cygwin (it's installable from setup.exe), but since it's an experimental package, you need to take notice of the version of emacs you're installing and make sure you cycle through the install versions and pick 22.1-x for these packages:

  • emacs
  • emacs-X11
  • emacs-el (you will need to install this, even if you're not interested in the elisp code, because the pre-compiled lisp code for Cygwin has some errors that cause the .elc to not load properly :( )

There's also an important gotcha: every time you run setup.exe to install/remove Cygwin packages, you need to make sure that these three emacs ones are cycled to "Keep" version 22! Otherwise you'll be unpleasantly surprised that emacs 21 is installed...

Also: version 22 seems rather unstable for cygwin. It frequently crashes on my employer's WinXP SP2 platform. I'm not sure why, usually it happens in comint modes (like shell mode, for instance) but it can just crash mid-way through lisp operations also. This is annoying, but not critical (unless you're in the middle of a vi/emacs war with colleagues). My advice: make sure autosave is turned on, and make use of M-x recover-session.

The Free Software Foundation announced on 2008-03-26 that version 22.2 of emacs has been released. Maybe when the cygwin package is built, it'll be more stable. In the mean-time, I find the new features too invaluable to move back to 21, so I'll put up with the occasional crash (and save my work often!)

2008-05-07T1656+10 Update:

I've just installed the version of emacs 22.2 compiled for Cygwin, prepared by Angelo Graziosi. It seems to be much more stable than the 22.1 version in Cygwin's repository, plus 22.2 has a few minor feature enhancements that are nice to boot!