`mach doc` fails on Python 3.9 with "ast_get_source_segment is not available with this Python version."
Categories
(Developer Infrastructure :: Source Documentation, defect)
Tracking
(firefox93 fixed)
Tracking | Status | |
---|---|---|
firefox93 | --- | fixed |
People
(Reporter: saschanaz, Assigned: tjr)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\docs\html\_staging\intl\locale_env.rst:13: WARNING: Unknown interpreted text role "js".
C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\docs\html\_staging\intl\locale_env.rst:13: WARNING: Unknown interpreted text role "js".
C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\docs\html\_staging\intl\locale_env.rst:16: WARNING: Unknown interpreted text role "js".
C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\docs\html\_staging\intl\locale_env.rst:22: WARNING: Unknown interpreted text role "js".
C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\docs\html\_staging\intl\locale_env.rst:22: WARNING: Unknown interpreted text role "js".
C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\docs\html\_staging\intl\locale_env.rst:25: WARNING: Unknown interpreted text role "js".
C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\docs\html\_staging\xpcom\stringguide.rst:461: WARNING: Inline emphasis start-string without end-string.
C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\docs\html\_staging\xpcom\stringguide.rst:461: WARNING: Inline emphasis start-string without end-string.
C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\docs\html\_staging\xpcom\stringguide.rst:1052: WARNING: Parsing of expression failed. Using fallback parser. Error was:
Error in postfix expression, expected primary expression or type.
If primary expression:
Invalid C++ declaration: Expected identifier in nested name. [error at 48]
bool Equals(const self_type&, comparator_type = ...) const
------------------------------------------------^
If type:
Invalid C++ declaration: Expected identifier in nested name. [error at 48]
bool Equals(const self_type&, comparator_type = ...) const
------------------------------------------------^
C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\docs\html\_staging\security\nss\getting_started.rst:38: WARNING: Explicit markup ends without a blank line; unexpected unindent.
C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\docs\html\_staging\browser\search\index.rst:2: WARNING: duplicate label search, other instance in C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\docs\html\_staging\search.rst
docstring of mozbuild.vendor.moz_yaml.VALID_SOURCE_HOSTS:63: WARNING: Unexpected indentation.
docstring of mozbuild.vendor.moz_yaml.VALID_SOURCE_HOSTS:99: WARNING: Unexpected indentation.
docstring of mozbuild.vendor.moz_yaml.VALID_SOURCE_HOSTS:101: WARNING: Inline emphasis start-string without end-string.
docstring of mozbuild.vendor.moz_yaml.VALID_SOURCE_HOSTS:107: WARNING: Unexpected indentation.
docstring of mozbuild.vendor.moz_yaml.VALID_SOURCE_HOSTS:110: WARNING: Inline emphasis start-string without end-string.
docstring of mozbuild.vendor.moz_yaml.VALID_SOURCE_HOSTS:116: WARNING: Unexpected indentation.
docstring of mozbuild.vendor.moz_yaml.VALID_SOURCE_HOSTS:120: WARNING: Inline emphasis start-string without end-string.
docstring of mozbuild.vendor.moz_yaml.VALID_SOURCE_HOSTS:126: WARNING: Unexpected indentation.
docstring of mozbuild.vendor.moz_yaml.VALID_SOURCE_HOSTS:173: WARNING: Unexpected indentation.
C:\Users\Kagami\Documents\GitHub\gecko-dev\python/mozbuild\mozbuild\vendor\rewrite_mozbuild.py:docstring of mozbuild.vendor.rewrite_mozbuild.edit_moz_build_file_to_add_file:6: WARNING: Unexpected indentation.
C:\Users\Kagami\Documents\GitHub\gecko-dev\python/mozbuild\mozbuild\vendor\rewrite_mozbuild.py:docstring of mozbuild.vendor.rewrite_mozbuild.get_mozbuild_file_search_order:5: WARNING: Unexpected indentation.
C:\Users\Kagami\Documents\GitHub\gecko-dev\python/mozbuild\mozbuild\vendor\rewrite_mozbuild.py:docstring of mozbuild.vendor.rewrite_mozbuild.get_mozbuild_file_search_order:6: WARNING: Block quote ends without a blank line; unexpected unindent.
Traceback (most recent call last):
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\cmd\build.py", line 280, in build_main
app.build(args.force_all, filenames)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\application.py", line 343, in build
self.builder.build_update()
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\builders\__init__.py", line 293, in build_update
self.build(to_build,
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\builders\__init__.py", line 307, in build
updated_docnames = set(self.read())
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\builders\__init__.py", line 414, in read
self._read_serial(docnames)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\builders\__init__.py", line 435, in _read_serial
self.read_doc(docname)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\builders\__init__.py", line 475, in read_doc
doctree = read_doc(self.app, self.env, self.env.doc2path(docname))
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\io.py", line 188, in read_doc
pub.publish()
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\core.py", line 217, in publish
self.document = self.reader.read(self.source, self.parser,
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\io.py", line 108, in read
self.parse()
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\readers\__init__.py", line 77, in parse
self.parser.parse(self.input, document)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\parsers.py", line 100, in parse
self.statemachine.run(inputlines, document, inliner=self.inliner)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 170, in run
results = StateMachineWS.run(self, input_lines, input_offset,
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\statemachine.py", line 241, in run
context, next_state, result = self.check_line(
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\statemachine.py", line 459, in check_line
return method(match, context, next_state)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 2769, in underline
self.section(title, source, style, lineno - 1, messages)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 327, in section
self.new_subsection(title, lineno, messages)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 393, in new_subsection
newabsoffset = self.nested_parse(
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 281, in nested_parse
state_machine.run(block, input_offset, memo=self.memo,
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 196, in run
results = StateMachineWS.run(self, input_lines, input_offset)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\statemachine.py", line 241, in run
context, next_state, result = self.check_line(
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\statemachine.py", line 459, in check_line
return method(match, context, next_state)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 2769, in underline
self.section(title, source, style, lineno - 1, messages)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 327, in section
self.new_subsection(title, lineno, messages)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 393, in new_subsection
newabsoffset = self.nested_parse(
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 281, in nested_parse
state_machine.run(block, input_offset, memo=self.memo,
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 196, in run
results = StateMachineWS.run(self, input_lines, input_offset)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\statemachine.py", line 241, in run
context, next_state, result = self.check_line(
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\statemachine.py", line 459, in check_line
return method(match, context, next_state)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 2342, in explicit_markup
nodelist, blank_finish = self.explicit_construct(match)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 2354, in explicit_construct
return method(self, expmatch)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 2096, in directive
return self.run_directive(
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 2146, in run_directive
result = directive_instance.run()
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\ext\autodoc\directive.py", line 173, in run
result = parse_generated_content(self.state, params.result, documenter)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\ext\autodoc\directive.py", line 116, in parse_generated_content
nested_parse_with_titles(state, content, node)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\util\nodes.py", line 335, in nested_parse_with_titles
return state.nested_parse(content, 0, node, match_titles=1)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 281, in nested_parse
state_machine.run(block, input_offset, memo=self.memo,
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 196, in run
results = StateMachineWS.run(self, input_lines, input_offset)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\statemachine.py", line 241, in run
context, next_state, result = self.check_line(
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\statemachine.py", line 459, in check_line
return method(match, context, next_state)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 2344, in explicit_markup
self.explicit_list(blank_finish)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 2369, in explicit_list
newline_offset, blank_finish = self.nested_list_parse(
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 318, in nested_list_parse
state_machine.run(block, input_offset, memo=self.memo,
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 196, in run
results = StateMachineWS.run(self, input_lines, input_offset)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\statemachine.py", line 241, in run
context, next_state, result = self.check_line(
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\statemachine.py", line 459, in check_line
return method(match, context, next_state)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 2647, in explicit_markup
nodelist, blank_finish = self.explicit_construct(match)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 2354, in explicit_construct
return method(self, expmatch)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 2096, in directive
return self.run_directive(
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 2146, in run_directive
result = directive_instance.run()
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\domains\__init__.py", line 286, in run
return super().run()
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\directives\__init__.py", line 208, in run
self.state.nested_parse(self.content, self.content_offset, contentnode)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 281, in nested_parse
state_machine.run(block, input_offset, memo=self.memo,
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 196, in run
results = StateMachineWS.run(self, input_lines, input_offset)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\statemachine.py", line 241, in run
context, next_state, result = self.check_line(
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\statemachine.py", line 459, in check_line
return method(match, context, next_state)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 2342, in explicit_markup
nodelist, blank_finish = self.explicit_construct(match)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 2354, in explicit_construct
return method(self, expmatch)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 2096, in directive
return self.run_directive(
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\docutils\parsers\rst\states.py", line 2146, in run_directive
result = directive_instance.run()
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\domains\__init__.py", line 286, in run
return super().run()
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\directives\__init__.py", line 189, in run
name = self.handle_signature(sig, signode)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\domains\python.py", line 482, in handle_signature
signode += _parse_arglist(arglist, self.env)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\domains\python.py", line 192, in _parse_arglist
sig = signature_from_str('(%s)' % arglist)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\util\inspect.py", line 770, in signature_from_str
return signature_from_ast(function, code)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\util\inspect.py", line 803, in signature_from_ast
default = DefaultValue(ast_unparse(defaults[i + posonlyargs], code))
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\pycode\ast.py", line 81, in unparse
return _UnparseVisitor(code).visit(node)
File "c:\mozilla-build\python39\lib\ast.py", line 407, in visit
return visitor(node)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\obj-x86_64-pc-mingw32\_virtualenvs\docs\Lib\site-packages\sphinx\pycode\ast.py", line 168, in visit_Constant
return ast.get_source_segment(self.code, node) # type: ignore
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\python/mozbuild\mozbuild\vendor\rewrite_mozbuild.py", line 260, in ast_get_source_segment
raise Exception("ast_get_source_segment is not available with this Python version.")
Exception: ast_get_source_segment is not available with this Python version.
Setting FORCE_DOWNGRADE_BEHAVIOR=False
workarounds it.
Reporter | ||
Comment 1•4 years ago
|
||
No it does not 😬
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\python/mozbuild\mozbuild\vendor\rewrite_mozbuild.py", line 254, in ast_get_source_segment
return ast.get_source_segment(code, node)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\python/mozbuild\mozbuild\vendor\rewrite_mozbuild.py", line 254, in ast_get_source_segment
return ast.get_source_segment(code, node)
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\python/mozbuild\mozbuild\vendor\rewrite_mozbuild.py", line 254, in ast_get_source_segment
return ast.get_source_segment(code, node)
[Previous line repeated 930 more times]
File "C:\Users\Kagami\Documents\GitHub\gecko-dev\python/mozbuild\mozbuild\vendor\rewrite_mozbuild.py", line 251, in ast_get_source_segment
and sys.version_info[0] >= 3
RecursionError: maximum recursion depth exceeded in comparison
Assignee | ||
Comment 3•4 years ago
|
||
(In reply to Kagami :saschanaz from comment #2)
Probably regressed by bug 1712817?
Surely so. I am surprised ./mach doc
is referencing this code and importing it.
If you haven't worked around this already; I expect that commenting out these lines will work around it.
I'll work on a fix this week.
Assignee | ||
Comment 4•4 years ago
|
||
For whatever reason, ./mach doc is sourcing rewrite_mozbuild.py
causing the ast.get_source_segment function to get redefined.
(We do this redefinition because it is very easy to accidently
use get_source_segment in this code and forget it doesn't
work on Taskcluster.)
So add an exemption for sphinx to pass through to the original
function, but also fix an inifnite loop where we weren't calling
the original function.
Comment 5•4 years ago
|
||
bugherder |
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Updated•3 years ago
|
Description
•