Commit Graph
3703 Commits
Author SHA1 Message Date
Matt Wozniski 4c72848b85 Test autodoc_typehint_undoc
Add new tests to exercise the new autodoc_typehint_undoc option. Where
an existing test would have a meaningful behavior change with the new
option set to False, that test is copied, the new option is set to False
in the copy, and the assertions reflect the new expected behavior.

The new test test_autodoc_typehints_description_with_documented_init
illustrates the problem reported in #7329, and the new test
test_autodoc_typehints_description_with_documented_init_no_undoc
illustrates that this issue no longer occurs when the new
autodoc_typehint_undoc option is set to False.
2021-03-27 14:54:38 -04:00
Takeshi KOMIYA acf66bc4d5 Close #5603: autodoc: Allow to refer to a python object using canonical name
This generates `:canonical:` option for `:py:class:` directive if the
target class is imported from other module.  It allows users to refer it
using both the new name (imported name) and the original name (canonical
name).

It helps a library that implements some class in private module (like
`_io.StringIO`), and publish it as public module (like `io.StringIO`).
2021-03-27 17:34:15 +09:00
Takeshi KOMIYA cd75f8fea1 Merge branch '3.x' 2021-03-27 17:33:49 +09:00
Takeshi KOMIYA 26d9a8962e Fix the testcase for linkcheck refers removed URLs
Some public URLs are disabled now.
For more details, see https://github.com/sphinx-doc/sphinx/issues/8309
2021-03-27 17:10:09 +09:00
Takeshi KOMIYA cb654d287b Rename DocumenterBridge.filename_set to record_dependencies
DocumenterBridge.filename_set has been used since its beginning.  On the
other hand, in docutils, record_dependencies attribute is well-used to
store the list of dependency files.  So this renames it to docutils'
standard attribute.
2021-03-21 00:52:53 +09:00
Takeshi KOMIYA 5e8f814e81 Merge branch '3.x' 2021-03-20 23:25:57 +09:00
Takeshi KOMIYA a19250b46e Fix #8959: using UNIX path separator confuses Sphinx on Windows
The first element of env.relfn2path() should be a POSIX path, not a OS
dependent path.
2021-03-20 01:32:47 +09:00
Takeshi KOMIYA 8c7e779731 Fix #8992: autodoc: Failed to resolve types.TracebackType type annotation
The builtin module, ``types.TracebackType`` does not have correct module
name.  This allows to refer it automatically.
2021-03-17 23:37:43 +09:00
Takeshi KOMIYA 3937ea816f Fix #9009: LaTeX: "release" value with underscore leads to invalid LaTeX
The "release" variable is not escaped on the LaTeX output.
2021-03-17 01:24:03 +09:00
Takeshi KOMIYA 75f5122996 Fix #7383: autodoc: Support typehints for properties
py:property directive now outputs py:property directive to describe
its type annotation.
2021-03-13 22:51:46 +09:00
Takeshi KOMIYA 204f86f736 py domain: Add py:property directive to describe a property (refs: #7068) 2021-03-11 01:56:39 +09:00
Takeshi KOMIYA fb4220d0a2 Close #8487: csv-table now considers abspath as relpath from srcdir
To make directives' behavior consistent, the :file: option for
csv-table directive now recognizes an absolute path as a relative
path from source directory.
2021-03-09 01:07:19 +09:00
Takeshi KOMIYA 1ea11b1e48 Fix #759: autodoc: Add sphinx.ext.autodoc.preserve_defaults extension
Add a new extension `sphinx.ext.autodoc.preserve_defaults`.

It preserves the default argument values of function signatures in source code
and keep them not evaluated for readability.  This is an experimental
extension and it will be integrated into autodoc core in Sphinx-4.0.
2021-03-06 18:48:18 +09:00
Takeshi KOMIYA 0a3f897d15 Merge pull request #8432 from tk0miya/7119_pending_xref_condition
Fix #7119: Show type hint names unqualified when resolving succeeded
2021-03-06 17:32:27 +09:00
Takeshi KOMIYA 7f0b13af6e intersphinx: Support pending_xref_condition 2021-03-06 14:58:15 +09:00
Takeshi KOMIYA 930a880294 Fix #7199: py domain: Add a new confval: python_use_unqualified_type_names
Add a new config variable: python_use_unqualified_type_names.  If enabled,
it goes to suppress the module name of the python reference if it can be
resolved.
2021-03-06 14:00:00 +09:00
Jakob Lykke Andersen 72e231d0e6 C and C++, fix nested paramter lists 2021-03-04 21:28:18 +01:00
Jakob Lykke Andersen 4052cbc9b1 C++, support spaceship operator
Fixes sphinx-doc/sphinx#8942
2021-03-02 20:22:22 +01:00
Takeshi KOMIYA fc8247a3cd Merge pull request #8484 from tk0miya/8326_root_doc
Close #8326: Rename master_doc to root_doc
2021-02-28 17:49:32 +09:00
Takeshi KOMIYA 3059a999b2 Close #8326: Rename master_doc to root_doc
To describe the purpose more accurately, the `master_doc` is now renamed
to `root_doc`.  The old name is still available.  But it is recommeneded
to use new one from now on.
2021-02-28 17:10:57 +09:00
Takeshi KOMIYA 7d3cc382fa autodoc: an imported TypeVar is not resolved (refs: #8415)
So far, a TypeVar is rendered without module name. As a result, it
could not be resolved if it is imported from other modules.  This
prepends its module name and make it resolvable.  This is available
only in Python 3.7 or above.

As a side effect, all of TypeVars are displayed with module name. It
should be fixed in latter step (refs: #7119)
2021-02-28 15:58:06 +09:00
Takeshi KOMIYA 6d91db3b9e Merge pull request #8927 from tk0miya/8924_TypeVar_bound
Close #8924: autodoc: Support `bound` argument for TypeVar
2021-02-26 02:00:40 +09:00
Jakob Lykke Andersen 0256daf112 C, test namespace revamp 2021-02-24 15:59:54 +01:00
Jakob Lykke Andersen 71a656498b C, simplify tests 2021-02-24 15:59:54 +01:00
Jakob Lykke Andersen 17337a3257 C, properly error on keywords as function parameters 2021-02-24 15:59:54 +01:00
Takeshi KOMIYA a39cf57717 Close #8924: autodoc: Support bound argument for TypeVar 2021-02-24 22:51:06 +09:00
Takeshi KOMIYA f9ca909ea0 Merge branch '3.x' 2021-02-17 00:16:32 +09:00
jfbu 19ea727f1b Adapt our tests to Pygments 2.8.0 2021-02-14 21:17:17 +01:00
Takeshi KOMIYA def6f13d8d Merge branch '3.x' 2021-02-13 01:01:30 +09:00
Takeshi KOMIYA 7252abab1c refactor: linkcheck: Refine the constructor of Checker and CheckWorker
Make the constructors of Checker and CheckWorker classes less-coupled
with linkcheck builder.
2021-02-12 23:20:07 +09:00
Takeshi KOMIYA 5c223d20d6 refactor: linkcheck: Separate thread manager feature from builder class
To reduce the complexity of the linkcheck builder, this separates
the thread manager feature from the builder class as
HyperlinkAvailabilityChecker.
2021-02-12 23:19:01 +09:00
jfbu b9c53c8ca6 Merge branch '3.x' into merge_3.x_into_master
Resolved Conflicts:
	sphinx/texinputs/sphinx.sty

Some hunks needed to go to sphinx/texinputs/sphinxlatexliterals.py,
others already belonged to split files.
2021-02-09 19:03:38 +01:00
jfbu 0c89c85a39 Merge branch '3.x' into latex_hyperlinked_caption_footnotes_on_3.x 2021-02-09 16:39:55 +01:00
Takeshi KOMIYA 84458da828 Merge branch '3.x' 2021-02-07 17:01:09 +09:00
jfbu 4a239bb886 Extra references to explicitly numbered footnote get page indication
To achieve this the simplest was to use also the \label/\ref mechanism
as for footnotes typeset using footnotetext. Removing the hack into
footnotehyper internal macro, we use an enriched scope, which will
enable references with same number to each generate correct links.
2021-02-06 22:00:47 +01:00
jfbu 6275a7756f Use \thesphinxscope mark-up (shorter, and may help trick for page scope) 2021-02-06 13:43:12 +01:00
jfbu 628c58abef Prepare for scope-limited footnote numbering 2021-02-06 10:45:50 +01:00
jfbu a0b0a08e38 LaTeX footnotes from caption titles now hyperlinked in PDF
This is fifth item of #2616
2021-02-05 16:45:12 +01:00
Takeshi KOMIYA f02fb7a8cc refactor: linkcheck: Separate worker feature from builder class
To reduce the complexity of the linkcheck builder, this separates
the worker feature from the builder class.
2021-02-05 22:52:28 +09:00
jfbu 87fa272763 Merge branch '3.x' into merge_3.x_into_master
Resolved Conflicts:
	sphinx/texinputs/sphinxpackagefootnote.sty
2021-02-04 16:31:45 +01:00
Takeshi KOMIYA 284d9e703b refactor: Fix the right hand value of autodoc options should be None 2021-02-04 22:35:29 +09:00
Takeshi KOMIYA 0d50b97fa3 Merge pull request #8297 from pbudzyns/exclude-members-fix
Local autodoc options override or extend autodoc_default_options.
2021-02-04 22:24:52 +09:00
jfbu fbafb308b8 Merge branch '3.x' into master_with_merged_3.x 2021-02-02 18:01:55 +01:00
jfbu 7c7032dd05 Extend latex footnotes unit test 2021-02-02 00:10:45 +01:00
Takeshi KOMIYA f803266d63 Merge pull request #8805 from tk0miya/8775_workaround
Fix #8775: Avoid the crash of autodoc caused by type union operator
2021-02-01 21:35:04 +09:00
Takeshi KOMIYA 223f59b3c5 Merge pull request #8802 from tk0miya/8775_pydomain_pep604
py domain: Support type union operator (PEP-604) (refs: #8775)
2021-02-01 21:22:38 +09:00
Takeshi KOMIYA 7ca5248057 Fix #8775: Avoid the crash of autodoc caused by type union operator
The type union operator (PEP-604) causes autodoc crashed in python 3.9
or below because of the syntax is not suppoerted yet in the interpreters.
Internally, `typing.get_type_hints()` raises TypeError on evaluating the
annotation by BitOr operator for types.

To avoid the crash, this adds a fallback not to evaluate the annotations
and keep as is.  As a side effect, `autodoc_type_aliases` will not work
for the modules and classes that uses type union operator for their
annotations.
2021-02-01 21:21:56 +09:00
Takeshi KOMIYA 2956f19674 Merge pull request #8803 from tk0miya/8775_autodoc_type_union_operator
autodoc: Support type union operator (PEP-604) (refs: #8775)
2021-02-01 21:19:45 +09:00
Takeshi KOMIYA 2c2b8c1154 py domain: Support type union operator (PEP-604) (refs: #8775)
Upgrade annotation parser for python domain to support type union
operator introduced in PEP-604.  It's available on all python
interpreters.
2021-02-01 21:12:29 +09:00
Takeshi KOMIYA 6d8c9183fa Fix #8800: autodoc: Uninitialized attributes in superclass are recognized as undocumented
Unintentionally, uninitialized attributes defined at superclasses are
recognized as undocumented in the filtering step.  Therefore, they are
filtered if `:undoc-members:` option given.
2021-02-01 21:06:07 +09:00