anchor.diff:  format_rep(_, _, _Extra) ->
       [].
   
  -format_exception(Class, Reason, StackTrace, #{encoding:=Enc}=Extra) ->
  +format_exception(Class, Reason, StackTrace,
  +                 #{encoding:=Enc,depth:=Depth,chars_limit:=Limit,
  +                   single_line:=Single}=Extra) ->
       PF = pp_fun(Extra),
       StackFun = fun(M, _F, _A) -> (M =:= erl_eval) or (M =:= ?MODULE) end,
  -    %% EI = "    exception: ",
  -    EI = "    ",
  -    [EI, erl_error:format_exception(1+length(EI), Class, Reason,
  -                                    StackTrace, StackFun, PF, Enc), "\n"].
  -
  -format_mfa(Indent, {M,F,Args}=StartF, #{encoding:=Enc}=Extra) ->
  +    if Single ->
  +            {P,Tl} = p(Enc,Depth),
  +            Opts = if is_integer(Limit) -> [{chars_limit,Limit}];
  +                      true -> []
  +                   end,
  +            [atom_to_list(Class), ": ",
  +             io_lib:format("~0"++P,[{Reason,StackTrace}|Tl],Opts)];
  +       true ->
  +            EI = "    ",
  +            [EI, erl_error:format_exception(1+length(EI), Class, Reason,
  +                                            StackTrace, StackFun, PF, Enc)]
  +    end.
  +
  +format_mfa(Indent0, {M,F,Args}=StartF, #{encoding:=Enc,single_line:=Single}=Extra) ->
  +    Indent = if Single -> "";
  +                true -> Indent0
  +             end,
       try
   	A = length(Args),
   	[Indent,"initial call: ",atom_to_list(M),$:,to_string(F, Enc),$/,
  -	 integer_to_list(A),"\n"]
  +	 integer_to_list(A)]
       catch
   	error:_ ->
   	    format_tag(Indent, initial_call, StartF, Extra)
  
positive.code: to_string(A, _) ->
      io_lib:write_atom(A).
  
  pp_fun(#{encoding:=Enc,depth:=Depth,chars_limit:=Limit}) ->
      {P,Tl} = p(Enc, Depth),
      Opts = if is_integer(Limit) -> [{chars_limit,Limit}];
                true -> []
             end,
      fun(Term, I) -> 
              io_lib:format("~." ++ integer_to_list(I) ++ P, [Term|Tl], Opts)
      end.
  
  format_tag(Indent, Tag, Data, #{encoding:=Enc,depth:=Depth,chars_limit:=Limit}) ->
      {P,Tl} = p(Enc, Depth),
      Opts = if is_integer(Limit) -> [{chars_limit,Limit}];
                true -> []
             end,
      io_lib:format("~s~p: ~80.18" ++ P ++ "\n", [Indent, Tag, Data|Tl], Opts).
  
  p(Encoding, Depth) ->
      {Letter, Tl}  = case Depth of
  
negative.code: modifier(latin1) -> "";
  modifier(_) -> "t".
  
  nl(true,Else) -> Else;
  nl(false,_) -> "\n".
  
  %%% -----------------------------------------------------------
  %%% Stop a process and wait for it to terminate
  