Another quick emacs hack: savebuflist.el. This is a tiny package consisting of two functions: savebuflist-save and savebuflist-restore. The former saves off a list of all buffers that are currently visiting files to a given file. The latter reads a list of filenames from a given file and visits every accessible file in that list. This probably exists in some other form, but I thought I'd reinvent the wheel anyway (it was easier and faster than finding an existing package that does this).

This hack has a couple of uses. First (and why I wrote it), it allows you to save off a set of files as an editing session. When I'm working on various projects, I often have a bunch of files related to that project (e.g. header files open for reference) that I always have to open each time I start work on that project. Second, you can dump a bunch of filenames into a file and use that file to jumpstart an editing session. For example (there are better ways of doing this within emacs), I might want to edit all header files that contain the word 'FIXME':

$ find . -name '*.h' -print | \
    xargs grep -l 'FIXME' > FIXME-files

Then within emacs: M-x savebuflist-restore RET FIXME-files RET. Voila, you're presented with a buffer list of all of those files.