Christophe Weblog Wiki Code Publications Music

I read my mail through Gnus, an emacs-based news (Usenet, remember that?) and mail reader. (The main reason I do so is documented at Dan Barlow's diary, from an era when I routinely sent out patches by e-mail, and frequently sent out messages saying "please see the attached" while failing to attach anything to the message. Thmutt.)

In the intervening years, I've been accumulating mail accounts, responsibilities, and I've often been frustrated by my inability to search through non-local mail archives. It turns out that the reason I've been unable to do so is largely my own fault: Kai Gro├čjohann wrote nnir.el as an extension to Gnus, and Debian packagers helpfully included that in the emacs-goodies / gnus-bonus-el packages. In the meantime, the Gnus developers quite rightly integrated nnir.el into their distribution, augmenting and extending it over the years, and in particular giving it functionality to swap out search backends depending on the mail server's capabilities.

Unfortunately, the 2003-era version of nnir.el installed by gnus-bonus-el was loaded in preference to that provided by Gnus itself, in an otherwise fairly standard Debian installation of emacs. It was only when I was looking at the source to see how much work it would be to make multiple search backends possible (not too much but more than an afternoon; it's lucky I don't charge by the hour) that I noticed the date in the copyright header, and then that I had three copies of nnir.el installed... come to think of it, this is possibly a sound argument for keeping the dates in the copyright headers of source files up to date.

So, now, I can actually search (separately) my various personal and professional mail accounts. I don't think I can do terribly intelligent combined searches, and of course I still have to contend with Office365's dubious implementation of IMAP. But still, not a bad result.

Ironically, when I went to report all this upstream, I discovered that just last week gnus-bonus-el had been removed from Debian, with this particular issue having been reported three years ago.