1 Return-Path: <markwalters1009@gmail.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 F366A431E62
\r
6 for <notmuch@notmuchmail.org>; Wed, 15 Feb 2012 01:02:54 -0800 (PST)
\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
\r
11 X-Spam-Status: No, score=0.201 tagged_above=-999 required=5
\r
12 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,
\r
13 FREEMAIL_ENVFROM_END_DIGIT=1, FREEMAIL_FROM=0.001,
\r
14 RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled
\r
15 Received: from olra.theworths.org ([127.0.0.1])
\r
16 by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)
\r
17 with ESMTP id OE6iGE1nwG3h for <notmuch@notmuchmail.org>;
\r
18 Wed, 15 Feb 2012 01:02:52 -0800 (PST)
\r
19 Received: from mail-ww0-f45.google.com (mail-ww0-f45.google.com
\r
20 [74.125.82.45]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client
\r
21 certificate requested) by olra.theworths.org (Postfix) with ESMTPS id
\r
22 89F02431FBD for <notmuch@notmuchmail.org>; Wed, 15 Feb 2012 01:02:52 -0800
\r
24 Received: by wgbdt12 with SMTP id dt12so647956wgb.2
\r
25 for <notmuch@notmuchmail.org>; Wed, 15 Feb 2012 01:02:51 -0800 (PST)
\r
26 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
\r
27 h=from:to:cc:subject:date:message-id:x-mailer;
\r
28 bh=xfWa4iSfYeIcjj54sgfNbQwlGO+eZFCPcU7+0dVNWD0=;
\r
29 b=kU5Yh3GfY3sHgGT1uUtmb4bYEtpsmE1/FwMQnaj4XVd5nnnM7O2jXUlve1uujDt0zf
\r
30 yk7W0Kr+B6vXalkSjLXtR3KN6YiTnpzqyEoeN+zN0Yba8hN3dAkkzRLMdn0NUY/q/3Ho
\r
31 kbiowFq4m2ofEKvbWPWZhwGlu0amuEiTbKHRo=
\r
32 Received: by 10.216.133.91 with SMTP id p69mr9154635wei.30.1329296571188;
\r
33 Wed, 15 Feb 2012 01:02:51 -0800 (PST)
\r
34 Received: from localhost (94-192-233-223.zone6.bethere.co.uk.
\r
35 [94.192.233.223]) by mx.google.com with ESMTPS id
\r
36 da8sm32094410wib.6.2012.02.15.01.02.48 (version=TLSv1/SSLv3 cipher=OTHER);
\r
37 Wed, 15 Feb 2012 01:02:49 -0800 (PST)
\r
38 From: Mark Walters <markwalters1009@gmail.com>
\r
39 To: notmuch@notmuchmail.org
\r
40 Subject: [RFC PATCH v5 00/11] Add NOTMUCH_MESSAGE_FLAG_EXCLUDED flag
\r
41 Date: Wed, 15 Feb 2012 09:03:28 +0000
\r
42 Message-Id: <1329296619-7463-1-git-send-email-markwalters1009@gmail.com>
\r
43 X-Mailer: git-send-email 1.7.2.3
\r
44 X-BeenThere: notmuch@notmuchmail.org
\r
45 X-Mailman-Version: 2.1.13
\r
47 List-Id: "Use and development of the notmuch mail system."
\r
48 <notmuch.notmuchmail.org>
\r
49 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
\r
50 <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
\r
51 List-Archive: <http://notmuchmail.org/pipermail/notmuch>
\r
52 List-Post: <mailto:notmuch@notmuchmail.org>
\r
53 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
\r
54 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
\r
55 <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
\r
56 X-List-Received-Date: Wed, 15 Feb 2012 09:02:55 -0000
\r
58 This is v5 of the exclude flag series. (v4 was at
\r
59 id:"874nv9rv79.fsf@qmul.ac.uk")
\r
61 This email has 4 sections, an overview of what the patch set is
\r
62 trying to achieve, a summary of the changes from v4, some comments on
\r
63 the status of the patches in the series and some remaining queries.
\r
67 The current implementation of exclude-tags does not use excludes in
\r
68 notmuch-show.c (and thus not in notmuch-show.el). Thus when selecting
\r
69 a thread in the search view claiming one matched message you may get
\r
70 several matches in show all but one of which are tagged excluded.
\r
72 The trivial change of adding excludes to show does not work as easily
\r
73 as one would like. For example if you try notmuch-show
\r
74 id:<deleted message> you get no results (see
\r
75 id:"871uqvgrnm.fsf@qmul.ac.uk" for more discussion).
\r
77 This set moves in a different direction. It returns all the results
\r
78 but marks excluded messages with a new flag
\r
79 (NOTMUCH_MESSAGE_FLAG_EXCLUDED) and lets the consumer decide what to
\r
80 do with them. For example it could start with the message closed in
\r
81 emacs show view, it could colour the headerline differently etc.
\r
84 This has been rebased on top of Jani's notmuch-show command line
\r
87 The function notmuch_thread_get_flag_messages function added in v4
\r
88 has been removed. Unfortunately (as Austin pointed out) that patch
\r
89 broke binary compatibility so should be deferred until we wish to
\r
90 bump the library version.
\r
92 I also fixed a minor bug and a style comment in the emacs part of
\r
96 The first 3 patches in the series just add a --no-exclude option
\r
97 to notmuch-search.c and notmuch-count.c to "turn off" the excluding.
\r
98 (The 3 patches are one for the C code, one for the man pages and
\r
99 one for the tests.) I think this change is desirable independently
\r
100 of the rest of the series (and indeed Jameson had a use for it
\r
101 id:"878vk943ci.fsf@servo.finestructure.net").
\r
105 1) As with v4 the api notmuch_query_set_omit_excluded_messages
\r
106 remains: without it I can't see how a user can pass a
\r
107 notmuch_messages_t object around which does not contain the
\r
108 excluded messages. See id:"87fweusabh.fsf@qmul.ac.uk".
\r
110 2) If we have a query which overrides the excludes such as "blah and
\r
111 tag:deleted" should the tag:deleted messages still be marked excluded?
\r
112 The current implementation does mark them excluded but my preference
\r
113 would be not to. What do people think? At the moment 2 tests fail but
\r
114 the correct output depends on the above so I will leave them until we
\r
115 have a decision on this.
\r
117 There are some other queries mentioned in v4 but the two above are
\r
118 the significant ones.
\r
127 cli: add --no-exclude option to count and search.
\r
128 cli: Add --no-exclude to the man pages for search and count
\r
129 test: add tests for new cli --no-exclude option
\r
130 lib: Rearrange the exclude code in query.cc
\r
131 lib: Make notmuch_query_search_messages set the exclude flag
\r
132 lib: Add the exclude flag to notmuch_query_search_threads
\r
133 cli: Make notmuch-show respect excludes.
\r
134 man: update manpage for notmuch-show --no-exclude option
\r
135 test: update tests to reflect the exclude flag
\r
136 cli: omit excluded messages in results where appropriate.
\r
137 emacs: show: recognize the exclude flag.
\r
139 emacs/notmuch-show.el | 19 +++++++++++-
\r
140 lib/notmuch-private.h | 8 ++++-
\r
141 lib/notmuch.h | 16 ++++++++--
\r
142 lib/query.cc | 74 ++++++++++++++++++++++++++++++++++++++------
\r
143 lib/thread.cc | 18 +++++++++--
\r
144 man/man1/notmuch-count.1 | 7 ++++
\r
145 man/man1/notmuch-search.1 | 7 ++++
\r
146 man/man1/notmuch-show.1 | 7 ++++
\r
147 notmuch-count.c | 19 ++++++++----
\r
148 notmuch-search.c | 26 ++++++++++++----
\r
149 notmuch-show.c | 31 ++++++++++++++++--
\r
150 test/count | 21 +++++++++++++
\r
151 test/crypto | 9 +++++-
\r
152 test/encoding | 2 +-
\r
154 test/maildir-sync | 1 +
\r
155 test/multipart | 4 +-
\r
156 test/search | 5 +++
\r
157 test/thread-naming | 16 +++++-----
\r
158 19 files changed, 246 insertions(+), 50 deletions(-)
\r