This is a rework of the series [0]. It addresses some of the comments from Dmitry, and extends the scope to clean up the tagging interface in both search and show mode. [0] id:"1333354853-25729-1-git-send-email-jrollins@finestructure.net" The goal here is to present a cleaner tagging interface to the user. We want things to be simple, not confusing or redundant. To that end I have extended the notmuch-tag function to handle prompting if needed. The main user-facing functions are now: notmuch-search-tag tag thread or region notmuch-search-tag-all tag all thread in search buffer notmuch-show-tag tag message notmuch-show-tag-all tag all message in show buffer I think this provides a much cleaner interface that is more useful to users. In particular, this improves the ability to tag regions in search mode. I have eliminated two user-facing functions (notmuch-search-tag-thread and notmuch-show-tag-message) since they are now redundant. This might cause a slight hiccup for those using those functions, but I think it's better in the long run. Unfortunately something in the last patch (last two patches, I guess) is now causing a two of our more esoteric tests to fail. After spending half the day trying to figure out why I'm at a loss. And I don't want all this work to be wasted so I'm submitting it anyway. Hopefully someone (maybe the creator of those tests?) can figure out what's going on. jamie.