anchor.diff:      convert(Rest, St, PL, CL, Acc2);
   
   %% Paragraph text ending
  -convert(<<13, 10, 13, 10, Rest/binary>>, [{p, CT}|St], _PL, _CL, Acc) ->
  +parse(<<13, 10, Rest/binary>>, [{p, CT}| St], <<>>, CL, Acc) ->
       BTag = makeTag(p, CT),
       Acc2 = <<Acc/binary, BTag/binary>>,
  -    convert(Rest, St, <<>>, <<>>, Acc2);
  -
  -%% Paragraph line ending, empty previous line
  -convert(<<13, 10, Rest/binary>>, [{p, CT}|St], <<>>, CL, Acc) ->
  -    convert(Rest, [{p, <<CT/binary, 13, 10>>}|St], CL, <<>>, Acc);
  -
  -convert(<<13, 10, Rest/binary>>, [{p, CT}|St], PL, CL, Acc) ->
  +    convert(Rest, St, <<>>, CL, Acc2);
  +
  +parse(<<13, 10, Rest/binary>>, [{p, CT}| St], PL, CL, Acc) ->
       case header(CL, PL) of
           {true, Tag, Hdr} ->
               BTag = makeTag(Tag, Hdr),
               Acc2 = <<Acc/binary, BTag/binary, 13, 10>>,
  -            convert(Rest, St, <<>>, <<>>, Acc2);
  +            convert(Rest, St, PL, CL, Acc2);
           false ->
               case Rest of
                   <<13, 10, Rest2/binary>> ->
                       BTag = makeTag(p, CT),
                       Acc2 = <<Acc/binary, BTag/binary>>,
  -                    convert(Rest2, St, <<>>, <<>>, Acc2);
  +                    convert(Rest2, St, PL, CL, Acc2);
                   Rest ->
  -                    convert(Rest, [{p, <<CT/binary, 13, 10>>}|St], CL, <<>>, Acc)
  +                    convert(Rest, [{p, <<CT/binary, 13, 10>>}|St], PL, CL, Acc)
               end
       end;
   
   %% Check for list
  -convert(<<Char:8, Rest/binary>>, [{p, CT}|St], PL, <<>>, Acc) ->
  +parse(<<Char:8, Rest/binary>>, [{p, CT}| St], PL, CL, Acc) ->
       case checkIfList(<<Char:8, Rest/binary>>) of
           {true, Tag} ->
               BTag = makeTag(p, CT),
               Acc2 = <<Acc/binary, BTag/binary>>,
  -            convert(<<Char:8, Rest/binary>>, [Tag|St], <<>>, <<>>, Acc2);
  -        false ->
  -            convert(Rest, [{p, <<CT/binary, Char:8>>}|St], PL, <<Char:8>>, Acc)
  +            convert(<<Char:8, Rest/binary>>, [Tag|St], PL, CL, Acc2);
  +        false ->
  +            convert(Rest, [{p, <<CT/binary, Char:8>>}|St], PL, CL, Acc)
       end;
   
   %% Parse content
  -convert(<<Char:8, Rest/binary>>, [{CTag, CT}|St], PL, CL, Acc) ->
  +parse(<<Char:8, Rest/binary>>, [{CTag, CT}| St], PL, CL, Acc) ->
       PState = [{CTag, <<CT/binary, Char:8>>}|St],
  -    convert(Rest, PState, PL, <<CL/binary, Char:8>>, Acc);
  +    convert(Rest, PState, PL, CL, Acc);
   
   %% Text end by end of data
  -convert(<<>>, [{_Tag, <<>>}], _PL, _CL, Acc) ->
  +parse(<<>>, [{_Tag, <<>>}], _PL, _CL, Acc) ->
       Acc;
   
  -convert(<<>>, [{p, CT}|St], PL, CL, Acc) ->
  +parse(<<>>, [{p, CT}| St], PL, CL, Acc) ->
       case header(CL, PL) of
           {true, Tag, Hdr} ->
               {CTags, _} = closeTags(0, St),
  
positive.code: %% CL  => current line
  %% Acc => result in progress
  
  convert(MDText) ->
      convert(MDText, [], <<>>, <<>>, <<>>).
  
  
  convert(MDText, PS, PL, CL, Acc) when is_list(MDText) ->
      convert(unicode:characters_to_binary(MDText), PS, PL, CL, Acc);
  
  %% Support systems with only \n.
  convert(<<10, 10, Rest/binary>>, PS, PL, CL, Acc) ->
      convert(<<13, 10, 13, 10, Rest/binary>>, PS, PL, CL, Acc);
  convert(<<10, Rest/binary>>, PS, PL, CL, Acc) ->
      convert(<<13, 10, Rest/binary>>, PS, PL, CL, Acc);
  
  %% Default state is paragraph (p)
  convert(Content, [], PL, CL, Acc) ->
      convert(Content, [{p, <<>>}], PL, CL, Acc);
  
  %% Backslash escapes
  convert(<<"\\\\", Rest/binary>>, PState, PL, CL, Acc) ->
      convert(Rest, addCT(<<"\\">>, PState), PL, CL, Acc);
  
  convert(<<"\\", Char:8, Rest/binary>>, PState, PL, CL, Acc) ->
      case lists:member(Char, ?punctChar) of
          true ->
              Entity = entity(<<Char:8>>),
              convert(Rest, addCT(Entity, PState), PL, CL, Acc);
  
negative.code:     end;
  
  %% Header end by line end.
  parse(<<13, 10, Rest/binary>>, [{Tag, CT}| St], PL, CL, Acc)
    when (Tag == h6) or (Tag == h5) or (Tag == h4) or
         (Tag == h3) or (Tag == h2) or (Tag == h1) ->
      BTag = makeTag(Tag, CT),
  