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 BB2AC429E2F
\r
6 for <notmuch@notmuchmail.org>; Sun, 27 May 2012 01:22:48 -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 5geeGRu8PiSk for <notmuch@notmuchmail.org>;
\r
18 Sun, 27 May 2012 01:22:47 -0700 (PDT)
\r
19 Received: from mail-wi0-f173.google.com (mail-wi0-f173.google.com
\r
20 [209.85.212.173]) (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 43C30431FAF
\r
23 for <notmuch@notmuchmail.org>; Sun, 27 May 2012 01:22:47 -0700 (PDT)
\r
24 Received: by wibhj6 with SMTP id hj6so639557wib.2
\r
25 for <notmuch@notmuchmail.org>; Sun, 27 May 2012 01:22:46 -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=HeJTxgKfaL2qM3W9MlKVSl5E8pYMk8SbB5n9x/QtUzNDBNevR6bm/6bFJ7oMB1fN7Z
\r
30 BPgiTwntTXkIAhl5CjxsdsqT4XoScNx1sIKnG/yuGiIp2evJsu3M1Ne6ip42vSVMoT0c
\r
31 gFnWI+lstvXjymXo0bj1vtFfEmNAaZCLhVmM0ZrxdITZD1Xuss8p3gZn3CQYCFGixe0m
\r
32 wXj4O65GvunIJRMTAZHVen+fqjZaZvgCATrC5xurX5rCY9oaCSbX8sXk89aUeZqSIkFE
\r
33 tEDucKq9n5zxFMUyErwROiDevrKonvuQnRSuO5awQI3+cWYxBKhHkXpHlg7WSjxhT806
\r
35 Received: by 10.216.194.195 with SMTP id m45mr2468358wen.8.1338106965974;
\r
36 Sun, 27 May 2012 01:22:45 -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 et10sm11465454wib.2.2012.05.27.01.22.42 (version=TLSv1/SSLv3 cipher=OTHER);
\r
40 Sun, 27 May 2012 01:22:43 -0700 (PDT)
\r
41 From: Mark Walters <markwalters1009@gmail.com>
\r
42 To: notmuch@notmuchmail.org
\r
43 Subject: [PATCH v6 5/6] emacs: make elide messages use notmuch-show for
\r
45 Date: Sun, 27 May 2012 09:22:25 +0100
\r
46 Message-Id: <1338106946-7611-6-git-send-email-markwalters1009@gmail.com>
\r
47 X-Mailer: git-send-email 1.7.9.1
\r
48 In-Reply-To: <1338106946-7611-1-git-send-email-markwalters1009@gmail.com>
\r
49 References: <1338106946-7611-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: Sun, 27 May 2012 08:22:49 -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