Emacs Daemon and Handling Projects

Posted on Mon 05 July 2010 by alex in geek

All my machines have been running persistent Emacs daemons for some time now. Every time I edit a web-page text area or a tweak a configuration file the Emacs client whizzes me to the file with efficient enthusiasm.

However I'm still running individual sessions for each "project" I work on. For example at work I currently have one for the main source tree, one for the standalone Java project and one for a kernel I'm working on. This is in no small part due to the rather basic project support I hacked up some time ago.

While conceptually switching my various project variables to be buffer locals would solve a lot of problems there would be a mess of smarts to improve on and I currently can't justify the diversion. I've attempted to get things like CEDET and JDEE working before but with limited success. They all seem overly heavy-weight solutions to the things I'd like it to achieve:

  • Associate new open files with the "project" they are in

  • Make M-x compile do the right thing:

    • Select compile command from per-project compile history
    • Separate compile window for each project
  • Make M-x find-tag behave in the project context

As I say simple needs. Once I have all that working then current pain points like having multiple IRC channels over multiple instances of Emacs can go away and everything is literately only a few key-strokes away.

Dear lazyweb, what lightweight project management tools exist out there and which are really good?

EDIT TO ADD: I'm going to have a look at eproject. Other suggestions still welcome though :-)