This verson is not intended for general use/review but so Austin can see my attempt at integrating his regexp tag matching code into the added/deleted code. However, of course, comments from anyone else are gratefully received. Patch 1/7 is basically Austin's patch id:1392226351-31440-1-git-send-email-amdragon@mit.edu with a small bugfix. Patches 2-7 are the updated version of id:1390087855-26194-1-git-send-email-markwalters1009@gmail.com There are three comments for Patch 4 (the key one of 2-7). First I use (cons 'deleted/'added/nil tag) as the key for the hashtable lookup. Secondly the deleted/added tag formatting is now applied on top of the normal tag formatting (as suggested by Austin). Thirdly: this has one slightly tricky corner case: a user could hide the tag normally but want it shown when deleted. This has to be special cased in the code the avoid applying e.g. propertize to the output of the first stage formatting: namely nil. A possible alternative would be to treat all empty-strings as "omit this tag" but I am not sure what things like images look like to emacs. Best wishes Mark Austin Clements (1): Make keys of notmuch-tag-formats regexps and use caching Mark Walters (6): emacs: tag split customise option for format-tags into a widget emacs: tag: add customize for deleted/added tag formats emacs: show: mark tags changed since buffer loaded emacs: show: use orig-tags for tag display emacs: search: use orig-tags in search emacs: tree: use orig-tags in search emacs/notmuch-show.el | 6 +- emacs/notmuch-tag.el | 186 ++++++++++++++++++++++++++++++++++++++----------- emacs/notmuch-tree.el | 9 ++- emacs/notmuch.el | 40 ++++++---- test/test-lib.el | 5 ++ 5 files changed, 184 insertions(+), 62 deletions(-) -- 1.7.9.1