On Thu, 03 Dec 2009 14:15:07 -0800, Carl Worth <cworth@cworth.org> wrote: > * Showing a thread where the search matches only a subset of the > thread now opens only the matched messages (in addition to unread > messages). > > This last feature is the big one---the rest all just happened to come > along at the same time. One thing that I often do is read some giant > thread and then tag a single message deep in that thread for dealing > with later. And previously, doing a search for that tag would bring back > the entire thread. Now, it opens only the message I'm actually looking > for. So this is a very welcome change Unfortunately, this change also introduces a major bug. After I do a search such as tag:inbox and then view a resulting thread, (and read it and archive it), then my search results still show that thread result until I manually update the search view. But, if I actually try to view that thread again from the search view, it doesn't work. It previously worked since it would call "notmuch show" with a query string of "thread:foo" but now calls it with "thread:foo and tag:inbox" which now matches no messages. The additional search term wasn't intended to change the returned messages, (since we're passing the --entire-thread option to see all the messages in the thread). It was only intended to restrict which messages get the "match:1" marker added to them. So maybe we need "notmuch show" to accept a second query string to do something like: notmuch show tag:foo --matching tag:inbox which will display all threads with messages matching "tag:foo" but then mark only the messages matching "tag:inbox" with the "match:1" marker for the UI to use. What do you think, Bart? Did you run into a similar issue with the vim interface? -Carl