anchor.diff:  -define(COLOR_PTHEAD,  "#d0d0d0").
   -define(COLOR_TABHEAD, "#e0e0ff").
   -define(COLOR_LINK,    "#000000").
  +-define(COLOR_LINEBRK, "#ff0000").
  +
  +-define(HTML_LINEBRK, "<font color=\"" ?COLOR_LINEBRK "\">\\</font>\n").
   
   stats_page(Stats, ReportCfg) ->
       MainTable = main_table(Stats, ReportCfg),
  
positive.code:                                 {myframeid, [{sort, 1, ascending}]}],
                                 "myframeid.3")).
  
  html_test() ->
      ?assertEqual("<br>", html(br)),
      ?assertEqual("<body></body>", html({body, [], []})),
      ?assertEqual("<table width=\"100%\" cellspacing=\"0\"></table>",
                   html({table, [{width, "100%"}, {cellspacing, 0}], []})),
      ?assertEqual("<html><body bgcolor=\"#123456\" align=\"left\">"
                   "<table cellpadding=\"0\"><hr><br></table></body></html>",
                   html({html, [],
  
negative.code: invert_dir(descending) -> ascending.
  
  %% Generate a HTML-encoded string from a data structure encoding HTML.
  %%
  %% HTML is represented as a recursive data structure:
  %%   {Tag, Attributes, Contents}
  %% where Tag is an atom;
  %%       Attributes is a list of {Attr, Value}, and
  %%       Contents is a list of children tags.
  %%
  %% Special 'terminal' tags {raw, Str}, {str, Str} and {term, Term}
  %% produce direct output with different degrees of processing.
  html({raw, Str}) -> Str;
  html({str, Str}) -> html_encode(Str);
  html({term, Term}) ->
      RawStr = io_lib:format("~40p", [Term]),
      Str = nl_encode(linewrap(html_encode(RawStr), 42)),
      html({code, [], [{raw, Str}]});
  html(Tags) when is_list(Tags) -> lists:concat([html(T) || T <- Tags]);
  html(Tag) when is_atom(Tag) -> lists:concat(["<", Tag, ">"]);
  html({Tag, Attributes, Contents}) ->
  