anchor.diff:                position = lineRes.position;
                 continue;
               }
  +          }
  +
  +          if (buffer.length > 0 || blocks.length > 0) {
  +            buildBuffer();
  +            addToListItem(stack.last.block.items.last, blocks);
  +            blocks = [];
             }
   
             nextLevel = false;
  
positive.code:   Parser<List<Block>> get block => choice([
        blanklines ^ (_) => [],
        hrule,
        atxHeader,
        setextHeader,
        list,
        codeBlockIndented,
        codeBlockFenced,
        rawHtml,
  
negative.code:       | codeBlockFenced
        | (skipNonindentSpaces > (
          char('>')
          | (oneOf('+-*') > char(' '))));
      ParseResult res = (end.notAhead > anyLine).many1.run(s, pos);
      if (!res.isSuccess) {
        return res;
  