From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Lennart Borgman Newsgroups: gmane.emacs.devel Subject: Re: highlighting non-ASCII characters Date: Wed, 24 Mar 2010 20:34:41 +0100 Message-ID: References: <8739zryv6l.fsf_-_@lifelogs.com> <6932BBFEB09A4BA09156ED7F598569CE@us.oracle.com> <87pr2uv8e1.fsf@lifelogs.com> <87aatyuj9s.fsf@lifelogs.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=00163649a623bcd1300482910648 X-Trace: dough.gmane.org 1269459765 26956 80.91.229.12 (24 Mar 2010 19:42:45 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 24 Mar 2010 19:42:45 +0000 (UTC) Cc: emacs-devel@gnu.org To: Ted Zlatanov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Mar 24 20:42:20 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1NuWSK-0002PX-Hk for ged-emacs-devel@m.gmane.org; Wed, 24 Mar 2010 20:42:19 +0100 Original-Received: from localhost ([127.0.0.1]:44601 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NuWSA-0001bL-Kd for ged-emacs-devel@m.gmane.org; Wed, 24 Mar 2010 15:41:22 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NuWMA-0008CO-1g for emacs-devel@gnu.org; Wed, 24 Mar 2010 15:35:10 -0400 Original-Received: from [140.186.70.92] (port=60022 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NuWM7-0008Bo-R2 for emacs-devel@gnu.org; Wed, 24 Mar 2010 15:35:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NuWM4-00005A-4Y for emacs-devel@gnu.org; Wed, 24 Mar 2010 15:35:07 -0400 Original-Received: from fg-out-1718.google.com ([72.14.220.155]:4598) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NuWM3-00004s-SM for emacs-devel@gnu.org; Wed, 24 Mar 2010 15:35:04 -0400 Original-Received: by fg-out-1718.google.com with SMTP id d23so1919947fga.12 for ; Wed, 24 Mar 2010 12:35:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:message-id:subject:to:cc:content-type; bh=QcgjCpUpO/jrf5hiCqCBoSzQjr0czQr9wvMb6OJa3lA=; b=U7zLGPX66OlGREUuvUEhNXYTiF0R9T0jzI0PB7UYU0p6vHUv2vPNOsCOFa58O2nutM 5DqucRV22QLgYal9uw2VpR98bcO2+lYfnj3Vt9Tiwx1AOLxCDHqscWIWiaRje0wxB3+a nZEQqfRFSY2HBAdqR10QvRoyQFXX+jLafFoXQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; b=oCovgU9htU+QKy9TFy0q1nRToKZofsL9wXDgGqpR5IFGB59rigNmrQr2Wino97Rihu XEikH1712jNo6R/R8qzDqKSdhl+k9ToFifvCgZ12uDB/9nZmAjWitnS8Y7mvc5meWghv EiiTrs26+xctegbA2Gp6K1BEiBnOlexEkMrng= Original-Received: by 10.239.170.72 with SMTP id r8mr1361840hbe.32.1269459301748; Wed, 24 Mar 2010 12:35:01 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:122620 Archived-At: --00163649a623bcd1300482910648 Content-Type: text/plain; charset=UTF-8 On Wed, Mar 24, 2010 at 5:21 PM, Lennart Borgman wrote: > > Maybe "Recommended Identifier Profiles for IDN" should be implemented > in Emacs? (See http://www.unicode.org/reports/tr39/data/idnchars.txt) > > How about a bool vector (see make-bool-vector) for this? I wrote a little file for that part. (Too much trouble trying to report some difficult bugs I have not reported yet. I need to do some more relaxing thing like this... ;-) The attached file sets up IDN chars as above. How about defining a character class [:idnchars:]? --00163649a623bcd1300482910648 Content-Type: text/plain; charset=US-ASCII; name="idn.el" Content-Disposition: attachment; filename="idn.el" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g76j70gk0 Ozs7IGlkbi5lbCAtLS0gUmVjb21tZW5kZWQgSWRlbnRpZmllciBQcm9maWxlcyBmb3IgSUROCjs7 Cjs7IEF1dGhvcjogTGVubmFydCBCb3JnbWFuIChsZW5uYXJ0IE8gYm9yZ21hbiBBIGdtYWlsIE8g Y29tKQo7OyBDcmVhdGVkOiAyMDEwLTAzLTI0IFdlZAo7OyBWZXJzaW9uOiAwLjEKOzsgTGFzdC1V cGRhdGVkOiAyMDEwLTAzLTI0IFdlZAo7OyBVUkw6Cjs7IEtleXdvcmRzOgo7OyBDb21wYXRpYmls aXR5Ogo7Owo7OyBGZWF0dXJlcyB0aGF0IG1pZ2h0IGJlIHJlcXVpcmVkIGJ5IHRoaXMgbGlicmFy eToKOzsKOzsgICBOb25lCjs7Cjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKOzsKOzs7IENvbW1lbnRhcnk6Cjs7Cjs7 IEZ1bmN0aW9ucyBmb3IgaGFuZGxpbmcgSUROIGNoYXJzIGRlZmluZWQgYnkKOzsgYGh0dHA6Ly93 d3cudW5pY29kZS5vcmcvcmVwb3J0cy90cjM5LycuCjs7Cjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKOzsKOzs7IENo YW5nZSBsb2c6Cjs7Cjs7Cjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKOzsKOzsgVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo7OyBtb2RpZnkgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo7OyBwdWJs aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywg b3IKOzsgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KOzsKOzsgVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCjs7 IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCjs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUgR05VCjs7IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KOzsKOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKOzsgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNlZSB0aGUg ZmlsZSBDT1BZSU5HLiAgSWYgbm90LCB3cml0ZSB0bwo7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoCjs7IEZsb29yLCBCb3N0b24s IE1BIDAyMTEwLTEzMDEsIFVTQS4KOzsKOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Owo7Owo7OzsgQ29kZToKCihkZWZ2 YXIgdXRzMzktZGF0YWRpciAiYzovdXRzMzkvZGF0YS8iKQoKKGRlZnVuIGlkbi1pbml0IChidikK ICAobGV0KiAoKGlkbmNoYXJzLWZpbGUgKGV4cGFuZC1maWxlLW5hbWUgImlkbmNoYXJzLnR4dCIg dXRzMzktZGF0YWRpcikpCiAgICAgICAgIChpZG5jaGFycy1vbGQgKGZpbmQtYnVmZmVyLXZpc2l0 aW5nIGlkbmNoYXJzLWZpbGUpKQogICAgICAgICAoaWRuY2hhcnMtYnVmIChvciBpZG5jaGFycy1v bGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChub3QgKGZpbGUtZXhpc3RzLXAgaWRu Y2hhcnMtZmlsZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWVzc2FnZSAiQ2Fu J3QgZmluZCBmaWxlICVTIiBpZG5jaGFycy1maWxlKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChmaW5kLWZpbGUtbm9zZWxlY3QgaWRuY2hhcnMtZmlsZSkpKSkKICAgICAgICAgaGVyZQog ICAgICAgICAocmFuZ2UtcGF0dCAocnggYm9sCiAgICAgICAgICAgICAgICAgICAgICAgICAoZ3Jv dXAgKHJlcGVhdCA0IChhbnkgeGRpZ2l0KSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAob3B0 aW9uYWwgIi4uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChncm91cCAocmVw ZWF0IDQgKGFueSB4ZGlnaXQpKSkpKSkpCiAgICAod2hlbiBpZG5jaGFycy1idWYKICAgICAgKHdp dGgtY3VycmVudC1idWZmZXIgaWRuY2hhcnMtYnVmCiAgICAgICAgKHNldHEgaGVyZSAocG9pbnQp KQogICAgICAgIChzYXZlLXJlc3RyaWN0aW9uCiAgICAgICAgICAod2lkZW4pCiAgICAgICAgICAo Z290by1jaGFyIChwb2ludC1taW4pKQogICAgICAgICAgKHdoaWxlIChyZS1zZWFyY2gtZm9yd2Fy ZCByYW5nZS1wYXR0IG5pbCB0KQogICAgICAgICAgICAobGV0KiAoKHN0ci1iZWcgKG1hdGNoLXN0 cmluZyAwKSkKICAgICAgICAgICAgICAgICAgIChzdHItZW5kIChtYXRjaC1zdHJpbmcgMSkpCiAg ICAgICAgICAgICAgICAgICAoYmVnIChzdHJpbmctdG8tbnVtYmVyIHN0ci1iZWcgMTYpKQogICAg ICAgICAgICAgICAgICAgKGVuZCAob3IgKHdoZW4gc3RyLWVuZCAoc3RyaW5nLXRvLW51bWJlciBz dHItZW5kIDE2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZykpKQogICAgICAgICAg ICAgIChkb3RpbWVzIChpaSAoMSsgKC0gZW5kIGJlZykpKQogICAgICAgICAgICAgICAgKGFzZXQg YnYgKCsgaWkgYmVnKSB0KSkpKSkKICAgICAgICAoZ290by1jaGFyIGhlcmUpKQogICAgICAodW5s ZXNzIGlkbmNoYXJzLW9sZCAoa2lsbC1idWZmZXIgaWRuY2hhcnMtYnVmKSkKICAgICAgdCkpKQoK KGRlZmNvbnN0IGlkbi1jaGFycwogICJCb29sZWFuIHZlY3RvciB3aXRoIHJlY29tbWVuZGVkIElE TiBjaGFycy4KU2VlIFVSTCBgaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMzkvJy4K CkRhdGEgaXMgaW5pdGlhbGl6ZWQgZnJvbSB0aGUgZmlsZSBpZG5jaGFycy50eHQgaW4gdGhlIGRp cmVjdG9yeQpgdXRzMzktZGF0YWRpcicuICBUaGlzIGZpbGUgaXMgZmV0Y2hlZCBmcm9tIHRoZSBh Ym92ZSBsb2NhdGlvbi4iCiAgKGxldCAoKGJ2IChtYWtlLWJvb2wtdmVjdG9yICgxLSAoKiAyNTYg MjU2KSkgbmlsKSkpCiAgICAod2hlbiAoaWRuLWluaXQgYnYpCiAgICAgIDs7IChzdHJpbmctdG8t bnVtYmVyICIwMDJEIiAxNikKICAgICAgOzsgTWFrZSBhIHF1aWNrIHNhbml0eSBjaGVjazoKICAg ICAgKHVubGVzcyAoYW5kIChub3QgKGFyZWYgaWRuLWNoYXJzIDQ0KSkKICAgICAgICAgICAgICAg ICAgIChhcmVmIGlkbi1jaGFycyA0NSkpCiAgICAgICAgKG1lc3NhZ2UgImlkbi1jaGFyczogQmFk IGlkbiBkYXRhIGluIGZpbGUgaWRuY2hhcnMudHh0IikpCiAgICAgIGJ2KSkpCgoocHJvdmlkZSAn aWRuKQo7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Cjs7OyBpZG4uZWwgZW5kcyBoZXJlCg== --00163649a623bcd1300482910648--