From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: =?UTF-8?Q?Linus_Bj=C3=B6rnstam?= Newsgroups: gmane.lisp.guile.devel Subject: [PATCH] Fix of upstream parsing of CDATA Date: Thu, 16 Jan 2020 13:00:25 +0100 Message-ID: <5811db42-ecbe-4ad9-a44f-87481f1ac9a6@www.fastmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=676b209ad58e4feda8b9b6380d6c552e Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="91500"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Cyrus-JMAP/3.1.7-754-g09d1619-fmstable-20200113v1 To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Thu Jan 16 13:01:25 2020 Return-path: Envelope-to: guile-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1is3q1-000NZC-3F for guile-devel@m.gmane-mx.org; Thu, 16 Jan 2020 13:01:25 +0100 Original-Received: from localhost ([::1]:40594 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1is3pz-00031v-S0 for guile-devel@m.gmane-mx.org; Thu, 16 Jan 2020 07:01:23 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58914) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1is3pU-000304-5w for guile-devel@gnu.org; Thu, 16 Jan 2020 07:00:53 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1is3pT-0001XK-0M for guile-devel@gnu.org; Thu, 16 Jan 2020 07:00:52 -0500 Original-Received: from wout3-smtp.messagingengine.com ([64.147.123.19]:35185) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1is3pS-0001U4-74 for guile-devel@gnu.org; Thu, 16 Jan 2020 07:00:50 -0500 Original-Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 43C0556E for ; Thu, 16 Jan 2020 07:00:47 -0500 (EST) Original-Received: from imap1 ([10.202.2.51]) by compute3.internal (MEProxy); Thu, 16 Jan 2020 07:00:47 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=veryfast.biz; h= mime-version:message-id:date:from:to:subject:content-type; s= fm1; bh=8c6CYdYdRF+MyeqOtPcRJVLaYMpCTUDO0Sz5K4uhQjA=; b=gb8pJJk/ RKaJXy+mgFttKIsHgP4HzVuH05WGKyJ9T0BBdR9MoLpVxcOuE14NSAyFdYbl20x+ Qtd4P8Jjdyu5qY+vFjEk04AzeqsX/LtfDtkC4CejfS1q+hNUgx8BTQkik46Qmf7h XMm4gS95aLVAHLL3TAvkeWok9HnVkOMtAtYvYBRdfoNC7mNB3sa/yD+TLH4T3c/y LMqKcZ0rSLYp3I338+7fsFrT6f0ej2oVExdhcNmgLCLpg6R8ml3Y2KoGEL341PMC FL6FzHRCtt7S4YaJIhJIBX0t0ZnGc0Pg5PS82J0lgZf0q09d4EnBA2cBCt4ZyUeZ FrBcD6nn9dZTLQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=8c6CYdYdRF+MyeqOtPcRJVLaYMpCT UDO0Sz5K4uhQjA=; b=wAVxa2TQd3QUmz4C9r0/VpDtkrxZo3s3Xo15HwUrpsuUO HoMBm+FrpNCxojcDlPhdAFCILtK6tBgNaiC4qipO6GR8csIl9BWmBNI6FA9Q4iT8 qQFf4+yqSHS9Fe8LgROB8DRZ+AkTy8v0iv8BRxi+3ybYDjqvd3vo48EJRh7l99GC Xjbd2o1ROP2t8BHlxWikjTiH49KKNvMtXLDgXcP0q3HEQCrUoEDk0D/DzxgHdKcH qriXY1gPeh80vYXN2SAxOV2tEFGLQVef2PKiQdlWX8+P86agp18oU4GtMlZqAZxZ g779bYVkf+FLAHEAt/VQbvhDLMq5Icgqw/7VLU4pg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedrtdehgdefgecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkfffhvffutgesmhdtreerre erjeenucfhrhhomhepnfhinhhushgpuehjnphrnhhsthgrmhcuoehlihhnuhhsrdgsjhho rhhnshhtrghmsehvvghrhihfrghsthdrsghiiieqnecurfgrrhgrmhepmhgrihhlfhhroh hmpehlihhnuhhsrdgsjhhorhhnshhtrghmsehvvghrhihfrghsthdrsghiiienucevlhhu shhtvghrufhiiigvpedt X-ME-Proxy: Original-Received: by mailuser.nyi.internal (Postfix, from userid 501) id 8E30CC200A5; Thu, 16 Jan 2020 07:00:46 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 64.147.123.19 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Original-Sender: "guile-devel" Xref: news.gmane.io gmane.lisp.guile.devel:20285 Archived-At: --676b209ad58e4feda8b9b6380d6c552e Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello Guilers! RhodiumToad found an error in sxml where it would not properly parse CDA= TA: > would be converted to > inside CDATA blocks. This is probably du= e to some wrong reading of the XML spec: "Within a CDATA section, only the CDEnd string is recognized as mark= up, so that left angle brackets and ampersands may occur in their litera= l form; they need not (and cannot) be escaped using ' < ' and ' &= '.". Notice that it mentions that only CDEnd is recognized, but omitts > i= n the enumeration of things that need-not-and-cannot be escaped.=20 No other XML libraries behave this way. Take for example python's Etree:= Python 2.7.17 (default, Dec 23 2019, 21:25:33) >>> import xml.etree.ElementTree as ET >>> root =3D ET.fromstring("") >>> root.text '>' The same thing with the un-patched (sxml ssax) (or rather (sxml simple))= : looks different: (xml->sxml "") ;; =3D> (*TOP* (e ">")) The question is whether this patch should be sent upstream. Since there = has been very little activity there, I suspect it is a lost cause. Failing tests have been looked through, verified and fixed. No unexpecte= d errors were encountered. All SXML tests pass after this patch. Best regards Linus Bj=C3=B6rnstam --676b209ad58e4feda8b9b6380d6c552e Content-Disposition: attachment;filename="0001-module-sxml-upstream-SSAX.scm-Fix-improper-handling-.patch" Content-Type: application/octet-stream; name="0001-module-sxml-upstream-SSAX.scm-Fix-improper-handling-.patch" Content-Transfer-Encoding: BASE64 RnJvbSA0N2MxYzhiYzEyNWQ3OGQ3MmI2NDQzMzFmNDYwNzQ0MmFkMmJkNjI3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/TGludXM9MjBCaj1DMz1CNnJuc3Rh bT89IDxsaW51cy5iam9ybnN0YW1AZmFzdG1haWwuc2U+CkRhdGU6IFRodSwgMTYgSmFuIDIw MjAgMTI6MjY6MzIgKzAxMDAKU3ViamVjdDogW1BBVENIXSAgKiBtb2R1bGUvc3htbC91cHN0 cmVhbS9TU0FYLnNjbTogRml4IGltcHJvcGVyIGhhbmRsaW5nIG9mCiAmZ3Q7IGluIENEQVRB ICAgIGFuZCBjb3JyZWN0IHRlc3RzLgoKLS0tCiBjb25maWd1cmUuYWMgICAgICAgICAgICAg ICAgICB8ICA0ICsrLS0KIG1vZHVsZS9zeG1sL3Vwc3RyZWFtL1NTQVguc2NtIHwgMzAgKysr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2Vy dGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBi L2NvbmZpZ3VyZS5hYwppbmRleCBiYjlhOTI4MWYuLjYxOThjN2U2ZSAxMDA2NDQKLS0tIGEv Y29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtMyw3ICszLDcgQEAgZG5sICAg UHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvY29uZiB0byBwcm9kdWNlIGNvbmZpZ3VyZS4K IGRubAogCiBkZWZpbmUoR1VJTEVfQ09ORklHVVJFX0NPUFlSSUdIVCxbWwotQ29weXJpZ2h0 IDE5OTgtMjAxOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KK0NvcHlyaWdodCAx OTk4LTIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKIFRoaXMgZmlsZSBp cyBwYXJ0IG9mIEd1aWxlLgogCkBAIC0yNSw3ICsyNSw3IEBAIExpY2Vuc2UgYWxvbmcgd2l0 aCBHdWlsZS4gIElmIG5vdCwgc2VlCiBBQ19QUkVSRVEoMi42MSkKIAogQUNfSU5JVChbR05V IEd1aWxlXSwKLSAgICAgICAgbTRfZXN5c2NtZChbYnVpbGQtYXV4L2dpdC12ZXJzaW9uLWdl biAtLW1hdGNoIHYyLjkuXCogLnRhcmJhbGwtdmVyc2lvbl0pLAorICAgICAgICBtNF9lc3lz Y21kKFtidWlsZC1hdXgvZ2l0LXZlcnNpb24tZ2VuIC0tbWF0Y2ggdjMuMC5cKiAudGFyYmFs bC12ZXJzaW9uXSksCiAgICAgICAgIFtidWctZ3VpbGVAZ251Lm9yZ10pCiBBQ19DT05GSUdf QVVYX0RJUihbYnVpbGQtYXV4XSkKIEFDX0NPTkZJR19NQUNST19ESVIoW200XSkKZGlmZiAt LWdpdCBhL21vZHVsZS9zeG1sL3Vwc3RyZWFtL1NTQVguc2NtIGIvbW9kdWxlL3N4bWwvdXBz dHJlYW0vU1NBWC5zY20KaW5kZXggZDJiOGZkOTI1Li40YmZhYTliY2IgMTAwNjQ0Ci0tLSBh L21vZHVsZS9zeG1sL3Vwc3RyZWFtL1NTQVguc2NtCisrKyBiL21vZHVsZS9zeG1sL3Vwc3Ry ZWFtL1NTQVguc2NtCkBAIC05NTAsMTEgKzk1MCwxMCBAQAogOwlDUiwgTEYsIGFuZCBDUkxG IGFyZSB0cmVhdGVkIGFzIGxpbmUgZGVsaW1pdGVycywgYW5kIHBhc3NlZAogOwlhcyBhIHNp bmdsZSAjXG5ld2xpbmUgdG8gdGhlIFNUUi1IQU5ETEVSCiA7CSJdXT4iIGNvbWJpbmF0aW9u IGlzIHRoZSBlbmQgb2YgdGhlIENEQVRBIHNlY3Rpb24uCi07CSZndDsgaXMgdHJlYXRlZCBh cyBhbiBlbWJlZGRlZCAjXD4gY2hhcmFjdGVyCi07IE5vdGUsICZsdDsgYW5kICZhbXA7IGFy ZSBub3Qgc3BlY2lhbGx5IHJlY29nbml6ZWQgKGFuZCBhcmUgbm90IGV4cGFuZGVkKSEKKzsg Tm90ZSwgJmx0OywgJmd0OyBhbmQgJmFtcDsgYXJlIG5vdCBzcGVjaWFsbHkgcmVjb2duaXpl ZCAoYW5kIGFyZSBub3QgZXhwYW5kZWQpIQogCiAoZGVmaW5lIHNzYXg6cmVhZC1jZGF0YS1i b2R5IAotICAobGV0ICgoY2RhdGEtZGVsaW1pdGVycyAobGlzdCBjaGFyLXJldHVybiAjXG5l d2xpbmUgI1xdICNcJikpKQorICAobGV0ICgoY2RhdGEtZGVsaW1pdGVycyAobGlzdCBjaGFy LXJldHVybiAjXG5ld2xpbmUgI1xdKSkpCiAKICAgICAobGFtYmRhIChwb3J0IHN0ci1oYW5k bGVyIHNlZWQpCiAgICAgICAobGV0IGxvb3AgKChzZWVkIHNlZWQpKQpAQCAtOTc0LDE4ICs5 NzMsNiBAQAogCQkoKCNcXSkgKGNoZWNrLWFmdGVyLXNlY29uZC1icmFrZXQKIAkJCShzdHIt aGFuZGxlciAiXSIgIiIgc2VlZCkpKQogCQkoZWxzZSAobG9vcCAoc3RyLWhhbmRsZXIgIl1d IiAiIiBzZWVkKSkpKSkpKQotICAgICAgICgoI1wmKQkJOyBOb3RlIHRoYXQgI1wmIHdpdGhp biBDREFUQSBtYXkgc3RhbmQgZm9yIGl0c2VsZgotCShsZXQgKChlbnQtcmVmIAk7IGl0IGRv ZXMgbm90IGhhdmUgdG8gc3RhcnQgYW4gZW50aXR5IHJlZgotICAgICAgICAgICAgICAgKG5l eHQtdG9rZW4tb2YgKGxhbWJkYSAoYykgCi0JCSAoYW5kIChub3QgKGVvZi1vYmplY3Q/IGMp KSAoY2hhci1hbHBoYWJldGljPyBjKSBjKSkgcG9ydCkpKQotCSAgKGNvbmQJCTsgIiZndDsi IGlzIHRvIGJlIHJlcGxhY2VkIHdpdGggI1w+Ci0JICAgKChhbmQgKHN0cmluZz0/ICJndCIg ZW50LXJlZikgKGVxdj8gKHBlZWstY2hhciBwb3J0KSAjXDspKQotCSAgICAocmVhZC1jaGFy IHBvcnQpCi0JICAgIChsb29wIChzdHItaGFuZGxlciBmcmFnbWVudCAiPiIgc2VlZCkpKQot CSAgIChlbHNlCi0JICAgIChsb29wIAotCSAgICAgKHN0ci1oYW5kbGVyIGVudC1yZWYgIiIK LQkJCSAgKHN0ci1oYW5kbGVyIGZyYWdtZW50ICImIiBzZWVkKSkpKSkpKQogICAgICAgIChl bHNlCQk7IE11c3QgYmUgQ1I6IGlmIHRoZSBuZXh0IGNoYXIgaXMgI1xuZXdsaW5lLCBza2lw IGl0CiAgICAgICAgICAoaWYgKGVxdj8gKHBlZWstY2hhciBwb3J0KSAjXG5ld2xpbmUpIChy ZWFkLWNoYXIgcG9ydCkpCiAgICAgICAgICAobG9vcCAoc3RyLWhhbmRsZXIgZnJhZ21lbnQg bmwgc2VlZCkpKQpAQCAtMTAwNCw3ICs5OTEsNyBAQAogCQkgICAgIChjYWxsLXdpdGgtaW5w dXQtc3RyaW5nICh1bmVzYy1zdHJpbmcgc3RyKQogCQkgICAgICAgKGxhbWJkYSAocG9ydCkg KHNzYXg6cmVhZC1jZGF0YS1ib2R5IHBvcnQgY29uc3VtZXIgJygpKSkKIAkJICAgICAgICkp KSkKLQkgICAgICh3cml0ZSByZXN1bHQpCisgICAgICAgICAgICAgKHdyaXRlIHJlc3VsdCkK IAkgICAgIChhc3NlcnQgKGVxdWFsPyByZXN1bHQgZXhwZWN0ZWQtcmVzdWx0KSkpKSkKICAg ICkKICAgKHRlc3QgIl1dPiIgJygpKQpAQCAtMTAxNywxMCArMTAwNCw5IEBACiAgICh0ZXN0 ICIlciVuJXIlbl1dPiIgJygiIiAiIE5MIiAiIiAiIE5MIikpCiAgICh0ZXN0ICIlciVuJXIl bmFdXT4iICcoIiIgIiBOTCIgIiIgIiBOTCIgImEiICIiKSkKICAgKHRlc3QgIiVyJXIlciVu YV1dPiIgJygiIiAiIE5MIiAiIiAiIE5MIiAiIiAiIE5MIiAiYSIgIiIpKQotICAodGVzdCAi YWJjJiEhIV1dPiIgJygiYWJjIiAiJiIgIiIgIiIgIiEhISIgIiIpKQorICAodGVzdCAiYWJj JiEhIV1dPiIgJygiYWJjJiEhISIgIiIpKQogICAodGVzdCAiYWJjXV0mZ3Q7Jmd0JmFtcDtd XV0mZ3Q7YW5kXV0+IgotICAgICcoImFiYyIgIiIgIl1dIiAiIiAiIiAiPiIgIiIgIiYiICJn dCIgIiIgIiIgIiYiICJhbXAiICIiICI7IiAiIiAiXSIgIiIKLSAgICAgICJdXSIgIiIgIiIg Ij4iICJhbmQiICIiKSkKKyAgICAgICAgJygiYWJjIiAiIiAiXV0iICIiICImZ3Q7Jmd0JmFt cDsiICIiICJdIiAiIiAiXV0iICIiICImZ3Q7YW5kIiAiIikpCiApKQogCiAgICAgICAgICAg ICAKQEAgLTI1OTYsMTAgKzI1ODIsMTAgQEAKIAkgYCgoJyJpdGVtaXplIiAoJyJpdGVtIiAi VGhpcyAgIGlzIGl0ZW0gMSAiKQogCSAgICAsKHVuZXNjLXN0cmluZyAiJW4iKSAoJyJpdGVt IiAiSXRlbSAyIikgLCh1bmVzYy1zdHJpbmcgIiVuICIpKSkpCiAgICh0ZXN0ICIgPFA+PCFb Q0RBVEFbPEJSPiVuPCFbQ0RBVEFbPEJSPl1dJmd0O11dPjwvUD4iCi0JZHVtbXktZG9jdHlw ZS1mbiAgYCgoJyJQIiAiPEJSPiIgLG5sICI8IVtDREFUQVs8QlI+IiAiXV0iICIiICI+Iikp KQorICAJZHVtbXktZG9jdHlwZS1mbiAgYCgoJyJQIiAiPEJSPiIgLG5sICAiPCFbQ0RBVEFb PEJSPiIgIl1dIiAiJmd0OyIpKSkKIAogICAodGVzdCAiIDxQPjwhW0NEQVRBWzxCUj4lcjwh W0NEQVRBWzxCUj5dXSZndDtdXT48L1A+IgotCWR1bW15LWRvY3R5cGUtZm4gYCgoJyJQIiAi PEJSPiIgLG5sICI8IVtDREFUQVs8QlI+IiAiXV0iICIiICI+IikpKQorICAJZHVtbXktZG9j dHlwZS1mbiBgKCgnIlAiICI8QlI+IiAsbmwgIjwhW0NEQVRBWzxCUj4iICJdXSIgIiZndDsi KSkpCiAKICAgKHRlc3QgIjw/eG1sIHZlcnNpb249JzEuMCc/PiVuJW48UmVwb3J0cyBUU3Rh bXA9JzEnPjwvUmVwb3J0cz4iCiAJZHVtbXktZG9jdHlwZS1mbiAnKCgnIlJlcG9ydHMiIChA ICgnIlRTdGFtcCIgIjEiKSkpKSkKQEAgLTI5NjQsNyArMjk1MCw3IEBACiAJICBgKCpUT1Aq IChQICwodW5lc2Mtc3RyaW5nICJzb21lIHRleHQgPDElblwiIikKIAkJICAgICAgKEIgInN0 cm9uZyIpICwodW5lc2Mtc3RyaW5nICJcIiVuIikpKSkKICAgICAodGVzdCAiIDxQPjwhW0NE QVRBWzxCUj4lbjwhW0NEQVRBWzxCUj5dXSZndDtdXT48L1A+IiAnKCkKLQkgIGAoKlRPUCog KFAgLCh1bmVzYy1zdHJpbmcgIjxCUj4lbjwhW0NEQVRBWzxCUj5dXT4iKSkpKQorICAgICBg KCpUT1AqIChQICwodW5lc2Mtc3RyaW5nICI8QlI+JW48IVtDREFUQVs8QlI+XV0mZ3Q7Iikp KSkKIDsgICAgKHRlc3QgIjxUMT48VDI+aXQmYXBvcztzJXIlbmFuZCAgIHRoYXQlbjwvVDI+ JXIlbiVyJW4lbjwvVDE+IiAnKCkKIDsJICAnKCpUT1AqIChUMSAoVDIgIml0J3MlbmFuZCAg IHRoYXQlbiIpICIlbiVuJW4iKSkpCiAgICAgKHRlc3QgIjxUMT48VDI+aXQmYXBvcztzJXIl bmFuZCAgIHRoYXQlbjwvVDI+JXIlbiVyJW4lbjwvVDE+IiAnKCkKLS0gCjIuMjQuMQoK --676b209ad58e4feda8b9b6380d6c552e--