anchor.diff:  pos_to_fun_name_1(Node, Pos = {Ln, Col}) ->
       As = refac_syntax:get_ann(Node),
       case lists:keysearch(fun_def, 1, As) of
  -      {value, {fun_def, {Mod, Fun, Arity, {Ln, Col1}, DefPos}}} ->
  -	  case (Col1 =< Col) and (Col =< Col1 + length(atom_to_list(Fun)) - 1) of
  -	    true -> {{Mod, Fun, Arity, Pos, DefPos}, true};
  -	    false -> {[], false}
  -	  end;
  -      _ -> {[], false}
  +      {value, {fun_def, {Mod, Fun, Arity, {Ln, Col1}, DefPos}}} when is_atom(Fun)->
  +	    case (Col1 =< Col) and (Col =< Col1 + length(atom_to_list(Fun)) - 1) of
  +		true -> {{Mod, Fun, Arity, Pos, DefPos}, true};
  +		false -> {[], false}
  +	    end;
  +	_ -> {[], false}
       end.
   
   
  
positive.code: 	    none -> refac_syntax:add_ann({range, {S1, E1}}, Node);
  	    _ -> {_S2, E2} = get_range(Value), refac_syntax:add_ann({range, {S1, E2}}, Node)
  	  end;
        record_expr ->
  	  Arg = refac_syntax:record_expr_argument(Node),
  	  Type = refac_syntax:record_expr_type(Node),
  
negative.code: %% Add  start and end location to each AST node.
  add_range(FName, AST, TabWidth) ->
      Toks = tokenize(FName, true,  TabWidth),    
      full_buTP(fun do_add_range/2, AST, {FName, Toks}).
  
  do_add_range(Node, {FName, Toks}) ->
      {L, C} = case refac_syntax:get_pos(Node) of
  		 {Line, Col} -> {Line,Col};
  		 Line ->{Line, 0}
  