anchor.diff:  	macro ->
   	    Name = refac_syntax:macro_name(Node),
   	    Args = refac_syntax:macro_arguments(Node),
  -	    NumOfArgs = case Args of
  -			    none -> none;
  -			    _ -> length(Args)
  -			end,
  -	    Name1 = add_category(Name, {macro_name, NumOfArgs, C}),
  +            Name1 = case Args of 
  +                        none -> add_category(Name, C);  %% macro with no args are not annoated as macro_name.
  +                        _ ->add_category(Name, macro_name)
  +                    end,
   	    Args1 = case Args of
   			none -> none;
   			_ -> add_category(Args, C) 
  
positive.code: 	    E31 = extend_backwards(Toks, E3, ')'),
  	    update_ann(Node, {range, {S3, E31}});
  	case_expr ->
  	    A = refac_syntax:case_expr_argument(Node),
  	    Lc = refac_misc:glast("refac_util:do_add_range,case_expr", refac_syntax:case_expr_clauses(Node)),
  	    calc_and_add_range_to_node_1(Node, Toks, A, Lc, 'case', 'end');
  	clause ->
  
negative.code: 		 end,
  	    Node1 =rewrite(Node, refac_syntax:clause(P1, G1, Body1)),
  	    {Node1, true};
  	match_expr ->
  	    P = refac_syntax:match_expr_pattern(Node),
  	    B = refac_syntax:match_expr_body(Node),
  