anchor.diff:        _ -> false
       end.
   
  -rename_fun_in_client_module_1({Tree, Info}, {M, OldName, Arity}, NewName) ->
  +rename_fun_in_client_module_1({Tree, Info}, {M, OldName, Arity}, NewNameStr) ->
  +    NewNameAtom = list_to_atom(NewNameStr),
       case lists:keysearch(module, 1, Info) of
  -      {value, {module, ClientModName}} ->
  -	  Inscope_Funs = [{F, A} || {_M, F, A} <- refac_misc:inscope_funs(Info)],
  -	  case lists:member({list_to_atom(NewName), Arity}, Inscope_Funs)
  -		 and lists:member({OldName, Arity}, Inscope_Funs)
  -	      of
  -	    true ->
  -		throw({error, "The new function name causes confliction in module '"
  -				++ atom_to_list(ClientModName) ++ "'"});
  -	    _ -> ok
  -	  end;
  -      _ -> ok
  +	{value, {module, ClientModName}} ->
  +	    Inscope_Funs = [{F, A} || {_M, F, A} <- refac_misc:inscope_funs(Info)],
  +	    case lists:member({NewNameAtom, Arity}, Inscope_Funs)
  +		    and lists:member({OldName, Arity}, Inscope_Funs)
  +		of
  +		true ->
  +		    throw({error, "The new function name causes confliction in module '"
  +				     ++ atom_to_list(ClientModName) ++ "'"});
  +		_ -> ok
  +	    end;
  +	_ -> ok
       end,
       ast_traverse_api:full_tdTP(fun do_rename_fun_in_client_module_1/2, Tree,
  -			       {{M, OldName, Arity}, NewName}).
  +			       {{M, OldName, Arity}, NewNameAtom}).
   
   do_rename_fun_in_client_module_1(Tree, {{M, OldName, Arity}, NewName}) ->
       case refac_syntax:type(Tree) of
  
positive.code:       _ -> '_'
      end.
  
  rename_fun_in_client_modules(Files, {Mod, Fun, Arity}, NewName, SearchPaths, TabWidth, Pid) ->
      case Files of
        [] -> [];
        [F| Fs] ->
  	    ?wrangler_io("The current file under refactoring is:\n~p\n", [F]),
  	    {ok, {AnnAST, Info}} = refac_util:parse_annotate_file(F, true, SearchPaths, TabWidth),
  	    {AnnAST1, Changed} = rename_fun_in_client_module_1({AnnAST, Info}, {Mod, Fun, Arity}, NewName),
  	    refac_atom_utils:check_unsure_atoms(F, AnnAST1, [Fun], f_atom, Pid),
  	    if Changed ->
  		    [{{F, F}, AnnAST1}| rename_fun_in_client_modules(
  					  Fs, {Mod, Fun, Arity}, NewName, SearchPaths, TabWidth, Pid)];
  	       true ->
  		    rename_fun_in_client_modules(
  		      Fs, {Mod, Fun, Arity}, NewName, SearchPaths, TabWidth, Pid)
  	    end
      end.
  
  
negative.code:     Cmd1 = "CMD: " ++ atom_to_list(?MODULE) ++ ":rename_fun(" ++ "\"" ++ 
  	     FileName ++ "\", " ++ integer_to_list(Line) ++ 
  	       ", " ++ integer_to_list(Col) ++ ", " ++ "\"" ++ NewName ++ "\","
  									     ++ "[" ++ refac_misc:format_search_paths(SearchPaths) ++ "]," ++ integer_to_list(TabWidth) ++ ").",
      case refac_misc:is_fun_name(NewName) of
  	true -> ok;
  	false -> throw({error, "Invalid new function name!"})
      end,
      {ok, {AnnAST, Info}} = wrangler_ast_server:parse_annotate_file(FileName, true, SearchPaths, TabWidth),
      NewNameAtom = list_to_atom(NewName),
      {ok, ModName} = get_module_name(Info),
      case interface_api:pos_to_fun_name(AnnAST, {Line, Col}) of
  