anchor.diff:    case State == stopping andalso process_info(self(), message_queue_len) of
       {_, 0} -> exit(PrintFun({meta, stop, dummy, {0, 0, 0, 0}}, Acc));
       _ -> ok
  +  end.
  +
  +%% this is called from the default PrintFun
  +get_fd("") ->
  +  standard_io;
  +get_fd(FN) ->
  +  case get(redbug_fd) of
  +    undefined ->
  +      case file:open(FN, [write]) of
  +        {ok, FD} -> put(redbug_fd, FD), FD;
  +        _ -> throw({cannot_open, FN})
  +      end;
  +    FD -> FD
     end.
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
positive.code: %%%         {file, File, Size, Count} |
  %%%         {ip, Port, Queue}
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  pack(Cnf) ->
    Flags0 = [call, timestamp],
    {Flags, ASTs} = lists:foldl(fun chk_trc/2, {Flags0, []}, slist(Cnf#cnf.trc)),
  
negative.code: maybe_new_target(Cnf = #cnf{target=Target}) ->
    case lists:member($@, Str=atom_to_list(Target)) of
      true -> Cnf;
      false-> Cnf#cnf{target=list_to_atom(Str++"@"++element(2, inet:gethostname()))}
    end.
  
  wrap_print_fun(#cnf{print_fun=PF}) ->
    case erlang:fun_info(PF, arity) of
  