#13987: HTMLParser is now able to handle EOFs in the middle of a construct.
diff --git a/Lib/HTMLParser.py b/Lib/HTMLParser.py
index f230c5f..d2268d0 100644
--- a/Lib/HTMLParser.py
+++ b/Lib/HTMLParser.py
@@ -170,9 +170,16 @@
else:
break
if k < 0:
- if end:
- self.error("EOF in middle of construct")
- break
+ if not end:
+ break
+ k = rawdata.find('>', i + 1)
+ if k < 0:
+ k = rawdata.find('<', i + 1)
+ if k < 0:
+ k = i + 1
+ else:
+ k += 1
+ self.handle_data(rawdata[i:k])
i = self.updatepos(i, k)
elif startswith("&#", i):
match = charref.match(rawdata, i)