Initial attempt at a "merge window" for notmuch

Michal Sojka sojkam1 at fel.cvut.cz
Sat Apr 10 13:24:01 PDT 2010


On Fri, 09 Apr 2010, Mark Anderson wrote:
> On Fri, 9 Apr 2010 11:29:20 -0500, Carl Worth <cworth at cworth.org> wrote:
> > Of course, it's the same set-theoretic operation I described earlier. I
> > want the set of threads having messages matching:
> > 
> > 	tag:notmuch and <date-range>
> > 
> > intersected with the set of threads having messages matching:
> > 
> > 	tag:notmuch and not ("merged" or "postponed")
> > 
> > So I've got uses cases for set-difference and intersection already. Now
> > we just need some search syntax to express that.
> > 
> 
> Can we just start grouping with a set:( ) or { } on the command line?
> I'm guessing the parentheses are slightly easier.
> 
>    set:( tag:notmuch and <date-range> ) 
>      isect 
>    set:( tag:notmuch and not (tag:merged or tag:postponed) )

If we go in this direction, I think that the syntax should explicitely
state the it is the set of threads and not the set of messages. So maybe
something like

  threads:( ... ) isect threads:( ... )

> Just thinking about completeness, I wonder if there are some searches
> for threads that aren't currently available.

I think that having a way for searching all threads started by a certain
person (e.g. project maintainer) would be very useful. For this we may
need some search operator for specifying the position of the message in
the thread. For example: notmuch search from:cworth and position:first.

In id:4b9d4e24.0f67f10a.31e3.ffffadf7 at mx.google.com, Sandra asked for
something like: notmuch search not threads:( from:me and position:last )

-Michal


More information about the notmuch mailing list