cmark

My personal build of CMark ✏️

Commit
d9f5a3fe2555ecf9d64e392d8febf551c60ddbe5
Parent
521c43cbdc0709b2b0fe4081c2349e4a3b86c984
Author
John MacFarlane <jgm@berkeley.edu>
Date

Disallow list item starting with multiple blank lines.

See jgm/CommonMark#332

Diffstat

1 file changed, 4 insertions, 1 deletion

Status File Name N° Changes Insertions Deletions
Modified src/blocks.c 5 4 1
diff --git a/src/blocks.c b/src/blocks.c
@@ -635,7 +635,10 @@ static void S_process_line(cmark_parser *parser, const unsigned char *buffer,
         S_advance_offset(parser, &input, container->as.list.marker_offset +
                                              container->as.list.padding,
                          true);
-      } else if (parser->blank) {
+      } else if (parser->blank && container->first_child != NULL) {
+        // if container->first_child is NULL, then the opening line
+        // of the list item was blank after the list marker; in this
+        // case, we are done with the list item.
         S_advance_offset(parser, &input,
                          parser->first_nonspace - parser->offset, false);
       } else {