Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 7BD84418C34 for ; Sat, 10 Apr 2010 13:24:08 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -0.001 X-Spam-Level: X-Spam-Status: No, score=-0.001 tagged_above=-999 required=5 tests=[BAYES_20=-0.001] autolearn=unavailable Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sABLMbZmTCxj for ; Sat, 10 Apr 2010 13:24:07 -0700 (PDT) Received: from max.feld.cvut.cz (max.feld.cvut.cz [147.32.192.36]) by olra.theworths.org (Postfix) with ESMTP id E29B0418C36 for ; Sat, 10 Apr 2010 13:24:06 -0700 (PDT) Received: from localhost (unknown [192.168.200.4]) by max.feld.cvut.cz (Postfix) with ESMTP id 55A7219F33A6; Sat, 10 Apr 2010 22:24:06 +0200 (CEST) X-Virus-Scanned: IMAP AMAVIS Received: from max.feld.cvut.cz ([192.168.200.1]) by localhost (styx.feld.cvut.cz [192.168.200.4]) (amavisd-new, port 10044) with ESMTP id MzSJgW55r9l8; Sat, 10 Apr 2010 22:24:03 +0200 (CEST) Received: from imap.feld.cvut.cz (imap.feld.cvut.cz [147.32.192.34]) by max.feld.cvut.cz (Postfix) with ESMTP id B6BF619F3327; Sat, 10 Apr 2010 22:24:03 +0200 (CEST) Received: from wsheee.localdomain (unknown [213.29.198.144]) (Authenticated sender: sojkam1) by imap.feld.cvut.cz (Postfix) with ESMTPSA id 33AA8FA003; Sat, 10 Apr 2010 22:24:03 +0200 (CEST) Received: from wsh by wsheee.localdomain with local (Exim 4.69) (envelope-from ) id 1O0hDm-0001qX-Aa; Sat, 10 Apr 2010 22:24:02 +0200 From: Michal Sojka To: Mark Anderson , Carl Worth , "notmuch\@notmuchmail.org" Subject: Re: Initial attempt at a "merge window" for notmuch In-Reply-To: <3wdpr282yz2.fsf@testarossa.amd.com> References: <87hbnktx1c.fsf@yoom.home.cworth.org> <87fx34twrj.fsf@yoom.home.cworth.org> <3wdpr282yz2.fsf@testarossa.amd.com> Date: Sat, 10 Apr 2010 22:24:01 +0200 Message-ID: <87ochrdpjy.fsf@wsheee.2x.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Apr 2010 20:24:08 -0000 On Fri, 09 Apr 2010, Mark Anderson wrote: > On Fri, 9 Apr 2010 11:29:20 -0500, Carl Worth 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 > > > > 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 ) > 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@mx.google.com, Sandra asked for something like: notmuch search not threads:( from:me and position:last ) -Michal