anchor.diff:  
   do_simplify_expr(Node) ->
       Node1 = case refac_syntax:type(Node) of 
  -		macro -> 
  -		    refac_syntax:default_literals_vars(Node, '*');
  +		macro ->
  +		    case refac_syntax:macro_arguments(Node) of 
  +			none -> 
  +			    refac_syntax:default_literals_vars(Node, '*');
  +			_ -> Node
  +		    end;
   		variable ->
   		    refac_syntax:default_literals_vars(Node, '&');
   		integer ->
  
positive.code: 		    BdList1 = var_binding_structure(List1),
  		    BdList2 = var_binding_structure(List22),
  		    case BdList1 == BdList2 of 
  			true -> E1 = hd(List22),
  				En = lists:last(List22),
  			        {{StartLn, StartCol}, _EndLoc} = refac_util:get_range(E1),
  				{_StartLoc1, {EndLn, EndCol}} = refac_util:get_range(En),
  				[{{StartLn, StartCol}, {EndLn, EndCol}}] ++ get_clone(List1, tl(List2));
  			_ -> get_clone(List1, tl(List2))
  		    end;				       
  		    _ -> get_clone(List1, tl(List2))
  
negative.code: 			 As = refac_syntax:get_ann(T),
  			 case lists:keysearch(def, 1, As) of
  			   {value, {def, DefLoc}} ->
  			        [{atom_to_list(Name), SrcLoc,
  						    DefLoc}|S];
  			   _ -> S
  			 end;
  		     _ -> S
  		   end
  	   end,
      %% collect all variables including their defining and occuring locations. 
      B = lists:keysort(2, lists:flatmap(fun(T) -> refac_syntax_lib:fold(Fun1, [], T) end, ASTList)),
      %% collect occuring locations.
      SrcLocs = lists:map(fun ({_Name, SrcLoc, _DefLoc}) -> SrcLoc end, B),
      Res = case SrcLocs of 
  