anchor.diff:                           {reply, {error, Error}, State}
       end;
   
  -do_handle_call(resave, _From, State) ->
  +handle_call(resave, _From, State) ->
       {reply, save_config(State), State};
   
  -do_handle_call(reannounce, _From, State) ->
  +handle_call(reannounce, _From, State) ->
       announce_changes(config_dynamic(State)),
       {reply, ok, State};
   
  -do_handle_call({replace, KVList}, _From, State) ->
  +handle_call(get, _From, State) -> {reply, State, State};
  +
  +handle_call({replace, KVList}, _From, State) ->
       {reply, ok, State#config{dynamic = [KVList]}};
   
  -do_handle_call({update_with_changes, Fun}, From, State) ->
  +handle_call({update_with_changes, Fun}, From, State) ->
       OldList = config_dynamic(State),
       try Fun(OldList) of
           {NewPairs, NewConfig} ->
               announce_changes(NewPairs),
  -            do_handle_call(resave, From, State#config{dynamic=[NewConfig]})
  +            handle_call(resave, From, State#config{dynamic=[NewConfig]})
       catch
           X:Error ->
               {reply, {X, Error, erlang:get_stacktrace()}, State}
       end;
   
  -do_handle_call({clear, Keep}, From, State) ->
  +handle_call({clear, Keep}, From, State) ->
       NewList = lists:filter(fun({K,_V}) -> lists:member(K, Keep) end,
                              config_dynamic(State)),
  -    do_handle_call(resave, From, State#config{dynamic=[NewList]});
  -
  -do_handle_call({merge, KVList}, From, State) ->
  +    handle_call(resave, From, State#config{dynamic=[NewList]});
  +
  +handle_call({merge, KVList}, From, State) ->
       PolicyMod = State#config.policy_mod,
       State2 = merge_configs(PolicyMod:mergable([State#config.dynamic,
                                                  State#config.static,
  
positive.code: % The Config object can be passed to the search*() related set
  % of functions.
  
  get()              -> gen_server:call(ns_config_replica, get).
  get(Node)          -> ?MODULE:get(Node, ?DEFAULT_TIMEOUT).
  get(Node, Timeout) -> gen_server:call({ns_config_replica, Node}, get, Timeout).
  
  get_diag() -> config_dynamic(ns_config:get()).
  
  
negative.code: init({full, ConfigPath, DirPath, PolicyMod} = Init) ->
      case load_config(ConfigPath, DirPath, PolicyMod) of
          {ok, Config} ->
              {ok, Config#config{init = Init}};
          Error ->
              {stop, Error}
      end;
  