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 D691C429E28
\r
6 for <notmuch@notmuchmail.org>; Sat, 26 May 2012 08:55:19 -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 HWUDvJVlXRlB for <notmuch@notmuchmail.org>;
\r
18 Sat, 26 May 2012 08:55:18 -0700 (PDT)
\r
19 Received: from mail-wi0-f179.google.com (mail-wi0-f179.google.com
\r
20 [209.85.212.179]) (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 CEFA8429E43
\r
23 for <notmuch@notmuchmail.org>; Sat, 26 May 2012 08:55:15 -0700 (PDT)
\r
24 Received: by wibhr14 with SMTP id hr14so358916wib.2
\r
25 for <notmuch@notmuchmail.org>; Sat, 26 May 2012 08:55:14 -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=q6At0WV4tzgoTgKbToXVTDKhW7cwIn5JuKJsn5MeByI=;
\r
29 b=ITr7PbPflBcVCQwQiotsszGTux/L3Fkg565J932p8NG0n6HTRCDAtiAxbxFYRGuCwS
\r
30 TX85V1IXUmJFFES960EY2iYdu7oEcuiCRye9Z1pXN6xG2rnwET+3DVSvh9Cq7gGIccPG
\r
31 uMSQz6A6eUjjf10CJq3h6NdDdcNmrn7tW9MVhCftxGcrnVLQ3FF8YDvhMKalJ0ygXE1u
\r
32 wjSRZ6acdk/6jVnVJ4AEORhtGHvNl0WzvFCZPK6TDlf/J7n9ZwosxygL4a5SFwCU5ZhZ
\r
33 khVjIkYGFc4G9774KzRPFQ0mVKKqeQFj1uAYRjbauOr0iRAiHFUROgwu0xKGHN/EkL7N
\r
35 Received: by 10.180.88.194 with SMTP id bi2mr4164104wib.20.1338047714626;
\r
36 Sat, 26 May 2012 08:55:14 -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 ei4sm9275348wid.5.2012.05.26.08.55.12 (version=TLSv1/SSLv3 cipher=OTHER);
\r
40 Sat, 26 May 2012 08:55:13 -0700 (PDT)
\r
41 From: Mark Walters <markwalters1009@gmail.com>
\r
42 To: notmuch@notmuchmail.org
\r
43 Subject: [PATCH v5 5/5] emacs: make elide messages use notmuch-show for
\r
45 Date: Sat, 26 May 2012 16:54:54 +0100
\r
46 Message-Id: <1338047694-32548-6-git-send-email-markwalters1009@gmail.com>
\r
47 X-Mailer: git-send-email 1.7.9.1
\r
48 In-Reply-To: <1338047694-32548-1-git-send-email-markwalters1009@gmail.com>
\r
49 References: <1338047694-32548-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, 26 May 2012 15:55:20 -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 d318430..9cc68be 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