database error
[notmuch-archives.git] / b4 / 949c0462389288d319ef70e18e0e7850f30540
1 Return-Path: <amdragon@mit.edu>\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 0559C431FAE\r
6         for <notmuch@notmuchmail.org>; Sat, 24 Jan 2015 13:17:16 -0800 (PST)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: 0.138\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=0.138 tagged_above=-999 required=5\r
12         tests=[DNS_FROM_AHBL_RHSBL=2.438, RCVD_IN_DNSWL_MED=-2.3]\r
13         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 pJoLkumeA7XS for <notmuch@notmuchmail.org>;\r
17         Sat, 24 Jan 2015 13:17:12 -0800 (PST)\r
18 Received: from dmz-mailsec-scanner-1.mit.edu (dmz-mailsec-scanner-1.mit.edu\r
19         [18.9.25.12])\r
20         (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))\r
21         (No client certificate requested)\r
22         by olra.theworths.org (Postfix) with ESMTPS id 8D621431FAF\r
23         for <notmuch@notmuchmail.org>; Sat, 24 Jan 2015 13:17:12 -0800 (PST)\r
24 X-AuditID: 1209190c-f79e46d000000eb2-03-54c40bd568b6\r
25 Received: from mailhub-auth-3.mit.edu ( [18.9.21.43])\r
26         (using TLS with cipher DHE-RSA-AES256-SHA (256/256 bits))\r
27         (Client did not present a certificate)\r
28         by dmz-mailsec-scanner-1.mit.edu (Symantec Messaging Gateway) with SMTP\r
29         id DA.8E.03762.6DB04C45; Sat, 24 Jan 2015 16:17:10 -0500 (EST)\r
30 Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11])\r
31         by mailhub-auth-3.mit.edu (8.13.8/8.9.2) with ESMTP id t0OLH9lN027942; \r
32         Sat, 24 Jan 2015 16:17:09 -0500\r
33 Received: from drake (216-15-114-40.c3-0.arl-ubr1.sbo-arl.ma.cable.rcn.com\r
34         [216.15.114.40]) (authenticated bits=0)\r
35         (User authenticated as amdragon@ATHENA.MIT.EDU)\r
36         by outgoing.mit.edu (8.13.8/8.12.4) with ESMTP id t0OLH6d7007448\r
37         (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT);\r
38         Sat, 24 Jan 2015 16:17:07 -0500\r
39 Received: from amthrax by drake with local (Exim 4.84)\r
40         (envelope-from <amdragon@mit.edu>)\r
41         id 1YF84n-0005RM-IZ; Sat, 24 Jan 2015 16:17:05 -0500\r
42 From: Austin Clements <amdragon@mit.edu>\r
43 To: notmuch@notmuchmail.org\r
44 Subject: [PATCH v2 0/8] Improve charset and cid: handling\r
45 Date: Sat, 24 Jan 2015 16:16:55 -0500\r
46 Message-Id: <1422134223-20739-1-git-send-email-amdragon@mit.edu>\r
47 X-Mailer: git-send-email 2.1.3\r
48 X-Brightmail-Tracker:\r
49  H4sIAAAAAAAAA+NgFjrAIsWRmVeSWpSXmKPExsUixCmqrXuN+0iIQd8RTosbrd2MFvvubGGy\r
50         WD2Xx+L6zZnMFm9WzmN1YPXY9fwvk8fOWXfZPQ5/Xcji8WzVLWaPLYfeMwewRnHZpKTmZJal\r
51         FunbJXBlfG/WK5gjUdG4upulgfG3cBcjJ4eEgInElfkz2CFsMYkL99azdTFycQgJLGaS+Hbn\r
52         GyOEs5FR4tfujVDORSaJH20PmCGcSYwSex7/ZATpZxPQkPh9azETiC0iIC2x8+5sVhCbWSBK\r
53         YtatRjYQW1jAUuLamv0sIDaLgKrE839XgXo5OHgFHCS2n00EMSUE5CS2rvOewMi7gJFhFaNs\r
54         Sm6Vbm5iZk5xarJucXJiXl5qka6hXm5miV5qSukmRnBASfLsYHxzUOkQowAHoxIP749/h0KE\r
55         WBPLiitzDzFKcjApifKu+nU4RIgvKT+lMiOxOCO+qDQntfgQowQHs5II74UNQDnelMTKqtSi\r
56         fJiUNAeLkjjvph98IUIC6YklqdmpqQWpRTBZGQ4OJQnexVxHQoQEi1LTUyvSMnNKENJMHJwg\r
57         w3mAhp8EqeEtLkjMLc5Mh8ifYlSUEuddD5IQAElklObB9cIi/hWjONArwryBwPgX4gEmC7ju\r
58         V0CDmYAGF2w/ADK4JBEhJdXAOHn+xTUSsU/b6jeq1b9Oma0RdHXH96u+uSXr+ic+mBrOezuC\r
59         3feY6+8rsbkvLpV1/p9mUMs4j/2Is3ZngP7XVhuN4H8Wie4pNmcTNwSwu3wWDPypsOm1xJMH\r
60         B9jDnj3fp337zifrRPV4P8HNyqJ5gu12z9q3NPceSfUQqNdonTvB9FzFbMadSizFGYmGWsxF\r
61         xYkA6svfMdMCAAA=\r
62 Cc: tomi.ollila@iki.fi\r
63 X-BeenThere: notmuch@notmuchmail.org\r
64 X-Mailman-Version: 2.1.13\r
65 Precedence: list\r
66 List-Id: "Use and development of the notmuch mail system."\r
67         <notmuch.notmuchmail.org>\r
68 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
69         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
70 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
71 List-Post: <mailto:notmuch@notmuchmail.org>\r
72 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
73 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
74         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
75 X-List-Received-Date: Sat, 24 Jan 2015 21:17:16 -0000\r
76 \r
77 This is v2 of id:1398105468-14317-1-git-send-email-amdragon@mit.edu.\r
78 This improves some comments/documentation, fixes a bug that caused\r
79 cryptographic processing to not happen on HTML parts, and addresses\r
80 some byte compiler warnings on Emacs 23.  This version has also been\r
81 rebased against the several months of changes that happened on master\r
82 since v1 (which, remarkably, was trivial).\r
83 \r
84 The diff from v1 is below.\r
85 \r
86 diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el\r
87 index 83cbf2f..f8e5165 100644\r
88 --- a/emacs/notmuch-lib.el\r
89 +++ b/emacs/notmuch-lib.el\r
90 @@ -535,7 +535,10 @@ (defun notmuch-get-bodypart-binary (msg part process-crypto &optional cache)\r
91  This returns the \"raw\" content of the given part after content\r
92  transfer decoding, but with no further processing (see the\r
93  discussion of --format=raw in man notmuch-show).  In particular,\r
94 -this does no charset conversion."\r
95 +this does no charset conversion.\r
96 +\r
97 +If CACHE is non-nil, the content of this part will be saved in\r
98 +MSG (if it isn't already)."\r
99    (let ((data (plist-get part :binary-content)))\r
100      (when (not data)\r
101        (let ((args `("show" "--format=raw"\r
102 @@ -558,6 +561,8 @@ (defun notmuch-get-bodypart-binary (msg part process-crypto &optional cache)\r
103             (apply #'call-process notmuch-command nil '(t nil) nil args)\r
104             (setq data (buffer-string)))))\r
105        (when cache\r
106 +       ;; Cheat.  part is non-nil, and `plist-put' always modifies\r
107 +       ;; the list in place if it's non-nil.\r
108         (plist-put part :binary-content data)))\r
109      data))\r
110  \r
111 @@ -567,7 +572,10 @@ (defun notmuch-get-bodypart-text (msg part process-crypto &optional cache)\r
112  This returns the content of the given part as a multibyte Lisp\r
113  string after performing content transfer decoding and any\r
114  necessary charset decoding.  It is an error to use this for\r
115 -non-text/* parts."\r
116 +non-text/* parts.\r
117 +\r
118 +If CACHE is non-nil, the content of this part will be saved in\r
119 +MSG (if it isn't already)."\r
120    (let ((content (plist-get part :content)))\r
121      (when (not content)\r
122        ;; Use show --format=sexp to fetch decoded content\r
123 diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el\r
124 index d190711..66350d4 100644\r
125 --- a/emacs/notmuch-show.el\r
126 +++ b/emacs/notmuch-show.el\r
127 @@ -781,10 +781,14 @@ (defun notmuch-show-insert-part-text/html (msg part content-type nth depth butto\r
128      (let ((mm-inline-text-html-with-w3m-keymap nil))\r
129        (notmuch-show-insert-part-*/* msg part content-type nth depth button))))\r
130  \r
131 +;; These functions are used by notmuch-show--insert-part-text/html-shr\r
132 +(declare-function libxml-parse-html-region "xml.c")\r
133 +(declare-function shr-insert-document "shr")\r
134 +\r
135  (defun notmuch-show--insert-part-text/html-shr (msg part)\r
136    ;; Make sure shr is loaded before we start let-binding its globals\r
137    (require 'shr)\r
138 -  (let ((dom (let (process-crypto notmuch-show-process-crypto)\r
139 +  (let ((dom (let ((process-crypto notmuch-show-process-crypto))\r
140                (with-temp-buffer\r
141                  (insert (notmuch-get-bodypart-text msg part process-crypto))\r
142                  (libxml-parse-html-region (point-min) (point-max)))))\r
143 \r
144 \r