From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Character literals for Unicode (control) characters Date: Mon, 25 Apr 2016 10:48:01 -0700 Organization: UCLA Computer Science Department Message-ID: <2565ace8-9398-b500-44dc-30a8d791ae18@cs.ucla.edu> References: <87r3fsjenn.fsf@gnus.org> <838u1vwqj9.fsf@gnu.org> <56DC7227.10708@cs.ucla.edu> <56DC7F18.8050103@cs.ucla.edu> <83si03v0c3.fsf@gnu.org> <56E7191A.60507@cs.ucla.edu> <56EE9E76.1090002@cs.ucla.edu> <57198EF6.50001@cs.ucla.edu> <83d1pi5b4p.fsf@gnu.org> <83bn525axj.fsf@gnu.org> <837ffq55eh.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------3A12EBFA52A7F2C7C99D9383" X-Trace: ger.gmane.org 1461608692 26491 80.91.229.3 (25 Apr 2016 18:24:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 25 Apr 2016 18:24:52 +0000 (UTC) Cc: p.stephani2@gmail.com, emacs-devel@gnu.org To: Eli Zaretskii , =?UTF-8?Q?Elias_M=c3=a5rtenson?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Apr 25 20:24:42 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aulBZ-0002jX-RA for ged-emacs-devel@m.gmane.org; Mon, 25 Apr 2016 20:24:42 +0200 Original-Received: from localhost ([::1]:33209 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aulBZ-0002Cr-0Y for ged-emacs-devel@m.gmane.org; Mon, 25 Apr 2016 14:24:41 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53379) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aulBD-0002AB-Uh for emacs-devel@gnu.org; Mon, 25 Apr 2016 14:24:21 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aulBC-0007OE-3h for emacs-devel@gnu.org; Mon, 25 Apr 2016 14:24:19 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:59507) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aulB8-0007NT-FJ; Mon, 25 Apr 2016 14:24:14 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id AD07116125C; Mon, 25 Apr 2016 10:48:09 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id vaFyT7074oo3; Mon, 25 Apr 2016 10:48:05 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 5A597161268; Mon, 25 Apr 2016 10:48:05 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 5wmjsDPXFbhq; Mon, 25 Apr 2016 10:48:05 -0700 (PDT) Original-Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 3AEE516125C; Mon, 25 Apr 2016 10:48:05 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0 In-Reply-To: <837ffq55eh.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 131.179.128.68 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:203300 Archived-At: This is a multi-part message in MIME format. --------------3A12EBFA52A7F2C7C99D9383 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 04/22/2016 03:01 AM, Eli Zaretskii wrote: > I meant "CJK COMPATIBILITY IDEOGRAPH-nnnn", sorry for the confusion. OK, thanks for clarifying. In looking into this, I noticed a curious ambiguity: 'C-x 8 RET B E D RET' inserts U+0BED (TAMIL DIGIT SEVEN), whereas it should insert U+1F6CF (BED). BED is currently the only Unicode name that consists entirely of hexadecimal digits. I installed the attached patch into master to fix the problem you mentioned, along with fixing this ambiguity and a couple of other related problems that I noticed. Perhaps BED should be renamed, but that's not our job. --------------3A12EBFA52A7F2C7C99D9383 Content-Type: text/plain; charset=UTF-8; name="0001-New-function-char-from-name.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-New-function-char-from-name.txt" RnJvbSBhZWYwOTY4OGEzNTdjODE1ZmQzY2NmYmMwNDU5MjcxNzczN2U2Yzg2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBNb24sIDI1IEFwciAyMDE2IDEwOjQxOjI5IC0wNzAwClN1YmplY3Q6IFtQQVRD SF0gPT9VVEYtOD9xP05ldz0yMGZ1bmN0aW9uPTIwPUUyPTgwPTk4Y2hhci1mcm9tLW5hbWU/ PQogPT9VVEYtOD9xPz1FMj04MD05OT89Ck1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n OiA4Yml0CgpUaGlzIGFsc28gZml4ZXMgdGhlIG1pc2hhbmRsaW5nIG9mICJcTntDSksgQ09N UEFUSUJJTElUWQpJREVPR1JBUEgtRjkwMH0iLCAiXE57VkFSSUFUSU9OIFNFTEVDVE9SLTF9 IiwgZXRjLgpQcm9ibGVtIHJlcG9ydGVkIGJ5IEVsaSBaYXJldHNraWkgaW46Cmh0dHA6Ly9s aXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9lbWFjcy1kZXZlbC8yMDE2LTA0L21zZzAwNjE0 Lmh0bWwKKiBkb2MvbGlzcHJlZi9ub25hc2NpaS50ZXhpIChDaGFyYWN0ZXIgQ29kZXMpLCBl dGMvTkVXUzogRG9jdW1lbnQgdGhpcy4KKiBsaXNwL2ludGVybmF0aW9uYWwvbXVsZS1jbWRz LmVsIChjaGFyLWZyb20tbmFtZSk6IE5ldyBmdW5jdGlvbi4KKHJlYWQtY2hhci1ieS1uYW1l KTogVXNlIGl0LiAgRG9jdW1lbnQgdGhhdCAiQkVEIiBpcyB0cmVhdGVkIGFzCmEgbmFtZSwg bm90IGFzIGEgaGV4YWRlY2ltYWwgbnVtYmVyLiAgUmVqZWN0IG91dC1vZi1yYW5nZSBpbnRl Z2VycywKZmxvYXRpbmctcG9pbnQgbnVtYmVycywgYW5kIHN0cmluZ3Mgd2l0aCB0cmFpbGlu ZyBqdW5rLgoqIHNyYy9scmVhZC5jIChjaGFyYWN0ZXJfbmFtZV90b19jb2RlKTogQ2FsbCBj aGFyLWZyb20tbmFtZQppbnN0ZWFkIG9mIGluc3BlY3RpbmcgdWNzLW5hbWVzIGRpcmVjdGx5 LCBzbyB0aGF0IHdlIGhhbmRsZQpjb21wdXRlZCBuYW1lcyBsaWtlICJWQVJJQVRJT04gU0VM RUNUT1ItMSIuICBEbyBub3QgdXNlIGFuIGF1dG8Kc3RyaW5nLCBzaW5jZSBjaGFyLWZyb20t bmFtZSBtaWdodCBHQy4KKiB0ZXN0L3NyYy9scmVhZC10ZXN0cy5lbDogQWRkIHRlc3RzIGZv ciBuZXcgYmVoYXZpb3IsIGFuZApmaXggc29tZSBvbGQgdGVzdHMgdGhhdCB3ZXJlIHdyb25n LgotLS0KIGRvYy9saXNwcmVmL25vbmFzY2lpLnRleGkgICAgICAgfCAxMiArKysrKysrKysr KwogZXRjL05FV1MgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrKysKIGxpc3AvaW50 ZXJuYXRpb25hbC9tdWxlLWNtZHMuZWwgfCA0MyArKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0KIHNyYy9scmVhZC5jICAgICAgICAgICAgICAgICAgICAgfCAzMSArKysr KysrKystLS0tLS0tLS0tLS0tLS0tLQogdGVzdC9zcmMvbHJlYWQtdGVzdHMuZWwgICAgICAg ICB8IDQ4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiA1IGZp bGVzIGNoYW5nZWQsIDEwMyBpbnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kb2MvbGlzcHJlZi9ub25hc2NpaS50ZXhpIGIvZG9jL2xpc3ByZWYvbm9uYXNj aWkudGV4aQppbmRleCAwZTRhYTg2Li5mZDJjZTMyIDEwMDY0NAotLS0gYS9kb2MvbGlzcHJl Zi9ub25hc2NpaS50ZXhpCisrKyBiL2RvYy9saXNwcmVmL25vbmFzY2lpLnRleGkKQEAgLTQy MCw2ICs0MjAsMTggQEAgQ2hhcmFjdGVyIENvZGVzCiBAZW5kIGV4YW1wbGUKIEBlbmQgZGVm dW4KIAorQGRlZnVuIGNoYXItZnJvbS1uYW1lIHN0cmluZyAmb3B0aW9uYWwgaWdub3JlLWNh c2UKK1RoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgY2hhcmFjdGVyIHdob3NlIFVuaWNvZGUg bmFtZSBpcyBAdmFye3N0cmluZ30uCitJZiBAdmFye2lnbm9yZS1jYXNlfSBpcyBub24tQGNv ZGV7bmlsfSwgY2FzZSBpcyBpZ25vcmVkIGluIEB2YXJ7c3RyaW5nfS4KK1RoaXMgZnVuY3Rp b24gcmV0dXJucyBAY29kZXtuaWx9IGlmIEB2YXJ7c3RyaW5nfSBkb2VzIG5vdCBuYW1lIGEg Y2hhcmFjdGVyLgorCitAZXhhbXBsZQorOzsgVSswM0EzCisoPSAoY2hhci1mcm9tLW5hbWUg IkdSRUVLIENBUElUQUwgTEVUVEVSIFNJR01BIikgI3gwM0EzKQorICAgICBAcmVzdWx0e30g dAorQGVuZCBleGFtcGxlCitAZW5kIGRlZnVuCisKIEBkZWZ1biBnZXQtYnl0ZSAmb3B0aW9u YWwgcG9zIHN0cmluZwogVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBieXRlIGF0IGNoYXJh Y3RlciBwb3NpdGlvbiBAdmFye3Bvc30gaW4gdGhlCiBjdXJyZW50IGJ1ZmZlci4gIElmIHRo ZSBjdXJyZW50IGJ1ZmZlciBpcyB1bmlieXRlLCB0aGlzIGlzIGxpdGVyYWxseQpkaWZmIC0t Z2l0IGEvZXRjL05FV1MgYi9ldGMvTkVXUwppbmRleCA2YmRiNjQ4Li5lNDAxZDJkIDEwMDY0 NAotLS0gYS9ldGMvTkVXUworKysgYi9ldGMvTkVXUwpAQCAtMzkxLDYgKzM5MSwxMCBAQCBj b21wYXJlcyB0aGVpciBudW1lcmljYWwgdmFsdWVzLiAgQWNjb3JkaW5nIHRvIHRoaXMgcHJl ZGljYXRlLAogImZvbzIucG5nIiBpcyBzbWFsbGVyIHRoYW4gImZvbzEyLnBuZyIuCiAKICsr KworKiogVGhlIG5ldyBmdW5jdGlvbiAnY2hhci1mcm9tLW5hbWUnIGNvbnZlcnRzIGEgVW5p Y29kZSBuYW1lIHN0cmluZwordG8gdGhlIGNvcnJlc3BvbmRpbmcgY2hhcmFjdGVyIGNvZGUu CisKKysrKwogKiogTmV3IGZ1bmN0aW9ucyAnc3hoYXNoLWVxJyBhbmQgJ3N4aGFzaC1lcWwn IHJldHVybiBoYXNoIGNvZGVzIG9mIGEKIExpc3Agb2JqZWN0IHN1aXRhYmxlIGZvciB1c2Ug d2l0aCAnZXEnIGFuZCAnZXFsJyBjb3JyZXNwb25kaW5nbHkuICBJZgogdHdvIG9iamVjdHMg YXJlICdlcScgKCdlcWwnKSwgdGhlbiB0aGUgcmVzdWx0IG9mICdzeGhhc2gtZXEnCmRpZmYg LS1naXQgYS9saXNwL2ludGVybmF0aW9uYWwvbXVsZS1jbWRzLmVsIGIvbGlzcC9pbnRlcm5h dGlvbmFsL211bGUtY21kcy5lbAppbmRleCA4ZWIzMjBhLi4yY2UyMWE4IDEwMDY0NAotLS0g YS9saXNwL2ludGVybmF0aW9uYWwvbXVsZS1jbWRzLmVsCisrKyBiL2xpc3AvaW50ZXJuYXRp b25hbC9tdWxlLWNtZHMuZWwKQEAgLTI5NzgsNiArMjk3OCwyNyBAQCBtdWxlLS11Y3MtbmFt ZXMtYW5ub3RhdGlvbgogICAobGV0ICgoY2hhciAoYXNzb2MgbmFtZSB1Y3MtbmFtZXMpKSkK ICAgICAod2hlbiBjaGFyIChmb3JtYXQgIiAoJWMpIiAoY2RyIGNoYXIpKSkpKQogCisoZGVm dW4gY2hhci1mcm9tLW5hbWUgKHN0cmluZyAmb3B0aW9uYWwgaWdub3JlLWNhc2UpCisgICJS ZXR1cm4gYSBjaGFyYWN0ZXIgYXMgYSBudW1iZXIgZnJvbSBpdHMgVW5pY29kZSBuYW1lIFNU UklORy4KK0lmIG9wdGlvbmFsIElHTk9SRS1DQVNFIGlzIG5vbi1uaWwsIGlnbm9yZSBjYXNl IGluIFNUUklORy4KK1JldHVybiBuaWwgaWYgU1RSSU5HIGRvZXMgbm90IG5hbWUgYSBjaGFy YWN0ZXIuIgorICAob3IgKGNkciAoYXNzb2Mtc3RyaW5nIHN0cmluZyAodWNzLW5hbWVzKSBp Z25vcmUtY2FzZSkpCisgICAgICAobGV0ICgobWludXMgKHN0cmluZy1tYXRjaC1wICItWzAt OUEtRl0rXFwnIiBzdHJpbmcpKSkKKyAgICAgICAgKHdoZW4gbWludXMKKyAgICAgICAgICA7 OyBQYXJzZSBuYW1lcyBsaWtlICJWQVJJQVRJT04gU0VMRUNUT1ItMTciIGFuZCAiQ0pLCisg ICAgICAgICAgOzsgQ09NUEFUSUJJTElUWSBJREVPR1JBUEgtRjkwMCIgdGhhdCBhcmUgbm90 IGluIHVjcy1uYW1lcy4KKyAgICAgICAgICAoaWdub3JlLWVycm9ycworICAgICAgICAgICAg KGxldCogKChjYXNlLWZvbGQtc2VhcmNoIGlnbm9yZS1jYXNlKQorICAgICAgICAgICAgICAg ICAgICh2cyAoc3RyaW5nLW1hdGNoLXAgIlxcYFZBUklBVElPTiBTRUxFQ1RPUi0iIHN0cmlu ZykpCisgICAgICAgICAgICAgICAgICAgKG1pbnVzLW51bSAoc3RyaW5nLXRvLW51bWJlciAo c3Vic3RyaW5nIHN0cmluZyBtaW51cykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChpZiB2cyAxMCAxNikpKQorICAgICAgICAgICAgICAgICAg ICh2cy1vZmZzZXQgKGlmIHZzIChpZiAoPCBtaW51cy1udW0gLTE2KSAjeEUwMEVGICN4RkRG RikgMCkpCisgICAgICAgICAgICAgICAgICAgKGNvZGUgKC0gdnMtb2Zmc2V0IG1pbnVzLW51 bSkpCisgICAgICAgICAgICAgICAgICAgKG5hbWUgKGdldC1jaGFyLWNvZGUtcHJvcGVydHkg Y29kZSAnbmFtZSkpKQorICAgICAgICAgICAgICAod2hlbiAoZXEgdCAoY29tcGFyZS1zdHJp bmdzIHN0cmluZyBuaWwgbmlsIG5hbWUgbmlsIG5pbAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZS1jYXNlKSkKKyAgICAgICAgICAgICAgICBj b2RlKSkpKSkpKQorCiAoZGVmdW4gcmVhZC1jaGFyLWJ5LW5hbWUgKHByb21wdCkKICAgIlJl YWQgYSBjaGFyYWN0ZXIgYnkgaXRzIFVuaWNvZGUgbmFtZSBvciBoZXggbnVtYmVyIHN0cmlu Zy4KIERpc3BsYXkgUFJPTVBUIGFuZCByZWFkIGEgc3RyaW5nIHRoYXQgcmVwcmVzZW50cyBh IGNoYXJhY3RlciBieSBpdHMKQEAgLTI5OTEsOSArMzAxMiwxMSBAQCByZWFkLWNoYXItYnkt bmFtZQogdGhlIGNoYXJhY3RlcnMgd2hvc2UgbmFtZXMgaW5jbHVkZSB0aGF0IHN1YnN0cmlu Zywgbm90IG5lY2Vzc2FyaWx5CiBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBuYW1lLgogCi1U aGlzIGZ1bmN0aW9uIGFsc28gYWNjZXB0cyBhIGhleGFkZWNpbWFsIG51bWJlciBvZiBVbmlj b2RlIGNvZGUKLXBvaW50IG9yIGEgbnVtYmVyIGluIGhhc2ggbm90YXRpb24sIGUuZy4gI28y MTQzMCBmb3Igb2N0YWwsCi0jeDIzMTggZm9yIGhleCwgb3IgIzEwcjg5ODQgZm9yIGRlY2lt YWwuIgorQWNjZXB0IGEgbmFtZSBsaWtlIFwiQ0lSQ1VMQVRJT04gRlVOQ1RJT05cIiwgYSBo ZXhhZGVjaW1hbAorbnVtYmVyIGxpa2UgXCIyQTEwXCIsIG9yIGEgbnVtYmVyIGluIGhhc2gg bm90YXRpb24gKGUuZy4sCitcIiN4MmExMFwiIGZvciBoZXgsIFwiMTByMTA3NjhcIiBmb3Ig ZGVjaW1hbCwgb3IgXCIjbzI1MDIwXCIgZm9yCitvY3RhbCkuICBUcmVhdCBvdGhlcndpc2Ut YW1iaWd1b3VzIHN0cmluZ3MgbGlrZSBcIkJFRFwiIChVKzFGNkNGKQorYXMgbmFtZXMsIG5v dCBudW1iZXJzLiIKICAgKGxldCogKChlbmFibGUtcmVjdXJzaXZlLW1pbmlidWZmZXJzIHQp CiAJIChjb21wbGV0aW9uLWlnbm9yZS1jYXNlIHQpCiAJIChpbnB1dApAQCAtMzAwNiwxMyAr MzAyOSwxMyBAQCByZWFkLWNoYXItYnktbmFtZQogCQkgICAoY2F0ZWdvcnkgLiB1bmljb2Rl LW5hbWUpKQogCSAgICAgICAoY29tcGxldGUtd2l0aC1hY3Rpb24gYWN0aW9uICh1Y3MtbmFt ZXMpIHN0cmluZyBwcmVkKSkpKSkKIAkgKGNoYXIKLQkgIChjb25kCi0JICAgKChzdHJpbmct bWF0Y2gtcCAiXFxgWzAtOWEtZkEtRl0rXFwnIiBpbnB1dCkKLQkgICAgKHN0cmluZy10by1u dW1iZXIgaW5wdXQgMTYpKQotCSAgICgoc3RyaW5nLW1hdGNoLXAgIlxcYCMiIGlucHV0KQot CSAgICAocmVhZCBpbnB1dCkpCi0JICAgKHQKLQkgICAgKGNkciAoYXNzb2Mtc3RyaW5nIGlu cHV0ICh1Y3MtbmFtZXMpIHQpKSkpKSkKKyAgICAgICAgICAoY29uZAorICAgICAgICAgICAo KGNoYXItZnJvbS1uYW1lIGlucHV0IHQpKQorICAgICAgICAgICAoKHN0cmluZy1tYXRjaC1w ICJcXGBbMC05YS1mQS1GXStcXCciIGlucHV0KQorICAgICAgICAgICAgKGlnbm9yZS1lcnJv cnMgKHN0cmluZy10by1udW1iZXIgaW5wdXQgMTYpKSkKKyAgICAgICAgICAgKChzdHJpbmct bWF0Y2gtcCAiXFxgI1xcKFtiQm9PeFhdXFx8WzAtOV0rW3JSXVxcKVswLTlhLXpBLVpdK1xc JyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCkKKyAgICAgICAgICAgIChp Z25vcmUtZXJyb3JzIChyZWFkIGlucHV0KSkpKSkpCiAgICAgKHVubGVzcyAoY2hhcmFjdGVy cCBjaGFyKQogICAgICAgKGVycm9yICJJbnZhbGlkIGNoYXJhY3RlciIpKQogICAgIGNoYXIp KQpkaWZmIC0tZ2l0IGEvc3JjL2xyZWFkLmMgYi9zcmMvbHJlYWQuYwppbmRleCBhNDJjMWY2 Li42ZTk3ZTA3IDEwMDY0NAotLS0gYS9zcmMvbHJlYWQuYworKysgYi9zcmMvbHJlYWQuYwpA QCAtMjE1NSwyNiArMjE1NSwxNSBAQCBncm93X3JlYWRfYnVmZmVyICh2b2lkKQogc3RhdGlj IGludAogY2hhcmFjdGVyX25hbWVfdG9fY29kZSAoY2hhciBjb25zdCAqbmFtZSwgcHRyZGlm Zl90IG5hbWVfbGVuKQogewotICBMaXNwX09iamVjdCBjb2RlOwotCi0gIC8qIENvZGUgcG9p bnQgYXMgVStYWFhYLi4uLiAgKi8KLSAgaWYgKG5hbWVbMF0gPT0gJ1UnICYmIG5hbWVbMV0g PT0gJysnKQotICAgIHsKLSAgICAgIC8qIFBhc3MgdGhlIGxlYWRpbmcgJysnIHRvIHN0cmlu Z190b19udW1iZXIsIHNvIHRoYXQgaXQKLQkgcmVqZWN0cyBtb25zdHJvc2l0aWVzIHN1Y2gg YXMgbmVnYXRpdmUgdmFsdWVzLiAgKi8KLSAgICAgIGNvZGUgPSBzdHJpbmdfdG9fbnVtYmVy IChuYW1lICsgMSwgMTYsIGZhbHNlKTsKLSAgICB9Ci0gIGVsc2UKLSAgICB7Ci0gICAgICAv KiBMb29rIHVwIHRoZSBuYW1lIGluIHRoZSB0YWJsZSByZXR1cm5lZCBieSAndWNzLW5hbWVz Jy4gICovCi0gICAgICBBVVRPX1NUUklOR19XSVRIX0xFTiAobmFtZXN0ciwgbmFtZSwgbmFt ZV9sZW4pOwotICAgICAgTGlzcF9PYmplY3QgbmFtZXMgPSBjYWxsMCAoUXVjc19uYW1lcyk7 Ci0gICAgICBjb2RlID0gQ0RSIChGYXNzb2MgKG5hbWVzdHIsIG5hbWVzKSk7Ci0gICAgfQot Ci0gIGlmICghIChJTlRFR0VSUCAoY29kZSkKLQkgJiYgMCA8PSBYSU5UIChjb2RlKSAmJiBY SU5UIChjb2RlKSA8PSBNQVhfVU5JQ09ERV9DSEFSCi0JICYmICEgY2hhcl9zdXJyb2dhdGVf cCAoWElOVCAoY29kZSkpKSkKKyAgLyogRm9yICJVK1hYWFgiLCBwYXNzIHRoZSBsZWFkaW5n ICcrJyB0byBzdHJpbmdfdG9fbnVtYmVyIHRvIHJlamVjdAorICAgICBtb25zdHJvc2l0aWVz IGxpa2UgIlUrLTAwMDAiLiAgKi8KKyAgTGlzcF9PYmplY3QgY29kZQorICAgID0gKG5hbWVb MF0gPT0gJ1UnICYmIG5hbWVbMV0gPT0gJysnCisgICAgICAgPyBzdHJpbmdfdG9fbnVtYmVy IChuYW1lICsgMSwgMTYsIGZhbHNlKQorICAgICAgIDogY2FsbDIgKFFjaGFyX2Zyb21fbmFt ZSwgbWFrZV91bmlieXRlX3N0cmluZyAobmFtZSwgbmFtZV9sZW4pLCBRdCkpOworCisgIGlm ICghIFJBTkdFRF9JTlRFR0VSUCAoMCwgY29kZSwgTUFYX1VOSUNPREVfQ0hBUikKKyAgICAg IHx8IGNoYXJfc3Vycm9nYXRlX3AgKFhJTlQgKGNvZGUpKSkKICAgICB7CiAgICAgICBBVVRP X1NUUklORyAoZm9ybWF0LCAiXFxOeyVzfSIpOwogICAgICAgQVVUT19TVFJJTkdfV0lUSF9M RU4gKG5hbWVzdHIsIG5hbWUsIG5hbWVfbGVuKTsKQEAgLTQ4MjksNSArNDgxOCw1IEBAIHRo YXQgYXJlIGxvYWRlZCBiZWZvcmUgeW91ciBjdXN0b21pemF0aW9ucyBhcmUgcmVhZCEgICov KTsKICAgREVGU1lNIChRcmVoYXNoX3NpemUsICJyZWhhc2gtc2l6ZSIpOwogICBERUZTWU0g KFFyZWhhc2hfdGhyZXNob2xkLCAicmVoYXNoLXRocmVzaG9sZCIpOwogCi0gIERFRlNZTSAo UXVjc19uYW1lcywgInVjcy1uYW1lcyIpOworICBERUZTWU0gKFFjaGFyX2Zyb21fbmFtZSwg ImNoYXItZnJvbS1uYW1lIik7CiB9CmRpZmYgLS1naXQgYS90ZXN0L3NyYy9scmVhZC10ZXN0 cy5lbCBiL3Rlc3Qvc3JjL2xyZWFkLXRlc3RzLmVsCmluZGV4IDJlYmFmNDkuLjFhODJkMTMg MTAwNjQ0Ci0tLSBhL3Rlc3Qvc3JjL2xyZWFkLXRlc3RzLmVsCisrKyBiL3Rlc3Qvc3JjL2xy ZWFkLXRlc3RzLmVsCkBAIC0yOCwxNSArMjgsNTUgQEAKIChlcnQtZGVmdGVzdCBscmVhZC1j aGFyLW51bWJlciAoKQogICAoc2hvdWxkIChlcXVhbCAocmVhZCAiP1xcTntVK0E4MTd9Iikg I3hBODE3KSkpCiAKLShlcnQtZGVmdGVzdCBscmVhZC1jaGFyLW5hbWUgKCkKKyhlcnQtZGVm dGVzdCBscmVhZC1jaGFyLW5hbWUtMSAoKQogICAoc2hvdWxkIChlcXVhbCAocmVhZCAiP1xc TntTWUxPVEkgIE5BR1JJIExFVFRFUiBcbiBESE99IikKICAgICAgICAgICAgICAgICAgI3hB ODE3KSkpCisoZXJ0LWRlZnRlc3QgbHJlYWQtY2hhci1uYW1lLTIgKCkKKyAgKHNob3VsZCAo ZXF1YWwgKHJlYWQgIj9cXE57QkVEfSIpICN4MUY2Q0YpKSkKKyhlcnQtZGVmdGVzdCBscmVh ZC1jaGFyLW5hbWUtMyAoKQorICAoc2hvdWxkIChlcXVhbCAocmVhZCAiP1xcTntVK0JFRH0i KSAjeEJFRCkpKQorKGVydC1kZWZ0ZXN0IGxyZWFkLWNoYXItbmFtZS00ICgpCisgIChzaG91 bGQgKGVxdWFsIChyZWFkICI/XFxOe1ZBUklBVElPTiBTRUxFQ1RPUi0xfSIpICN4RkUwMCkp KQorKGVydC1kZWZ0ZXN0IGxyZWFkLWNoYXItbmFtZS01ICgpCisgIChzaG91bGQgKGVxdWFs IChyZWFkICI/XFxOe1ZBUklBVElPTiBTRUxFQ1RPUi0xNn0iKSAjeEZFMEYpKSkKKyhlcnQt ZGVmdGVzdCBscmVhZC1jaGFyLW5hbWUtNiAoKQorICAoc2hvdWxkIChlcXVhbCAocmVhZCAi P1xcTntWQVJJQVRJT04gU0VMRUNUT1ItMTd9IikgI3hFMDEwMCkpKQorKGVydC1kZWZ0ZXN0 IGxyZWFkLWNoYXItbmFtZS03ICgpCisgIChzaG91bGQgKGVxdWFsIChyZWFkICI/XFxOe1ZB UklBVElPTiBTRUxFQ1RPUi0yNTZ9IikgI3hFMDFFRikpKQorKGVydC1kZWZ0ZXN0IGxyZWFk LWNoYXItbmFtZS04ICgpCisgIChzaG91bGQgKGVxdWFsIChyZWFkICI/XFxOe0NKSyBDT01Q QVRJQklMSVRZIElERU9HUkFQSC1GOTAwfSIpICN4RjkwMCkpKQorKGVydC1kZWZ0ZXN0IGxy ZWFkLWNoYXItbmFtZS05ICgpCisgIChzaG91bGQgKGVxdWFsIChyZWFkICI/XFxOe0NKSyBD T01QQVRJQklMSVRZIElERU9HUkFQSC1GQUQ5fSIpICN4RkFEOSkpKQorKGVydC1kZWZ0ZXN0 IGxyZWFkLWNoYXItbmFtZS0xMCAoKQorICAoc2hvdWxkIChlcXVhbCAocmVhZCAiP1xcTntD SksgQ09NUEFUSUJJTElUWSBJREVPR1JBUEgtMkY4MDB9IikgI3gyRjgwMCkpKQorKGVydC1k ZWZ0ZXN0IGxyZWFkLWNoYXItbmFtZS0xMSAoKQorICAoc2hvdWxkIChlcXVhbCAocmVhZCAi P1xcTntDSksgQ09NUEFUSUJJTElUWSBJREVPR1JBUEgtMkZBMUR9IikgI3gyRkExRCkpKQog CiAoZXJ0LWRlZnRlc3QgbHJlYWQtY2hhci1pbnZhbGlkLW51bWJlciAoKQogICAoc2hvdWxk LWVycm9yIChyZWFkICI/XFxOe1UrMTEwMDAwfSIpIDp0eXBlICdpbnZhbGlkLXJlYWQtc3lu dGF4KSkKIAotKGVydC1kZWZ0ZXN0IGxyZWFkLWNoYXItaW52YWxpZC1uYW1lICgpCisoZXJ0 LWRlZnRlc3QgbHJlYWQtY2hhci1pbnZhbGlkLW5hbWUtMSAoKQogICAoc2hvdWxkLWVycm9y IChyZWFkICI/XFxOe0RPRVMgTk9UIEVYSVNUfSIpKSA6dHlwZSAnaW52YWxpZC1yZWFkLXN5 bnRheCkKKyhlcnQtZGVmdGVzdCBscmVhZC1jaGFyLWludmFsaWQtbmFtZS0yICgpCisgIChz aG91bGQtZXJyb3IgKHJlYWQgIj9cXE57VkFSSUFUSU9OIFNFTEVDVE9SLTB9IikpIDp0eXBl ICdpbnZhbGlkLXJlYWQtc3ludGF4KQorKGVydC1kZWZ0ZXN0IGxyZWFkLWNoYXItaW52YWxp ZC1uYW1lLTMgKCkKKyAgKHNob3VsZC1lcnJvciAocmVhZCAiP1xcTntWQVJJQVRJT04gU0VM RUNUT1ItMjU3fSIpKQorICA6dHlwZSAnaW52YWxpZC1yZWFkLXN5bnRheCkKKyhlcnQtZGVm dGVzdCBscmVhZC1jaGFyLWludmFsaWQtbmFtZS00ICgpCisgIChzaG91bGQtZXJyb3IgKHJl YWQgIj9cXE57VkFSSUFUSU9OIFNFTEVDVE9SLS0wfSIpKQorICA6dHlwZSAnaW52YWxpZC1y ZWFkLXN5bnRheCkKKyhlcnQtZGVmdGVzdCBscmVhZC1jaGFyLWludmFsaWQtbmFtZS01ICgp CisgIChzaG91bGQtZXJyb3IgKHJlYWQgIj9cXE57Q0pLIENPTVBBVElCSUxJVFkgSURFT0dS QVBILUY4RkZ9IikpCisgIDp0eXBlICdpbnZhbGlkLXJlYWQtc3ludGF4KQorKGVydC1kZWZ0 ZXN0IGxyZWFkLWNoYXItaW52YWxpZC1uYW1lLTYgKCkKKyAgKHNob3VsZC1lcnJvciAocmVh ZCAiP1xcTntDSksgQ09NUEFUSUJJTElUWSBJREVPR1JBUEgtRkFEQX0iKSkKKyAgOnR5cGUg J2ludmFsaWQtcmVhZC1zeW50YXgpCisoZXJ0LWRlZnRlc3QgbHJlYWQtY2hhci1pbnZhbGlk LW5hbWUtNyAoKQorICAoc2hvdWxkLWVycm9yIChyZWFkICI/XFxOe0NKSyBDT01QQVRJQklM SVRZIElERU9HUkFQSC0yRjdGRn0iKSkKKyAgOnR5cGUgJ2ludmFsaWQtcmVhZC1zeW50YXgp CisoZXJ0LWRlZnRlc3QgbHJlYWQtY2hhci1pbnZhbGlkLW5hbWUtOCAoKQorICAoc2hvdWxk LWVycm9yIChyZWFkICI/XFxOe0NKSyBDT01QQVRJQklMSVRZIElERU9HUkFQSC0yRkExRX0i KSkKKyAgOnR5cGUgJ2ludmFsaWQtcmVhZC1zeW50YXgpCiAKIChlcnQtZGVmdGVzdCBscmVh ZC1jaGFyLW5vbi1hc2NpaS1uYW1lICgpCiAgIChzaG91bGQtZXJyb3IgKHJlYWQgIj9cXE57 TEFUSU4gQ0FQSVRBTCBMRVRURVIgw5h9IikKQEAgLTU1LDEzICs5NSwxMyBAQAogICAoc2hv dWxkLWVycm9yIChyZWFkICI/XFxOe1UrREZGRn0iKSA6dHlwZSAnaW52YWxpZC1yZWFkLXN5 bnRheCkpCiAKIChlcnQtZGVmdGVzdCBscmVhZC1zdHJpbmctY2hhci1udW1iZXItMSAoKQot ICAoc2hvdWxkIChlcXVhbCAocmVhZCAiYVxcTntVK0E4MTd9YiIpICJhXHVBODE3YngiKSkp CisgIChzaG91bGQgKGVxdWFsIChyZWFkICJcImFcXE57VStBODE3fWJcIiIpICJhXHVBODE3 YiIpKSkKIChlcnQtZGVmdGVzdCBscmVhZC1zdHJpbmctY2hhci1udW1iZXItMiAoKQogICAo c2hvdWxkLWVycm9yIChyZWFkICI/XFxOezAuNX0iKSA6dHlwZSAnaW52YWxpZC1yZWFkLXN5 bnRheCkpCiAoZXJ0LWRlZnRlc3QgbHJlYWQtc3RyaW5nLWNoYXItbnVtYmVyLTMgKCkKICAg KHNob3VsZC1lcnJvciAocmVhZCAiP1xcTntVKy0wfSIpIDp0eXBlICdpbnZhbGlkLXJlYWQt c3ludGF4KSkKIAogKGVydC1kZWZ0ZXN0IGxyZWFkLXN0cmluZy1jaGFyLW5hbWUgKCkKLSAg KHNob3VsZCAoZXF1YWwgKHJlYWQgImFcXE57U1lMT1RJIE5BR1JJICBMRVRURVIgREhPfWIi KSAiYVx1QTgxN2IiKSkpCisgIChzaG91bGQgKGVxdWFsIChyZWFkICJcImFcXE57U1lMT1RJ IE5BR1JJICBMRVRURVIgREhPfWJcIiIpICJhXHVBODE3YiIpKSkKIAogOzs7IGxyZWFkLXRl c3RzLmVsIGVuZHMgaGVyZQotLSAKMi41LjUKCg== --------------3A12EBFA52A7F2C7C99D9383--