From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 33C70431FC0 for ; Sun, 19 Jan 2014 04:23:47 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PKSxq4fONZ2z for ; Sun, 19 Jan 2014 04:23:40 -0800 (PST) Received: from yantan.tethera.net (yantan.tethera.net [199.188.72.155]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id D58A3431FBD for ; Sun, 19 Jan 2014 04:23:40 -0800 (PST) Received: from remotemail by yantan.tethera.net with local (Exim 4.80) (envelope-from ) id 1W4rPd-0006WW-8S; Sun, 19 Jan 2014 08:23:37 -0400 Received: (nullmailer pid 5548 invoked by uid 1000); Sun, 19 Jan 2014 12:23:32 -0000 From: David Bremner To: Mark Walters , notmuch@notmuchmail.org Subject: Re: [PATCH] make http links into buttons In-Reply-To: <1377240695-825-1-git-send-email-markwalters1009@gmail.com> References: <1377240695-825-1-git-send-email-markwalters1009@gmail.com> User-Agent: Notmuch/0.17+35~g3b36898 (http://notmuchmail.org) Emacs/24.3.1 (x86_64-pc-linux-gnu) Date: Sun, 19 Jan 2014 08:23:32 -0400 Message-ID: <87mwisqhx7.fsf@zancas.localnet> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Jan 2014 12:23:47 -0000 --=-=-= Content-Type: text/plain Mark Walters writes: > This patch replaces the use of goto-address-fontify-region with our > own code doing roughly the same thing. The advantage is that we > control how the resulting buttons work. In particular RET on link > activates the button (in my case opening it in an external browser) > and TAB stops at these links. The attached message behaves a bit strangely under tabbing; it seems to get stuck in the first signature block. --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename="review.eml:2,S" Content-Transfer-Encoding: base64 UmV0dXJuLXBhdGg6IDxtYXRoZW1hdGljYWxfc3RhdGlzdGljYWxfc2NpZW5jZXNAbnNhLmdjLmdv dj4KRW52ZWxvcGUtdG86IHNub3dkZW5AbG9jYWxob3N0CkRlbGl2ZXJ5LWRhdGU6IEZyaSwgMTMg RGVjIDIwMTMgMTE6MzA6MDYgLTA0MDAKUmVjZWl2ZWQ6IGZyb20gbG9jYWxob3N0IChbMTI3LjAu MC4xXSBoZWxvPXRlc3NlcmFjdC5jcy5mYmkuZ292KQoJYnkgdGVzc2VyYWN0LmNzLmZiaS5nb3Yg d2l0aCBlc210cCAoRXhpbSA0LjgwKQoJKGVudmVsb3BlLWZyb20gPG1hdGhlbWF0aWNhbF9zdGF0 aXN0aWNhbF9zY2llbmNlc0Buc2EuZ292PikKCWlkIDFWclVnai0wMDA2cGctR2cKCWZvciBzbm93 ZGVuQGxvY2FsaG9zdDsgRnJpLCAxMyBEZWMgMjAxMyAxMTozMDowNSAtMDQwMApNSU1FLVZlcnNp b246IDEuMApSZWNlaXZlZDogZnJvbSBmYmltYWlsLmFkLmZiaS5nb3YgWzEzMS4yMDIuNi43OV0K CWJ5IHRlc3NlcmFjdC5jcy5mYmkuZ292IHdpdGggSU1BUCAoZmV0Y2htYWlsLTYuMy4yMSkKCWZv ciA8c25vd2RlbkBsb2NhbGhvc3Q+IChzaW5nbGUtZHJvcCk7IEZyaSwgMTMgRGVjIDIwMTMgMTE6 MzA6MDEgLTA0MDAgKEFTVCkKUmVjZWl2ZWQ6IGZyb20gd2ludGVybXV0ZS5hZC5mYmkuZ292ICgx MzEuMjAyLjEuNTQpIGJ5IHdvcHIuYWQuZmJpLmdvdgogKDEzMS4yMDIuNi44MSkgd2l0aCBNaWNy b3NvZnQgU01UUCBTZXJ2ZXIgKFRMUykgaWQgMTQuMy4xNzQuMTsgRnJpLCAxMyBEZWMKIDIwMTMg MTE6Mjk6MTEgLTA0MDAKUmVjZWl2ZWQ6IGZyb20gZmllcm8uaXRzLmZiaS5nb3YgKDEzMS4yMDIu MS4xMCkgYnkgd2ludGVybXV0ZS5hZC5mYmkuZ292CiAoMTMxLjIwMi4xLjU0KSB3aXRoIE1pY3Jv c29mdCBTTVRQIFNlcnZlciAoVExTKSBpZCAxNC4zLjE1OC4xOyBGcmksIDEzIERlYwogMjAxMyAx MToyOToxMSAtMDQwMApSZWNlaXZlZDogZnJvbSBwbXg0Lm5icGVpLWVjbi5nb3YgKHBteDQubmJw ZWktZWNuLmdvdiBbMTk4LjE2NC4xNjMuMjIyXSkJYnkKIGZpZXJvLml0cy5mYmkuZ292ICg4LjEz LjgvOC4xMy44KSB3aXRoIEVTTVRQIGlkIHJCREZUQkY3MDA1NzI4CWZvcgogPHNub3dkZW5AZmJp Lmdvdj47IEZyaSwgMTMgRGVjIDIwMTMgMTE6Mjk6MTEgLTA0MDAKUmVjZWl2ZWQ6IGZyb20gcG14 NC5uYnBlaS1lY24uZ292IChsb2NhbGhvc3QgWzEyNy4wLjAuMV0pCWJ5IGxvY2FsaG9zdAogKFBv c3RmaXgpIHdpdGggU01UUCBpZCBFQ0JBRUIwMEU3NQlmb3IgPHNub3dkZW5AZmJpLmdvdj47IEZy aSwgMTMgRGVjIDIwMTMKIDExOjI5OjEwIC0wNDAwIChBU1QpClJlY2VpdmVkOiBmcm9tIGlwbWFp bDIubnNlcmMuZ292IChpcG1haWwyLm5zZXJjLmdvdiBbMTk4Ljk2LjMuMTExXSkJYnkKIHBteDQu bmJwZWktZWNuLmdvdiAoUG9zdGZpeCkgd2l0aCBFU01UUCBpZCBBQzVDOUIwMDdCQglmb3IgPHNu b3dkZW5AZmJpLmdvdj47CiBGcmksIDEzIERlYyAyMDEzIDExOjI5OjEwIC0wNDAwIChBU1QpCk1l c3NhZ2UtSUQ6IDw2NjZAaXBtYWlsMi5uc2EuZ292PgpYLUlyb25Qb3J0LUFWOiBFPVNvcGhvcztp PSI0Ljk1LDQ3OSwxMzg0MzE4ODAwIjsgCiAgIGQ9InNjYW4nMjA4IjthPSIxMjE1NzQ5MSIKUmVj ZWl2ZWQ6IGZyb20gdW5rbm93biAoSEVMTyBPVFRDTlNQVzIuc2VjdXJlLmdvdikgKFsxOTIuMTY4 LjIuOTddKSAgYnkKIGlwbWFpbDIubnNlcmMuZ292IHdpdGggU01UUDsgMTMgRGVjIDIwMTMgMTA6 Mjk6MDcgLTA1MDAKRGF0ZTogRnJpLCAxMyBEZWMgMjAxMyAxMDoyOTowNyAtMDUwMApGcm9tOiA8 bWF0aGVtYXRpY2FsX3N0YXRpc3RpY2FsX3NjaWVuY2VzQG5zYS5nb3Y+ClRvOiA8c25vd2RlbkBm YmkuZ292PgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CkNvbnRlbnQtVHlwZTogdGV4 dC9odG1sOyBjaGFyc2V0PSJ1dGYtOCIKU3ViamVjdDogYmxhaCBibGFoClgtTWFpbGVyOiBNaWNy b3NvZnQgU2hhcmVQb2ludCBGb3VuZGF0aW9uIDIwMTAKWC1QTVgtVmVyc2lvbjogNi4wLjMuMjMy MjAxNCwgQW50aXNwYW0tRW5naW5lOiAyLjcuMi4yMTA3NDA5LCBBbnRpc3BhbS1EYXRhOiAyMDEz LjEyLjEzLjE1MTgxNQpYLVBlcmxNeC1TcGFtOiBHYXVnZT1YSUlJSUlJSSwgUHJvYmFiaWxpdHk9 MTclLCBSZXBvcnQ9JwogQ1RZUEVfSlVTVF9IVE1MIDAuODQ4LCBIVE1MX01JTUVfTk9fSFRNTF9U QUcgMC44LCBIVE1MX05PX0hUVFAgMC4xLCBNU0dJRF9BRERFRF9CWV9NVEEgMC4wNSwgU1VQRVJM T05HX0xJTkUgMC4wNSwgQk9EWVRFWFRIX1NJWkVfMTAwMDBfTEVTUyAwLCBCT0RZX1NJWkVfMzAw MF8zOTk5IDAsIEJPRFlfU0laRV81MDAwX0xFU1MgMCwgQk9EWV9TSVpFXzcwMDBfTEVTUyAwLCBE QVRFX1RaX05BIDAsIE5PX1JFQUxfTkFNRSAwLCBTUEZfTk9ORSAwLCBfX0FOWV9VUkkgMCwgX19D MjMwMDY2X1A1IDAsIF9fQ1QgMCwgX19DVEUgMCwgX19DVFlQRV9IVE1MIDAsIF9fQ1RZUEVfSVNf SFRNTCAwLCBfX0hBU19GUk9NIDAsIF9fSEFTX0hUTUwgMCwgX19IQVNfTVNHSUQgMCwgX19IQVNf WF9NQUlMRVIgMCwgX19ISUdIQklUUyAwLCBfX01JTUVfSFRNTCAwLCBfX01JTUVfSFRNTF9PTkxZ IDAsIF9fTUlNRV9WRVJTSU9OIDAsIF9fU0FORV9NU0dJRCAwLCBfX1NVQkpfQUxQSEFfRU5EIDAs IF9fU1VCSl9BTFBIQV9FTkQyIDAsIF9fU1VCSl9BTFBIQV9ORUdBVEUgMCwgX19TVUJKX0hJR0hC SVQgMCwgX19UT19NQUxGT1JNRURfMiAwLCBfX1RPX05PX05BTUUgMCwgX19VUklfTk9fUEFUSCAw LCBfX1VSSV9OUyAsIF9fVVNFUl9BR0VOVF9NU19HRU5FUklDIDAsIF9fVVRGOF9TVUJKIDAnClgt TVMtRXhjaGFuZ2UtT3JnYW5pemF0aW9uLUFudGlzcGFtLVJlcG9ydDogQ29udGVudEZpbHRlckNv bmZpZ0J5cGFzc2VkU2VuZGVyClgtTVMtRXhjaGFuZ2UtT3JnYW5pemF0aW9uLUFWU3RhbXAtTWFp bGJveDogTVNGVEZGOzE7MDswIDAgMApYLU1TLUV4Y2hhbmdlLU9yZ2FuaXphdGlvbi1TQ0w6IC0x ClgtTVMtRXhjaGFuZ2UtT3JnYW5pemF0aW9uLUF1dGhTb3VyY2U6IHdpbnRlcm11dGUuYWQuZmJp LmdvdgpYLU1TLUV4Y2hhbmdlLU9yZ2FuaXphdGlvbi1BdXRoQXM6IEFub255bW91cwpYLVNwYW0t U2NvcmU6IDEuOApYLVNwYW1fYmFyOiArCgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUi IGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+KExlIGZyYW7Dp2FpcyBzdWl0IGzi gJlhbmdsYWlzKQogCjxwPiBEZWFyIERyLiBTbm93ZGVuOiA8L3A+CgoKPHA+IFlvdXIgVXNlcm5h bWUgaXM6IHNub3dkZW5AZmJpLmdvdiA8L3A+Cgo8cD4gSWYgeW91IGhhdmUgZm9yZ290dGVuIHlv dXIgUGFzc3dvcmQsIHNlbGVjdCA8c3Ryb25nPkkgRm9yZ290IG15IFBhc3N3b3JkPC9zdHJvbmc+ IG9uIHRoZSBsb2dpbiBwYWdlLiA8L3A+Cgo8cD4gVG8gYWNjZXNzIHRoZSByZWZlcmVlIGV4dHJh bmV0LCBnbyB0byA8YSBocmVmPSJodHRwczovL2luZmx1ZW5jZS5uc2EuZ292L3Nla3JpdC5hc3B4 Ij5odHRwczovL2luZmx1ZW5jZS5uc2EuZ292L3Nla3JpdC5hc3B4PC9hPi4gPC9wPgoKCjxwPjxz dHJvbmc+VGVjaG5pY2FsIFN1cHBvcnQ8L3N0cm9uZz48YnI+CkNvbnRhY3QgdGhlIE9uLWxpbmUg U2VydmljZXMgSGVscGRlc2sgYXQgOTk5LTk5OS0wMDAwIG9yIGJ5IGVtYWlsIGF0IDxhIGhyZWY9 Im1haWx0bzp3ZWJhcHBAbnNhLmdvdiI+d2ViYXBwQG5zYS5nb3Y8L2E+LiBJbiB5b3VyIG1lc3Nh Z2UsIHBsZWFzZSBpbmNsdWRlIHlvdXIgZW1haWwgYWRkcmVzcyBhbmQgdGVsZXBob25lIG51bWJl ci4gSG91cnMgb2Ygc2VydmljZSBhcmUgZnJvbSA4OjMwIGEubS4gdG8gNDozMCBwLm0uIChFU1Qp LCBNb25kYXkgdG8gRnJpZGF5LiA8L3A+Cgo8cD5SZWdhcmRzLCA8L3A+CgoKPHA+IDxzdHJvbmc+ IEogRWRnYXIgSG9vdmVyIDwvc3Ryb25nPgpSZXNlYXJjaCBHcmFudHMgYW5kIFNjaG9sYXJzaGlw cyB8IFN1YnZlbnRpb25zIGRlIHJlY2hlcmNoZSBldCBib3Vyc2VzPGJyPgo8YnI+Ci0tPGJyPgo8 YSBocmVmPSJtYWlsdG86bWF0aGVtYXRpY2FsX3N0YXRpc3RpY2FsX3NjaWVuY2VzQG5zYS5nb3Yi Pm1hdGhlbWF0aWNhbF9zdGF0aXN0aWNhbF9zY2llbmNlc0Buc2EuZ292PC9hPjxicj4KPGJyPgo8 YSBocmVmPSJ3d3cubnNhLmdvdiI+IHd3dy5uc2EuZ292PC9hPiAgfCA8YSBocmVmPSJ3d3cuY2lh LmdvdiI+IHd3dy5jaWEuZ292PC9hPjxicj4KCjwvcD4KCjxwPl9fX19fX19fX19fX188L3A+Cgo8 cD4gTWFkYW1lL01vbnNpZXVyLCA8L3A+CgoKPHA+IFZvdHJlIG5vbSBk4oCZdXRpbGlzYXRldXIg ZXN0IDogc25vd2RlbkBmYmkuZ292IDwvcD4KCjxwPiBTaSB2b3VzIGF2ZXogb3VibGnDqSB2b3Ry ZSBtb3QgZGUgcGFzc2UsIHPDqWxlY3Rpb25uZXogPHN0cm9uZz5KJ2FpIG91Ymxpw6kgbW9uIG1v dCBkZSBwYXNzZTwvc3Ryb25nPiDDoCBsYSBwYWdlIGTigJlvdXZlcnR1cmUgZGUgc2Vzc2lvbiBk ZSBs4oCZZXh0cmFuZXQuIDwvcD4KCgo8cD4gUG91ciBhY2PDqWRlciDDoCBs4oCZZXh0cmFuZXQs IHJlbmRlei12b3VzIMOgIDxhIGhyZWY9Imh0dHBzOi8vaW5mbHVlbmNlLm5zYS5nb3Yvc2Vrcml0 LmFzcHgiPmh0dHBzOi8vaW5mbHVlbmNlLm5zYS5nb3Yvc2Vrcml0LmFzcHg8L2E+LiA8L3A+Cgo8 cD4gPHN0cm9uZz5Tb3V0aWVuIHRlY2huaXF1ZTwvc3Ryb25nPjxicj4KIFZldWlsbGV6IGNvbW11 bmlxdWVyIGF2ZWMgbGUgU2VydmljZSBkZSBkw6lwYW5uYWdlIGRlcyBzZXJ2aWNlcyDDqWxlY3Ry b25pcXVlcyBwYXIgdMOpbMOpcGhvbmUgYXU5OTktOTk5LTAwMDAgb3UgcGFyIGNvdXJyaWVsIMOg IDxhIGhyZWY9Im1haWx0bzp3ZWJhcHBAbnNhLmdvdiI+d2ViYXBwQG5zYS5nb3Y8L2E+IGV0IGlu ZGlxdWVyIGRhbnMgdm90cmUgbWVzc2FnZSB2b3RyZSBhZHJlc3NlIGRlIGNvdXJyaWVsIGV0IHZv dHJlIG51bcOpcm8gZGUgdMOpbMOpcGhvbmUuIExlcyBoZXVyZXMgZGUgc2VydmljZSBzb250IGRl IDggaCAzMCDDoCAxNiBoIDMwIChoZXVyZSBkZSBs4oCZRXN0KSBkdSBsdW5kaSBhdSB2ZW5kcmVk aS4gPC9wPgoKPHA+IFNpbmPDqHJlcyBzYWx1dGF0aW9ucywgPC9wPgoKPHA+IDxzdHJvbmc+SiBF ZGdhciBIb292ZXIgPC9zdHJvbmc+IDxicj4KUmVzZWFyY2ggR3JhbnRzIGFuZCBTY2hvbGFyc2hp cHMgfCBTdWJ2ZW50aW9ucyBkZSByZWNoZXJjaGUgZXQgYm91cnNlczxicj4KPGJyPgotLTxicj4K PGEgaHJlZj0ibWFpbHRvOm1hdGhlbWF0aWNhbF9zdGF0aXN0aWNhbF9zY2llbmNlc0Buc2EuZ292 Ij5tYXRoZW1hdGljYWxfc3RhdGlzdGljYWxfc2NpZW5jZXNAbnNhLmdvdjwvYT48YnI+Cjxicj4K PGEgaHJlZj0id3d3Lm5zYS5nb3YiPiB3d3cubnNhLmdvdjwvYT4gIHwgPGEgaHJlZj0id3d3LmNp YS5nb3YiPiB3d3cuY2lhLmdvdjwvYT48YnI+Cgo8L3A+Cg== --=-=-=--