anchor.diff:    // Lists
     //
   
  -  static Parser get unorderedListMarkerTest => ((skipNonindentSpaces.notFollowedBy(hrule) > oneOf('-+*')) < char(' '));
  -  static Parser get orderedListMarkerTest => ((skipNonindentSpaces > digit.many1) + (oneOf('.)') < char(' '))).list;
  +  static Parser get unorderedListMarkerTest => ((skipNonindentSpaces.notFollowedBy(hrule) > oneOf('-+*')) < oneOf(' \n'));
  +  static Parser get orderedListMarkerTest => ((skipNonindentSpaces > digit.many1) + (oneOf('.)') < oneOf(' \n'))).list;
     static Parser listFirstLine(int indent, Parser marker) => (atMostSpaces(indent).notFollowedBy(hrule) + marker + anyLine).list;
     static Parser listStrictLine(int indent) => string(" " * indent) > anyLine;
  -  static Parser get listLazyLine => skipNonindentSpaces > anyLine;
  +  static Parser listLazyLine(int indent) => atMostSpaces(indent - 1).notFollowedBy(char(' ')) > anyLine;
     static Parser listLine(int indent, Parser marker) => // There are three types of lines in list
       (listFirstLine(indent - 1, marker) ^ (l) => [0,  l[0], l[1], l[2]]) // List item start
       | (blankline ^ (l) => [3])                                          // Blank line
       | (listStrictLine(indent) ^ (l) => [1, l])                          // List item strict continuation
  -    | (listLazyLine ^ (l) => [2, l]);                                   // List item lazy continuation
  +    | (listLazyLine(indent) ^ (l) => [2, l]);                                   // List item lazy continuation
   
   
     Parser list(Parser marker) => new Parser((s, pos) {
  
positive.code:   Parser<List<Block>> get block => choice([
        blanklines ^ (_) => [],
        hrule,
        atxHeader,
        setextHeader,
        codeBlockIndented,
  
negative.code: 
    Parser get indentedLine => (indentSpaces > anyLine) ^ (line) => line + "\n";
  
    Parser get codeBlockIndented => (indentedLine +
      ((indentedLine | (blanklines + indentedLine) ^ (b, l) => b.join('') + l).many)) ^
        (f, c) => new IndentedCodeBlock(stripTrailingNewlines(f + c.join('')) + '\n');
  
    //
    // Fenced code
  