--- /dev/null
+Return-Path: <dme@dme.org>\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 BD178429E4D\r
+ for <notmuch@notmuchmail.org>; Mon, 16 Jan 2012 03:43:30 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.7\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5\r
+ tests=[RCVD_IN_DNSWL_LOW=-0.7] 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 zlpP47owpJcj for <notmuch@notmuchmail.org>;\r
+ Mon, 16 Jan 2012 03:43:30 -0800 (PST)\r
+Received: from mail-we0-f181.google.com (mail-we0-f181.google.com\r
+ [74.125.82.181]) (using TLSv1 with cipher RC4-SHA (128/128 bits))\r
+ (No client certificate requested)\r
+ by olra.theworths.org (Postfix) with ESMTPS id EC163429E4A\r
+ for <notmuch@notmuchmail.org>; Mon, 16 Jan 2012 03:43:29 -0800 (PST)\r
+Received: by werh12 with SMTP id h12so1356403wer.26\r
+ for <notmuch@notmuchmail.org>; Mon, 16 Jan 2012 03:43:28 -0800 (PST)\r
+Received: by 10.216.139.205 with SMTP id c55mr4753005wej.31.1326714208573;\r
+ Mon, 16 Jan 2012 03:43:28 -0800 (PST)\r
+Received: from hotblack-desiato.hh.sledj.net\r
+ (host81-149-164-25.in-addr.btopenworld.com. [81.149.164.25])\r
+ by mx.google.com with ESMTPS id l8sm19011984wiy.5.2012.01.16.03.43.26\r
+ (version=TLSv1/SSLv3 cipher=OTHER);\r
+ Mon, 16 Jan 2012 03:43:27 -0800 (PST)\r
+Received: by hotblack-desiato.hh.sledj.net (Postfix, from userid 30000)\r
+ id 4B4AA9FD88; Mon, 16 Jan 2012 11:43:25 +0000 (GMT)\r
+To: Pieter Praet <pieter@praet.org>,\r
+ Jameson Graef Rollins <jrollins@finestructure.net>\r
+Subject: Re: [PATCH 2/3] emacs: `notmuch-show-buttonize-links' only\r
+ `notmuch-show's a message if it exists\r
+In-Reply-To: <1326389025-18877-2-git-send-email-pieter@praet.org>\r
+References: <874nw0ltwz.fsf@praet.org>\r
+ <1326389025-18877-1-git-send-email-pieter@praet.org>\r
+ <1326389025-18877-2-git-send-email-pieter@praet.org>\r
+User-Agent: Notmuch/0.11+64~g42e8f66 (http://notmuchmail.org) Emacs/24.0.92.1\r
+ (x86_64-pc-linux-gnu)\r
+From: David Edmondson <dme@dme.org>\r
+Date: Mon, 16 Jan 2012 11:43:25 +0000\r
+Message-ID: <cun7h0r50v6.fsf@hotblack-desiato.hh.sledj.net>\r
+MIME-Version: 1.0\r
+Content-Type: multipart/signed; boundary="=-=-=";\r
+ micalg=pgp-sha1; protocol="application/pgp-signature"\r
+Cc: Notmuch Mail <notmuch@notmuchmail.org>\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: Mon, 16 Jan 2012 11:43:30 -0000\r
+\r
+--=-=-=\r
+Content-Type: text/plain\r
+\r
+On Thu, 12 Jan 2012 18:23:44 +0100, Pieter Praet <pieter@praet.org> wrote:\r
+> + (make-text-button string-start string-end\r
+> 'action `(lambda (arg)\r
+> - (notmuch-show ,(match-string-no-properties 0)))\r
+> + (notmuch-show-if-found ,message-id))\r
+\r
+I like this, but wonder idly about the performance impact (not enough to\r
+suggest denying it, though).\r
+\r
+> +(defun notmuch-show-found-target-p (target)\r
+> + (let ((args `("count" ,target)))\r
+> + (> (string-to-number (substring\r
+> + (with-output-to-string\r
+> + (apply 'call-process notmuch-command nil standard-output nil args))\r
+> + 0 -1)) 0)))\r
+\r
+`substring' seems unnecessary, presuming that it's to get rid of the\r
+carriage return.\r
+\r
+> +(defun notmuch-show-if-found (target &rest args)\r
+> + (if (notmuch-show-found-target-p target nil)\r
+> + (notmuch-show target args)\r
+> + (error (format "Can't find target: %s" target))))\r
+\r
+`error' will format strings without help.\r
+\r
+--=-=-=\r
+Content-Type: application/pgp-signature\r
+\r
+-----BEGIN PGP SIGNATURE-----\r
+Version: GnuPG v1.4.11 (GNU/Linux)\r
+\r
+iEYEARECAAYFAk8UDV0ACgkQaezQq/BJZRYJCwCdEkfK7yTRdmrdlrPEFZ46S66t\r
+R0oAnAuXhl6ns+eRsCE2Om9JDH49pCe+\r
+=BLek\r
+-----END PGP SIGNATURE-----\r
+--=-=-=--\r