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 B861C431FCF
\r
6 for <notmuch@notmuchmail.org>; Sat, 16 Jun 2012 03:22:14 -0700 (PDT)
\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 RlYIo8Dt6qEL for <notmuch@notmuchmail.org>;
\r
18 Sat, 16 Jun 2012 03:22:14 -0700 (PDT)
\r
19 Received: from mail-we0-f181.google.com (mail-we0-f181.google.com
\r
20 [74.125.82.181]) (using TLSv1 with cipher RC4-SHA (128/128 bits))
\r
21 (No client certificate requested)
\r
22 by olra.theworths.org (Postfix) with ESMTPS id A592E431FAE
\r
23 for <notmuch@notmuchmail.org>; Sat, 16 Jun 2012 03:22:13 -0700 (PDT)
\r
24 Received: by werj55 with SMTP id j55so3134807wer.26
\r
25 for <notmuch@notmuchmail.org>; Sat, 16 Jun 2012 03:22:12 -0700 (PDT)
\r
26 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
\r
27 h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references;
\r
28 bh=8V1x7Z78srfnDvC5UAcBvMLsjrORjAA0MUefFB7Qgyk=;
\r
29 b=B0KG0CMpeq8KCd0lCZzDmSvBeoqVdRJblicyZ0y4k3kwNvknf4VKTsMsPS8cinwD82
\r
30 P8aV+qpvIFwJ8F2iB/6dI8aqJ0le3J+bZ09cdeauYTCjeDGhwy+rMoknGunDlln1j3wM
\r
31 yR4yM2YIZXdt1MFQOtAmDjrCO7naCxjjTpnV6TXIv0lUfhDNjClPiDHoRzRoUhRKSuiM
\r
32 2jqZFpGhWbBRkKIyyX84Jcff5aEq77O1zPsWU/DdofJJRgOGkfwnwEmqMkHTg9+S1uKw
\r
33 6Mioh3UnRYSh8Q5tHaz5oN2YsTanp/42I7D6nwG7PHWnO0NxgJbz93oSCwjBY0xAteza
\r
35 Received: by 10.180.92.69 with SMTP id ck5mr10588754wib.14.1339842132428;
\r
36 Sat, 16 Jun 2012 03:22:12 -0700 (PDT)
\r
37 Received: from localhost (94-192-233-223.zone6.bethere.co.uk.
\r
38 [94.192.233.223]) by mx.google.com with ESMTPS id
\r
39 z8sm16613333wiy.1.2012.06.16.03.22.11 (version=TLSv1/SSLv3 cipher=OTHER);
\r
40 Sat, 16 Jun 2012 03:22:11 -0700 (PDT)
\r
41 From: Mark Walters <markwalters1009@gmail.com>
\r
42 To: notmuch@notmuchmail.org
\r
43 Subject: [Patch v8 5/6] emacs: make elide messages use notmuch-show for
\r
45 Date: Sat, 16 Jun 2012 11:21:46 +0100
\r
46 Message-Id: <1339842107-10632-6-git-send-email-markwalters1009@gmail.com>
\r
47 X-Mailer: git-send-email 1.7.9.1
\r
48 In-Reply-To: <1339842107-10632-1-git-send-email-markwalters1009@gmail.com>
\r
49 References: <1339842107-10632-1-git-send-email-markwalters1009@gmail.com>
\r
50 X-BeenThere: notmuch@notmuchmail.org
\r
51 X-Mailman-Version: 2.1.13
\r
53 List-Id: "Use and development of the notmuch mail system."
\r
54 <notmuch.notmuchmail.org>
\r
55 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
\r
56 <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
\r
57 List-Archive: <http://notmuchmail.org/pipermail/notmuch>
\r
58 List-Post: <mailto:notmuch@notmuchmail.org>
\r
59 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
\r
60 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
\r
61 <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
\r
62 X-List-Received-Date: Sat, 16 Jun 2012 10:22:15 -0000
\r
64 Previously the elide messages code got the entire-thread from
\r
65 notmuch-show.c and then threw away all non-matching messages. This
\r
66 version calls notmuch-show.c without the --entire-thread flag so
\r
67 it never receives the non-matching messages in the first place.
\r
69 This makes it substantially faster.
\r
71 emacs/notmuch-show.el | 18 ++++++++++--------
\r
72 1 files changed, 10 insertions(+), 8 deletions(-)
\r
74 diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
\r
75 index 36cad93..b8fc9ef 100644
\r
76 --- a/emacs/notmuch-show.el
\r
77 +++ b/emacs/notmuch-show.el
\r
78 @@ -958,9 +958,9 @@ message at DEPTH in the current thread."
\r
79 "Insert the message tree TREE at depth DEPTH in the current thread."
\r
80 (let ((msg (car tree))
\r
81 (replies (cadr tree)))
\r
82 - (if (or (not notmuch-show-elide-non-matching-messages)
\r
83 - (plist-get msg :match))
\r
84 - (notmuch-show-insert-msg msg depth))
\r
85 + ;; We test whether there is a message or just some replies.
\r
87 + (notmuch-show-insert-msg msg depth))
\r
88 (notmuch-show-insert-thread replies (1+ depth))))
\r
90 (defun notmuch-show-insert-thread (thread depth)
\r
91 @@ -1041,16 +1041,18 @@ function is used."
\r
92 (args (if notmuch-show-query-context
\r
93 (append (list "\'") basic-args
\r
94 (list "and (" notmuch-show-query-context ")\'"))
\r
95 - (append (list "\'") basic-args (list "\'")))))
\r
96 - (notmuch-show-insert-forest (notmuch-query-get-threads
\r
97 - (cons "--exclude=false" args)))
\r
98 + (append (list "\'") basic-args (list "\'"))))
\r
99 + (cli-args (cons "--exclude=false"
\r
100 + (when notmuch-show-elide-non-matching-messages
\r
101 + (list "--entire-thread=false")))))
\r
103 + (notmuch-show-insert-forest (notmuch-query-get-threads (append cli-args args)))
\r
104 ;; If the query context reduced the results to nothing, run
\r
105 ;; the basic query.
\r
106 (when (and (eq (buffer-size) 0)
\r
107 notmuch-show-query-context)
\r
108 (notmuch-show-insert-forest
\r
109 - (notmuch-query-get-threads
\r
110 - (cons "--exclude=false" basic-args)))))
\r
111 + (notmuch-query-get-threads (append cli-args basic-args)))))
\r
113 (jit-lock-register #'notmuch-show-buttonise-links)
\r