From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Philipp Stephani Newsgroups: gmane.emacs.devel Subject: Re: Character literals for Unicode (control) characters Date: Fri, 25 Mar 2016 17:41:45 +0000 Message-ID: References: <87r3fsjenn.fsf@gnus.org> <56D8623F.6060806@cs.ucla.edu> <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> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a113fa3fe504f3f052ee314fb X-Trace: ger.gmane.org 1458927741 26037 80.91.229.3 (25 Mar 2016 17:42:21 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 25 Mar 2016 17:42:21 +0000 (UTC) Cc: larsi@gnus.org, johnw@gnu.org, emacs-devel@gnu.org To: Paul Eggert , Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Mar 25 18:42:19 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 1ajVkY-0000El-30 for ged-emacs-devel@m.gmane.org; Fri, 25 Mar 2016 18:42:18 +0100 Original-Received: from localhost ([::1]:57279 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ajVkW-0005wM-Tg for ged-emacs-devel@m.gmane.org; Fri, 25 Mar 2016 13:42:16 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58526) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ajVkF-0005vl-Lb for emacs-devel@gnu.org; Fri, 25 Mar 2016 13:42:00 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ajVkE-0007jL-Df for emacs-devel@gnu.org; Fri, 25 Mar 2016 13:41:59 -0400 Original-Received: from mail-lf0-x230.google.com ([2a00:1450:4010:c07::230]:32910) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ajVkD-0007hb-W3; Fri, 25 Mar 2016 13:41:58 -0400 Original-Received: by mail-lf0-x230.google.com with SMTP id f67so4356458lfb.0; Fri, 25 Mar 2016 10:41:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=V3w2hpNwT0iGGf2aJsUKjWcAVMNgyHyXmEIr7oJJPc0=; b=LN72V7EUzZuRp2EVzass7lbSEKkWLcTjKA23+x6wAh0+TM+00r4s7ps7G1OTjW4k/h 4mOFGA/B3a06+/DOzWHZVvIC7wcEWr6DnT+A1cHIutqGkYG+SYKltGK9/pghlSLuRNFt +zGFOunQmk/2ejtsyZUrXphTYfhy1ZJstEEBKOaxr8tq/3eXyM87HdLEyBiO8tP9LM9f RXi6PrlnsBzH69PUfE/4PvQ4rjcedbPf/5XnW+ZJeAd+fuwZyemtT2Xkjccv6RQumWTy TQmkiVTVEwgzh6vcBZv8hL3X/6AgrSlky6D18iU7cjLzdeeeBcL1CqNSBXZbw9Nkyz1+ uCBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=V3w2hpNwT0iGGf2aJsUKjWcAVMNgyHyXmEIr7oJJPc0=; b=Yei6McoCx5cWdF5LPewKHlYtB7eVox1t5Li5K8ZlJNRrSO+EMfDSx769koXc8MBS0w RjCPhZbg0zpbQkALnf6T7c1+23J16GwPZTdNBTZINOuvSGckArhLDzNLIKGnzr1rUfOO OAaxZhrFh0Irrno1coL1Xd/bwmMUZYaf98eJRus/SJlLsmkj5PMzHdKFSAzbOCwUciUn Mh9wJNQNSWVoSb8MjN8+3EdPrt9B4vq+tdOyq+TIrcDrNbrH30KnjCpkKFdtbUkJadAK oDLoI09Lv2/T55mnFvo+Qvg/qQTKStXUIzQgVvPps+w9o2UkxW6zmRaLutZv4NR50KOl Nglg== X-Gm-Message-State: AD7BkJK7k1jYeew+3ijqUTtBhaAFwM44YVRqFnOdDTvaz8X/RXkh+VtcemEhr2Rp4S3VUeXyYB8Nkuu/AZiDBA== X-Received: by 10.25.137.67 with SMTP id l64mr5110678lfd.158.1458927716804; Fri, 25 Mar 2016 10:41:56 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:4010:c07::230 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:202235 Archived-At: --001a113fa3fe504f3f052ee314fb Content-Type: multipart/alternative; boundary=001a113fa3fe504f37052ee314f9 --001a113fa3fe504f37052ee314f9 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Philipp Stephani schrieb am So., 20. M=C3=A4rz 2016= um 14:25 Uhr: > Paul Eggert schrieb am So., 20. M=C3=A4rz 2016 um > 13:58 Uhr: > >> Thanks, one thing I didn't notice earlier: >> >> + xsignal1 (Qinvalid_read_syntax, >> + CALLN (Fformat, build_pure_c_string ("\\N{%s}"), name)); >> >> This can run Emacs out of pure space unnecessarily. Use AUTO_STRING >> instead of >> build_pure_c_string. >> >> Also, I've lost track of what this patch is building on. Perhaps send al= l >> the >> patches next time.... >> > > Done. Attached all patches. > Oops, forgot to actually commit the changes. New patch attached. --001a113fa3fe504f37052ee314f9 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


Philip= p Stephani <p.stephani2@gmail.c= om> schrieb am So., 20. M=C3=A4rz 2016 um 14:25=C2=A0Uhr:
<= blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px= #ccc solid;padding-left:1ex">
<= div dir=3D"ltr">Paul Eggert <eggert@cs.ucla.edu> schrieb am So., 20. M=C3=A4rz 2016 = um 13:58=C2=A0Uhr:
Thanks, one thin= g I didn't notice earlier:

+=C2=A0 xsignal1 (Qinvalid_read_syntax,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 CALLN (Fformat, build_pure_c_str= ing ("\\N{%s}"), name));

This can run Emacs out of pure space unnecessarily.=C2=A0 Use AUTO_STRING i= nstead of
build_pure_c_string.

Also, I've lost track of what this patch is building on. Perhaps send a= ll the
patches next time....

Done. Attached all patches.=C2=A0<= /div>


Oops, forg= ot to actually commit the changes. New patch attached.=C2=A0
--001a113fa3fe504f37052ee314f9-- --001a113fa3fe504f3f052ee314fb Content-Type: application/octet-stream; name="0001-Use-ucs-names-for-character-name-escapes.patch" Content-Disposition: attachment; filename="0001-Use-ucs-names-for-character-name-escapes.patch" Content-Transfer-Encoding: base64 Content-ID: <153aede1d7723203bd11> X-Attachment-Id: 153aede1d7723203bd11 RnJvbSA4MDhmMjhjZGU1ODNlMmFhMDVkZmZmZjY1YjQwYzY4NGQ3ODk1ZWFiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwIFN0ZXBoYW5pIDxwaHN0QGdvb2dsZS5jb20+CkRh dGU6IFN1biwgMTMgTWFyIDIwMTYgMjE6Mjc6MzAgKzAxMDAKU3ViamVjdDogW1BBVENIXSBVc2Ug YHVjcy1uYW1lcycgZm9yIGNoYXJhY3RlciBuYW1lIGVzY2FwZXMKCiogbHJlYWQuYyAoaW52YWxp ZF9jaGFyYWN0ZXJfbmFtZSwgY2hlY2tfc2NhbGFyX3ZhbHVlKQoocGFyc2VfY29kZV9hZnRlcl9w cmVmaXgsIGNoYXJhY3Rlcl9uYW1lX3RvX2NvZGUpOiBOZXcgaGVscGVyCmZ1bmN0aW9ucyB0aGF0 IHVzZSBgdWNzLW5hbWVzJyBhbmQgcGFyc2luZyBmb3IgQ0pLIGlkZW9ncmFwaHMuCihyZWFkX2Vz Y2FwZSk6IFVzZSBoZWxwZXIgZnVuY3Rpb25zLgooc3ltc19vZl9scmVhZCk6IE5ldyBzeW1ib2wg YHVjcy1uYW1lcycuCiogdGVzdC9zcmMvbHJlYWQtdGVzdHMuZWw6IE5ldyB0ZXN0czsgZml4IGEg Y291cGxlIG9mIGJ1Z3MgaW4KZXhpc3RpbmcgdGVzdHMuCi0tLQogc3JjL2xyZWFkLmMgICAgICAg ICAgICAgfCAxMzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tCiB0ZXN0L3NyYy9scmVhZC10ZXN0cy5lbCB8ICAxMSArKystCiAyIGZpbGVzIGNoYW5nZWQs IDk3IGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9scmVh ZC5jIGIvc3JjL2xyZWFkLmMKaW5kZXggNDAwMDYzNy4uZmQ1YjM2MyAxMDA2NDQKLS0tIGEvc3Jj L2xyZWFkLmMKKysrIGIvc3JjL2xyZWFkLmMKQEAgLTQ0LDYgKzQ0LDcgQEAgYWxvbmcgd2l0aCBH TlUgRW1hY3MuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAq LwogI2luY2x1ZGUgInRlcm1ob29rcy5oIgogI2luY2x1ZGUgImJsb2NraW5wdXQuaCIKICNpbmNs dWRlIDxjLWN0eXBlLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKICNpZmRlZiBNU0RPUwogI2lu Y2x1ZGUgIm1zZG9zLmgiCkBAIC0yMTUxLDM2ICsyMTUyLDkwIEBAIGdyb3dfcmVhZF9idWZmZXIg KHZvaWQpCiAJCQkgTUFYX01VTFRJQllURV9MRU5HVEgsIC0xLCAxKTsKIH0KIAotLyogSGFzaCB0 YWJsZSB0aGF0IG1hcHMgVW5pY29kZSBjaGFyYWN0ZXIgbmFtZXMgdG8gY29kZSBwb2ludHMuICAq Lwotc3RhdGljIExpc3BfT2JqZWN0IGNoYXJhY3Rlcl9uYW1lczsKKy8qIFNpZ25hbCBhbiBpbnZh bGlkLXJlYWQtc3ludGF4IGVycm9yIGluZGljYXRpbmcgdGhhdCB0aGUgY2hhcmFjdGVyCisgICBu YW1lIGluIGFuIFxOe+KApn0gbGl0ZXJhbCBpcyBpbnZhbGlkLiAgKi8KK3N0YXRpYyBfTm9yZXR1 cm4gdm9pZAoraW52YWxpZF9jaGFyYWN0ZXJfbmFtZSAoTGlzcF9PYmplY3QgbmFtZSkKK3sKKyAg QVVUT19TVFJJTkcgKGZvcm1hdCwgIlxcTnslc30iKTsKKyAgeHNpZ25hbDEgKFFpbnZhbGlkX3Jl YWRfc3ludGF4LCBDQUxMTiAoRmZvcm1hdCwgZm9ybWF0LCBuYW1lKSk7Cit9CiAKLS8qIExlbmd0 aCBvZiB0aGUgbG9uZ2VzdCBVbmljb2RlIGNoYXJhY3RlciBuYW1lLCBpbiBieXRlcy4gKi8KLXN0 YXRpYyBwdHJkaWZmX3QgbWF4X2NoYXJhY3Rlcl9uYW1lX2xlbmd0aDsKKy8qIENoZWNrIHRoYXQg Q09ERSBpcyBhIHZhbGlkIFVuaWNvZGUgc2NhbGFyIHZhbHVlLCBhbmQgcmV0dXJuIGl0cworICAg dmFsdWUuICBDT0RFIHNob3VsZCBiZSBwYXJzZWQgZnJvbSB0aGUgY2hhcmFjdGVyIG5hbWUgZ2l2 ZW4gYnkKKyAgIE5BTUUuICBOQU1FIGlzIHVzZWQgZm9yIGVycm9yIG1lc3NhZ2VzLiAgKi8KK3N0 YXRpYyBpbnQKK2NoZWNrX3NjYWxhcl92YWx1ZSAoTGlzcF9PYmplY3QgY29kZSwgTGlzcF9PYmpl Y3QgbmFtZSkKK3sKKyAgaWYgKCEgTlVNQkVSUCAoY29kZSkpCisgICAgaW52YWxpZF9jaGFyYWN0 ZXJfbmFtZSAobmFtZSk7CisgIEVNQUNTX0lOVCBpID0gWElOVCAoY29kZSk7CisgIGlmICghICgw IDw9IGkgJiYgaSA8PSBNQVhfVU5JQ09ERV9DSEFSKQorICAgICAgLyogRG9uJ3QgYWxsb3cgc3Vy cm9nYXRlcy4gICovCisgICAgICB8fCAoMHhEODAwIDw9IGNvZGUgJiYgY29kZSA8PSAweERGRkYp KQorICAgIGludmFsaWRfY2hhcmFjdGVyX25hbWUgKG5hbWUpOworICByZXR1cm4gaTsKK30KIAot LyogSW5pdGlhbGl6ZXMgYGNoYXJhY3Rlcl9uYW1lcycgYW5kIGBtYXhfY2hhcmFjdGVyX25hbWVf bGVuZ3RoJy4KLSAgIENhbGxlZCBieSBgcmVhZF9lc2NhcGUnLiAgKi8KLXZvaWQgaW5pdF9jaGFy YWN0ZXJfbmFtZXMgKHZvaWQpCisvKiBJZiBOQU1FIHN0YXJ0cyB3aXRoIFBSRUZJWCwgaW50ZXJw cmV0IHRoZSByZXN0IGFzIGEgaGV4YWRlY2ltYWwKKyAgIG51bWJlciBhbmQgcmV0dXJuIGl0cyB2 YWx1ZS4gIFJhaXNlIGludmFsaWQtcmVhZC1zeW50YXggaWYgdGhlCisgICBudW1iZXIgaXMgbm90 IGEgdmFsaWQgc2NhbGFyIHZhbHVlLiAgUmV0dXJuIOKIkjEgaWYgTkFNRSBkb2VzbuKAmXQKKyAg IHN0YXJ0IHdpdGggUFJFRklYLiAgKi8KK3N0YXRpYyBpbnQKK3BhcnNlX2NvZGVfYWZ0ZXJfcHJl Zml4IChMaXNwX09iamVjdCBuYW1lLCBjb25zdCBjaGFyICpwcmVmaXgpCiB7Ci0gIGNoYXJhY3Rl cl9uYW1lcyA9IENBTExOIChGbWFrZV9oYXNoX3RhYmxlLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgUUN0ZXN0LCBRZXF1YWwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBDdXJy ZW50bHkgYXJvdW5kIDEwMCwwMDAgVW5pY29kZQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY2hhcmFjdGVycyBhcmUgZGVmaW5lZC4gICovCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICBRQ3NpemUsIG1ha2VfbmF0bnVtICgxMDAwMDApKTsKLSAgTGlzcF9PYmplY3QgZ2V0X3Byb3Bl cnR5ID0KLSAgICBGc3ltYm9sX2Z1bmN0aW9uIChpbnRlcm5fY19zdHJpbmcgKCJnZXQtY2hhci1j b2RlLXByb3BlcnR5IikpOwotICBwdHJkaWZmX3QgbGVuZ3RoID0gMDsKLSAgZm9yIChpbnQgaSA9 IDA7IGkgPD0gTUFYX1VOSUNPREVfQ0hBUjsgKytpKQorICBwdHJkaWZmX3QgbmFtZV9sZW4gPSBT QllURVMgKG5hbWUpOworICBwdHJkaWZmX3QgcHJlZml4X2xlbiA9IHN0cmxlbiAocHJlZml4KTsK KyAgLyogQWxsb3cgYmV0d2VlbiBvbmUgYW5kIGVpZ2h0IGhleGFkZWNpbWFsIGRpZ2l0cyBhZnRl ciB0aGUKKyAgICAgcHJlZml4LiAgKi8KKyAgaWYgKHByZWZpeF9sZW4gPCBuYW1lX2xlbiAmJiBu YW1lX2xlbiA8PSBwcmVmaXhfbGVuICsgOAorICAgICAgJiYgbWVtY21wIChTREFUQSAobmFtZSks IHByZWZpeCwgcHJlZml4X2xlbikgPT0gMCkKICAgICB7Ci0gICAgICBMaXNwX09iamVjdCBjb2Rl ID0gbWFrZV9uYXRudW0gKGkpOwotICAgICAgTGlzcF9PYmplY3QgbmFtZSA9IGNhbGwyIChnZXRf cHJvcGVydHksIGNvZGUsIFFuYW1lKTsKLSAgICAgIGlmIChOSUxQIChuYW1lKSkgY29udGludWU7 Ci0gICAgICBDSEVDS19TVFJJTkcgKG5hbWUpOwotICAgICAgbGVuZ3RoID0gbWF4IChsZW5ndGgs IFNCWVRFUyAobmFtZSkpOwotICAgICAgRnB1dGhhc2ggKG5hbWUsIGNvZGUsIGNoYXJhY3Rlcl9u YW1lcyk7CisgICAgICBMaXNwX09iamVjdCBjb2RlID0gc3RyaW5nX3RvX251bWJlciAoU0RBVEEg KG5hbWUpICsgcHJlZml4X2xlbiwgMTYsIGZhbHNlKTsKKyAgICAgIGlmIChOVU1CRVJQIChjb2Rl KSkKKyAgICAgICAgcmV0dXJuIGNoZWNrX3NjYWxhcl92YWx1ZSAoY29kZSwgbmFtZSk7CisgICAg fQorICByZXR1cm4gLTE7Cit9CisKKy8qIFJldHVybnMgdGhlIHNjYWxhciB2YWx1ZSB0aGF0IGhh cyB0aGUgVW5pY29kZSBjaGFyYWN0ZXIgbmFtZSBOQU1FLgorICAgUmFpc2VzIGBpbnZhbGlkLXJl YWQtc3ludGF4JyBpZiB0aGVyZSBpcyBubyBzdWNoIGNoYXJhY3Rlci4gICovCitzdGF0aWMgaW50 CitjaGFyYWN0ZXJfbmFtZV90b19jb2RlIChMaXNwX09iamVjdCBuYW1lKQoreworICAvKiBDb2Rl IHBvaW50IGFzIFUrTiwgd2hlcmUgTiBpcyBiZXR3ZWVuIDEgYW5kIDggaGV4YWRlY2ltYWwKKyAg ICAgZGlnaXRzLiAgKi8KKyAgaW50IGNvZGUgPSBwYXJzZV9jb2RlX2FmdGVyX3ByZWZpeCAobmFt ZSwgIlUrIik7CisgIGlmIChjb2RlID49IDApCisgICAgcmV0dXJuIGNvZGU7CisKKyAgLyogQ0pL IGlkZW9ncmFwaHMgYXJlIG5vdCBjb250YWluZWQgaW4gdGhlIGFzc29jaWF0aW9uIGxpc3QgcmV0 dXJuZWQKKyAgICAgYnkgYHVjcy1uYW1lcycuICBCdXQgdGhleSBmb2xsb3cgYSBwcmVkaWN0YWJs ZSBuYW1pbmcgcGF0dGVybjogYQorICAgICBmaXhlZCBwcmVmaXggcGx1cyB0aGUgaGV4YWRlY2lt YWwgY29kZXBvaW50IHZhbHVlLiAgKi8KKyAgY29kZSA9IHBhcnNlX2NvZGVfYWZ0ZXJfcHJlZml4 IChuYW1lLCAiQ0pLIElERU9HUkFQSC0iKTsKKyAgaWYgKGNvZGUgPj0gMCkKKyAgICB7CisgICAg ICAvKiBWYXJpb3VzIHJhbmdlcyBvZiBDSksgY2hhcmFjdGVyczsgc2VlIFVuaWNvZGVEYXRhLnR4 dC4gICovCisgICAgICBpZiAoKDB4MzQwMCA8PSBjb2RlICYmIGNvZGUgPD0gMHg0REI1KQorICAg ICAgICAgIHx8ICgweDRFMDAgPD0gY29kZSAmJiBjb2RlIDw9IDB4OUZENSkKKyAgICAgICAgICB8 fCAoMHgyMDAwMCA8PSBjb2RlICYmIGNvZGUgPD0gMHgyQTZENikKKyAgICAgICAgICB8fCAoMHgy QTcwMCA8PSBjb2RlICYmIGNvZGUgPD0gMHgyQjczNCkKKyAgICAgICAgICB8fCAoMHgyQjc0MCA8 PSBjb2RlICYmIGNvZGUgPD0gMHgyQjgxRCkKKyAgICAgICAgICB8fCAoMHgyQjgyMCA8PSBjb2Rl ICYmIGNvZGUgPD0gMHgyQ0VBMSkpCisgICAgICAgIHJldHVybiBjb2RlOworICAgICAgZWxzZQor ICAgICAgICBpbnZhbGlkX2NoYXJhY3Rlcl9uYW1lIChuYW1lKTsKICAgICB9Ci0gIG1heF9jaGFy YWN0ZXJfbmFtZV9sZW5ndGggPSBsZW5ndGg7CisKKyAgLyogTG9vayB1cCB0aGUgbmFtZSBpbiB0 aGUgdGFibGUgcmV0dXJuZWQgYnkgYHVjcy1uYW1lcycuICAqLworICBMaXNwX09iamVjdCBuYW1l cyA9IGNhbGwwIChRdWNzX25hbWVzKTsKKyAgcmV0dXJuIGNoZWNrX3NjYWxhcl92YWx1ZSAoQ0RS IChGYXNzb2MgKG5hbWUsIG5hbWVzKSksIG5hbWUpOwogfQogCisvKiBCb3VuZCBvbiB0aGUgbGVu Z3RoIG9mIGEgVW5pY29kZSBjaGFyYWN0ZXIgbmFtZS4gIEFzIG9mCisgICBVbmljb2RlwqA5LjAu MCB0aGUgbWF4aW11bSBpcyA4Mywgc28gdGhpcyBzaG91bGQgYmUgc2FmZS4gKi8KK2VudW0geyBV TklDT0RFX0NIQVJBQ1RFUl9OQU1FX0xFTkdUSF9CT1VORCA9IDIwMCB9OworCiAvKiBSZWFkIGEg XC1lc2NhcGUgc2VxdWVuY2UsIGFzc3VtaW5nIHdlIGFscmVhZHkgcmVhZCB0aGUgYFwnLgogICAg SWYgdGhlIGVzY2FwZSBzZXF1ZW5jZSBmb3JjZXMgdW5pYnl0ZSwgcmV0dXJuIGVpZ2h0LWJpdCBj aGFyLiAgKi8KIApAQCAtMjM5NCwxMCArMjQ0OSw3IEBAIHJlYWRfZXNjYXBlIChMaXNwX09iamVj dCByZWFkY2hhcmZ1biwgYm9vbCBzdHJpbmdwKQogICAgICAgICBjID0gUkVBRENIQVI7CiAgICAg ICAgIGlmIChjICE9ICd7JykKICAgICAgICAgICBpbnZhbGlkX3N5bnRheCAoIkV4cGVjdGVkIG9w ZW5pbmcgYnJhY2UgYWZ0ZXIgXFxOIik7Ci0gICAgICAgIGlmIChOSUxQIChjaGFyYWN0ZXJfbmFt ZXMpKQotICAgICAgICAgIGluaXRfY2hhcmFjdGVyX25hbWVzICgpOwotICAgICAgICBVU0VfU0FG RV9BTExPQ0E7Ci0gICAgICAgIGNoYXIgKm5hbWUgPSBTQUZFX0FMTE9DQSAobWF4X2NoYXJhY3Rl cl9uYW1lX2xlbmd0aCArIDEpOworICAgICAgICBjaGFyIG5hbWVbVU5JQ09ERV9DSEFSQUNURVJf TkFNRV9MRU5HVEhfQk9VTkQgKyAxXTsKICAgICAgICAgYm9vbCB3aGl0ZXNwYWNlID0gZmFsc2U7 CiAgICAgICAgIHB0cmRpZmZfdCBsZW5ndGggPSAwOwogICAgICAgICB3aGlsZSAodHJ1ZSkKQEAg LTI0MDgsMTEgKzI0NjAsMTIgQEAgcmVhZF9lc2NhcGUgKExpc3BfT2JqZWN0IHJlYWRjaGFyZnVu LCBib29sIHN0cmluZ3ApCiAgICAgICAgICAgICBpZiAoYyA9PSAnfScpCiAgICAgICAgICAgICAg IGJyZWFrOwogICAgICAgICAgICAgaWYgKCEgY19pc2FzY2lpIChjKSkKLSAgICAgICAgICAgICAg eHNpZ25hbDEgKFFpbnZhbGlkX3JlYWRfc3ludGF4LAotICAgICAgICAgICAgICAgICAgICAgICAg Q0FMTE4gKEZmb3JtYXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfcHVy ZV9jX3N0cmluZyAoIk5vbi1BU0NJSSBjaGFyYWN0ZXIgVSslMDRYIgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgaW4gY2hhcmFjdGVyIG5hbWUi KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWtlX25hdG51bSAoYykpKTsKKyAg ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEFVVE9fU1RSSU5HIChmb3JtYXQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJOb24tQVNDSUkgY2hhcmFjdGVyIFUrJTA0WCBpbiBj aGFyYWN0ZXIgbmFtZSIpOworICAgICAgICAgICAgICAgIHhzaWduYWwxIChRaW52YWxpZF9yZWFk X3N5bnRheCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FMTE4gKEZmb3JtYXQsIGZvcm1h dCwgbWFrZV9uYXRudW0gKGMpKSk7CisgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIC8qIFdl IHRyZWF0IG11bHRpcGxlIGFkamFjZW50IHdoaXRlc3BhY2UgY2hhcmFjdGVycyBhcyBhCiAgICAg ICAgICAgICAgICBzaW5nbGUgc3BhY2UgY2hhcmFjdGVyLiAgVGhpcyBtYWtlcyBpdCBlYXNpZXIg dG8gdXNlCiAgICAgICAgICAgICAgICBjaGFyYWN0ZXIgbmFtZXMgaW4gZS5nLiBtdWx0aS1saW5l IHN0cmluZ3MuICAqLwpAQCAtMjQyNiwyNSArMjQ3OSwxMiBAQCByZWFkX2VzY2FwZSAoTGlzcF9P YmplY3QgcmVhZGNoYXJmdW4sIGJvb2wgc3RyaW5ncCkKICAgICAgICAgICAgIGVsc2UKICAgICAg ICAgICAgICAgd2hpdGVzcGFjZSA9IGZhbHNlOwogICAgICAgICAgICAgbmFtZVtsZW5ndGgrK10g PSBjOwotICAgICAgICAgICAgaWYgKGxlbmd0aCA+PSBtYXhfY2hhcmFjdGVyX25hbWVfbGVuZ3Ro KQorICAgICAgICAgICAgaWYgKGxlbmd0aCA+PSBzaXplb2YgbmFtZSkKICAgICAgICAgICAgICAg aW52YWxpZF9zeW50YXggKCJDaGFyYWN0ZXIgbmFtZSB0b28gbG9uZyIpOwogICAgICAgICAgIH0K ICAgICAgICAgaWYgKGxlbmd0aCA9PSAwKQogICAgICAgICAgIGludmFsaWRfc3ludGF4ICgiRW1w dHkgY2hhcmFjdGVyIG5hbWUiKTsKLSAgICAgICAgbmFtZVtsZW5ndGhdID0gMDsKLSAgICAgICAg TGlzcF9PYmplY3QgbGlzcF9uYW1lID0gbWFrZV91bmlieXRlX3N0cmluZyAobmFtZSwgbGVuZ3Ro KTsKLSAgICAgICAgTGlzcF9PYmplY3QgY29kZSA9Ci0gICAgICAgICAgKGxlbmd0aCA+PSAzICYm IGxlbmd0aCA8PSAxMCAmJiBuYW1lWzBdID09ICdVJyAmJiBuYW1lWzFdID09ICcrJykgPwotICAg ICAgICAgIC8qIENvZGUgcG9pbnQgYXMgVStOLCB3aGVyZSBOIGlzIGJldHdlZW4gMSBhbmQgOCBo ZXhhZGVjaW1hbAotICAgICAgICAgICAgIGRpZ2l0cy4gICovCi0gICAgICAgICAgc3RyaW5nX3Rv X251bWJlciAobmFtZSArIDIsIDE2LCBmYWxzZSkgOgotICAgICAgICAgIEZnZXRoYXNoIChsaXNw X25hbWUsIGNoYXJhY3Rlcl9uYW1lcywgUW5pbCk7Ci0gICAgICAgIFNBRkVfRlJFRSAoKTsKLSAg ICAgICAgaWYgKCEgUkFOR0VEX0lOVEVHRVJQICgwLCBjb2RlLCBNQVhfVU5JQ09ERV9DSEFSKSkK LSAgICAgICAgICB4c2lnbmFsMSAoUWludmFsaWRfcmVhZF9zeW50YXgsCi0gICAgICAgICAgICAg ICAgICAgIENBTExOIChGZm9ybWF0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRf cHVyZV9jX3N0cmluZyAoIlxcTnslc30iKSwgbGlzcF9uYW1lKSk7Ci0gICAgICAgIHJldHVybiBY SU5UIChjb2RlKTsKKyAgICAgICAgcmV0dXJuIGNoYXJhY3Rlcl9uYW1lX3RvX2NvZGUgKG1ha2Vf dW5pYnl0ZV9zdHJpbmcgKG5hbWUsIGxlbmd0aCkpOwogICAgICAgfQogCiAgICAgZGVmYXVsdDoK QEAgLTQ4MzYsNiArNDg3Niw1IEBAIHRoYXQgYXJlIGxvYWRlZCBiZWZvcmUgeW91ciBjdXN0b21p emF0aW9ucyBhcmUgcmVhZCEgICovKTsKICAgREVGU1lNIChRcmVoYXNoX3NpemUsICJyZWhhc2gt c2l6ZSIpOwogICBERUZTWU0gKFFyZWhhc2hfdGhyZXNob2xkLCAicmVoYXNoLXRocmVzaG9sZCIp OwogCi0gIGNoYXJhY3Rlcl9uYW1lcyA9IFFuaWw7Ci0gIHN0YXRpY3BybyAoJmNoYXJhY3Rlcl9u YW1lcyk7CisgIERFRlNZTSAoUXVjc19uYW1lcywgInVjcy1uYW1lcyIpOwogfQpkaWZmIC0tZ2l0 IGEvdGVzdC9zcmMvbHJlYWQtdGVzdHMuZWwgYi90ZXN0L3NyYy9scmVhZC10ZXN0cy5lbAppbmRl eCAxZjg3MzM0Li5mZjVkMGY2IDEwMDY0NAotLS0gYS90ZXN0L3NyYy9scmVhZC10ZXN0cy5lbAor KysgYi90ZXN0L3NyYy9scmVhZC10ZXN0cy5lbApAQCAtNDAsMTAgKzQwLDE3IEBACiAgIChzaG91 bGQtZXJyb3IgKHJlYWQgIj9cXE57RE9FUyBOT1QgRVhJU1R9IikpIDp0eXBlICdpbnZhbGlkLXJl YWQtc3ludGF4KQogCiAoZXJ0LWRlZnRlc3QgbHJlYWQtY2hhci1ub24tYXNjaWktbmFtZSAoKQot ICAoc2hvdWxkLWVycm9yIChyZWFkICI/XFxOe0xBVElOIENBUElUQUwgTEVUVEVSIMOYfSIpKSAn aW52YWxpZC1yZWFkLXN5bnRheCkKKyAgKHNob3VsZC1lcnJvciAocmVhZCAiP1xcTntMQVRJTiBD QVBJVEFMIExFVFRFUiDDmH0iKQorICAgICAgICAgICAgICAgIDp0eXBlICdpbnZhbGlkLXJlYWQt c3ludGF4KSkKIAogKGVydC1kZWZ0ZXN0IGxyZWFkLWNoYXItZW1wdHktbmFtZSAoKQotICAoc2hv dWxkLWVycm9yIChyZWFkICI/XFxOe30iKSkgJ2ludmFsaWQtcmVhZC1zeW50YXgpCisgIChzaG91 bGQtZXJyb3IgKHJlYWQgIj9cXE57fSIpIDp0eXBlICdpbnZhbGlkLXJlYWQtc3ludGF4KSkKKwor KGVydC1kZWZ0ZXN0IGxyZWFkLWNoYXItY2prLW5hbWUgKCkKKyAgKHNob3VsZCAoZXF1YWwgP1xO e0NKSyBJREVPR1JBUEgtMkI3MzR9ICN4MkI3MzQpKSkKKworKGVydC1kZWZ0ZXN0IGxyZWFkLWNo YXItaW52YWxpZC1jamstbmFtZSAoKQorICAoc2hvdWxkLWVycm9yIChyZWFkICI/XFxOe0NKSyBJ REVPR1JBUEgtMkI3MzV9IikgOnR5cGUgJ2ludmFsaWQtcmVhZC1zeW50YXgpKQogCiAoZXJ0LWRl ZnRlc3QgbHJlYWQtc3RyaW5nLWNoYXItbnVtYmVyICgpCiAgIChzaG91bGQgKGVxdWFsICJhXE57 VStBODE3fWIiICJhXHVBODE3YiIpKSkKLS0gCjIuNy4wCgo= --001a113fa3fe504f3f052ee314fb--