[PATCH 6/9] CLI: refactor dumping of tags.
[notmuch-archives.git] / ca / d2a8e63d44d1e1883fdf5f4524879a5614dea4
1 Return-Path: <m.walters@qmul.ac.uk>\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 0630A431FB6\r
6         for <notmuch@notmuchmail.org>; Wed,  4 Jul 2012 13:47:39 -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: -1.098\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=-1.098 tagged_above=-999 required=5\r
12         tests=[DKIM_ADSP_CUSTOM_MED=0.001, FREEMAIL_FROM=0.001,\r
13         NML_ADSP_CUSTOM_MED=1.2, RCVD_IN_DNSWL_MED=-2.3] autolearn=disabled\r
14 Received: from olra.theworths.org ([127.0.0.1])\r
15         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
16         with ESMTP id JL0+zouBZvsQ for <notmuch@notmuchmail.org>;\r
17         Wed,  4 Jul 2012 13:47:38 -0700 (PDT)\r
18 Received: from mail2.qmul.ac.uk (mail2.qmul.ac.uk [138.37.6.6])\r
19         (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))\r
20         (No client certificate requested)\r
21         by olra.theworths.org (Postfix) with ESMTPS id DCEE4431FAE\r
22         for <notmuch@notmuchmail.org>; Wed,  4 Jul 2012 13:47:37 -0700 (PDT)\r
23 Received: from smtp.qmul.ac.uk ([138.37.6.40])\r
24         by mail2.qmul.ac.uk with esmtp (Exim 4.71)\r
25         (envelope-from <m.walters@qmul.ac.uk>)\r
26         id 1SmWTy-0000Ys-8C; Wed, 04 Jul 2012 21:47:32 +0100\r
27 Received: from 94-192-233-223.zone6.bethere.co.uk ([94.192.233.223]\r
28         helo=localhost)\r
29         by smtp.qmul.ac.uk with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69)\r
30         (envelope-from <m.walters@qmul.ac.uk>)\r
31         id 1SmWTx-0002UW-S1; Wed, 04 Jul 2012 21:47:30 +0100\r
32 From: Mark Walters <markwalters1009@gmail.com>\r
33 To: Austin Clements <amdragon@MIT.EDU>, notmuch@notmuchmail.org\r
34 Subject: Re: [PATCH 1/8] emacs: Clean up notmuch-search-show-result\r
35 In-Reply-To: <1341354059-29396-2-git-send-email-amdragon@mit.edu>\r
36 References: <1341354059-29396-1-git-send-email-amdragon@mit.edu>\r
37         <1341354059-29396-2-git-send-email-amdragon@mit.edu>\r
38 User-Agent: Notmuch/0.13.2+70~gb6a56e7 (http://notmuchmail.org) Emacs/23.4.1\r
39         (x86_64-pc-linux-gnu)\r
40 Date: Wed, 04 Jul 2012 21:47:25 +0100\r
41 Message-ID: <87ipe3fe3m.fsf@qmul.ac.uk>\r
42 MIME-Version: 1.0\r
43 Content-Type: text/plain; charset=us-ascii\r
44 X-Sender-Host-Address: 94.192.233.223\r
45 X-QM-SPAM-Info: Sender has good ham record.  :)\r
46 X-QM-Body-MD5: 6d6a5247bab7c72097b89a1063fcc164 (of first 20000 bytes)\r
47 X-SpamAssassin-Score: -1.8\r
48 X-SpamAssassin-SpamBar: -\r
49 X-SpamAssassin-Report: The QM spam filters have analysed this message to\r
50         determine if it is\r
51         spam. We require at least 5.0 points to mark a message as spam.\r
52         This message scored -1.8 points.\r
53         Summary of the scoring: \r
54         * -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\r
55         *      medium trust\r
56         *      [138.37.6.40 listed in list.dnswl.org]\r
57         * 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail\r
58         provider *      (markwalters1009[at]gmail.com)\r
59         * -0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay\r
60         *      domain\r
61         *  0.5 AWL AWL: From: address is in the auto white-list\r
62 X-QM-Scan-Virus: ClamAV says the message is clean\r
63 Cc: tomi.ollila@iki.fi\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, 04 Jul 2012 20:47:39 -0000\r
77 \r
78 On Tue, 03 Jul 2012, Austin Clements <amdragon@MIT.EDU> wrote:\r
79 > This simplifies the code and makes it no longer cubic in the number of\r
80 > result fields.\r
81 > ---\r
82 >  emacs/notmuch.el |   20 ++++++++++----------\r
83 >  1 file changed, 10 insertions(+), 10 deletions(-)\r
84 >\r
85 > diff --git a/emacs/notmuch.el b/emacs/notmuch.el\r
86 > index c6236db..be217a2 100644\r
87 > --- a/emacs/notmuch.el\r
88 > +++ b/emacs/notmuch.el\r
89 > @@ -707,29 +707,29 @@ non-authors is found, assume that all of the authors match."\r
90 >         (overlay-put overlay 'isearch-open-invisible #'delete-overlay)))\r
91 >        (insert padding))))\r
92 >  \r
93 > -(defun notmuch-search-insert-field (field date count authors subject tags)\r
94 > +(defun notmuch-search-insert-field (field format date count authors subject tags)\r
95 >    (cond\r
96 >     ((string-equal field "date")\r
97 > -    (insert (propertize (format (cdr (assoc field notmuch-search-result-format)) date)\r
98 > +    (insert (propertize (format format date)\r
99 >                       'face 'notmuch-search-date)))\r
100 >     ((string-equal field "count")\r
101 > -    (insert (propertize (format (cdr (assoc field notmuch-search-result-format)) count)\r
102 > +    (insert (propertize (format format count)\r
103 >                       'face 'notmuch-search-count)))\r
104 >     ((string-equal field "subject")\r
105 > -    (insert (propertize (format (cdr (assoc field notmuch-search-result-format)) subject)\r
106 > +    (insert (propertize (format format subject)\r
107 >                       'face 'notmuch-search-subject)))\r
108 >  \r
109 >     ((string-equal field "authors")\r
110 > -    (notmuch-search-insert-authors (cdr (assoc field notmuch-search-result-format)) authors))\r
111 > +    (notmuch-search-insert-authors format authors))\r
112 >  \r
113 >     ((string-equal field "tags")\r
114 > -    (insert (concat "(" (propertize tags 'font-lock-face 'notmuch-tag-face) ")")))))\r
115 > +    (insert\r
116 > +     (format format (propertize tags 'font-lock-face 'notmuch-tag-face))))))\r
117 \r
118 Am I missing something or did the search result line previously ignore\r
119 the user's specification for tags and automatically print it with inside\r
120 ()? Now this change does actually obey the user's specification.\r
121 \r
122 In principle that is a good thing, but the tag update code (when\r
123 changing a tag on a message) seems to rely on the brackets to find\r
124 something and errors out if the user format does not have any\r
125 brackets. (The code has things like "(re-search-backward "(")" in it).\r
126 \r
127 Incidentally, patch 8 does change the format slightly by not padding the\r
128 the date field string itself and only printing it padded. This (very\r
129 mildly) breaks things if the user has customised\r
130 notmuch-search-result-format\r
131 \r
132 Best wishes\r
133 \r
134 Mark\r
135 \r
136 \r
137 \r
138 >  \r
139 >  (defun notmuch-search-show-result (date count authors subject tags)\r
140 > -  (let ((fields) (field))\r
141 > -    (setq fields (mapcar 'car notmuch-search-result-format))\r
142 > -    (loop for field in fields\r
143 > -       do (notmuch-search-insert-field field date count authors subject tags)))\r
144 > +  (dolist (format notmuch-search-result-format)\r
145 > +    (notmuch-search-insert-field (car format) (cdr format)\r
146 > +                              date count authors subject tags))\r
147 >    (insert "\n"))\r
148 >  \r
149 >  (defun notmuch-search-process-filter (proc string)\r
150 > -- \r
151 > 1.7.10\r
152 >\r
153 > _______________________________________________\r
154 > notmuch mailing list\r
155 > notmuch@notmuchmail.org\r
156 > http://notmuchmail.org/mailman/listinfo/notmuch\r