On Tue, 29 May 2012 08:00:00 -0700, Jameson Graef Rollins <jrollins@finestructure.net> wrote: > On Mon, May 28 2012, Peter Wang <novalazy@gmail.com> wrote: > > % ./notmuch search --format=json --exclude=true -- thread:0000000000009598 tag:unread > > [{"thread": "0000000000009598", > > "timestamp": 1338231998, > > "date_relative": "Today 05:06", > > "matched": 1, > > "total": 15, > > "authors": "Mark Walters| Peter Wang", > > "subject": "[PATCH v6 3/6] cli: make --entire-thread=false work for format=json.", > > "tags": ["deleted", "draft", "replied", "sent", "unread"]}] > > > > Here is a thread I participated in. From this, my MUA displays "1/15", > > suggesting that there is 1 unread message out of a total of 15. But > > upon opening the thread, there are only 11 messages visible: 4 were > > drafts (possibly deleted) which have been excluded. To the user, it > > looks like some messages went missing. > > > > Therefore I would like search --output=summary --exclude=true > > to report the total number of non-excluded messages. It doesn't need to > > be via the "total" field; a new field would be fine. > > What you have pasted above is --output=json, not --output=summary. The > formats are quite different. What are you asking for a change in? --output=summary is the default. --format=json only changes the surface syntax. % ./notmuch search --output=summary --exclude=true -- thread:0000000000009598 tag:unread thread:0000000000009598 Yest. 05:06 [1/15] Mark Walters| Peter Wang; [PATCH v6 3/6] cli: make --entire-thread=false work for format=json. (deleted draft replied sent unread) > But regardless, I don't think I would like to see the changes you > suggest. I would like for the thread total to list the total number of > messages in the thread, regardless whether they're excluded or not. > Same for the tags. I think I want to continue to see if excluded > messages are in a returned thread. The desire to hide the excluded > messages in the output is why they're marked as hidden/not visible. > > Think about the excludes as acting on the search itself, and less on the > output. We exclude messages from search, but if they show up in a > returned thread we at least acknowledge that they're there. Understood; it's a two-phase process, and I wasn't making the distinction. If it is the expected and useful behaviour, so be it. Maybe there is room for another keyword under --exclude? Peter