From a4dc03578d20923ced0205e1aaf09c89f5bfa8f2 Mon Sep 17 00:00:00 2001 From: Leonard Richardson Date: Fri, 18 Oct 2013 13:03:06 -0400 Subject: Fixed yet another problem that caused the html5lib tree builder to create a disconnected parse tree. [bug=1237763] --- bs4/builder/_html5lib.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'bs4/builder') diff --git a/bs4/builder/_html5lib.py b/bs4/builder/_html5lib.py index 7de36ae..6446c2e 100644 --- a/bs4/builder/_html5lib.py +++ b/bs4/builder/_html5lib.py @@ -161,6 +161,12 @@ class Element(html5lib.treebuilders._base.Node): # immediately after the parent, if it has no children.) if self.element.contents: most_recent_element = self.element._last_descendant(False) + elif self.element.next_element is not None: + # Something from further ahead in the parse tree is + # being inserted into this earlier element. This is + # very annoying because it means an expensive search + # for the last element in the tree. + most_recent_element = self.soup._last_descendant() else: most_recent_element = self.element -- cgit v1.2.1