anchor.diff:   	end;
   parse_transform(Other, #dtl{args = Args}) ->    
       {Other, Args};                
  -parse_transform({var, _Line, Var}, Args) ->
  +parse_transform({tree, variable, _, Var}, Args) ->
       Var2 = list_to_atom(tl(atom_to_list(Var))),
       binary_string(proplists:get_value(Var2, Args));      
   parse_transform(Other, _) ->    
  -    %io:format("TRACE ~p:~p ~p~n",[?MODULE, ?LINE, other]),
       Other.
           
   
   parse_transform({block, _Line , _Name, [nil, T]}) ->
   	parse_transform(T); 
   parse_transform({var, _Line, Val}) ->
  -    %io:format("TRACE ~p:~p var_parse_transform: ~p~n",[?MODULE, ?LINE, Val]),    
  +    io:format("TRACE ~p:~p var_parse_transform1: ~p~n",[?MODULE, ?LINE, Val]),    
       erl_syntax:variable(Val);
   parse_transform(Other) -> 
  -    %io:format("TRACE ~p:~p ~p~n",[?MODULE, ?LINE, other]),   
  +    io:format("TRACE ~p:~p ~p~n",[?MODULE, ?LINE, other]),   
       Other.   	
   
   
  
positive.code:     build_tree2(H, T, Dtl1);
      
  build_tree2([H | T], [{tag, Line, TagName, TagArgs}], #dtl{buffer = Buffer, ext = Ext} = Dtl) ->	
      case handle_tag(TagName, Line, TagArgs, Buffer, default, Ext) of
          {ok, Buffer1} ->
              build_tree2(H, T, Dtl#dtl{buffer = Buffer1});
          Err ->
              Err
  
negative.code: 	end.
      
             	        	
  handle_tag(TagName, Line, TagArgs, Acc0, Ext) ->
      io:format("TRACE ~p:~p ~p~n",[?MODULE, ?LINE, TagArgs]),
      case parse(filename:join([erlydtl_deps:get_base_dir(), "priv", "tags", atom_to_list(TagName) ++ Ext])) of
          {ok, ParentAst} ->
  		    [H|T]=ParentAst,
  			{_, List, _, _} = build_tree(H, T, Ext),
  			List1 = lists:foldl(fun(X, Acc) -> 
  			        [parse_transform(X, TagArgs) | Acc]			        
  			    end, 
  			    Acc0,
  			    lists:reverse(List)),
  			{ok, List1};
  		_ ->
      	    {error, {TagName, Line, "loading tag source template failed"}}
      end.
  