[PATCH] emacs: Make the queries used in the all-tags section
Austin Clements
amdragon at mit.edu
Wed May 25 07:44:51 PDT 2011
On Wed, May 25, 2011 at 6:04 AM, Daniel Schoepe
<daniel.schoepe at googlemail.com> wrote:
> On Wed, 25 May 2011 00:10:43 -0400, Austin Clements <amdragon at mit.edu> wrote:
>> Out of curiosity, what use cases do you envision for this? So far
>> I've only heard two, both of which seem like great ideas, but neither
>> of which require such a heavy-handed solution: displaying unread
>> counts for tags rather than total counts, and hiding unused tags.
>
> Another thing I use this for, is to hide messages/threads with a
> "killed"-tag.
Ah, interesting.
> I think a sensible compromise would be to allow either a function or a
> string that is appended (which people could set to "and tag:unread") for
> the proposed configuration variable and additionally to add a
> variable that lists tags that should be hidden (which would also be
> easily modifiable in M-x customize).
In principle, I completely agree, but the little parser in my head
screams "parse error! parse error!" when I feed it "and tag:unread"
and that bothers me.
May I suggest a slightly different way of looking at this that will
quell my inner parser? Instead of configuring a weird "query
fragment" like "and tag:unread" to be string-concatenated with the tag
query, configure a *filter* query like merely "tag:unread" that
narrows down what you'd like to be counted within the scope of a tag.
The implementations are hardly different---simply generate the query
"tag:<tag> and ( <filter> )"---but a filter is a well-formed query,
not some string fragment. Furthermore, the user can't get bitten by
precedence and wind up with a query that counts messages that don't
even have that tag.
More information about the notmuch
mailing list