Skip to content

Commit becfb75

Browse files
committed
render: only emit actual newline when escape mode is LITERAL.
For markdown content, e.g., in other contexts we want some kind of escaping, not a literal newline.
1 parent 6f1f4e3 commit becfb75

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

src/render.c

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -82,21 +82,23 @@ static void S_out(cmark_renderer *renderer, const char *source, bool wrap,
8282
}
8383
}
8484

85-
} else if (c == 10) {
86-
cmark_strbuf_putc(renderer->buffer, '\n');
87-
renderer->column = 0;
88-
renderer->begin_line = true;
89-
renderer->begin_content = true;
90-
renderer->last_breakable = 0;
9185
} else if (escape == LITERAL) {
92-
cmark_render_code_point(renderer, c);
93-
renderer->begin_line = false;
94-
// we don't set 'begin_content' to false til we've
95-
// finished parsing a digit. Reason: in commonmark
96-
// we need to escape a potential list marker after
97-
// a digit:
98-
renderer->begin_content =
99-
renderer->begin_content && cmark_isdigit(c) == 1;
86+
if (c == 10) {
87+
cmark_strbuf_putc(renderer->buffer, '\n');
88+
renderer->column = 0;
89+
renderer->begin_line = true;
90+
renderer->begin_content = true;
91+
renderer->last_breakable = 0;
92+
} else {
93+
cmark_render_code_point(renderer, c);
94+
renderer->begin_line = false;
95+
// we don't set 'begin_content' to false til we've
96+
// finished parsing a digit. Reason: in commonmark
97+
// we need to escape a potential list marker after
98+
// a digit:
99+
renderer->begin_content =
100+
renderer->begin_content && cmark_isdigit(c) == 1;
101+
}
100102
} else {
101103
(renderer->outc)(renderer, escape, c, nextc);
102104
renderer->begin_line = false;

0 commit comments

Comments
 (0)