Skip to content

Commit fefa2f2

Browse files
authored
Add section_parents to _fresh_title_style_context() (#13551)
1 parent f928da1 commit fefa2f2

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

sphinx/util/parsing.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,19 @@
55
import contextlib
66
from typing import TYPE_CHECKING
77

8+
import docutils
89
from docutils.nodes import Element
910
from docutils.statemachine import StringList, string2lines
1011

1112
if TYPE_CHECKING:
1213
from collections.abc import Iterator
14+
from typing import Final
1315

1416
from docutils.nodes import Node
1517
from docutils.parsers.rst.states import RSTState
1618

19+
DU_22_PLUS: Final = docutils.__version_info__ >= (0, 22, 0, 'alpha', 0)
20+
1721

1822
def nested_parse_to_nodes(
1923
state: RSTState,
@@ -75,15 +79,23 @@ def _fresh_title_style_context(state: RSTState) -> Iterator[None]:
7579
memo = state.memo
7680
surrounding_title_styles: list[str | tuple[str, str]] = memo.title_styles
7781
surrounding_section_level: int = memo.section_level
82+
if DU_22_PLUS:
83+
surrounding_section_parents = memo.section_parents
84+
else:
85+
surrounding_section_parents = []
7886
# clear current title styles
7987
memo.title_styles = []
8088
memo.section_level = 0
89+
if DU_22_PLUS:
90+
memo.section_parents = []
8191
try:
8292
yield
8393
finally:
8494
# reset title styles
8595
memo.title_styles = surrounding_title_styles
8696
memo.section_level = surrounding_section_level
97+
if DU_22_PLUS:
98+
memo.section_parents = surrounding_section_parents
8799

88100

89101
def _text_to_string_list(

0 commit comments

Comments
 (0)