Re: [PATCH v4 01/16] add util/search-path.{c, h} to test for executables in $PATH
[notmuch-archives.git] / ca / 015fb1b13ca61ed6a0a67b7feea134572d1c26
1 Return-Path: <MarkR.Anderson@amd.com>\r
2 X-Original-To: notmuch@notmuchmail.org\r
3 Delivered-To: notmuch@notmuchmail.org\r
4 Received: from localhost (localhost [127.0.0.1])\r
5         by olra.theworths.org (Postfix) with ESMTP id 764754196F0\r
6         for <notmuch@notmuchmail.org>; Fri,  9 Apr 2010 12:44:16 -0700 (PDT)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: -0.701\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=-0.701 tagged_above=-999 required=5\r
12         tests=[BAYES_40=-0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=unavailable\r
13 Received: from olra.theworths.org ([127.0.0.1])\r
14         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
15         with ESMTP id TacxgXK6eNY1 for <notmuch@notmuchmail.org>;\r
16         Fri,  9 Apr 2010 12:44:13 -0700 (PDT)\r
17 Received: from VA3EHSOBE001.bigfish.com (va3ehsobe001.messaging.microsoft.com\r
18         [216.32.180.11])\r
19         by olra.theworths.org (Postfix) with ESMTP id 46E1A431FC1\r
20         for <notmuch@notmuchmail.org>; Fri,  9 Apr 2010 12:44:13 -0700 (PDT)\r
21 Received: from mail20-va3-R.bigfish.com (10.7.14.242) by\r
22         VA3EHSOBE001.bigfish.com (10.7.40.21) with Microsoft SMTP Server id\r
23         8.1.340.0; Fri, 9 Apr 2010 19:44:11 +0000\r
24 Received: from mail20-va3 (localhost.localdomain [127.0.0.1])   by\r
25         mail20-va3-R.bigfish.com (Postfix) with ESMTP id 00ABE2A814E;\r
26         Fri,  9 Apr 2010 19:44:11 +0000 (UTC)\r
27 X-SpamScore: -31\r
28 X-BigFish:\r
29  VPS-31(zz1803M1432P98dN179dN1521M1442Jzz1202hzzz32i467h2a8h6bh43h61h)\r
30 X-Spam-TCS-SCL: 0:0\r
31 X-FB-SS: 5,\r
32 Received: from mail20-va3 (localhost.localdomain [127.0.0.1]) by mail20-va3\r
33         (MessageSwitch) id 1270842249470576_17091;\r
34         Fri,  9 Apr 2010 19:44:09 +0000 (UTC)\r
35 Received: from VA3EHSMHS019.bigfish.com (unknown [10.7.14.253]) by\r
36         mail20-va3.bigfish.com (Postfix) with ESMTP id 6FCA9C1004D;\r
37         Fri,  9 Apr 2010 19:44:09 +0000 (UTC)\r
38 Received: from ausb3extmailp01.amd.com (163.181.251.8) by\r
39         VA3EHSMHS019.bigfish.com (10.7.99.29) with Microsoft SMTP Server (TLS)\r
40         id 14.0.482.39; Fri, 9 Apr 2010 19:44:07 +0000\r
41 Received: from ausb3twp02.amd.com ([163.181.250.38])    by\r
42         ausb3extmailp01.amd.com (Switch-3.2.7/Switch-3.2.7) with SMTP id\r
43         o39JeuRZ023793; Fri, 9 Apr 2010 14:40:59 -0500\r
44 X-WSS-ID: 0L0MK59-02-44V-02\r
45 X-M-MSG: \r
46 Received: from sausexhtp01.amd.com (sausexhtp01.amd.com [163.181.3.165])\r
47         (using TLSv1 with cipher RC4-MD5 (128/128 bits))        (No client certificate\r
48         requested)      by ausb3twp02.amd.com (Tumbleweed MailGate 3.7.2) with ESMTP\r
49         id 2AAFAC86EC;  Fri,  9 Apr 2010 14:43:57 -0500 (CDT)\r
50 Received: from optimon.amd.com (163.181.34.104) by sausexhtp01.amd.com\r
51         (163.181.3.165) with Microsoft SMTP Server (TLS) id 8.2.234.1;\r
52         Fri, 9 Apr 2010 12:44:02 -0700\r
53 Received: from mhdc-ns01.amd.com (mhdc-ns01.amd.com [165.204.35.147])   by\r
54         optimon.amd.com (8.12.10/8.12.10) with ESMTP id o39Ji1nJ009763;\r
55         Fri, 9 Apr 2010 14:44:01 -0500\r
56 Received: from testarossa.amd.com (testarossa.amd.com [165.204.147.44]) by\r
57         mhdc-ns01.amd.com (8.13.8+Sun/8.13.8) with ESMTP id o39Jhktm026412;\r
58         Fri, 9 Apr 2010 13:43:46 -0600 (MDT)\r
59 Received: (from manderso@localhost)     by testarossa.amd.com\r
60         (8.13.1/8.13.1/Submit) id o39JhjxX027582; Fri, 9 Apr 2010 13:43:45 -0600\r
61 X-Authentication-Warning: testarossa.amd.com: manderso set sender to\r
62         MarkR.Anderson@amd.com using -f\r
63 From: Mark Anderson <MarkR.Anderson@amd.com>\r
64 To: Carl Worth <cworth@cworth.org>, "notmuch\@notmuchmail.org"\r
65         <notmuch@notmuchmail.org>\r
66 Subject: Re: Initial attempt at a "merge window" for notmuch\r
67 In-Reply-To: <87fx34twrj.fsf@yoom.home.cworth.org>\r
68 References: <87hbnktx1c.fsf@yoom.home.cworth.org>\r
69         <87fx34twrj.fsf@yoom.home.cworth.org>\r
70 Date: Fri, 9 Apr 2010 13:43:45 -0600\r
71 Message-ID: <3wdpr282yz2.fsf@testarossa.amd.com>\r
72 MIME-Version: 1.0\r
73 Content-Type: text/plain; charset="us-ascii"\r
74 X-Virus-Scanned: ClamAV version 0.87.1,\r
75         clamav-milter version 0.87 on optimon.amd.com\r
76 X-Virus-Status: Clean\r
77 X-Reverse-DNS: unknown\r
78 X-BeenThere: notmuch@notmuchmail.org\r
79 X-Mailman-Version: 2.1.13\r
80 Precedence: list\r
81 List-Id: "Use and development of the notmuch mail system."\r
82         <notmuch.notmuchmail.org>\r
83 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
84         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
85 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
86 List-Post: <mailto:notmuch@notmuchmail.org>\r
87 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
88 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
89         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
90 X-List-Received-Date: Fri, 09 Apr 2010 19:44:16 -0000\r
91 \r
92 On Fri, 9 Apr 2010 11:29:20 -0500, Carl Worth <cworth@cworth.org> wrote:\r
93 > On Fri, 09 Apr 2010 09:23:27 -0700, Carl Worth <cworth@cworth.org> wrote:\r
94 > >      For my merge window, I also want something that can't be obtained\r
95 > >      today. I want to see all threads that contain at least one message\r
96 > >      that matches my date range and at least one message that doesn't\r
97 > >      have the "merged" or "postponed" tag.\r
98 > ...\r
99 > >      I'm not sure how to best provide the ability to express the result\r
100 > >      I want here.\r
101\r
102 > Of course, it's the same set-theoretic operation I described earlier. I\r
103 > want the set of threads having messages matching:\r
104\r
105 >       tag:notmuch and <date-range>\r
106\r
107 > intersected with the set of threads having messages matching:\r
108\r
109 >       tag:notmuch and not ("merged" or "postponed")\r
110\r
111 > So I've got uses cases for set-difference and intersection already. Now\r
112 > we just need some search syntax to express that.\r
113\r
114 \r
115 Can we just start grouping with a set:( ) or { } on the command line?\r
116 I'm guessing the parentheses are slightly easier.\r
117 \r
118    set:( tag:notmuch and <date-range> ) \r
119      isect \r
120    set:( tag:notmuch and not (tag:merged or tag:postponed) )\r
121 \r
122 Isn't that close to what you're asking for?\r
123 \r
124 It seems easy enough, and making the set:( explicit keeps you from\r
125 inventing a new quoting syntax if you tried to say \r
126 \r
127   set:"tag:notmuch and <date-range>" \r
128 \r
129 then users get to play shell-quote-mambo to actually use this outside of\r
130 a client if they want (or think they want) quotes used in their search.\r
131 \r
132 You can reuse the "and" and "or" term for set math, unless you are\r
133 averse to overloading, then isect, union are explicit enough about the\r
134 terms that you could infer the "set:" term for searches:\r
135 \r
136     tag:notmuch and <date-range> isect not ( tag:postponed or tag:merged ) \r
137 \r
138 But at the cost of introducing a new order of ops hierarchy.  I'm not\r
139 sure if you want to go there either.\r
140 \r
141 Just thinking about completeness, I wonder if there are some searches\r
142 for threads that aren't currently available.\r
143 \r
144 You could introduce a search modifier that would allow you to treat a\r
145 tag on a message in a thread as a tag on the entire thread, so that if\r
146 you have tag:mute on on message and tag:merged on another message in the\r
147 same thread, currently that does match:\r
148 \r
149   tag:merged and not tag:mute\r
150 \r
151 But maybe you wanted only the THREADS instead of THREAD CONTAINS\r
152 searching.\r
153 \r
154 I guess we're hampered by the fact that a thread object isn't a separate\r
155 object from the messages which comprise it's conversation, so we can't\r
156 look at the tags on a thread separately from the tags on messages in the\r
157 thread.  And maybe we don't want to.\r
158 \r
159 Actually, this is where we differ slightly from gmail.  They have tags\r
160 on threads, and unread tags on messages.\r
161 \r
162 I don't know that there's value in distinguishing between tags on a\r
163 thread and tags on a message in a thread when there isn't an object in\r
164 the mailstore that actually corresponds to a thread.\r
165 \r
166 Hmmm, this isn't clear enough, so I'll just stop the rambling, but let\r
167 it stand.\r
168 \r
169 -Mark\r
170 \r
171 P.S. Sometimes I write a long note and don't get to the last sentence\r
172 for an hour or two.  I can be funny that way.\r
173 \r