anchor.diff:          end,
       cache_new(#prim_state{debug = Deb}).
   
  -prim_release_archives(PS) ->
  -    debug(PS, release_archives),
  -    {Res, PS2} = prim_do_release_archives(PS, get(), []),
  -    debug(PS2, {return, Res}),
  -    {Res, PS2}.
  -
  -prim_do_release_archives(PS, [{ArchiveFile, DictVal} | KeyVals], Acc) ->
  -    Res = 
  -	case DictVal of
  -	    {primary, _PrimZip, _FI, _ParserFun} ->
  -		ok; % Keep primary archive
  -	    {Cache, _FI} ->
  -		debug(PS, {release, cache, ArchiveFile}),
  -		erase(ArchiveFile),
  -		clear_cache(ArchiveFile, Cache)
  -	end,
  -    case Res of
  -	ok ->
  -	    prim_do_release_archives(PS, KeyVals, Acc);
  -	{error, Reason} ->
  -	    prim_do_release_archives(PS, KeyVals, [{ArchiveFile, Reason} | Acc])
  -    end;
  -prim_do_release_archives(PS, [], []) ->
  -    {ok, PS#prim_state{primary_archive = undefined}};
  -prim_do_release_archives(PS, [], Errors) ->
  -    {{error, Errors}, PS#prim_state{primary_archive = undefined}}.
  +prim_purge_cache() ->
  +    do_prim_purge_cache(get()).
  +
  +do_prim_purge_cache([{Key,Val}|T]) ->
  +    case Val of
  +	{Cache,_FI} ->
  +	    catch clear_cache(Key, Cache);
  +	_ ->
  +	    ok
  +    end,
  +    do_prim_purge_cache(T);
  +do_prim_purge_cache([]) ->
  +    ok.
   
   prim_set_primary_archive(PS, undefined, undefined, undefined, _ParserFun) ->
       debug(PS, {set_primary_archive, clean}),
  
positive.code: efile_timeout_handler(#state{n_timeouts = N} = State, _Parent) ->
      if
  	N =< 0 ->
  	    {_Res, State2} = efile_release_archives(State),
  	    State2#state{n_timeouts = ?N_TIMEOUTS};
  	true ->
  	    State#state{n_timeouts = N - 1}
      end.
  
negative.code: 					  FileInfo, ParserFun),
      {Res,State#state{prim_state = PS2}}.
  
  efile_list_dir(#state{prim_state = PS} = State, Dir) ->
      {Res, PS2} = prim_list_dir(PS, Dir),
      {Res, State#state{prim_state = PS2}}.
  