anchor.diff:              NewDefs = lists:keystore(Name, 1, Defs, D),
               S#state{defs = NewDefs};
           {query, Q} ->
  -            try
  -		QQ = expr_where_defs(Q, Defs),
  -		{Res, _} = eval(QQ,C),
  -                io:format("~p\n", [Res]),
  -                S
  -            catch Class:Err ->
  -                io:format("*** ~p:~p in ~p\n~p\n",
  -                          [Class, Err, Q, erlang:get_stacktrace()]),
  -                catch ice_cache:delete(),
  -                S#state{cache = clear}
  -            end;
  +             do_query(Q, S, no_tc);
           {command, d} ->
               S#state{defs = []};
           {command, q} ->
  
positive.code:     [io:format("~s: ~p\n", [Name, Def]) || {Name, Def} <- Defs],
      ok.
  
  eval(AST, C) ->
      case C of
          clear ->
  
negative.code:                        {error, enotsup} ->
                             {"", ""}
                     end,
      loop(S0#state{prompt = Prompt, prompt2 = P2, tstamp = erlang:now()}).
  
  loop({quit, S}) ->
  	{quit, S};
  