From becfb75e9f2f85cfff18aec49fd96e252f737eb2 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sat, 6 Apr 2019 10:19:12 -0700 Subject: 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. --- src/render.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/render.c b/src/render.c index a73d6f8..fdd73df 100644 --- a/src/render.c +++ b/src/render.c @@ -82,21 +82,23 @@ static void S_out(cmark_renderer *renderer, const char *source, bool wrap, } } - } else if (c == 10) { - cmark_strbuf_putc(renderer->buffer, '\n'); - renderer->column = 0; - renderer->begin_line = true; - renderer->begin_content = true; - renderer->last_breakable = 0; } else if (escape == LITERAL) { - cmark_render_code_point(renderer, c); - renderer->begin_line = false; - // we don't set 'begin_content' to false til we've - // finished parsing a digit. Reason: in commonmark - // we need to escape a potential list marker after - // a digit: - renderer->begin_content = - renderer->begin_content && cmark_isdigit(c) == 1; + if (c == 10) { + cmark_strbuf_putc(renderer->buffer, '\n'); + renderer->column = 0; + renderer->begin_line = true; + renderer->begin_content = true; + renderer->last_breakable = 0; + } else { + cmark_render_code_point(renderer, c); + renderer->begin_line = false; + // we don't set 'begin_content' to false til we've + // finished parsing a digit. Reason: in commonmark + // we need to escape a potential list marker after + // a digit: + renderer->begin_content = + renderer->begin_content && cmark_isdigit(c) == 1; + } } else { (renderer->outc)(renderer, escape, c, nextc); renderer->begin_line = false; -- cgit v1.2.3