[Python-checkins] r81505 - in python/branches/release31-maint: Lib/html/parser.py Lib/test/test_htmlparser.py Misc/ACKS Misc/NEWS
victor.stinner
python-checkins at python.org
Mon May 24 23:48:07 CEST 2010
Author: victor.stinner
Date: Mon May 24 23:48:07 2010
New Revision: 81505
Log:
Merged revisions 81504 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
................
r81504 | victor.stinner | 2010-05-24 23:46:25 +0200 (lun., 24 mai 2010) | 13 lines
Recorded merge of revisions 81500-81501 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r81500 | victor.stinner | 2010-05-24 23:33:24 +0200 (lun., 24 mai 2010) | 2 lines
Issue #6662: Fix parsing of malformatted charref (&#bad;)
........
r81501 | victor.stinner | 2010-05-24 23:37:28 +0200 (lun., 24 mai 2010) | 2 lines
Add the author of the last fix (Issue #6662)
........
................
Modified:
python/branches/release31-maint/ (props changed)
python/branches/release31-maint/Lib/html/parser.py
python/branches/release31-maint/Lib/test/test_htmlparser.py
python/branches/release31-maint/Misc/ACKS
python/branches/release31-maint/Misc/NEWS
Modified: python/branches/release31-maint/Lib/html/parser.py
==============================================================================
--- python/branches/release31-maint/Lib/html/parser.py (original)
+++ python/branches/release31-maint/Lib/html/parser.py Mon May 24 23:48:07 2010
@@ -175,6 +175,9 @@
i = self.updatepos(i, k)
continue
else:
+ if ";" in rawdata[i:]: #bail by consuming &#
+ self.handle_data(rawdata[0:2])
+ i = self.updatepos(i, 2)
break
elif startswith('&', i):
match = entityref.match(rawdata, i)
Modified: python/branches/release31-maint/Lib/test/test_htmlparser.py
==============================================================================
--- python/branches/release31-maint/Lib/test/test_htmlparser.py (original)
+++ python/branches/release31-maint/Lib/test/test_htmlparser.py Mon May 24 23:48:07 2010
@@ -136,6 +136,13 @@
("data", "\n"),
])
+ def test_malformatted_charref(self):
+ self._run_check("<p>&#bad;</p>", [
+ ("starttag", "p", []),
+ ("data", "&#bad;"),
+ ("endtag", "p"),
+ ])
+
def test_unclosed_entityref(self):
self._run_check("&entityref foo", [
("entityref", "entityref"),
Modified: python/branches/release31-maint/Misc/ACKS
==============================================================================
--- python/branches/release31-maint/Misc/ACKS (original)
+++ python/branches/release31-maint/Misc/ACKS Mon May 24 23:48:07 2010
@@ -846,3 +846,4 @@
Uwe Zessin
Tarek Ziadé
Peter Åstrand
+Fredrik Håård
Modified: python/branches/release31-maint/Misc/NEWS
==============================================================================
--- python/branches/release31-maint/Misc/NEWS (original)
+++ python/branches/release31-maint/Misc/NEWS Mon May 24 23:48:07 2010
@@ -54,6 +54,9 @@
Library
-------
+- Issue #6662: Fix parsing of malformatted charref (&#bad;), patch written by
+ Fredrik Håård
+
- Issue #6268: Fix seek() method of codecs.open(), don't read or write the BOM
twice after seek(0). Fix also reset() method of codecs, UTF-16, UTF-32 and
StreamWriter classes.
More information about the Python-checkins
mailing list