anchor.diff:  -export([ghead/2, glast/2, to_lower/1, to_upper/1, try_evaluation/1,
            is_var_name/1, is_fun_name/1, is_expr/1, is_pattern/1,
   	 is_exported/2, inscope_funs/1,
  -         once_tdTU/3, stop_tdTP/3, full_buTP/3,
  +         once_tdTU/3, stop_tdTP/3, full_tdTP/3,full_buTP/3,
            pos_to_fun_name/2, pos_to_fun_def/2,pos_to_var_name/2,
            pos_to_expr/3, pos_to_expr_list/5, pos_to_syntax_units/6, 
   	 pos_to_syntax_units/4, expr_to_fun/2,get_range/1,get_toks/1, concat_toks/1, tokenize/3,
  
positive.code: 					     _ -> []
  					 end
  			  end,[{eunit, Eunit}, {eqc, EQC}, {eqc_statem, EQC_STATEM}, 
  			      {testserver, TestSever}, {commontest, CommonTest}]);
  	_ -> []
      end.
     
  
negative.code: 		Node2 = refac_syntax:make_tree(refac_syntax:type(Node1), Gs2),
  		{refac_syntax:copy_attrs(Node1, Node2), lists:member(true, lists:flatten(G))}
  	  end
      end.
  
  -spec(full_tdTP/3::(fun((syntaxTree(), any()) ->
  			       {anyterm(), boolean()}), syntaxTree(), anyterm()) ->
  	     {anyterm(), boolean()}).
  full_tdTP(Function, Node, Others) ->
      case Function(Node, Others) of
  	{Node1, Changed} ->
  	    case refac_syntax:subtrees(Node1) of
  		[] -> {Node1, Changed};
  		Gs ->
  		    Gs1 = [[full_tdTP(Function, T, Others) || T <- G] || G <- Gs],
  		    Gs2 = [[N || {N, _B} <- G] || G <- Gs1],
  		    G = [[B || {_N, B} <- G] || G <- Gs1],
  		    Node2 = refac_syntax:make_tree(refac_syntax:type(Node1), Gs2),
  		    {refac_syntax:copy_attrs(Node1, Node2), Changed or lists:member(true, lists:flatten(G))}
  	    end
      end.
  
  
  