diff --git a/CHANGES b/CHANGES index 7de1490b7..b4f94996c 100644 --- a/CHANGES +++ b/CHANGES @@ -46,6 +46,8 @@ Release 1.1.3 (in development) * #876: Fix quickstart test under Python 3. +* #870: Fix spurious KeyErrors when removing documents. + Release 1.1.2 (Nov 1, 2011) -- 1.1.1 is a silly version number anyway! ====================================================================== diff --git a/sphinx/environment.py b/sphinx/environment.py index 6ea1e248c..09e0f1d37 100644 --- a/sphinx/environment.py +++ b/sphinx/environment.py @@ -1164,7 +1164,12 @@ class BuildEnvironment: def get_toc_for(self, docname, builder): """Return a TOC nodetree -- for use on the same page only!""" - toc = self.tocs[docname].deepcopy() + try: + toc = self.tocs[docname].deepcopy() + except KeyError: + # the document does not exist anymore: return a dummy node that + # renders to nothing + return nodes.paragraph() self.process_only_nodes(toc, builder, docname) for node in toc.traverse(nodes.reference): node['refuri'] = node['anchorname'] or '#'