summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES2
-rw-r--r--sphinx/ext/autodoc/__init__.py7
2 files changed, 7 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index d6870c750..fde891098 100644
--- a/CHANGES
+++ b/CHANGES
@@ -17,6 +17,8 @@ Bugs fixed
----------
* #8085: i18n: Add support for having single text domain
+* #8143: autodoc: AttributeError is raised when False value is passed to
+ autodoc_default_options
* #8093: The highlight warning has wrong location in some builders (LaTeX,
singlehtml and so on)
diff --git a/sphinx/ext/autodoc/__init__.py b/sphinx/ext/autodoc/__init__.py
index b61a96c84..ed02c2c90 100644
--- a/sphinx/ext/autodoc/__init__.py
+++ b/sphinx/ext/autodoc/__init__.py
@@ -94,7 +94,10 @@ def members_option(arg: Any) -> Union[object, List[str]]:
"""Used to convert the :members: option to auto directives."""
if arg is None or arg is True:
return ALL
- return [x.strip() for x in arg.split(',') if x.strip()]
+ elif arg is False:
+ return None
+ else:
+ return [x.strip() for x in arg.split(',') if x.strip()]
def members_set_option(arg: Any) -> Union[object, Set[str]]:
@@ -172,7 +175,7 @@ def merge_members_option(options: Dict) -> None:
members = options.setdefault('members', [])
for key in {'private-members', 'special-members'}:
- if key in options and options[key] is not ALL:
+ if key in options and options[key] not in (ALL, None):
for member in options[key]:
if member not in members:
members.append(member)