anchor.diff:      end;
   
   %% With a new file detencted we also write a file header.
  -format_warning_(Opts, Warning = {_Tag, {SrcFile, Line}, Msg}, {_LastFile, Acc}) ->
  +format_warning_(Opts, Warning = {_Tag, {SrcFile, LineOrLineCol}, Msg}, {_LastFile, Acc}) ->
       try
           File = rebar_dir:format_source_file_name(SrcFile, Opts),
           Base = filename:basename(File),
  
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",
  