In #7487, SingledispatchFunctionDocumenter is merged into
FunctionDocumenter. SingledispatchMethodDocumenter is also. As a result,
They are no longer needed. So this deprecates them.
Our document describes that users can override system messages via
their own message catalog named `sphinx.mo` under the locale_dirs.
But it has not been used since its beginning of i18n mechanism because
the priority of users' message catalog is lower than system's.
This makes the priority of users' message catalog higher than system's.
Typically, the __args__ attribute of type annotations is a tuple
containing arguments for the types (ex. The __args__ of `List[int]` is
`(int,)`). But some kind of types has non tuple __args__ attribute.
For example, `nptyping.NDArray` is one of them.
This fixes the TypeError when the invalid __args__ attribute found.
Trailing whitespace do not have impact on the result, they are just
unused bytes. Most text editors are configured to strip trailing
whitespaces. Remove them all in one go.
Update a handful of files to use the UNIX line ending.
This postpones the evaluation of LaTeX packages via
``app.add_latex_package()`` to just before writing .tex file. That
allows extensions to add LaTeX packages during reading and resolving
phase.
autodoc raises a parsing error if some extension generates a docstring
not having blank lines at the tail. This appends a blank line if
generated one does not contain it.
The HTML Builder crashes if error raised on copying html_static_files.
This handles the exception and show a better error message to let users
the reason of errors (ex. failed on extracting Jinja templates).
sphinx.util.inspect:isproperty() does not considers that
cached_property decorator that has been added since Python 3.8 is
a kind of properties. This fixes it.
`typing.get_type_hints()` raises NameError when the target object
contains unresolavable type annotation (ex. TYPE_CHECKING). This
handles the exception and use unresolved annotations for type hints.
Until Python 3.5.2, typing.get_type_hints() raises AttributeError if
given object does not have `__code__` attribute. This handles the
exception not to crash building documents.
Note: The AttributeError was fixed at 3.5.3
refs: 991d14fee1