anchor.diff:  parse_event(_) -> ignore.
   
   format_term(Term) when is_list(Term) ->
  -    case string_p(Term) of
  +    case string_p(lists:flatten(Term)) of
   	true ->
  -	    [{"~s\n",[Term]}];
  +	    [{"~ts\n",[Term]}];
   	false ->
   	    format_term_list(Term)
       end;
   format_term(Term) ->
  -    [{"~p\n",[Term]}].
  +    [{"~tp\n",[Term]}].
   
   format_term_list([{Tag,Data}|T]) ->
  -    [{"    ~p: ~p\n",[Tag,Data]}|format_term_list(T)];
  +    [{"    ~tp: ~tp\n",[Tag,Data]}|format_term_list(T)];
   format_term_list([Data|T]) ->
  -    [{"    ~p\n",[Data]}|format_term_list(T)];
  +    [{"    ~tp\n",[Data]}|format_term_list(T)];
   format_term_list([]) ->
  -    [];
  -format_term_list(_) ->
  -    %% Continue to allow non-proper lists for now.
  -    %% FIXME: Remove this clause in OTP 19.
       [].
   
   string_p([]) ->
       false;
  -string_p(Term) ->
  -    string_p1(Term).
  -
  -string_p1([H|T]) when is_integer(H), H >= $\s, H < 255 ->
  -    string_p1(T);
  -string_p1([$\n|T]) -> string_p1(T);
  -string_p1([$\r|T]) -> string_p1(T);
  -string_p1([$\t|T]) -> string_p1(T);
  -string_p1([$\v|T]) -> string_p1(T);
  -string_p1([$\b|T]) -> string_p1(T);
  -string_p1([$\f|T]) -> string_p1(T);
  -string_p1([$\e|T]) -> string_p1(T);
  -string_p1([H|T]) when is_list(H) ->
  -    string_p1(H) andalso string_p1(T);
  -string_p1([]) -> true;
  -string_p1(_) ->  false.
  +string_p(FlatList) ->
  +    io_lib:printable_list(FlatList).
   
   get_utc_config() ->
       %% SASL utc_log configuration overrides stdlib config
  
positive.code:     end.
  
  header({{Y,Mo,D},{H,Mi,S}}, Title, UTC) ->
      io_lib:format("~n=~s==== ~p-~s-~p::~s:~s:~s ~s===~n",
                    [Title,D,month(Mo),Y,t(H),t(Mi),t(S),UTC]).
  
  t(X) when is_integer(X) ->
  
negative.code: 		S0
  	catch
  	    _:_ ->
  		format(State, "ERROR: ~tp - ~tp\n", [Format,Args])
  	end,
      [S|format_body(State, T)];
  format_body(_State, []) ->
  