Commit Graph

4207 Commits

Author SHA1 Message Date
Takeshi KOMIYA
5fb6fb6039 Fix #9651: autodoc_typehints_description_target was confused by :returns:
It only checks the existence of `:return:` field.  And it does not check
`:returns:` field.  It causes the absence of return types.
2021-09-26 02:10:13 +09:00
Takeshi KOMIYA
de59a72fe6
Merge pull request #9665 from tk0miya/9664_autodoc_process_bases_injection
Close #9664: autodoc: autodoc-process-bases supports reST snippet
2021-09-26 00:54:42 +09:00
Jakob Lykke Andersen
b6e60d4993 search, store objects as array to retain all 2021-09-25 10:59:49 +02:00
Jakob Lykke Andersen
356583fe8f search, test update 2021-09-25 10:59:24 +02:00
Takeshi KOMIYA
d75e3171cd
Merge pull request #9670 from jonppe/fix-download-file-with-special-characters
Fix download file with special characters
2021-09-25 14:38:48 +09:00
Johannes Aalto
fa3b334ed0 Add test for encoding local file links with special characters
Add test to make sure Sphinx uses proper URL encoding for
special characters in file names.

Use test_html_download() since it test_html5_output() doesn't
quite seem to have easy pattern to verify the contents of href
attribute.

Issue #3097

Signed-off-by: Johannes Aalto <ext-johannes.aalto@vaisala.com>
2021-09-24 20:34:09 +03:00
Takeshi KOMIYA
d13b86e02f Close #9664: autodoc: autodoc-process-bases supports reST snippet
This allows to inject a reST snippet through autodoc-process-bases
event.  It helps to modify the base classes of any class to the expected
mark-up'ed text by custom extension.
2021-09-23 10:59:01 +09:00
Latosha Maltba
cf9b5b5be9 Add tests for :dedent: option of code-block directive 2021-09-21 09:19:53 +00:00
Takeshi KOMIYA
e79efef63a Fix #9657: autodoc: basecls for a subclass of mocked object is incorrect 2021-09-21 02:03:31 +09:00
Steven Hiscocks
e38456d4e1 Fix issue with warnings without subtype being incorrectly suppressed
This fixes an issue with warnings that have been raised with no subtype
being suppressed if a suppress warnings value with a subtype has been set.
e.g. all `autodoc` warnings should not be suppressed if
`autodoc.import_object` is only set to be suppressed.
2021-09-20 12:16:14 +01:00
Takeshi KOMIYA
10b7f0e252 Fix #9607: autodoc: Incorrect base class detection
In case of the descendants of generic class, the value of
obj.__orig_bases__ is incorrect because it returns original base
arguments for the child of the generic class instead of the target
class itself.

This uses obj.__dict__ to get the correct __orig_bases__ information.
2021-09-20 13:20:26 +09:00
Takeshi KOMIYA
506590d4ba
Merge pull request #9640 from tk0miya/9639_support_asyncgenfunction
Close #9639: autodoc: Support asynchronous generator functions
2021-09-18 01:03:34 +09:00
Takeshi KOMIYA
ccfca458ea Close #9639: autodoc: Support asynchronous generator functions 2021-09-17 02:20:40 +09:00
Takeshi KOMIYA
ed227d7d3c Fix #9630: autodoc: Failed to build xrefs if primary_domain is not 'py'
Autodoc generates reST code that uses raw `:obj:` and `:class:` xrefs to
refer the classes and types.  But they're fragile because they assume
the primary_domain=='py'.

This adds `:py:` prefix to these xrefs to make them robust.
2021-09-14 23:59:47 +09:00
Takeshi KOMIYA
260f217a3d
Merge pull request #9594 from hkuno/pr/no_empty_desc_4.x
let user skip printing command description
2021-09-11 19:08:37 +09:00
Takeshi KOMIYA
571929974a Add a testcase for #9694 2021-09-11 18:47:24 +09:00
Takeshi KOMIYA
c44ee0ebaa
Merge pull request #9611 from tk0miya/9560_NewType_module
Close #9560: autodoc: Allow to refer NewType with modname in py310+
2021-09-11 17:19:54 +09:00
Christian Clauss
d2c95dfd0c overridden 2021-09-08 02:33:10 +02:00
Christian Clauss
86583c578c Fix typos discovered by codespell 2021-09-08 02:15:25 +02:00
Takeshi KOMIYA
c5b35efce3 Close #9560: autodoc: Allow to refer NewType with modname in py310+
Before 3.10, an instance of NewType has incorrect module name. But it
was fixed on 3.10.  This starts to use the module info if the
interpreter is 3.10+.
2021-09-05 18:28:27 +09:00
Takeshi KOMIYA
bd5e40ce3a
Merge pull request #9609 from tk0miya/9608_apidoc_pymod_definition_for_implicit_namespace
Fix #9608: apidoc: module is not described if implicit namespace package
2021-09-05 16:34:58 +09:00
Takeshi KOMIYA
a3f08fe298
Merge pull request #9606 from tk0miya/9600_typehints_including_commas
Fix #9600: autosummary: Typehints including commas confuses autosummary
2021-09-05 16:34:01 +09:00
Takeshi KOMIYA
223d615011 Fix #9608: apidoc: module is not described if implicit namespace package
To make implicit namespace packages referencable, this outputs empty
module definitions for them.
2021-09-04 22:44:04 +09:00
Takeshi KOMIYA
0a8655b733 Fix #9600: autosummary: Typehints including commas confuses autosummary 2021-09-04 01:54:11 +09:00
Takeshi KOMIYA
34664ce4ce Fix #9576: py domain: Literal typehint was converted to a cross reference
The content of Literal typehint should not be converted to cross
references.
2021-09-03 22:09:30 +09:00
Takeshi KOMIYA
3e24190564 Fix #9585: py:property directive does not create a hyperlink for types 2021-08-31 23:55:12 +09:00
Takeshi KOMIYA
a4a0b97835
Merge pull request #9569 from jakelishman/fix-autosummary-sections
Fix #9568: autosummary: summarise overlined sectioned headings correctly
2021-08-29 17:17:52 +09:00
Takeshi KOMIYA
760820f5ed Merge branch '4.x' into fix-autosummary-sections 2021-08-29 16:47:43 +09:00
Takeshi KOMIYA
276f943610 Merge branch '4.x' into 9564-fix_highlighted_code_role_smartquotes 2021-08-29 16:43:50 +09:00
Takeshi KOMIYA
95648432c4 Merge branch '4.1.x' into 4.x 2021-08-21 21:03:18 +09:00
Justin Turner Arthur
adcda091d9 Check complete ancestry of text nodes for smartquotes eligibility.
Fixes sphinx-doc/sphinx#9564.
2021-08-21 00:20:04 -05:00
Jakob Lykke Andersen
73c1520923 C++, fix parsing of defaulted fp function params 2021-08-20 18:17:42 +02:00
Jake Lishman
9d7fa75d4a
Fix #9568: autosummary: summarise overlined sectioned headings correctly
Add an extra step in the autosummary summariser algorithm to get a valid
text form of section headings.  This fixed issues when the first element
of a summarised document was a section heading with overlines, such as

    =======
    Heading
    =======

Previously, the first line would be taken verbatim, which caused parse
errors in the rest of the document.
2021-08-20 17:05:58 +01:00
Jakob Lykke Andersen
4b62b6cb82 C, C++, parse <width> <complex/imaginary> 2021-08-20 17:15:34 +02:00
Jakob Lykke Andersen
a4371ea94c C++, update fundamental type handling a la in C 2021-08-20 17:15:34 +02:00
Jakob Lykke Andersen
cf091f7bb6 C, add short int, and treat spaced types properly 2021-08-20 17:15:34 +02:00
Jakob Lykke Andersen
e2ae287f1c C, add fract and accum 2021-08-20 17:15:34 +02:00
Jakob Lykke Andersen
c5962b70bd C, update fundamental types, including GNU exts
Fixes sphinx-doc/sphinx#9535
2021-08-20 17:15:34 +02:00
Takeshi KOMIYA
bde6c8d2ef Fix test: Tests has been broken with pygments-2.10+ 2021-08-19 23:26:42 +09:00
James
596ad5523d
Merge branch '4.x' into 4.x 2021-08-02 00:32:14 +01:00
James
423b10a848
Add some tests 2021-08-02 00:20:08 +01:00
Jeremy Maitin-Shepard
6c969ac87e Fix autodoc_docstring_signature support for __init__ and __new__
The `MethodDocumenter.get_doc` method added by
51ae283a38 prevents
DocstringSignatureMixin from working correctly for __init__ and
__new__ methods.  Additionally, the __new__ docstring was not obtained
correctly.

This commit checks for `self._new_docstrings` being set, and also
corrects the logic for obtaining the __new__ docstring.

There still remains the issue that when the class signature is
obtained from the signature of __init__ or __new__, only the real
signature is used, due to the use of `sphinx.util.inspect.signature`;
the autodoc_docstring_signature option does not have any effect.
2021-07-31 09:32:40 -07:00
Takeshi KOMIYA
3dd562ad6a Merge branch '4.x' into 9487_typehint_for_cached_property 2021-07-23 02:22:38 +09:00
Takeshi KOMIYA
05cce83cc7 Merge branch '4.1.x' into 4.x 2021-07-23 02:16:33 +09:00
Takeshi KOMIYA
65c089bd40 Fix #9487: autodoc: typehint for cached_property is not shown 2021-07-22 23:25:03 +09:00
Takeshi KOMIYA
9ebdc987b0
Merge pull request #9467 from tk0miya/9435_disable_rewrite_github_anchor
Fix #9435: linkcheck: Failed to check anchors in github.com
2021-07-20 01:15:29 +09:00
Takeshi KOMIYA
f9941b9402
Merge pull request #9464 from Gobot1234/4.x
Add support for PEP 585 generics
2021-07-20 01:14:12 +09:00
Takeshi KOMIYA
362f36d35d
Merge pull request #9461 from tk0miya/9445_class_property
Close #9445: Support class properties
2021-07-20 01:12:04 +09:00
Takeshi KOMIYA
501abc67b6
Merge pull request #9478 from tk0miya/9443
Fix testcases that failed in python3.10.0b4
2021-07-20 00:39:43 +09:00
Takeshi KOMIYA
0565da6512 Fix testcases that failed in python3.10.0b4 2021-07-20 00:25:32 +09:00
James
451811c40c Respond to feedback 2021-07-18 10:55:38 +01:00
Takeshi KOMIYA
a35b009adc Fix #9435: linkcheck: Failed to check anchors in github.com
The approach of `rewrite_github_anchor` makes some anchors valid.  But
it also makes other kind of anchors invalid.  This disables the handler
to make them valid again (while 4.1.x release).
2021-07-18 13:03:57 +09:00
Takeshi KOMIYA
38d80c3d0f Close #9445: autodoc: Support class properties
Since python 3.9, `classmethod` starts to support creating a "class
property".  This supports to generate document for it.
2021-07-17 16:39:50 +09:00
Takeshi KOMIYA
120525563c Cloase #9445: :py:property: directive now supports :classmethod: option
Since python 3.9, `classmethod` starts to support creating a "class
property".  This allows to describe it.
2021-07-17 14:24:31 +09:00
Karolina Surma
42d9d11247 Fix testcase: Enum changes were reverted in Python 3.10 2021-07-14 08:40:03 +02:00
Simon Hausmann
3a50abc5c9 Fix handling of local paths in html_logo/html_favicon directorives in conf.py
Merge request #9381 broke support for local logos/favicons as it
retained the paths that are passed to the template engine. That's wrong
as the actual path will be in _static/.

This should fix #9438
2021-07-13 18:03:36 +02:00
Martin Liska
1227799abf texinfo: fix emission of @footnote directives.
Right now, labels are emitted as part of a @footnote directive.
That results in e.g.

Note1: (@footnote{@w{(1)}
Future versions of GCC may zero-extend...
})

which is incorrect and should be rather:

Note1: (@footnote{Future versions of GCC may zero-extend...})
2021-07-12 09:20:43 +02:00
Takeshi KOMIYA
4a2f5df9ba Merge branch '9299' into 4.x 2021-07-11 19:33:47 +09:00
Takeshi KOMIYA
e6d3adf5d9 intersphinx: Add testcase for case insensitive term match (refs: #9299) 2021-07-11 19:33:38 +09:00
Takeshi KOMIYA
f40c2837dc
Merge pull request #9225 from doerwalter/typehint-html
Add HTML markup to method/function return typehint
2021-07-11 12:03:40 +09:00
Takeshi KOMIYA
866719f48f Merge branch '4.x' into 9427 2021-07-11 02:12:32 +09:00
Takeshi KOMIYA
dd89c3689e py domain: Add testcase for empty callable (refs: #9427) 2021-07-11 02:12:23 +09:00
Takeshi KOMIYA
8c62099456
Merge pull request #9415 from tk0miya/9362_AttributeError_for_subclass_of_empty_tuple
Fix #9362: autodoc: AttributeError is raised for a subclass of Tuple[()]
2021-07-09 02:55:29 +09:00
Eisuke Kawashima
652ebf1bf5
Fix typo 2021-07-08 08:16:22 +09:00
Takeshi KOMIYA
007dee7590 Fix #9362: autodoc: AttributeError is raised for a subclass of Tuple[()] 2021-07-07 09:13:44 +09:00
Takeshi KOMIYA
5e5bca98f7
Merge branch '4.x' into 6525_linkcheck_warn_redirects 2021-07-07 02:09:50 +09:00
Takeshi KOMIYA
00d28e1e98 Merge branch '9320' into 4.x 2021-07-07 02:06:36 +09:00
Takeshi KOMIYA
c2e4820ba3 Fix a flake8 violation 2021-07-07 02:06:30 +09:00
Takeshi KOMIYA
7bd4603d85
Merge pull request #9358 from jonels-msft/menu-headings
Provide more semantic structure for screen-readers
2021-07-07 01:58:18 +09:00
David A. Ham
c218cf2192
Merge branch 'sphinx-doc:4.x' into container-latex 2021-07-04 20:24:49 +01:00
David Ham
52aac40148 Update tests to match code changes. 2021-07-04 20:15:56 +01:00
Takeshi KOMIYA
25e1221d1f
Merge branch '4.x' into humitos/add-html-assets-in-all-pages 2021-07-04 12:53:08 +09:00
Takeshi KOMIYA
54c6c666c1
Merge pull request #9386 from tk0miya/9384_autodoc_typehints_supports_attributes
Fix #9384: autodoc_typehints='none' supports typehints for attributes
2021-07-04 11:24:04 +09:00
Takeshi KOMIYA
bc616d3b1a
Merge pull request #9367 from tk0miya/9364_single_element_tuple
Fix #9364: autodoc: 1-element tuple on the defarg is wrongly rendered
2021-06-30 21:26:57 +09:00
Takeshi KOMIYA
ec351bdf3d Merge branch '4.0.x' into 4.x 2021-06-30 21:24:06 +09:00
Takeshi KOMIYA
83f60d4045
Merge pull request #9381 from tronical/logo-url-fix
Fix support for html logo and favicon as url
2021-06-30 21:22:29 +09:00
Takeshi KOMIYA
2aef00d7bd Fix #9384: autodoc_typehints='none' supports typehints for attributes 2021-06-29 21:57:26 +09:00
Jakob Lykke Andersen
358efdd8f3 C++, fix name mangling of literals with digit seps 2021-06-28 19:30:59 +02:00
Simon Hausmann
6a4c215cf0 Add unit test for remote logo and fav icon 2021-06-28 13:28:29 +02:00
Jakob Lykke Andersen
450d5caa37 C++, support constrains in placeholders 2021-06-24 22:32:23 +02:00
Jakob Lykke Andersen
7bc2e052c5 C++, C, support digit separators in literals 2021-06-24 21:12:26 +02:00
Jakob Lykke Andersen
799c53aa11 C++, support explicit(<expr>) specifier 2021-06-24 20:26:22 +02:00
Jakob Lykke Andersen
d5da6fdf50 C++, support char8_t 2021-06-24 19:45:44 +02:00
Jakob Lykke Andersen
b94a60dc89 C++, support consteval and constinit 2021-06-24 19:39:15 +02:00
Jakob Lykke Andersen
57237dbb07 C++, support inline variables 2021-06-24 19:15:54 +02:00
Joe Nelson
e6ae41ed52 Include "role" attribute in expected HTML fragment 2021-06-21 17:08:24 -05:00
Takeshi KOMIYA
b9158b96d2 Fix #9364: autodoc: 1-element tuple on the defarg is wrongly rendered 2021-06-21 02:43:55 +09:00
Jakob Lykke Andersen
50f5280603 C, keyword changes
- Add new keywords from C23.
- Add c_extra_keywords as confval.
- Move macro names from keywords to c_extra_keywords.

Fixes sphinx-doc/sphinx#9354
2021-06-17 08:29:39 +02:00
Martin Liska
b23eefa03b Fix :samp:{var} in manual pages.
When a samp begins with a variable part, it is not unwrapped for manual
pages.

Fixes #1860.
2021-06-16 09:30:08 +02:00
Manuel Kaufmann
f312792023
Merge branch '4.x' into humitos/add-html-assets-in-all-pages 2021-06-14 17:04:09 +02:00
Manuel Kaufmann
c818a70528 Rename variable to html_assets_policy 2021-06-14 16:50:26 +02:00
Walter Doerwald
9aedeee538 Remove configuration option html_signaturereturn_icon. 2021-06-14 14:02:19 +02:00
Raymond Sun
9ff1697939 Make test more readable 2021-06-14 16:15:50 +10:00
Raymond Sun
6a9cc9e5ea Fix flake8 errors 2021-06-14 16:15:50 +10:00
Raymond Sun
c9aefa4a26 Readd prompt with new validator 2021-06-14 16:15:33 +10:00
Takeshi KOMIYA
7e71b759d7
Merge branch '4.x' into 4.0.x 2021-06-13 17:20:01 +09:00
Raymond Sun
81049deed6 Make quickstart just exit without reprompting 2021-06-12 00:07:34 +10:00
Raymond Sun
864a0b377d Add test 2021-06-11 23:06:03 +10:00
Justin Mathews
cf8f5fce37 delete redundant test content 2021-06-10 11:46:17 -04:00
Justin Mathews
36c662eca5
positive test assertion
Co-authored-by: François Freitag <mail@franek.fr>
2021-06-10 11:43:14 -04:00
Justin Mathews
9b2a1e20e2
explicitly close the connection
Co-authored-by: François Freitag <mail@franek.fr>
2021-06-10 11:42:36 -04:00
Justin Mathews
134a8d8f54
reuse existing test link
Co-authored-by: François Freitag <mail@franek.fr>
2021-06-10 11:41:47 -04:00
Justin Mathews
a4621fb73e
test with http
Co-authored-by: François Freitag <mail@franek.fr>
2021-06-10 11:41:11 -04:00
Justin Mathews
db9adaceaf Trigger the bad web server behaviour with the http_server context manager instead of relying on an external website. 2021-06-09 23:40:40 -04:00
Justin Mathews
11b4345ff5 Resolves bug #9306 2021-06-07 17:53:42 -04:00
Justin Mathews
57c866caf1 catch ConnectionError on HEAD 2021-06-07 17:53:36 -04:00
Justin Mathews
84d4a5b97a failing test for linkcheck of US Patent page 2021-06-07 17:53:32 -04:00
Jakob Lykke Andersen
98f827ceee Refactor C++ tests 2021-06-03 20:01:21 +02:00
Jakob Lykke Andersen
ef68bd4220 Refactor C tests 2021-06-03 19:35:14 +02:00
Jakob Lykke Andersen
92c5ee07be
Merge pull request #9155 from jakobandersen/field_roles
Call roles in typed fields
2021-06-03 19:28:19 +02:00
Takeshi KOMIYA
1418e3acbb
Merge pull request #9260 from tk0miya/9016_linkcheck_github_anchors
Close #9016: linkcheck builder failed to check the anchors of github.com
2021-06-04 01:18:22 +09:00
Jakob Lykke Andersen
783314d54d Field roles, add C++ test 2021-06-03 16:52:38 +02:00
Jakob Lykke Andersen
27d40519c1 Field roles, add C test 2021-06-03 16:42:57 +02:00
Takeshi KOMIYA
69cbf7aa92
Merge pull request #9285 from tk0miya/9283_autodoc_attribute_not_having_comment
Fix #9283: autodoc: failed to build doc for attribute not commented
2021-06-03 21:47:58 +09:00
Takeshi KOMIYA
90470b094e Close #9268: python_use_unqualified_type_names supports type field 2021-06-03 00:09:16 +09:00
Takeshi KOMIYA
92335bd6e6 Close #9016: linkcheck builder failed to check the anchors of github.com 2021-06-01 00:31:15 +09:00
Takeshi KOMIYA
988a79de65 linkcheck: Emit a warning for disallowed redirects
Now linkcheck builder integrates `linkcheck_warn_redirects` into
`linkcheck_allowed_redirects`.  As a result, linkcheck builder will
emit a warning when "disallowed" redirection detected via
`linkcheck_allowed_redirects`.
2021-05-31 21:53:09 +09:00
Takeshi KOMIYA
676834b998
Merge branch '4.x' into 6525_linkcheck_warn_redirects 2021-05-31 02:54:41 +09:00
Takeshi KOMIYA
5c275191b6
Merge pull request #9282 from tk0miya/9280_exceptions
Fix #9280: py domain: "exceptions" module is not displayed
2021-05-30 22:09:34 +09:00
Takeshi KOMIYA
9a9433e403 Fix #9283: autodoc: failed to build doc for attribute not commented
Autoattribute directive should check the existence of instance attribute
that is defined inside __init__() but not having comments before
accessing it.
2021-05-30 19:48:11 +09:00
Takeshi KOMIYA
201f61f722 Fix #9280: py domain: "exceptions" module is not displayed
Since v0.2, python domain gives a special treatment for the exceptions
module to suppress its name on documenting exception classes.  It had
been worthy on python2 era.  But the module has been removed since
python3.  Therefore, the special treatment becomes harmful for user
libraries.  This removes it to render module names correctly.

Note: Now we've only supported python3.  So this is not incompatible.
2021-05-30 03:46:55 +09:00
Takeshi KOMIYA
31ec519d38 Close #9272: autodoc: Render enum values for the default argument value better 2021-05-30 02:15:28 +09:00
Takeshi KOMIYA
830b3fbe2b
Merge pull request #9261 from tk0miya/9250_inherited_docstring
Fix #9250: autodoc: The inherited method not having docstring is wrongly parsed
2021-05-24 01:24:23 +09:00
Walter Doerwald
798adc4f57 Add tests for html_signaturereturn_icon. 2021-05-22 20:15:11 +02:00
Takeshi KOMIYA
2ddc1d0681
Merge pull request #9258 from tk0miya/1874_piped_types_in_info-field-list
Close #1874: py domain: Support union types using `|` in info-field-list
2021-05-23 00:42:56 +09:00
Takeshi KOMIYA
0fb8e33f32 Fix #9250: autodoc: The inherited method not having docstring is wrongly parsed
`sphinx.util.inspect.getdoc()` clean the docstring up if the method is
inherited and not having docstring.  That causes indentations are
removed on processing it.
2021-05-23 00:39:05 +09:00
Takeshi KOMIYA
5a8dec457a refactor: reduce calls of find_pending_xref_conditions (refs: #9240)
After #9246, `find_pending_xref_conditions()` should be only called from
intended modules.  At present, the Python Domain is the only module to
call it intendedly.  Therefore, this removes the needless calls of the
utility function from "unintended" modules.
2021-05-22 15:34:30 +09:00
Takeshi KOMIYA
a1b0e55548 Close #1874: py domain: Support union types using | in info-field-list 2021-05-22 01:55:43 +09:00
Takeshi KOMIYA
4201a84b35 Add testcase for combination of allow_redirects and warn_redirects 2021-05-21 02:04:01 +09:00
Takeshi KOMIYA
ce9e2e6c74 Rename linkcheck_ignore_redirects to linkcheck_allowed_redirects 2021-05-20 23:26:16 +09:00
Takeshi KOMIYA
9a132b4f81
Merge branch '4.x' into 9224_type_containing_whitespace 2021-05-19 23:04:48 +09:00
Takeshi KOMIYA
567ff22716
Merge pull request #9231 from tk0miya/9217_manpage_section_directory
Fix #9217: manpage: Dirname of man_make_section_directory is wrong
2021-05-19 23:00:03 +09:00
Takeshi KOMIYA
549f09e048
Merge pull request #9239 from igo95862/https-links
Upgrade URLs to use HTTPS
2021-05-19 22:59:19 +09:00
Takeshi KOMIYA
8049cd6925 Merge branch '4.0.x' into 4.x 2021-05-19 22:48:26 +09:00
Takeshi KOMIYA
2d3d668856 Fix #9240: Unknown node error for pending_xref_condition is raised
Unknown node error for pending_xref_condition is raised if an extension
that does not support the node installs a missing-reference handler.
2021-05-18 01:55:36 +09:00
Takeshi KOMIYA
79d9701a00 Fix #9217: manpage: Dirname of man_make_section_directory is wrong
* Correct: man/man1
* Wrong:   man/1
2021-05-17 23:18:24 +09:00
Takeshi KOMIYA
d6c19126c5 Merge branch '4.0.x' into 4.x 2021-05-17 23:16:27 +09:00
Takeshi KOMIYA
b19dc365fe
Merge pull request #9233 from tk0miya/3014_autodoc-process-bases
Close #3014: autodoc: Add autodoc-process-bases
2021-05-17 22:50:56 +09:00
Takeshi KOMIYA
bc7087a1a2
Merge branch '4.x' into 3014_autodoc-process-bases 2021-05-17 22:40:27 +09:00
Takeshi KOMIYA
e5f6c77263 refactor: Do config file existence check in Config.read() 2021-05-16 23:48:42 +09:00
igo95862
e67c9e5df1
doc: Upgrade docutils.sourceforge.io links to HTTPS
Also change any docutils.sourceforge.net link to io
top level domain.
2021-05-16 15:53:49 +03:00
Takeshi KOMIYA
630e5bd15f manpage: Stop creating a section directory on build manpage by default 2021-05-16 17:06:58 +09:00
Takeshi KOMIYA
8d87dde43b
Merge pull request #9232 from tk0miya/9217_dont_make_section_directory
manpage: Stop creating a section directory on build manpage by default
2021-05-16 17:02:41 +09:00
Takeshi KOMIYA
d048025238
Merge branch '4.x' into 9218_doccomment_for_aliased_class 2021-05-16 13:57:24 +09:00
David Ham
180c3c92a4 Test for LaTeX container output. 2021-05-15 21:53:36 +01:00
Takeshi KOMIYA
707319aab2 Close #6525: linkcheck: Add linkcheck_ignore_redirects
Add a new confval; linkcheck_ignore_redirects to ignore hyperlinks
that are redirected as expected.
2021-05-16 02:48:03 +09:00
Takeshi KOMIYA
05eb2ca06f Close #6525: linkcheck: Add linkcheck_warn_redirects
Add a new confval; `linkcheck_warn_redirects` to emit a warning when
the hyperlink is redirected.  It's useful to detect unexpected redirects
under the warn-is-error mode.
2021-05-16 02:29:03 +09:00
Takeshi KOMIYA
51ae283a38 Close #4257: autodoc: Add autodoc_class_signature
Add `autodoc_class_signature` to separate the class entry and the
definition of `__init__()` method.
2021-05-16 01:53:48 +09:00
Takeshi KOMIYA
67db20d705 Close #3014: autodoc: Add autodoc-process-bases
Add `autodoc-process-bases` to modify the base classes of the class
definitions.  This allows the extensions to insert or modify the list
of the base classes via event-handlers.
2021-05-16 00:46:06 +09:00
Takeshi KOMIYA
fa8117cd2f manpage: Stop creating a section directory on build manpage by default 2021-05-15 22:23:40 +09:00
Takeshi KOMIYA
d9be8f6d4e Fix #9224: info-field-list does not support a type containing space
So far, DocFieldTransformer has split the field name for `:type:`
and `:param:` at the first whitespace.  Therefore, it does not allow
to use a type containing whitespace (ex. `Dict[str, str]`).

This changes the splitting logic to divide the field name at the last
whitespace (a.k.a `rstrip()`).  It allows to use whitespaces on types.
2021-05-15 20:31:09 +09:00
Takeshi KOMIYA
4ceedc102d Close #8061, #9218: autodoc: Support variable comment for alias classes 2021-05-15 16:31:40 +09:00
Takeshi KOMIYA
a8c63f7511 Fix #9222: Update Underscore.js to 1.13.1
underscore.js 1.12.0 has a security announcement (CVE-2021-23358) for
arbitrary code execution.  So it should be upgraded to the latest
version.
2021-05-13 02:11:17 +09:00
Takeshi KOMIYA
1513d50774 Merge branch '4.0.x' into 4.x 2021-05-13 01:51:57 +09:00
Takeshi KOMIYA
d18840b38d Fix test: the result of stringify_signature() has been changed randomly in py36 2021-05-13 01:40:45 +09:00
Takeshi KOMIYA
c341807991
Merge pull request #9185 from AWhetter/autodoc_typehints_both
autodoc.typehints can accurately represent overloads
2021-05-12 00:23:58 +09:00
Takeshi KOMIYA
86091934db Fix #9195: autodoc: The args of typing.Literal are wrongly rendered
They should be rendered as "repr" form.
2021-05-11 22:39:30 +09:00
Takeshi KOMIYA
71e732014f Merge branch '4.0.x' into 4.x 2021-05-11 02:35:15 +09:00
Takeshi KOMIYA
4ab0dba755 Fix #9205: py domain: canonical option causes xref resolution error
The :canonical: option causes "more than one target for
cross-reference" warning because the class having the same name is
registered.
2021-05-11 01:15:14 +09:00
Ashley Whetter
28d3f8136e autodoc.typehints can accurately represent overloads 2021-05-08 21:34:25 -07:00
Takeshi KOMIYA
d69c35b1a4 Fix #9175: autodoc: Special member is not documented in the module
The special members are not treated as "attributes".  So they're not
handled by DataDocumenter.  This moves the detection to the earlier
step of filter_members().
2021-05-08 17:33:33 +09:00
Manuel Kaufmann
d01e776c81 Add Sphinx.add_html_assets_in_all_pages
This new method in the `Sphinx` object allows extensions to communicate to
Sphinx that it's preferred to include HTML assets in all the pages. However,
it's extensions developers' responsability to follow this config and decide
whether or not include the assets required.

Extensions developers' can check `Sphinx.html_assets_in_all_pages` together with
any other logic they may have to decide if the assets will be included in the
rendered page or not.

Closes #9115
2021-05-06 15:21:12 +02:00
Takeshi KOMIYA
d82c8a7890
Merge pull request #9131 from RuRo/feature/glob-nitpick-ignore
Ignore nitpick warnings with regular expressions using `nitpick_ignore_regex`
2021-05-05 23:43:46 +09:00
Takeshi KOMIYA
1f860cb77e
Merge pull request #9146 from pbudzyns/autosummary-iattr-include
Autosummary to include instance attributes
2021-05-05 22:27:28 +09:00
Takeshi KOMIYA
77da494173
Merge pull request #9153 from tk0miya/9082_python3.10.0a7
Revert "test: Disable testing with python3.10"
2021-05-05 22:22:30 +09:00
Takeshi KOMIYA
531a5ae9ef test: Adjust type annotataions in python 3.10.0b1 2021-05-05 22:11:41 +09:00
Takeshi KOMIYA
f31af4b815 Merge branch '4.0.x' into 4.x 2021-05-03 22:31:51 +09:00
Takeshi KOMIYA
110fe1797c
Merge pull request #9159 from tk0miya/8588_nested_autodoc_type_aliases
Fix #8588: autodoc_type_aliases does not support dotted name
2021-05-03 22:30:01 +09:00
Takeshi KOMIYA
30efa3d947
Merge branch '4.x' into 8597_metadata_only_docstring 2021-05-03 22:11:10 +09:00
Takeshi KOMIYA
caa6579dbd Fix #8872: autodoc: stacked singledispatches are wrongly rendered
When multiple singledispatch decorators are stacked, the first typehints
are copied to the subsequent definitions unexpectedly.

Now autodoc generates a dummy function not to affect typehints to
subsequent functions.
2021-05-03 21:51:19 +09:00
Takeshi KOMIYA
8d54010675 Fix test: deprecation warning for extlinks 2021-05-03 18:52:19 +09:00
Takeshi KOMIYA
28ab5f233c Close #8588: autodoc: autodoc_type_aliases supports dotted name
It allows users to define an alias for a class with module name
like `foo.bar.BazClass`.
2021-05-03 18:47:47 +09:00
Takeshi KOMIYA
469def56b6 Fix #8597: autodoc: metadata only docstring is treated as undocumented
The metadata in docstring is invisible content. Therefore docstring
having only metadata should be treated as undocumented.
2021-05-02 23:17:58 +09:00
ruro
afa80dfe03
add tests for nitpick_ignore_regex 2021-05-02 14:54:00 +03:00
ruro
0aea6d318c
add tests for regular nitpick_ignore 2021-05-02 14:53:46 +03:00
ruro
bf2e69ad13
add nitpicky-warnings test root 2021-05-02 14:53:01 +03:00
Takeshi KOMIYA
d8a9f243e2 Close #8107: autodoc: Add class-doc-from option to autoclass directive
Add `class-doc-from` option to the `autoclass` directive to control
the content of the specific class.  It takes `class`, `init`, and `both`
like `autoclass_content`.
2021-05-01 14:53:06 +09:00
Pawel Budzynski
f12f5bc075 add tests 2021-04-29 14:48:56 +02:00
Takeshi KOMIYA
af6e63ab70 Merge branch '4.0.x' into 4.x 2021-04-29 15:06:16 +09:00
Takeshi KOMIYA
d8fa067583 Add doc and testcase for program directive (refs: #9137)
There is no docs and testcases for "None" argument of the program
directive.  It has been implemented since very old version.  But it's
not documented and tested long.
2021-04-28 02:16:57 +09:00
Takeshi KOMIYA
4582d5a396 refactor: Add testcase for mathjax3_config (refs: #9094) 2021-04-25 22:22:13 +09:00
Takeshi KOMIYA
d02a466cb5 Fix #9121: py domain: duplicated warning for canonical and alias
A duplicated warning is emitted when both canonical and its alias
objects are defined on the same document. But it should not be emitted
because they're the same object, not conflicted.
2021-04-23 01:19:18 +09:00
Takeshi KOMIYA
58ec5c4089 Fix #9110: autodoc: metadata of GenericAlias is not rendered as a reference in py37+
GenericAliasMixin should use `restify()` to render the metadata of
GenericAlias as py36 does.
2021-04-19 01:11:08 +09:00
Takeshi KOMIYA
e0ce61d533
Merge branch '4.0.x' into 9103_imgconverter_unexpected_conversion 2021-04-18 15:08:51 +09:00
Takeshi KOMIYA
c2c2b81f91 Fix #8818: autodoc: Super class having `Any` arguments causes nit-picky warning
On generating the base class information, unexpected nit-picky warning
for ``typing.Any`` was emitted.  This fixes it by using `~` prefix on
generating a cross-reference to make it valid.
2021-04-18 00:25:48 +09:00
Takeshi KOMIYA
5f56d4146e Fix #9103: LaTeX: imgconverter: conversion runs even if not needed
The imgconverter unexpectedly goes to convert even if the given image
is supported by the target builder when the image globbing is not used.
This enables format guess-ing on not globbed.
2021-04-17 16:51:19 +09:00
Takeshi KOMIYA
c7b169c5a9 Fix #8127: py domain: Ellipsis in info-field-list causes nit-picky warning
On parsing the types, the leading dot of the ellipsis (...) is considered
as a reference name.  And its first dot is considered as a notation for
relative type reference (ex. ".ClassName"). As a result, it was converted
double dots unexpectedly.

This changes the parsing rule to treat the ellipsis as a symbol, not a
name.
2021-04-17 02:06:57 +09:00
Jakob Lykke Andersen
7126503eeb Decl styling, update writers
Add test objects so all builders gets exposed to the new nodes.
Make the fallback node post-transform change desc_inline as well.
Make the html4, latex, and text writers handle desc_inline.
2021-04-12 19:07:51 +02:00
Jakob Lykke Andersen
f769dde254 Decl styling, fix html test 2021-04-12 19:07:51 +02:00
Jakob Lykke Andersen
87414faa92 Decl styling, fix cpp tests 2021-04-12 19:07:51 +02:00
Jakob Lykke Andersen
14f7d243bd Decl styling, more nodes and C++ conversion 2021-04-12 19:05:58 +02:00
Takeshi KOMIYA
ce5d66e618
Merge pull request #9053 from tk0miya/title_node_for_toctree_caption
Fix #8870: Use title node for the caption of toctree
2021-04-09 01:35:46 +09:00
Takeshi KOMIYA
5604f9c420 Fix #8870: Use title node for the caption of toctree
Since docutils-0.17, the caption node should not use for the non-figure
nodes.  Therefore, this replaces it by the title node.
2021-04-09 01:02:29 +09:00
Takeshi KOMIYA
70ea4381ca
Merge pull request #8841 from AWhetter/autodoc_signatures_without_backslash
Overloaded function signatures do not require a separating backslash
2021-04-04 18:02:01 +09:00
Takeshi KOMIYA
8d60b04844 Fix CI: NameError for missing docutils variable in test_build_html 2021-04-04 00:28:08 +09:00
Takeshi KOMIYA
41a377fee5 Merge branch '3.x' 2021-04-04 00:06:45 +09:00
Takeshi KOMIYA
a6d9b24a3b test: Update testcase for docutils-0.17 (toctree caption)
Since v0.17, docutils starts to use <figcaption> for caption on HTML
output.  This modifies the expected value of our testcases to support
it.
2021-04-03 23:54:19 +09:00
Takeshi KOMIYA
84b9d49826 test: Update testcase for docutils-0.17 (<section>)
Since v0.17, docutils starts to use <section> for section on HTML
output.  This modifies the expected value of our testcases to support
it.
2021-04-03 23:54:19 +09:00
Takeshi KOMIYA
6e438af6c0 test: Update testcase for docutils-0.17 (empty language)
Since v0.17, docutils starts to load language module on parsing reST
document using StateMachine directly.  So far, our testcase uses invalid
language code for testing autosummary.  This fixes it to work with new
docutils.
2021-04-03 23:54:19 +09:00
Takeshi KOMIYA
c2ee74f166 test: Update testcase for docutils-0.17 (<figure> and <figcaption>)
Since v0.17, docutils starts to use <figure> and <figcaption> for figure
and its caption on HTML output.  This modifies the expected value of our
testcases to support it.
2021-04-03 23:54:19 +09:00
Takeshi KOMIYA
ddb6e9c61c
Merge pull request #8539 from godlygeek/description_typehints_for_classes
Make autodoc_typehints="description" work with autoclass_content="class"
2021-04-03 23:28:08 +09:00
Takeshi KOMIYA
bdbabb14c2 Merge branch '3.x' 2021-04-03 13:22:21 +09:00
Takeshi KOMIYA
ec4d410c48 Fix testcase: the signature of Enum class has been changed since HEAD of 3.10 2021-04-03 13:08:31 +09:00
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
Ashley Whetter
94b5607591 Overloaded function signatures do not require a separating backslash 2021-03-27 10:25:20 -07: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
pbudzyns
fd6587d5e9 rebase and fix tests 2021-02-01 10:58:09 +01:00
pbudzyns
270921d73a Merge remote-tracking branch 'upstream/3.x' into exclude-members-fix 2021-02-01 10:46:44 +01:00
pbudzyns
8d380cadc7 check if autodoc_defaults are str, fix tests 2021-02-01 09:46:19 +01:00
Takeshi KOMIYA
af6ed52ca1
Merge branch '3.x' into 8446_escape_spaces_inside_desc_signatures 2021-02-01 01:24:02 +09:00
Takeshi KOMIYA
7318d1dfd4 autodoc: Support type union operator (PEP-604) (refs: #8775)
Upgrade autodoc to support type union operator introduced in
PEP-604. It's available only with python 3.10+.
2021-01-31 23:38:36 +09:00
jfbu
e77378da1c Merge branch '3.x' 2021-01-30 21:18:00 +01:00
jfbu
5b6a273825 Let latex writer line trimming from depart_entry() work as before #8781
This is cosmetic as the blank line starting varwidth environment used
for merged table cells in latex output changed nothing to PDF.

Nevertheless I extended a unit test to have a multi-paragraph merged
cell using varwidth. What is important is that \sphinxAtStartPar line
itself is never followed by blank line.
2021-01-30 10:26:42 +01:00
Takeshi KOMIYA
339ce2f894 Merge branch '3.x' 2021-01-30 11:49:08 +09:00
Jean-François B
879bf54a05
Merge pull request #8781 from jfbu/latex_hyphenation_of_first_word
Fix #8780: long words in narrow columns may not be hyphenated
2021-01-29 20:57:54 +01:00
jfbu
d6e11b89e9 Fix suppression of needed whiteline, encapsulate into \sphinxAtStartPar
Define it to do nothing with lualatex engine
2021-01-29 10:40:50 +01:00
jfbu
185a2d27fe Fix #8780: long words in narrow columns may not be hyphenated
This is done by adding '\hskip0pt\relax\n' whenever a paragraph starts.
2021-01-29 00:24:44 +01:00
Takeshi KOMIYA
57126d9ee2
Merge pull request #8773 from francoisfreitag/app-build
Linkcheck: Use app.build() to trigger the test build
2021-01-28 23:28:31 +09:00
François Freitag
c7eb7cd127
Linkcheck: Use app.build() to trigger the test build
Instead of using application members to access the builder and trigger a
build, use the main app interface.
It ensures the builder setup is realistic, builder cleanups are executed
and the build-finished events are emitted.
2021-01-27 18:55:36 +01:00
Takeshi KOMIYA
c9480f9943 Merge branch '3.x' 2021-01-28 00:56:46 +09:00
Takeshi KOMIYA
241577f65e Merge branch '8137_urldecode' into 3.x 2021-01-26 02:11:13 +09:00
Takeshi KOMIYA
84dc65ad51 html: html_codeblock_linenos_style defaults to 'inline' (refs: #7849)
As discussed in #7879, the default style of line numbers for code
blocks in HTML output becames 'inline' by default.  And 'table' style
is now deprecated and will be removed in Sphinx-6.0.
2021-01-26 01:42:17 +09:00
pbudzyns
ac5079ed85 redundant '+' has no effect 2021-01-25 16:07:18 +01:00
pbudzyns
381e30c23b add more extendable options and tests 2021-01-25 13:24:01 +01:00
pbudzyns
7348ba8d60 add more extendable options and tests 2021-01-25 13:15:13 +01:00
pbudzyns
0a85b4148e add more extendable options and tests 2021-01-25 12:54:08 +01:00
Takeshi KOMIYA
8203642c41
Merge pull request #8752 from tk0miya/1638_permalinks_for_glossary_terms
Close #1638: html: Add permalink icons to glossary terms
2021-01-25 20:35:44 +09:00
Takeshi KOMIYA
16a8a17779
Merge pull request #8747 from tk0miya/8134_args_for_mock_decorator
Fix #8134: autodoc: crashes when mocked decorator takes arguments
2021-01-25 20:33:40 +09:00
Takeshi KOMIYA
949ec8737f Close #1638: html: Add permalink icons to glossary terms 2021-01-24 23:35:37 +09:00
Takeshi KOMIYA
502c4ee5fb Merge branch '3.x' 2021-01-24 14:32:13 +09:00
Takeshi KOMIYA
a78c6b799f Fix #8134: autodoc: crashes when mocked decorator takes arguments
autodoc crashed when a decorator in mocked module takes arguments
because mock system returns the first argument for the decorator as a
decorated object.

This changes the approach for mocking decorators that remembers
arguments for each decoration, and fetch the latest argument on
generating document.
2021-01-24 14:18:00 +09:00
Takeshi KOMIYA
15cbc6dbb0 Close #6550: html: Allow to use HTML permalink texts
Add new configuration variables: `html_permalinks` and
`html_permalinks_icon`.

This refines the settings around HTML permalinks.

* html_add_permalinks
  * Deprecated.
* html_permalinks
  * Enable or disable permalinks feature.
* html_permalinks_icon
  * Change the icon for permalinks
2021-01-24 14:17:07 +09:00
Takeshi KOMIYA
97f54bdf31
Merge pull request #8733 from tk0miya/update_underscore.js-1.12.0
Update Underscore.js to 1.12.0
2021-01-24 14:07:16 +09:00
Takeshi KOMIYA
deda1918fc
Merge pull request #8731 from tk0miya/8004_preprocess_types_for_google
Fix #8004: napoleon_preprocess_types for Google style docstrings
2021-01-24 13:59:21 +09:00
Takeshi KOMIYA
2522b61185
Merge pull request #8729 from tk0miya/8727_namespace_subpackage
Fix #8727: apidoc: namespace module file is not generated if no submodules
2021-01-24 13:58:33 +09:00
jfbu
2e22bd0a23 Merge branch 'master' into latex_font_for_pdflatex 2021-01-23 09:13:08 +01:00
Takeshi KOMIYA
af0dfa20d0
Merge pull request #8247 from silene/inter_prodlist_refs
Allow production lists to refer to tokens from other production groups.
2021-01-23 17:07:52 +09:00
Guillaume Melquiond
ffacb2ca18 Add testcase. 2021-01-23 08:57:36 +01:00
Takeshi KOMIYA
1b4265da4d Update Underscore.js to 1.12.0 2021-01-23 16:41:59 +09:00
Takeshi KOMIYA
440e64a91b Fix #8004: napoleon_preprocess_types for Google style docstrings
Type definitions in Google style docstrings are rendered as references
when :confval:`napoleon_preprocess_types` enabled.
2021-01-23 14:20:19 +09:00
Takeshi KOMIYA
650f8ea237 Fix #8727: apidoc: namespace module file is not generated if no submodules
sphinx-apidoc should generate a namespace module file when
`--implicit-namespace` option given.  This fixes the case the namespace
module has subpackages, but no submodules.
2021-01-23 00:40:16 +09:00
Takeshi KOMIYA
5ce72f465b Merge branch '3.x' 2021-01-22 22:52:32 +09:00
Takeshi KOMIYA
a71028bf9e
Merge pull request #8719 from tk0miya/8714_kbd_capslock
Fix #8714: html: kbd role with "Caps Lock" rendered incorrectly
2021-01-22 22:07:06 +09:00
Takeshi KOMIYA
d6f41227d7 Fix #8714: html: kbd role with "Caps Lock" rendered incorrectly
`:kbd:` role has to support keys in consist of multiple words (ex. caps
lock, num lock, etc.)
2021-01-22 21:58:19 +09:00
Takeshi KOMIYA
5260143afe Fix #8704: viewcode: anchors are generated in incremental build
The anchors for viewcode was generated in the reading phase only if
supported builder is used.  It causes anchors are missing on the
incremental build after the build for non supported builder.

This introduces `viewcode_anchor` node to insert the anchor even if non
supported builders.  They will be converted to the anchor tag in the
resolving phase for supported builders.  Or, they will be removed for
non supported builders.
2021-01-22 21:41:42 +09:00
Takeshi KOMIYA
d5d072bc3a Merge branch '3.4.x' into 3.x 2021-01-22 21:40:27 +09:00
Takeshi KOMIYA
b2bb12ad91 Fix #8720: viewcode: module pages are generated for epub on incremental build
The module pages should be generated for epub only if enabled via
configuration.  But they are generated after the build for other
viewcode-supported builders.  This checks the current builder on
generating module pages.
2021-01-22 00:51:21 +09:00
jfbu
99a8b7f37f LaTeX: update default font configuration
This replaces times package with tgtermes and tgheros (clones of Times and
Helvetica with better LaTeX support) and the monospace font from txfonts
package (txtt). This font is better matched with Times-like fonts than
Courier clones.

The changes applies to pdflatex/platex/uplatex.

Fixes: #8711
2021-01-20 23:03:08 +01:00
Takeshi KOMIYA
73db152cf6 Close #5560: napoleon_use_param also affect "other parameters" section 2021-01-20 23:21:11 +09:00
Takeshi KOMIYA
cead0f6ddf linkcheck: Fix race condition that could lead to checking the availability of the same URL twice
So far, linkcheck scans all of references and images from documents, and
checks them parallel.  As a result, some URL would be checked twice (or
more) by race condition.

This collects the URL via post-transforms, and removes duplicated URLs
before checking availability.

refs: #4303
2021-01-20 20:58:27 +09:00
Takeshi KOMIYA
ca0677086d
Merge pull request #8658 from SolidifiedRay/feature-custom-section
Close #8573: napoleon: Add more custom section styles
2021-01-19 21:13:13 +09:00
SolidifiedRay
7ad85cd1e0 Close #8573: napoleon: Add more custom section styles 2021-01-18 11:43:40 -08:00
Takeshi KOMIYA
bc56384fb9 Fix #1112: download role creates duplicated copies
`:download:` role creates duplicated copies when the document contains
two or more the role for the same file, but in different form.  It
considers two paths are different when one contains relative path like
`path/to/../file.dat`.

Internally, `env.relfn2path()` does not normalize the given path in
relative form.  As a result, download role can't detect the same paths
are given.  This adds `os.path.normpath()` to `env.relfn2path()` to
normalize the path.
2021-01-19 02:27:20 +09:00
Takeshi KOMIYA
9ced1e355a refactor: test: Do not use deprecated function: execfile_() 2021-01-17 18:39:27 +09:00
Takeshi KOMIYA
d88166e84b Close #8514: autodoc: Default values of overloads are taken from actual implementation
As a well-known idiom, mypy recommends to use ellipsis ("...") for
default argument values as a elided style.  This allows to write the
style and helps to document it with copying the default argument
values from actual implementation.

Note: This does not copy the default argument value when the argument
of overloaded function has its own default value.
2021-01-17 02:32:50 +09:00
Takeshi KOMIYA
425cd1af02 Fix #8693: autodoc: Default values for overloads are rendered as string
The default values for overloaded functions are rendered as string
literal unexpectedly because autodoc extracts code snippets from
the source code, not actual value (ex. int, ellipsis, and so on).

This introduces a simple wrapper class; `DefaultValue` to render these
code snippets like actual values, not string literals.
2021-01-17 02:30:20 +09:00
Takeshi KOMIYA
30f8640bab Merge branch '3.x' 2021-01-16 21:51:46 +09:00
Takeshi KOMIYA
d635d94eeb
Merge pull request #8685 from tk0miya/8683_strftime_z
Fix #8683: html_last_updated_fmt does not support UTC offset (%z)
2021-01-14 01:11:24 +09:00
Takeshi KOMIYA
b742bde8e6
Merge pull request #8684 from tk0miya/2030_automatic_dedent
Fix #2030: automatic dedent support in code-block directive
2021-01-14 01:11:02 +09:00
Takeshi KOMIYA
fddc42847f Fix #2030: automatic dedent support in code-block directive 2021-01-13 01:10:28 +09:00
Takeshi KOMIYA
233e359330
Merge pull request #8679 from tk0miya/8651_xref_for_rubric
Fix #8651: cross-reference for a rubric having inline item is broken
2021-01-13 01:01:36 +09:00
Takeshi KOMIYA
8ff8b5532c Fix #8683: html_last_updated_fmt generates wrong time zone for %Z
sphinx.util.i18n:format_date() converts '%Z' to full name of time zone
unexpectedly.  It should be converted to short name.
2021-01-13 00:50:01 +09:00
Takeshi KOMIYA
d5559e1ba2 Fix #8683: html_last_updated_fmt does not support UTC offset (%z)
sphinx.util.i18n:format_date() does not support %z so far.  This
adds a mapping for %z to the babel form 'ZZZ'.
2021-01-13 00:49:59 +09:00
Jakob Lykke Andersen
f7a1d66359 C++, fix object types for xrefs
Make them all work with intersphinx.
Strengthen templateParam a bit.
2021-01-11 20:51:36 +01:00
Jakob Lykke Andersen
750e6ec431 C, fix object types for xrefs
Add 'identifer' to all and 'type' to types.

Fixes sphinx-doc/sphinx#8341
2021-01-11 20:51:36 +01:00
Takeshi KOMIYA
12ec8f0cae Fix #8651: cross-reference for a rubric having inline item is broken
The implementation of the standard domain so far has considered the
first child of the rubric node is the title of the rubric.  But it can
may multiple nodes when the rubric title is marked up.

This extracts the title of the rubric from the whole of the children
of it.
2021-01-11 22:50:45 +09:00
Takeshi KOMIYA
b372a99c01
Merge pull request #8674 from tk0miya/207_multiple_highlight_options
Close #207: Now highlight_language supports multiple languages
2021-01-11 21:49:29 +09:00
Takeshi KOMIYA
32ac5f2e57 Close #207: Now highlight_language supports multiple languages
This changes the structure of `highlight_options` to a dictionary that
maps language names to option dictionary.  It allows to setting pygments
options for multiple languages at once.
2021-01-11 21:40:09 +09:00
Takeshi KOMIYA
a3df1d00c7 test: Add testcase for relative/short xref for py domain 2021-01-11 03:12:39 +09:00
Jakob Lykke Andersen
8a11f909a7 C, fix namespace lookup for expr role 2021-01-10 12:35:28 +01:00
Takeshi KOMIYA
5460ea103b Merge branch '3.x' 2021-01-08 01:23:17 +09:00
Takeshi KOMIYA
af4e615a8a Close #6241: html: Allow to add JS/CSS files to the specific page
Allow to add JS/CSS files to the specific page when an extension calls
`app.add_js_file()` or `app.add_css_file()` on `html-page-context`
event.
2021-01-07 02:12:07 +09:00
Takeshi KOMIYA
5ba5602d71
Merge pull request #8638 from tk0miya/5977_dont_link_var_field
Close #5977: :var: field do not create a cross-reference …
2021-01-06 01:00:12 +09:00
Takeshi KOMIYA
5b392e3951 refactor: Move CSS tags in basic/layout.html to `css_files` variable
To make CSS customizable, all CSS files in basic/layout.html has their
priority: 200.  Therefore, extensions and users can insert their own
custom CSS files before or just after them.

As a side effect, the CSS tags in basic/layout.html are removed.  These
CSS files will be rendered via `css_files` template variable.

refs: #8634, c5f0398010
2021-01-03 02:41:17 +09:00
Takeshi KOMIYA
a9c7dd7037 Merge branch '3.x' 2021-01-03 00:20:27 +09:00
Takeshi KOMIYA
e9a4ebf70d doc: Add explanation for the priority attribute of html_*_files 2021-01-03 00:16:10 +09:00
Takeshi KOMIYA
c5f0398010 Close #8634: html: Allow to change the order of JS/CSS
`Sphinx.add_js_file()` and `Sphinx.add_css_file()` take `priority`
argument to change the order of JS/CSS files.
2021-01-02 02:06:34 +09:00
Takeshi KOMIYA
918086b559 Close #5977: :var: field do not create a cross-reference
Since its beginning, `:var:` field has created a cross-reference to the
attribute having the same name.  It is meaningful only if the attribute
is documented by `py:attribute` directive.  It means the `:var:` field
and `:attr:` role are almost the same and conflicted.  Additionally,
the cross-reference points incorrect variable if the target is not
documented.

Thus, the cross-reference feature of `:var:` field is disabled.
2021-01-01 22:53:23 +09:00
Takeshi KOMIYA
9cac2001f7 test: py domain: Add a testcase for :var: field 2021-01-01 18:15:42 +09:00
Takeshi KOMIYA
4b452338f9 Merge branch '3.x' 2021-01-01 13:57:19 +09:00
Takeshi KOMIYA
7ecf6b88aa Merge branch '3.4.x' into 3.x 2021-01-01 13:56:19 +09:00
Takeshi KOMIYA
1544097af5 Merge branch '3.x' 2021-01-01 13:55:12 +09:00
Takeshi KOMIYA
f996859420 A happy new year!
.. note::

   $ find sphinx tests LICENSE doc/conf.py -type f -exec sed -i '' -e 's/2007\-20../2007-2021/' {} \;
   $ git co sphinx/locale/**/*.js sphinx/templates/epub3/mimetype
2021-01-01 13:40:48 +09:00
Takeshi KOMIYA
b2c9297bd2
Merge pull request #8627 from tk0miya/8315_struct.Struct
Fix #8315: autodoc: Failed to resolve struct.Struct type annotation
2021-01-01 13:13:11 +09:00
Takeshi KOMIYA
663074e3ce
Merge pull request #8626 from tk0miya/refactor_test_autosummary
refactor: test: Use rollback_sysmodules fixture in test_ext_autosummary
2021-01-01 13:12:35 +09:00
Takeshi KOMIYA
05b67f2a3e
Merge pull request #8633 from tk0miya/merge_3.4.x
Merge 3.4.x to 3.x
2021-01-01 13:11:56 +09:00
Takeshi KOMIYA
9ec65ff039 Merge branch '3.4.x' into merge_3.4.x 2020-12-31 21:33:43 +09:00
Takeshi KOMIYA
2eb8927b89 Fix test: missing compound class for kbd tag 2020-12-31 21:20:38 +09:00
Takeshi KOMIYA
b31b8df9bf
Merge pull request #8620 from tk0miya/8619_compound_kbd
Close #8619: html: kbd role generates customizable HTML tags for compound keys
2020-12-31 21:11:42 +09:00
Takeshi KOMIYA
62a0ee3fef Merge branch '3.x' 2020-12-31 14:33:09 +09:00
Takeshi KOMIYA
f1a051fdfc Fix #8315: autodoc: Failed to resolve struct.Struct type annotation
The builtin module, ``struct.Struct`` does not have correct module
name since Python 3.8.  This allows to refer it automatically.
2020-12-31 14:25:05 +09:00
Takeshi KOMIYA
54e8b8d9bc refactor: test: Use rollback_sysmodules fixture in test_ext_autosummary 2020-12-31 10:55:45 +09:00
Takeshi KOMIYA
e3b1fdeeeb
Merge branch '3.4.x' into 8602_process-docstring_for_nondatadescriptors 2020-12-31 10:13:03 +09:00
Takeshi KOMIYA
6a53c53d53 Fix #8618: html: incorrect HTML for single compound-kdb separators 2020-12-30 21:12:00 +09:00
Takeshi KOMIYA
8e5f4e5616 Close #8619: html: kbd role generates customizable HTML tags for compound keys 2020-12-30 20:36:09 +09:00
Takeshi KOMIYA
a122397b4b Merge branch '3.x' 2020-12-29 18:37:45 +09:00
Takeshi KOMIYA
3f7bf48715 Merge branch '3.4.x' into 3.x 2020-12-29 18:33:36 +09:00
Takeshi KOMIYA
97f36a2d02 Fix #8602: autodoc: The `autodoc-process-docstring` event is emitted to the non-datadescriptors unexpectedly 2020-12-29 18:04:24 +09:00
Takeshi KOMIYA
85567748d9 Fix #8164: autodoc: Classes that inherit mocked class are not documented
Use ismock() to check a module member is a mocked or not. It allows not
to skip subclasses of mocked class.
2020-12-29 00:26:23 +09:00
Takeshi KOMIYA
476169284d autodoc: Add a helper that checks the object is mocked; ismock() 2020-12-28 21:50:36 +09:00
Takeshi KOMIYA
05518851d3
Merge branch '3.x' into 8306_autosummary_mocks_are_documented 2020-12-28 17:25:09 +09:00
Takeshi KOMIYA
0d84818739 Fix #8594: autodoc: empty __all__ attribute is ignored
An empty `__all__` should be represented as "there is no public items".
But autodoc considers all items on the module are public.  This changes
the behavior to correct one.
2020-12-28 13:53:56 +09:00