Skip to content

Commit ff54f97

Browse files
committed
code-block: Pass list of strings ends with CR code to dedent_lines()
1 parent e2f1416 commit ff54f97

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

sphinx/directives/code.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def run(self) -> List[Node]:
5858

5959
def dedent_lines(lines: List[str], dedent: int, location: Tuple[str, int] = None) -> List[str]:
6060
if dedent is None:
61-
return textwrap.dedent('\n'.join(lines)).split('\n')
61+
return textwrap.dedent(''.join(lines)).splitlines(True)
6262

6363
if any(s[:dedent].strip() for s in lines):
6464
logger.warning(__('non-whitespace stripped by dedent'), location=location)
@@ -138,9 +138,9 @@ def run(self) -> List[Node]:
138138

139139
if 'dedent' in self.options:
140140
location = self.state_machine.get_source_and_line(self.lineno)
141-
lines = code.split('\n')
141+
lines = code.splitlines(True)
142142
lines = dedent_lines(lines, self.options['dedent'], location=location)
143-
code = '\n'.join(lines)
143+
code = ''.join(lines)
144144

145145
literal: Element = nodes.literal_block(code, code)
146146
if 'linenos' in self.options or 'lineno-start' in self.options:

0 commit comments

Comments
 (0)