I have been working in some enhancements to the emacs UI address completion, and this weekend I was able to find a way to finish the implementation to an acceptable (to me) state.
The gist of it is allowing the completion in Emacs to match against any part of the addresses returned by the notmuch-addrlookup command. I could not find a way to have completing-read behave that way, the strategy of matching anchored to the beginning of strings is in-grained in its design for what I've seen. The current implementation uses Ido, included with Emacs at least in version 23, and is available at: git://git.latertulia.org/servilio/notmuch.git In the branch complete-name-and-address-v2. There is a web interface if you prefer to see the changes, just use "http" as the protocol in your web browser. The first few changes in the branch are fixes and small enhancements I found while working on this, and I have sent them as separate patches for acceptance as they are independent of this work. All of this has been in use (in the form of the branch without "-v2") for almost a year. I started a message in August but somehow successfully forgot completely about it. Regards, Servilio