anchor.diff:          Base1 = fmt("~!_c~ts~!!~!__~ts", [Root, Ext]),
           F = fmt("~!__~ts", [filename:join(Path, Base1)]),
           String = message_to_string(Msg),
  -        {SrcFile, [lists:flatten(fmt("~n~ts~n~!c~4w~!!: ~ts", [F, Line, String])) | Acc]}
  +        Line = line_from_line_col(LineOrLineCol),
  +        {SrcFile, [lists:flatten(fmt("~n~ts~n~!c~ts~!!: ~ts", [F, Line, String])) | Acc]}
       catch
           ?WITH_STACKTRACE(Error, Reason, Stacktrace)
               ?DEBUG("Failed to pretty format warning: ~p:~p~n~p",
  
positive.code:     cf:format(Fmt, []).
  fmt(Fmt, Args) ->
      cf:format(Fmt, Args).
  
  %%-----------------------------------------------------------------------------
  %% Message classification and pretty-printing below. Messages appear in
  
negative.code:     end;
  
  %% we skip the file header
  format_warning_(_Opts, Warning = {_Tag, {File, LineOrLineCol}, Msg}, {File, Acc}) ->
      try
          String = message_to_string(Msg),
          Line = line_from_line_col(LineOrLineCol),
          {File, [lists:flatten(fmt("~!c~ts~!!: ~ts", [Line, String])) | Acc]}
      catch
          Error:Reason ->
              ?DEBUG("Failed to pretty format warning: ~p:~p",
  