mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Fix #3796: env.resolve_references() crashes when non-document node given
This commit is contained in:
parent
23d1edb203
commit
c3eaadbaa2
1
CHANGES
1
CHANGES
@ -28,6 +28,7 @@ Bugs fixed
|
||||
* #3772: 'str object' has no attribute 'filename'
|
||||
* #3763: got epubcheck validations error if epub_cover is set
|
||||
* #3779: 'ImportError' in sphinx.ext.autodoc due to broken 'sys.meta_path'
|
||||
* #3796: env.resolve_references() crashes when non-document node given
|
||||
|
||||
Testing
|
||||
--------
|
||||
|
@ -943,10 +943,9 @@ class BuildEnvironment(object):
|
||||
try:
|
||||
# set env.docname during applying post-transforms
|
||||
self.temp_data['docname'] = docname
|
||||
if hasattr(doctree, 'settings'):
|
||||
doctree.settings.env = self
|
||||
|
||||
transformer = SphinxTransformer(doctree)
|
||||
transformer.set_environment(self)
|
||||
transformer.add_transforms(self.app.post_transforms)
|
||||
transformer.apply_transforms()
|
||||
finally:
|
||||
|
@ -85,6 +85,9 @@ class SphinxTransformer(Transformer):
|
||||
def apply_transforms(self):
|
||||
# type: () -> None
|
||||
if isinstance(self.document, nodes.document):
|
||||
if hasattr(self.document.settings, 'env') and self.env:
|
||||
self.document.settings.env = self.env
|
||||
|
||||
Transformer.apply_transforms(self)
|
||||
else:
|
||||
# wrap the target node by document node during transforming
|
||||
|
Loading…
Reference in New Issue
Block a user