Re: [PATCH] emacs: show: lazy part bugfix
authorJameson Graef Rollins <jrollins@finestructure.net>
Sun, 1 Sep 2013 16:18:35 +0000 (09:18 +1700)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:56:47 +0000 (09:56 -0800)
f1/4f131bca2a004fb27340183f96eea41e5241b3 [new file with mode: 0644]

diff --git a/f1/4f131bca2a004fb27340183f96eea41e5241b3 b/f1/4f131bca2a004fb27340183f96eea41e5241b3
new file mode 100644 (file)
index 0000000..68e42b0
--- /dev/null
@@ -0,0 +1,128 @@
+Return-Path: <jrollins@finestructure.net>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id 1D98A431FBC\r
+       for <notmuch@notmuchmail.org>; Sun,  1 Sep 2013 09:18:55 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -2.3\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-2.3 tagged_above=-999 required=5\r
+       tests=[RCVD_IN_DNSWL_MED=-2.3] autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id Cu-pKHWVXGL7 for <notmuch@notmuchmail.org>;\r
+       Sun,  1 Sep 2013 09:18:47 -0700 (PDT)\r
+Received: from outgoing-mail.its.caltech.edu (outgoing-mail.its.caltech.edu\r
+       [131.215.239.19])\r
+       by olra.theworths.org (Postfix) with ESMTP id AAF4C431FC0\r
+       for <notmuch@notmuchmail.org>; Sun,  1 Sep 2013 09:18:47 -0700 (PDT)\r
+Received: from earth-doxen.imss.caltech.edu (localhost [127.0.0.1])\r
+       by earth-doxen-postvirus (Postfix) with ESMTP id 3019866E0195;\r
+       Sun,  1 Sep 2013 09:18:45 -0700 (PDT)\r
+X-Spam-Scanned: at Caltech-IMSS on earth-doxen by amavisd-new\r
+Received: from finestructure.net (cpe-76-173-75-27.socal.res.rr.com\r
+       [76.173.75.27]) (Authenticated sender: jrollins)\r
+       by earth-doxen-submit (Postfix) with ESMTP id 27BE666E01A6;\r
+       Sun,  1 Sep 2013 09:18:40 -0700 (PDT)\r
+Received: by finestructure.net (Postfix, from userid 1000)\r
+       id 93EDF60088; Sun,  1 Sep 2013 09:18:37 -0700 (PDT)\r
+From: Jameson Graef Rollins <jrollins@finestructure.net>\r
+To: Mark Walters <markwalters1009@gmail.com>, notmuch@notmuchmail.org,\r
+       amdragon@MIT.EDU\r
+Subject: Re: [PATCH] emacs: show: lazy part bugfix\r
+In-Reply-To: <1377246875-7784-1-git-send-email-markwalters1009@gmail.com>\r
+References: <1377246875-7784-1-git-send-email-markwalters1009@gmail.com>\r
+User-Agent: Notmuch/0.16+1~g9f861e2 (http://notmuchmail.org) Emacs/24.3.1\r
+       (x86_64-pc-linux-gnu)\r
+Date: Sun, 01 Sep 2013 09:18:35 -0700\r
+Message-ID: <871u58a52c.fsf@servo.finestructure.net>\r
+MIME-Version: 1.0\r
+Content-Type: multipart/signed; boundary="=-=-=";\r
+       micalg=pgp-sha256; protocol="application/pgp-signature"\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Sun, 01 Sep 2013 16:18:55 -0000\r
+\r
+--=-=-=\r
+Content-Type: text/plain\r
+Content-Transfer-Encoding: quoted-printable\r
+\r
+On Fri, Aug 23 2013, Mark Walters <markwalters1009@gmail.com> wrote:\r
+> The lazy part handling had a subtle bug. Notmuch stores the part\r
+> information as a text property with the displayed part so attachment\r
+> handling (saving viewing etc work).\r
+>\r
+> Now, some mime parts have subparts and to avoid overwriting the\r
+> sub-part data notmuch checks and if part data is already recorded it\r
+> does not overwrite it.\r
+>\r
+> Now with lazy part handling this could fail: there is already part\r
+> data stored. In the common case it works as the part type information\r
+> was stored when the lazy-part button was inserted. However, this fails\r
+> if the lazy part has sub-parts: notmuch had no idea these existed\r
+> until the lazy part insertion.\r
+>\r
+> We fix this by removing any existing part-information from the\r
+> relevant region before doing the lazy insertion.\r
+> ---\r
+> This was shown up by Istvan's patch in id:m3r4dtgz9k.fsf@zsu.kismala.com =\r
+and=20\r
+> the bug found by Jamie in id:87fvu4fl25.fsf@servo.finestructure.net\r
+>\r
+> I think this is essentially the right patch: I am not certain about\r
+> the +1 in the removing the property. It seems to be needed but maybe\r
+> something with front/back sticky would be better.\r
+>\r
+> Also this definitely needs more testing before going into master: this\r
+> code is definitely fragile.\r
+\r
+Hey, Mark.  I have just tested this patch and it seems to be fixing the\r
+issue I was seeing.  With Istvan's patch the once hidden parts are now\r
+exposed with buttons, and with this patch the buttons now work as\r
+expected.\r
+\r
+I can't really speak to the correctness of this patch, but it does seem\r
+to be working, and doesn't seem to have any adverse side effects that I\r
+can see.\r
+\r
+As a reminder, this patch and Istvan's do fix an actual bug in notmuch,\r
+so both should be pushed unless anyone see's anything wrong with either\r
+of them.\r
+\r
+Thanks so much for the fixes, guys.\r
+\r
+jamie.\r
+\r
+--=-=-=\r
+Content-Type: application/pgp-signature\r
+\r
+-----BEGIN PGP SIGNATURE-----\r
+Version: GnuPG v1.4.14 (GNU/Linux)\r
+\r
+iQIcBAEBCAAGBQJSI2jbAAoJEO00zqvie6q8NKEQALkAsW0q5KT9Ata/LJVLaUaO\r
+NHre3YBLR08QbiBAOr2Ey5hQBx06dswsxXUMD+WesgADSwN0+cS52MTnMtVW5evY\r
+62FYCWiu4pRsyCnBk0PgbmaYbrnu2UPaz7HmJiT2pFCa2S6TVrsoEilnJOUjCTaz\r
+eULUbfxIM3SesbJsZmIoU1pj9r7CwtYRuMm1gFes8TK0d+39f8jmQSKAMviF4iN7\r
+1E2DaN/t6IQH2OYWRIGmuXT0hJ9/nw4CRIEsYT54QEvyIf06OKIW3wHZY7Stu42W\r
+VoIqi2/IjCjI/BM0Ai2JRANXYKOUoObU2CUBpgf83f/x6Kudp1H714H5jL87eOB4\r
+3wMrVR+qDGT09L/ckQmPpDZ0a6iyCkINxKKR7NNJbe2dfGOvfek+du3VGbax0HSG\r
+NOv5CSIaZbV/Ed9vfPWgFwVmnZSZmutN4AvRjMyNFcIJzZOE3QhRFPJYIOKldxK4\r
+4vNb+pqja7XlC7rcqJ46uZEAT84kb6EifvB7VM30u2kqkNndGcx+IIF0MctBXn2P\r
+QbXXEWdQfG6JARcpuBTmaoDbrLtyhh8ZGXxXMxY9wDdNeEW8fzR7GcPW91U/y0bN\r
+7tj0g856qpHmU+2+hF/v271tVtipAF67i7ktfiXPp+w9ZRcz/ThAGG/Z9dNQvIT3\r
+qzCKGKCE92F87BQ5GSeg\r
+=EMOu\r
+-----END PGP SIGNATURE-----\r
+--=-=-=--\r