On Wed, 09 Jun 2010 15:20:21 -0400, Jameson Rollins wrote: > On Wed, 09 Jun 2010 11:20:47 -0700, Dirk Hohndel wrote: > > On Wed, 09 Jun 2010 10:50:15 -0700, Carl Worth wrote: > > I really like this. It's consistent and I'm sure I'll get used to it > > quickly. The only question now is "all messages in a thread" or "all > > open messages in a thread". I'd vote for all. I have situations in which I want either one. The advantage of doing "all open messages" is that it's easy to get the "all messages" behavior by way of an existing command that's already useful in its own right, ("open all messages"). And I think "all open messages" is actually the right default as well. If I do a focused search and end up reading one message that matched the search, then archiving away that message and not others that just happen to be in the same thread. > I actually vote for the behavior Carl suggests. The behavior of > archiving the entire thread can be done by popping out to the search and > applying notmuch-search-archive-thread to the thread with: > > (define-key notmuch-search-mode-map "a" 'notmuch-search-archive-thread) Or not. ;-) I actually want to also fix the search mode commands like this to only operate on messages that matched the (original search). We had behavior that limited these commands to matching messages once, but that was broken because it re-ran the search to find the list. So that led to behavior like: -inbox # archive all messages in the thread Then if the user realized that was a mistake, trying: +inbox # new search now matches nothing, so no effect Our stop-gap solution here was to re-run a search with fewer restrictions if the first search returned an empty list. The correct solution is to remember the list of messages that matched the first time and always operate on those. That will fix the above problem and also avoid the race condition that can currently happen if notmuch new is being run asynchronously from emacs. (The race is that the user can thing he's archiving a thread with a single message but can actually archive many messages that arrived since the original search because the 'a' command is re-running the search.) -Carl -- carl.d.worth@intel.com