anchor.diff:  %% at the beginning of the first line.
   %%
   
  -do_parse_flow_scalar(
  -  #yaml_parser{doc_version = Version, chars = [C | _] = Chars} = Parser,
  +do_parse_flow_scalar([C | _] = Chars, Line, _, Delta,
  +  #yaml_parser{doc_version = Version} = Parser,
     #flow_scalar_ctx{newline = false} = Ctx)
     when ?IS_NEWLINE(C) orelse (Version == {1,1} andalso ?IS_NEWLINE_11(C)) ->
  -    Parser1 = next_line(Parser, Chars),
  +    {Rest, Line1, Col1, Delta1} = next_line(Chars, Line, Delta, Parser),
       Ctx1    = Ctx#flow_scalar_ctx{
         spaces  = " ",
         newline = true
       },
  -    do_parse_flow_scalar(Parser1, Ctx1);
  -
  -do_parse_flow_scalar(
  -  #yaml_parser{doc_version = Version, chars = [C | _] = Chars} = Parser,
  +    do_parse_flow_scalar(Rest, Line1, Col1, Delta1, Parser, Ctx1);
  +
  +do_parse_flow_scalar([C | _] = Chars, Line, _, Delta,
  +  #yaml_parser{doc_version = Version} = Parser,
     #flow_scalar_ctx{newline = true, spaces = Spaces} = Ctx)
     when ?IS_NEWLINE(C) orelse (Version == {1,1} andalso ?IS_NEWLINE_11(C)) ->
  -    Parser1 = next_line(Parser, Chars),
  +    {Rest, Line1, Col1, Delta1} = next_line(Chars, Line, Delta, Parser),
       Spaces1 = case Spaces of
           [$\s | S] -> S;
           _         -> Spaces
  
positive.code:     },
      add_error(Parser, Error, "Invalid character in URI scheme", []).
  
  warn_if_non_ascii_line_break(#yaml_parser{chars = [C | _]} = Parser)
    when ?IS_NEWLINE_11(C) ->
      %% Non-ASCII line break in a YAML 1.2 document.
      Error = #yaml_parsing_error{
        type   = warning,
        name   = non_ascii_line_break,
        line   = ?CURSOR_LINE(Parser),
        column = ?CURSOR_COLUMN(Parser)
      },
      add_error(Parser, Error,
        "Use of non-ASCII line break is not supported anymore starting "
        "with YAML 1.2; treated as non-break character", []);
  warn_if_non_ascii_line_break(Parser) ->
      Parser.
  
  add_error(Parser, Error, Format, Args) ->
  
negative.code:     Ctx1 = Ctx#block_scalar_ctx{
        more_indent = false
      },
      do_parse_block_scalar(Chars, Line, Col, Delta, Parser, Ctx1);
  do_parse_block_scalar([C | Rest], Line, Col, Delta, Parser,
    #block_scalar_ctx{style = folded, newline = Newline, spaces = Spaces,
      output = Output} = Ctx)
    when not ?IS_SPACE(C) orelse
    (?IS_SPACE(C) andalso (not Newline orelse Output == "")) ->
      {Col1, Delta1} = next_col(Col, Delta, 1),
      Ctx1 = Ctx#block_scalar_ctx{
        spaces  = "",
        newline = false,
        output  = [C | Spaces ++ Ctx#block_scalar_ctx.output],
        endline = Line,
        endcol  = Col1
      },
      do_parse_block_scalar(Rest, Line, Col1, Delta1, Parser, Ctx1);
  
  %% Folded style: a more-indented line.
  do_parse_block_scalar([C | Rest], Line, Col, Delta, Parser,
    #block_scalar_ctx{style = folded, newline = true, spaces = Spaces,
      more_indent = More_Indented} = Ctx)
    when ?IS_SPACE(C) ->
      {Col1, Delta1} = next_col(Col, Delta, 1),
      Spaces1 = case Spaces of
          [$\s | S]            -> [$\n | S];
          _ when More_Indented -> Spaces;
  