From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/12019 Path: news.gmane.org!.POSTED!not-for-mail From: Reini Urban Newsgroups: gmane.linux.lib.musl.general Subject: Re: Re: [PATCH] towupper/towlower: Update to Unicode 9.0 Date: Fri, 20 Oct 2017 11:00:04 +0200 Message-ID: References: <13F34D7B-8E99-483A-A5F5-F139D0D906B9@cpan.org> <20170913181334.GT1627@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="089e08220cb0e8f01a055bf6b275" X-Trace: blaine.gmane.org 1508490030 1032 195.159.176.226 (20 Oct 2017 09:00:30 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 20 Oct 2017 09:00:30 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-12032-gllmg-musl=m.gmane.org@lists.openwall.com Fri Oct 20 11:00:23 2017 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.84_2) (envelope-from ) id 1e5TA5-0006w9-CC for gllmg-musl@m.gmane.org; Fri, 20 Oct 2017 11:00:13 +0200 Original-Received: (qmail 8094 invoked by uid 550); 20 Oct 2017 09:00:17 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 8076 invoked from network); 20 Oct 2017 09:00:17 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to; bh=q2ZsATDSaQ/GX1mgzyR+bYUwU0yC15ro+EvdR6f68hc=; b=g8KDH6S6sx+dbWdSeq0mGaLjnWkX69DyWfU2uueAQnnAF01/GzUdZYZGHvwTjj7gTl 4KHxKuR0BKJ61EZ9Ir+TyG7TlUfH1cfyvsbVefC/UATDndyBuoH2W6IG0ylcpOrZRWp/ ANZJAHIRL4ssdL2xR2TOTqeD3OuesYK+1sOhH/gpmy1xO3F52ECtUhi1Bi7ES3ydNi00 HXDurRFP8gajIBjk3QG+8/OLRnGXYj6Aqae7gpK307icitaPwy0TdLDFOfCUaNCcFSkV 84qbD6yzXKqWfT9gCtusVU9ByPUrlE3ttIooQrkk7Bdv9Fu9MecPb2WQWzRWo6nJfFnX 2sLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to; bh=q2ZsATDSaQ/GX1mgzyR+bYUwU0yC15ro+EvdR6f68hc=; b=bi4lyh03oPsceJmhx/vR/S7KndDLsX5J0S/znLPaOxAF/IewTRDjdLMu836RRu5AnZ 7LcLkUvAHpZWIiwG5skrJRmY9Hy1rtQHNMUkES9OZa2caFJ8MjnajSPt4vdEntcXgVDc NYs8BnrugBPi+y+HZlZ++3lDW+MrElooGK7Ra69ci81HLwQWNXanRLGenT5lCOSOVuHC c+djKk9WYH+a1E+6y5xl6f1RyNvaiVeq9HAGWLZRzWkxXi1VVo6SnBKs4nXrF5/YU/X4 GJGNtK6x02Zo8+9U7ag2lTP/dV7YqBfzWkkfm75hq37HKGKYhN3/SVWaoYiIlO/59Egr X75g== X-Gm-Message-State: AMCzsaV+IF4rva+wygyrkV7mQ/9BSRl/QVQbgQkrNXUxrD7rI46Rb2C2 ZLYknBpLDaziZX6/H4Qq270qAAn0HEvN4G8EzFV0VQ== X-Google-Smtp-Source: ABhQp+Qd4PaXIzA8J4fUj1AyKdHi3/hW9FL8GtfWmmHBWgaBw2xzIQikmAn2g61HZ8jz6sSW0MB6ud+KW/v/vAsPI30= X-Received: by 10.80.224.74 with SMTP id g10mr5655631edl.128.1508490005238; Fri, 20 Oct 2017 02:00:05 -0700 (PDT) Original-Sender: reini.urban@gmail.com In-Reply-To: <20170913181334.GT1627@brightrain.aerifal.cx> X-Google-Sender-Auth: uEQjokRzJshqE7W97ZV0-HZEcyc Xref: news.gmane.org gmane.linux.lib.musl.general:12019 Archived-At: --089e08220cb0e8f01a055bf6b275 Content-Type: multipart/alternative; boundary="089e08220cb0e8f018055bf6b273" --089e08220cb0e8f018055bf6b273 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Sep 13, 2017 at 8:13 PM, Rich Felker wrote: > On Wed, Sep 13, 2017 at 12:05:19PM +0200, Reini Urban wrote: > > Wait a bit with that. I think I found some more Unicode 9.0 issues with > the tables, > > and I=E2=80=99ve found a huge performance opportunity by sorting the 3 = tables > (mostly pairs), > > and break the loops earlier. > > This should come close to glibc table performance then, without the hug= e > memory costs they have. > > > > I=E2=80=99ll write a perl regression testing script not to miss any mor= e > mappings, and maybe > > improve the current musl logic. This will need 1-2 days. > > I=E2=80=99ll also use it for cperl then. > > Thanks for the update. I still need to publish the table generation > code for all the other tables -- I got it mostly dug up and cleaned up > but got interrupted last time so it's still not posted. With that it > will be possible to update other things too, not just case mappings. > > A few of the existing tables are using an older version of the > tabulation code that formats the big arrays differently, so I'll > probably first make a commit to reformat them, so that it's possible > to mechanically check that this commit does not change the generated > .o files, then use the uniform formatting as the basis the subsequent > update to Unicode 9.0. That should not affect the case mapping file > though since it's not machine-generated. > I haven't yet seen your table generator, so I updated the tables with my version, as I use them in safeclib. Unicode 10.0 support plus sort tables for double search speed. I also added a harmless patch to a check-syntax target for emacs flymake support. -- Reini --089e08220cb0e8f018055bf6b273 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On W= ed, Sep 13, 2017 at 8:13 PM, Rich Felker wrote:
On Wed, Sep 13, 2017 at 12:05:19PM +0200, Reini Urb= an wrote:
> Wait a bit with that. I think I found some more Unicode 9.0 issues wit= h the tables,
> and I=E2=80=99ve found a huge performance opportunity by sorting the 3= tables (mostly pairs),
> and break the loops earlier.
> This should come close to glibc table performance then, without the hu= ge memory costs they have.
>
> I=E2=80=99ll write a perl regression testing script not to miss any mo= re mappings, and maybe
> improve the current musl logic. This will need 1-2 days.
> I=E2=80=99ll also use it for cperl then.

Thanks for the update. I still need to publish the table generation<= br> code for all the other tables -- I got it mostly dug up and cleaned up
but got interrupted last time so it's still not posted. With that it will be possible to update other things too, not just case mappings.

A few of the existing tables are using an older version of the
tabulation code that formats the big arrays differently, so I'll
probably first make a commit to reformat them, so that it's possible to mechanically check that this commit does not change the generated
.o files, then use the uniform formatting as the basis the subsequent
update to Unicode 9.0. That should not affect the case mapping file
though since it's not machine-generated.


I haven't yet seen your table generator, so I upda= ted the tables with my version, as I
use them in safeclib.
<= div>Unicode 10.0 support plus sort tables for double search speed.

I also added a harmless patch to a check-syntax target for= emacs flymake support.

-- Reini
--089e08220cb0e8f018055bf6b273-- --089e08220cb0e8f01a055bf6b275 Content-Type: application/octet-stream; name="0001-towupper-towlower-Update-to-Unicode-10.0-and-sort.patch" Content-Disposition: attachment; filename="0001-towupper-towlower-Update-to-Unicode-10.0-and-sort.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j8znz2870 RnJvbSBiZDlmMWU2MGFjNTUxNDNjNTA3Yzc2N2JhMDcwYWI5OWE1NzYwYmFhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSZWluaSBVcmJhbiA8cnVyYmFuQGNwYW4ub3JnPgpEYXRlOiBX ZWQsIDEzIFNlcCAyMDE3IDEwOjA5OjAzICswMjAwClN1YmplY3Q6IFtQQVRDSCAxLzJdIHRvd3Vw cGVyL3Rvd2xvd2VyOiBVcGRhdGUgdG8gVW5pY29kZSAxMC4wIGFuZCBzb3J0Cgp0YWtlbiBmcm9t IHNhZmVjbGliIGFuZCBjcm9zcy1jaGVja2VkIHdpdGggdGhlIHBlcmwgdW5pY29kZSB0YWJsZXMu CnNvcnQgdGhlIHRhYmxlcyBhbmQgZXhpdCB3aGVuIGZvdW5kLiBPKG4pIC0+IE8obi8yKQotLS0K IHNyYy9jdHlwZS90b3djdHJhbnMuYyB8IDIxMyArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE2MyBpbnNlcnRpb25zKCsp LCA1MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgc3JjL2N0eXBlL3Rvd2N0cmFucy5jIHNyYy9j dHlwZS90b3djdHJhbnMuYwppbmRleCBjZjEzYTg2Li40NzQ1NDg3IDEwMDY0NAotLS0gc3JjL2N0 eXBlL3Rvd2N0cmFucy5jCisrKyBzcmMvY3R5cGUvdG93Y3RyYW5zLmMKQEAgLTEsMTYgKzEsMjEg QEAKICNpbmNsdWRlIDxjdHlwZS5oPgogI2luY2x1ZGUgPHdjdHlwZS5oPgorI2luY2x1ZGUgPGFz c2VydC5oPgogI2luY2x1ZGUgImxpYmMuaCIKIAogI2RlZmluZSBDQVNFTUFQKHUxLHUyLGwpIHsg KHUxKSwgKGwpLSh1MSksICh1MiktKHUxKSsxIH0KICNkZWZpbmUgQ0FTRUxBQ0UodTEsdTIpIENB U0VNQVAoKHUxKSwodTIpLCh1MSkrMSkKIAorLyogVW5pY29kZSAxMC4wICovCisKKy8qIG11c3Qg YmUgc29ydGVkICovCiBzdGF0aWMgY29uc3Qgc3RydWN0IHsKIAl1bnNpZ25lZCBzaG9ydCB1cHBl cjsKIAlzaWduZWQgY2hhciBsb3dlcjsKIAl1bnNpZ25lZCBjaGFyIGxlbjsKIH0gY2FzZW1hcHNb XSA9IHsKLQlDQVNFTUFQKDB4YzAsMHhkZSwweGUwKSwKKwlDQVNFTUFQICgweDAwYzAsMHhkNiww eGUwKSwKKwlDQVNFTUFQICgweDAwZDgsMHhkZSwweGY4KSwKIAogCUNBU0VMQUNFKDB4MDEwMCww eDAxMmUpLAogCUNBU0VMQUNFKDB4MDEzMiwweDAxMzYpLApAQCAtMTgsMTEgKzIzLDIxIEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgewogCUNBU0VMQUNFKDB4MDE0YSwweDAxNzYpLAogCUNBU0VMQUNF KDB4MDE3OSwweDAxN2QpLAogCi0JQ0FTRUxBQ0UoMHgzNzAsMHgzNzIpLAotCUNBU0VNQVAoMHgz OTEsMHgzYTEsMHgzYjEpLAotCUNBU0VNQVAoMHgzYTMsMHgzYWIsMHgzYzMpLAotCUNBU0VNQVAo MHg0MDAsMHg0MGYsMHg0NTApLAotCUNBU0VNQVAoMHg0MTAsMHg0MmYsMHg0MzApLAorCUNBU0VM QUNFKDB4MDFhMCwweDFhNCksCisJQ0FTRUxBQ0UoMHgwMWIzLDB4MWI1KSwKKwlDQVNFTEFDRSgw eDAxY2QsMHgxZGIpLAorCUNBU0VMQUNFKDB4MDFkZSwweDFlZSksCisJQ0FTRUxBQ0UoMHgwMWY4 LDB4MjFlKSwKKwlDQVNFTEFDRSgweDAyMjIsMHgyMzIpLAorCUNBU0VMQUNFKDB4MDI0NiwweDI0 ZSksCisKKwlDQVNFTEFDRSgweDAzNzAsMHgzNzIpLAorCUNBU0VNQVAgKDB4MDM4OCwweDM4YSww eDNhZCksCisJQ0FTRU1BUCAoMHgwMzkzLDB4MzlmLDB4M2IzKSwKKwlDQVNFTUFQICgweDAzYTcs MHgzYWIsMHgzYzcpLAorCUNBU0VMQUNFKDB4MDNkOCwweDNlZSksCisJQ0FTRU1BUCAoMHgwNDAw LDB4NDBmLDB4NDUwKSwKKwlDQVNFTUFQICgweDA0MTAsMHg0MmYsMHg0MzApLAogCiAJQ0FTRUxB Q0UoMHg0NjAsMHg0ODApLAogCUNBU0VMQUNFKDB4NDhhLDB4NGJlKSwKQEAgLTgwLDE3ICs5NSw0 MCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHsKIAlDQVNFTEFDRSgweGE3N2UsMHhhNzg2KSwKIAog CUNBU0VMQUNFKDB4YTc5MCwweGE3OTIpLAorCUNBU0VMQUNFKDB4YTc5NiwweGE3OWUpLAogCUNB U0VMQUNFKDB4YTdhMCwweGE3YTgpLAogCisJQ0FTRUxBQ0UoMHhhN2I0LDB4YTdiNiksIC8qIFVu aWNvZGUgOCAqLworCiAJQ0FTRU1BUCgweGZmMjEsMHhmZjNhLDB4ZmY0MSksCiAJeyAwLDAsMCB9 CiB9OwogCisvKiBtdXN0IGJlIHNvcnRlZCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCB7CisgICAg dW5zaWduZWQgaW50IHVwcGVyOworICAgIGludCBsb3dlcjsKKyAgICB1bnNpZ25lZCBzaG9ydCBs ZW47Cit9IGNhc2VtYXBzbFtdID0geworCUNBU0VNQVAoMHgxM2EwLDB4MTNlZiwweGFiNzApLCAg ICAvKiBDSEVST0tFRSByZXZlcnNlICovCisJQ0FTRU1BUCgweGFiNzAsMHhhYmJmLDB4MTNhMCks ICAgIC8qIENIRVJPS0VFICovCisJQ0FTRU1BUCgweDEwNDAwLDB4MTA0MjcsMHgxMDQyOCksCisJ Q0FTRU1BUCgweDEwNGIwLDB4MTA0ZDMsMHgxMDRkOCksIC8qIFVuaWNvZGUgOSAqLworCUNBU0VN QVAoMHgxMGM4MCwweDEwY2IyLDB4MTBjYzApLCAvKiBVbmljb2RlIDggKi8KKwlDQVNFTUFQKDB4 MTE4YTAsMHgxMThiZiwweDExOGMwKSwgLyogVW5pY29kZSA3ICovCisJQ0FTRU1BUCgweDFlOTAw LDB4MWU5MjEsMHgxZTkyMiksIC8qIFVuaWNvZGUgOSAqLworCXsgMCwwLDAgfQorfTsKKworLyog bXVzdCBub3cgYmUgc29ydGVkICovCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgc2hvcnQgcGFpcnNb XVsyXSA9IHsKKwkvKiB1cHBlciAtIGxvd2VyICovCiAJeyAnSScsICAgIDB4MDEzMSB9LAogCXsg J1MnLCAgICAweDAxN2YgfSwKKwl7IDB4MDBiNSwgMHgwM2JjIH0sCiAJeyAweDAxMzAsICdpJyAg ICB9LAogCXsgMHgwMTc4LCAweDAwZmYgfSwKKwl7IDB4MDE3ZiwgMHg3MyB9LAogCXsgMHgwMTgx LCAweDAyNTMgfSwKIAl7IDB4MDE4MiwgMHgwMTgzIH0sCiAJeyAweDAxODQsIDB4MDE4NSB9LApA QCAtMTExLDYgKzE0OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzaG9ydCBwYWlyc1tdWzJd ID0gewogCXsgMHgwMTljLCAweDAyNmYgfSwKIAl7IDB4MDE5ZCwgMHgwMjcyIH0sCiAJeyAweDAx OWYsIDB4MDI3NSB9LAorCS8qQ0FTRUxBQ0UoMHgwMWEwLDB4MDFhNCksKi8KIAl7IDB4MDFhNiwg MHgwMjgwIH0sCiAJeyAweDAxYTcsIDB4MDFhOCB9LAogCXsgMHgwMWE5LCAweDAyODMgfSwKQEAg LTExOSwzOCArMTU4LDEwOCBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgc2hvcnQgcGFpcnNbXVsy XSA9IHsKIAl7IDB4MDFhZiwgMHgwMWIwIH0sCiAJeyAweDAxYjEsIDB4MDI4YSB9LAogCXsgMHgw MWIyLCAweDAyOGIgfSwKKwl7IDB4MDFiMywgMHgwMWI0IH0sCisJeyAweDAxYjUsIDB4MDFiNiB9 LAogCXsgMHgwMWI3LCAweDAyOTIgfSwKIAl7IDB4MDFiOCwgMHgwMWI5IH0sCiAJeyAweDAxYmMs IDB4MDFiZCB9LAogCXsgMHgwMWM0LCAweDAxYzYgfSwKLQl7IDB4MDFjNCwgMHgwMWM1IH0sCisJ Lyp7IDB4MDFjNCwgMHgwMWM1IH0sKi8KIAl7IDB4MDFjNSwgMHgwMWM2IH0sCiAJeyAweDAxYzcs IDB4MDFjOSB9LAotCXsgMHgwMWM3LCAweDAxYzggfSwKKwkvKnsgMHgwMWM3LCAweDAxYzggfSwq LwogCXsgMHgwMWM4LCAweDAxYzkgfSwKIAl7IDB4MDFjYSwgMHgwMWNjIH0sCi0JeyAweDAxY2Es IDB4MDFjYiB9LAorCS8qeyAweDAxY2EsIDB4MDFjYiB9LCovCisJLypDQVNFTEFDRSgweDAxY2Is MHgwMWRiKSwqLwogCXsgMHgwMWNiLCAweDAxY2MgfSwKKwogCXsgMHgwMWYxLCAweDAxZjMgfSwK LQl7IDB4MDFmMSwgMHgwMWYyIH0sCisJLyp7IDB4MDFmMSwgMHgwMWYyIH0sKi8KIAl7IDB4MDFm MiwgMHgwMWYzIH0sCiAJeyAweDAxZjQsIDB4MDFmNSB9LAogCXsgMHgwMWY2LCAweDAxOTUgfSwK IAl7IDB4MDFmNywgMHgwMWJmIH0sCisJLypDQVNFTEFDRSgweDAxZjgsMHgwMjFlKSwqLwogCXsg MHgwMjIwLCAweDAxOWUgfSwKLQl7IDB4MDM4NiwgMHgwM2FjIH0sCi0JeyAweDAzODgsIDB4MDNh ZCB9LAotCXsgMHgwMzg5LCAweDAzYWUgfSwKLQl7IDB4MDM4YSwgMHgwM2FmIH0sCisJLypDQVNF TEFDRSgweDAyMjIsMHgwMjMyKSwqLworCXsgMHgwMjNhLCAweDJjNjUgfSwKKwl7IDB4MDIzYiwg MHgyM2MgfSwKKwl7IDB4MDIzZCwgMHgxOWEgfSwKKwl7IDB4MDIzZSwgMHgyYzY2IH0sCisJeyAw eDAyNDEsIDB4MjQyIH0sCisJeyAweDAyNDMsIDB4MTgwIH0sCisJeyAweDAyNDQsIDB4Mjg5IH0s CisJeyAweDAyNDUsIDB4MjhjIH0sCisKKwl7IDB4MDM0NSwgMHgzYjkgfSwKKwl7IDB4MDM3Niwg MHgzNzcgfSwgLyogYm9ndXMgZ3JlZWsgJ3N5bWJvbCcgKi8KKwl7IDB4MDM3ZiwgMHgzZjMgfSwK Kwl7IDB4MDM4NiwgMHgzYWMgfSwKIAl7IDB4MDM4YywgMHgwM2NjIH0sCiAJeyAweDAzOGUsIDB4 MDNjZCB9LAogCXsgMHgwMzhmLCAweDAzY2UgfSwKLQl7IDB4MDM5OSwgMHgwMzQ1IH0sCi0JeyAw eDAzOTksIDB4MWZiZSB9LAotCXsgMHgwM2EzLCAweDAzYzIgfSwKKwl7IDB4MDM5MSwgMHgzYjEg fSwKKwl7IDB4MDM5MiwgMHgzYjIgfSwKKwl7IDB4MDM5MiwgMHgzZDAgfSwgLyogcmV2ZXJzZSAq LworCS8qQ0FTRU1BUCAoMHgwMzkzLDB4MzlmLDB4M2IzKSwqLworCXsgMHgwMzk1LCAweDNmNSB9 LCAvKiByZXZlcnNlICovCisJeyAweDAzOTgsIDB4M2QxIH0sCisJeyAweDAzOTksIDB4MWZiZSB9 LC8qIHJldmVyc2UgKi8KKwl7IDB4MDM5YSwgMHgzZjAgfSwgLyogcmV2ZXJzZSAqLworCXsgMHgw M2EwLCAweDNjMCB9LAorCXsgMHgwM2EwLCAweDNkNiB9LCAvKiByZXZlcnNlICovCisJeyAweDAz YTEsIDB4M2MxIH0sCisJeyAweDAzYTEsIDB4M2YxIH0sIC8qIHJldmVyc2UgKi8KKwl7IDB4MDNh MywgMHgzYzMgfSwKKwl7IDB4MDNhMywgMHgzYzIgfSwgLyogcmV2ZXJzZSAqLworCXsgMHgwM2E0 LCAweDNjNCB9LAorCXsgMHgwM2E1LCAweDNjNSB9LAorCXsgMHgwM2E2LCAweDNjNiB9LAorCXsg MHgwM2E2LCAweDNkNSB9LCAvKiByZXZlcnNlICovCisJLypDQVNFTUFQKDB4MDM5MSwweDNhMSww eDNiMSksKi8KKwl7IDB4MDNjMiwgMHgzYzMgfSwKKwl7IDB4MDNjZiwgMHgzZDcgfSwKKwl7IDB4 MDNkMCwgMHgzYjIgfSwKKwl7IDB4MDNkMSwgMHgzYjggfSwKKwl7IDB4MDNkNSwgMHgzYzYgfSwK Kwl7IDB4MDNkNiwgMHgzYzAgfSwKKwkvKkNBU0VMQUNFKDB4MDNkOCwweDNlZSksKi8KKwkvKkNB U0VNQVAoMHgwM2RhLDB4M2VlLDB4M2RiKSwqLworCXsgMHgwM2YwLCAweDAzYmEgfSwKKwl7IDB4 MDNmMSwgMHgwM2MxIH0sCisJeyAweDAzZjQsIDB4MDNiOCB9LAorCXsgMHgwM2Y1LCAweDAzYjUg fSwKIAl7IDB4MDNmNywgMHgwM2Y4IH0sCisJeyAweDAzZjksIDB4MDNmMiB9LAogCXsgMHgwM2Zh LCAweDAzZmIgfSwKKwl7IDB4MDNmZCwgMHgwMzdiIH0sCisJeyAweDAzZmUsIDB4MDM3YyB9LAor CXsgMHgwM2ZmLCAweDAzN2QgfSwKKwkvKkNBU0VNQVAoMHgwNDAwLDB4NDBmLDB4NDUwKSwKKwkg IENBU0VNQVAoMHgwNDEwLDB4NDJmLDB4NDMwKSwqLworCXsgMHg0MTIsIDB4MWM4MCB9LCAvKiBy ZXZlcnNlICovCisJeyAweDQxNCwgMHgxYzgxIH0sIC8qIHJldmVyc2UgKi8KKwl7IDB4NDFlLCAw eDFjODIgfSwgLyogcmV2ZXJzZSAqLworCXsgMHg0MjEsIDB4MWM4MyB9LCAvKiByZXZlcnNlICov CisJeyAweDQyMiwgMHgxYzg0IH0sIC8qIHJldmVyc2UgKi8KKwl7IDB4NDIyLCAweDFjODUgfSwg LyogcmV2ZXJzZSAqLworCXsgMHg0MmEsIDB4MWM4NiB9LCAvKiByZXZlcnNlICovCisJeyAweDQ2 MiwgMHg0NjMgfSwKKwl7IDB4NDYyLCAweDFjODcgfSwgLyogcmV2ZXJzZSAqLworCisJeyAweDA0 YzAsIDB4MDRjZn0sCisJLypDQVNFTEFDRSgweDA0YzEsMHg0Y2QpLCovCisJeyAweDA1MjgsIDB4 MDUyOX0sCisJeyAweDA1MmEsIDB4MDUyYn0sCisJeyAweDA1MmMsIDB4MDUyZH0sCisJeyAweDA1 MmUsIDB4MDUyZn0sCisKKwl7IDB4MTBjNywgMHgyZDI3IH0sCisJeyAweDEwY2QsIDB4MmQyZCB9 LAorCiAJeyAweDFlNjAsIDB4MWU5YiB9LAorCXsgMHgxZTliLCAweDFlNjEgfSwKIAl7IDB4MWU5 ZSwgMHhkZiB9LAogCiAJeyAweDFmNTksIDB4MWY1MSB9LApAQCAtMTU4LDI1ICsyNjcsMTEgQEAg c3RhdGljIGNvbnN0IHVuc2lnbmVkIHNob3J0IHBhaXJzW11bMl0gPSB7CiAJeyAweDFmNWQsIDB4 MWY1NSB9LAogCXsgMHgxZjVmLCAweDFmNTcgfSwKIAl7IDB4MWZiYywgMHgxZmIzIH0sCisJeyAw eDFmYmUsIDB4M2I5IH0sCiAJeyAweDFmY2MsIDB4MWZjMyB9LAogCXsgMHgxZmVjLCAweDFmZTUg fSwKIAl7IDB4MWZmYywgMHgxZmYzIH0sCiAKLQl7IDB4MjNhLCAweDJjNjUgfSwKLQl7IDB4MjNi LCAweDIzYyB9LAotCXsgMHgyM2QsIDB4MTlhIH0sCi0JeyAweDIzZSwgMHgyYzY2IH0sCi0JeyAw eDI0MSwgMHgyNDIgfSwKLQl7IDB4MjQzLCAweDE4MCB9LAotCXsgMHgyNDQsIDB4Mjg5IH0sCi0J eyAweDI0NSwgMHgyOGMgfSwKLQl7IDB4M2Y0LCAweDNiOCB9LAotCXsgMHgzZjksIDB4M2YyIH0s Ci0JeyAweDNmZCwgMHgzN2IgfSwKLQl7IDB4M2ZlLCAweDM3YyB9LAotCXsgMHgzZmYsIDB4Mzdk IH0sCi0JeyAweDRjMCwgMHg0Y2YgfSwKLQogCXsgMHgyMTI2LCAweDNjOSB9LAogCXsgMHgyMTJh LCAnaycgfSwKIAl7IDB4MjEyYiwgMHhlNSB9LApAQCAtMTk2LDI1ICsyOTEsMjUgQEAgc3RhdGlj IGNvbnN0IHVuc2lnbmVkIHNob3J0IHBhaXJzW11bMl0gPSB7CiAJeyAweDJjN2YsIDB4MjQwIH0s CiAJeyAweDJjZjIsIDB4MmNmMyB9LAogCisJeyAweGE2NGEsIDB4YTY0YiB9LAorCXsgMHhhNjRh LCAweDFjODggfSwgLyogcmV2ZXJzZSAqLworCiAJeyAweGE3N2QsIDB4MWQ3OSB9LAogCXsgMHhh NzhiLCAweGE3OGMgfSwKIAl7IDB4YTc4ZCwgMHgyNjUgfSwKIAl7IDB4YTdhYSwgMHgyNjYgfSwK IAotCXsgMHgxMGM3LCAweDJkMjcgfSwKLQl7IDB4MTBjZCwgMHgyZDJkIH0sCisJeyAweGE3YWIs IDB4MjVjIH0sIC8qIFVuaWNvZGUgNy4wICovCisJeyAweGE3YWMsIDB4MjYxIH0sIC8qIFVuaWNv ZGUgNy4wICovCisJeyAweGE3YWQsIDB4MjZjIH0sIC8qIFVuaWNvZGUgNy4wICovCisJeyAweGE3 YWUsIDB4MjZhIH0sIC8qIFVuaWNvZGUgOS4wICovCisJeyAweGE3YjAsIDB4MjllIH0sIC8qIFVu aWNvZGUgNy4wICovCisJeyAweGE3YjEsIDB4Mjg3IH0sIC8qIFVuaWNvZGUgNy4wICovCisJeyAw eGE3YjIsIDB4MjlkIH0sIC8qIFVuaWNvZGUgNy4wICovCisJeyAweGE3YjMsIDB4YWI1MyB9LCAv KiBVbmljb2RlIDguMCAqLworCXsgMHhhN2I0LCAweGE3YjUgfSwgLyogVW5pY29kZSA4LjAgKi8K IAotCS8qIGJvZ3VzIGdyZWVrICdzeW1ib2wnIGxldHRlcnMgKi8KLQl7IDB4Mzc2LCAweDM3NyB9 LAotCXsgMHgzOWMsIDB4YjUgfSwKLQl7IDB4MzkyLCAweDNkMCB9LAotCXsgMHgzOTgsIDB4M2Qx IH0sCi0JeyAweDNhNiwgMHgzZDUgfSwKLQl7IDB4M2EwLCAweDNkNiB9LAotCXsgMHgzOWEsIDB4 M2YwIH0sCi0JeyAweDNhMSwgMHgzZjEgfSwKLQl7IDB4Mzk1LCAweDNmNSB9LAotCXsgMHgzY2Ys IDB4M2Q3IH0sCisgICAgICAgIHsgMHhhN2I2LCAweGE3YjcgfSwgLyogVW5pY29kZSA4LjAgKi8K IAogCXsgMCwwIH0KIH07CkBAIC0yMjksMjkgKzMyNCw0NyBAQCBzdGF0aWMgd2NoYXJfdCBfX3Rv d2Nhc2Uod2NoYXJfdCB3YywgaW50IGxvd2VyKQogCWlmICghaXN3YWxwaGEod2MpCiAJIHx8ICh1 bnNpZ25lZCl3YyAtIDB4MDYwMCA8PSAweDBmZmYtMHgwNjAwCiAJIHx8ICh1bnNpZ25lZCl3YyAt IDB4MmUwMCA8PSAweGE2M2YtMHgyZTAwCi0JIHx8ICh1bnNpZ25lZCl3YyAtIDB4YTgwMCA8PSAw eGZlZmYtMHhhODAwKQorCSB8fCAodW5zaWduZWQpd2MgLSAweGE4MDAgPD0gMHhhYjY5LTB4YTgw MAorCSB8fCAodW5zaWduZWQpd2MgLSAweGFiYzAgPD0gMHhmZWZmLTB4YWJjMCkKIAkJcmV0dXJu IHdjOwogCS8qIHNwZWNpYWwgY2FzZSBiZWNhdXNlIHRoZSBkaWZmIGJldHdlZW4gdXBwZXIvbG93 ZXIgaXMgdG9vIGJpZyAqLwotCWlmIChsb3dlciAmJiAodW5zaWduZWQpd2MgLSAweDEwYTAgPCAw eDJlKQorCWlmIChsb3dlciAmJiAodW5zaWduZWQpd2MgLSAweDEwYTAgPCAweDJlKSB7CiAJCWlm ICh3Yz4weDEwYzUgJiYgd2MgIT0gMHgxMGM3ICYmIHdjICE9IDB4MTBjZCkgcmV0dXJuIHdjOwog CQllbHNlIHJldHVybiB3YyArIDB4MmQwMCAtIDB4MTBhMDsKLQlpZiAoIWxvd2VyICYmICh1bnNp Z25lZCl3YyAtIDB4MmQwMCA8IDB4MjYpCisgICAgICAgIH0KKwlpZiAoIWxvd2VyICYmICh1bnNp Z25lZCl3YyAtIDB4MmQwMCA8IDB4MjYpIHsKIAkJaWYgKHdjPjB4MmQyNSAmJiB3YyAhPSAweDJk MjcgJiYgd2MgIT0gMHgyZDJkKSByZXR1cm4gd2M7CiAJCWVsc2UgcmV0dXJuIHdjICsgMHgxMGEw IC0gMHgyZDAwOworICAgICAgICB9CiAJZm9yIChpPTA7IGNhc2VtYXBzW2ldLmxlbjsgaSsrKSB7 CiAJCWludCBiYXNlID0gY2FzZW1hcHNbaV0udXBwZXIgKyAobG1hc2sgJiBjYXNlbWFwc1tpXS5s b3dlcik7CisJCWFzc2VydChpPjAgPyBjYXNlbWFwc1tpXS51cHBlciA+PSBjYXNlbWFwc1tpLTFd LnVwcGVyIDogMSk7CiAJCWlmICgodW5zaWduZWQpd2MtYmFzZSA8IGNhc2VtYXBzW2ldLmxlbikg ewogCQkJaWYgKGNhc2VtYXBzW2ldLmxvd2VyID09IDEpCiAJCQkJcmV0dXJuIHdjICsgbG93ZXIg LSAoKHdjLWNhc2VtYXBzW2ldLnVwcGVyKSYxKTsKIAkJCXJldHVybiB3YyArIGxtdWwqY2FzZW1h cHNbaV0ubG93ZXI7CiAJCX0KKwkJaWYgKGxvd2VyICYmIGNhc2VtYXBzW2ldLnVwcGVyID4gd2Mp CisJCQlicmVhazsKIAl9CiAJZm9yIChpPTA7IHBhaXJzW2ldWzEtbG93ZXJdOyBpKyspIHsKKwkJ YXNzZXJ0KGk+MCA/IHBhaXJzW2ldWzBdID49IHBhaXJzW2ktMV1bMF0gOiAxKTsKIAkJaWYgKHBh aXJzW2ldWzEtbG93ZXJdID09IHdjKQogCQkJcmV0dXJuIHBhaXJzW2ldW2xvd2VyXTsKKwkJaWYg KGxvd2VyICYmIHBhaXJzW2ldWzBdID4gd2MpCisJCQlicmVhazsKKwl9CisJZm9yIChpPTA7IGNh c2VtYXBzbFtpXS5sZW47IGkrKykgeworCQl1bnNpZ25lZCBsb25nIGJhc2UgPSBjYXNlbWFwc2xb aV0udXBwZXIgKyAobG1hc2sgJiBjYXNlbWFwc2xbaV0ubG93ZXIpOworCQlhc3NlcnQoaT4wID8g Y2FzZW1hcHNsW2ldLnVwcGVyID49IGNhc2VtYXBzbFtpLTFdLnVwcGVyIDogMSk7CisJCWlmICgo dW5zaWduZWQpd2MtYmFzZSA8IGNhc2VtYXBzbFtpXS5sZW4pIHsKKwkJCWlmIChjYXNlbWFwc2xb aV0ubG93ZXIgPT0gMSkKKwkJCQlyZXR1cm4gd2MgKyBsb3dlciAtICgod2MtY2FzZW1hcHNsW2ld LnVwcGVyKSYxKTsKKwkJCXJldHVybiB3YyArIGxtdWwqY2FzZW1hcHNsW2ldLmxvd2VyOworCQl9 CisJCWlmIChsb3dlciAmJiBjYXNlbWFwc1tpXS51cHBlciA+IHdjKQorCQkJYnJlYWs7CiAJfQot CWlmICgodW5zaWduZWQpd2MgLSAoMHgxMDQyOCAtIDB4MjgqbG93ZXIpIDwgMHgyOCkKLQkJcmV0 dXJuIHdjIC0gMHgyOCArIDB4NTAqbG93ZXI7CiAJcmV0dXJuIHdjOwogfQogCi0tIAoyLjguNCAo QXBwbGUgR2l0LTczKQoK --089e08220cb0e8f01a055bf6b275 Content-Type: application/octet-stream; name="0002-add-emacs-flymake-support.patch" Content-Disposition: attachment; filename="0002-add-emacs-flymake-support.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j8znz28i1 RnJvbSAzNDdiZTk0NzY1ZmU0OTkzZTE0M2VkMzNhZTg3NGM2NDI0NDZmM2NhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSZWluaSBVcmJhbiA8cnVyYmFuQGNwYW4ub3JnPgpEYXRlOiBG cmksIDIwIE9jdCAyMDE3IDEwOjQ2OjQ0ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyLzJdIGFkZCBl bWFjcyBmbHltYWtlIHN1cHBvcnQKCi0tLQogTWFrZWZpbGUgfCA3ICsrKysrKy0KIDEgZmlsZSBj aGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgTWFrZWZp bGUgTWFrZWZpbGUKaW5kZXggZDJlODk5Ny4uOWViMGNkNiAxMDA2NDQKLS0tIE1ha2VmaWxlCisr KyBNYWtlZmlsZQpAQCAtMTkzLDYgKzE5MywxMSBAQCBvYmovJS1jbGFuZzogJChzcmNkaXIpL3Rv b2xzLyUtY2xhbmcuaW4gY29uZmlnLm1hawogCXNlZCAtZSAncyFAQ0NAISQoV1JBUENDX0NMQU5H KSFnJyAtZSAncyFAUFJFRklYQCEkKHByZWZpeCkhZycgLWUgJ3MhQElOQ0RJUkAhJChpbmNsdWRl ZGlyKSFnJyAtZSAncyFATElCRElSQCEkKGxpYmRpcikhZycgLWUgJ3MhQExEU09AISQoTERTT19Q QVRITkFNRSkhZycgJDwgPiAkQAogCWNobW9kICt4ICRACiAKKyMgZW1hY3MgZmx5bWFrZS1tb2Rl CitjaGVjay1zeW50YXg6CisJdGVzdCAtbiAiJChDSEtfU09VUkNFUykiICYmIFwKKwkgICQoQ0Mp ICQoQ0ZMQUdTX0FMTCkgLW8gL2Rldi9udWxsIC1TICQoQ0hLX1NPVVJDRVMpCisKICQoREVTVERJ UikkKGJpbmRpcikvJTogb2JqLyUKIAkkKElOU1RBTEwpIC1EICQ8ICRACiAKQEAgLTIzOSw0ICsy NDQsNCBAQCBjbGVhbjoKIGRpc3RjbGVhbjogY2xlYW4KIAlybSAtZiBjb25maWcubWFrCiAKLS5Q SE9OWTogYWxsIGNsZWFuIGluc3RhbGwgaW5zdGFsbC1saWJzIGluc3RhbGwtaGVhZGVycyBpbnN0 YWxsLXRvb2xzCisuUEhPTlk6IGFsbCBjbGVhbiBpbnN0YWxsIGluc3RhbGwtbGlicyBpbnN0YWxs LWhlYWRlcnMgaW5zdGFsbC10b29scyBjaGVjay1zeW50YXgKLS0gCjIuOC40IChBcHBsZSBHaXQt NzMpCgo= --089e08220cb0e8f01a055bf6b275--