anchor.diff:  
   
   resolve_var(#variable{idx=[]}=Var, State) ->
  -    {search(Var, State), State};
  +    {search(Var, State#state.vars), State};
   
   resolve_var(#variable{idx=Indexes}=Var, State) ->
       {NewIndexes, NewState} = lists:foldl(fun(Idx,{I,NS}) ->
           {Value, NState} = resolve(Idx, NS),
           {I ++ [Value], NState}
       end, {[],State}, Indexes),
  -    Value = search(Var#variable{idx=NewIndexes}, NewState),
  +    Value = search(Var#variable{idx=NewIndexes}, NewState#state.vars),
       {Value, NewState}.
   
   
  
positive.code: 
  init([]) ->
      {ok, Funcs} = ephp_func:start_link(),
      {ok, #state{funcs = Funcs}};
  
  init([#state{}=State]) ->
      {ok, State}.
  
negative.code: 
  handle_cast({set, VarRawPath, Value}, State) ->
      VarPath = get_var_path(VarRawPath, State),
      NewVars = change(VarPath, Value, State#state.vars),
      {noreply, State#state{vars = NewVars}};
  
  handle_cast({set_tz, TZ}, #state{global=undefined}=State) ->
  