[PATCH 2/9] lib: private string map (associative array) API
[notmuch-archives.git] / b1 / 3fbede5a098a0db9e18f3b4f6a62ddb75b004a
1 Return-Path: <amdragon@mit.edu>\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 2F674431FAE\r
6         for <notmuch@notmuchmail.org>; Wed,  9 Oct 2013 09:11:34 -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.7\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5\r
12         tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled\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 1W+yqy0UmPb8 for <notmuch@notmuchmail.org>;\r
16         Wed,  9 Oct 2013 09:11:26 -0700 (PDT)\r
17 Received: from dmz-mailsec-scanner-4.mit.edu (dmz-mailsec-scanner-4.mit.edu\r
18         [18.9.25.15])\r
19         by olra.theworths.org (Postfix) with ESMTP id 7DD85431FAF\r
20         for <notmuch@notmuchmail.org>; Wed,  9 Oct 2013 09:11:26 -0700 (PDT)\r
21 X-AuditID: 1209190f-b7fa08e0000009c6-c0-5255802d6008\r
22 Received: from mailhub-auth-4.mit.edu ( [18.7.62.39])\r
23         by dmz-mailsec-scanner-4.mit.edu (Symantec Messaging Gateway) with SMTP\r
24         id 84.F8.02502.D2085525; Wed,  9 Oct 2013 12:11:26 -0400 (EDT)\r
25 Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11])\r
26         by mailhub-auth-4.mit.edu (8.13.8/8.9.2) with ESMTP id r99GBOFW020932; \r
27         Wed, 9 Oct 2013 12:11:25 -0400\r
28 Received: from awakening.csail.mit.edu (awakening.csail.mit.edu [18.26.4.91])\r
29         (authenticated bits=0)\r
30         (User authenticated as amdragon@ATHENA.MIT.EDU)\r
31         by outgoing.mit.edu (8.13.8/8.12.4) with ESMTP id r99GBNDm010359\r
32         (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT);\r
33         Wed, 9 Oct 2013 12:11:24 -0400\r
34 Received: from amthrax by awakening.csail.mit.edu with local (Exim 4.80)\r
35         (envelope-from <amdragon@mit.edu>)\r
36         id 1VTwM6-0005bp-Iq; Wed, 09 Oct 2013 12:11:22 -0400\r
37 Date: Wed, 9 Oct 2013 12:11:21 -0400\r
38 From: Austin Clements <amdragon@MIT.EDU>\r
39 To: Mark Walters <markwalters1009@gmail.com>\r
40 Subject: Re: [PATCH 00/11] Fix search tagging races\r
41 Message-ID: <20131009161121.GR21611@mit.edu>\r
42 References: <1381185201-25197-1-git-send-email-amdragon@mit.edu>\r
43         <87a9ii28kn.fsf@qmul.ac.uk>\r
44 MIME-Version: 1.0\r
45 Content-Type: text/plain; charset=us-ascii\r
46 Content-Disposition: inline\r
47 In-Reply-To: <87a9ii28kn.fsf@qmul.ac.uk>\r
48 User-Agent: Mutt/1.5.21 (2010-09-15)\r
49 X-Brightmail-Tracker:\r
50  H4sIAAAAAAAAA+NgFmpileLIzCtJLcpLzFFi42IRYrdT19VrCA0y2PuK0WL1XB6L6zdnMjsw\r
51         eeycdZfd49mqW8wBTFFcNimpOZllqUX6dglcGZ83Rhfs5K+4d+IxawPjTJ4uRk4OCQETiUu7\r
52         drJC2GISF+6tZ+ti5OIQEtjHKDFt7TUoZwOjxMKO40wQzikmic97V7BDOEsYJS4/WcoE0s8i\r
53         oCIx9cxcFhCbTUBDYtv+5YwgtoiAjsTtQwvYQWxmAWmJb7+bweqFBYwl1u88wQxi8wLVLJ26\r
54         FOwOIYE4iVs3IGbyCghKnJz5hAWiV0vixr+XQHEOsDnL/3GAhDmBVr3YvQxslSjQCVNObmOb\r
55         wCg0C0n3LCTdsxC6FzAyr2KUTcmt0s1NzMwpTk3WLU5OzMtLLdI10cvNLNFLTSndxAgKak5J\r
56         /h2M3w4qHWIU4GBU4uGtKAsNEmJNLCuuzD3EKMnBpCTKO7kOKMSXlJ9SmZFYnBFfVJqTWnyI\r
57         UYKDWUmEN64EKMebklhZlVqUD5OS5mBREue9yWEfJCSQnliSmp2aWpBaBJOV4eBQkuANqAdq\r
58         FCxKTU+tSMvMKUFIM3FwggznARqeC1LDW1yQmFucmQ6RP8WoKCXO6wuSEABJZJTmwfXCks4r\r
59         RnGgV4R5C0CqeIAJC677FdBgJqDB27+HgAwuSURISTUwti6aKOFWHPdA/NGiKfM3xqwPzUy6\r
60         /CuXc9ujQwfKg49bRPOVx3krPsou8T0h9P+bxqk1T86ZTnyUn354+Z+LDA9CmRRmJc25VHni\r
61         vF2g064JRkuX7ryn9cxkRjnjC9W1x3W1N/xYFWV/3NnsxRS71Rcft//VmTS/8XBaPG/Ns9RK\r
62         6bxUxx1PTimxFGckGmoxFxUnAgDmzL5aFQMAAA==\r
63 Cc: notmuch@notmuchmail.org\r
64 X-BeenThere: notmuch@notmuchmail.org\r
65 X-Mailman-Version: 2.1.13\r
66 Precedence: list\r
67 List-Id: "Use and development of the notmuch mail system."\r
68         <notmuch.notmuchmail.org>\r
69 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
70         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
71 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
72 List-Post: <mailto:notmuch@notmuchmail.org>\r
73 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
74 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
75         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
76 X-List-Received-Date: Wed, 09 Oct 2013 16:11:34 -0000\r
77 \r
78 Quoth Mark Walters on Oct 09 at  8:43 am:\r
79\r
80 > On Mon, 07 Oct 2013, Austin Clements <amdragon@MIT.EDU> wrote:\r
81 > > I was hacking on undo support for notmuch-emacs and sort of\r
82 > > accidentally wrote this instead.  This series fixes a set of\r
83 > > well-known races where tagging from search-mode unexpectedly affects\r
84 > > messages that arrived after the search was performed (and hence the\r
85 > > user doesn't know they're tagging them).  We've attacked this a few\r
86 > > times before, but have always run up against something that was\r
87 > > missing.  It turns out the pieces are finally all in place.\r
88 > >\r
89 > > The first five patches just clean various things up in preparation.\r
90 > > Patches 6 and 7 add support for tagging large queries, which would\r
91 > > otherwise become a problem when later patches start using explicit\r
92 > > message ID-based queries for tagging.  The remaining four patches\r
93 > > actually fix the search tagging races using explicit message ID-based\r
94 > > queries.\r
95 > >\r
96 > > It's a fairly long series, but none of the patches are very big.\r
97\r
98 > One more thought on this: what should "*+tag" do if the search buffer is\r
99 > still filling?\r
100\r
101 > As it stands this is a substantial change: previously you could\r
102 > look at the first few threads to make sure the query was doing what you\r
103 > expected and then tag all the matching threads. Now you would have to\r
104 > wait for the buffer to fill and there is not even a clear indication to\r
105 > the user of when that happens (except scroll to the bottom and see if it\r
106 > says "End of search results.")\r
107 \r
108 That's a very interesting point.\r
109 \r
110 Arguably, this is one situation where it's almost certainly safe to\r
111 use the original query: if the search hasn't finished yet, almost\r
112 certainly none of the threads have changed.  So, that's one\r
113 possibility.\r
114 \r
115 Another possibility would be to simply echo "Waiting for all search\r
116 results...  (Press C-g to cancel)" and wait until the search is done.\r
117 \r
118 > Best wishes\r
119\r
120 > Mark\r