anchor.diff:      refac_tuple_to_record:tuple_to_record(File, FLine, FCol, LLine, LCol, RecName,
   					  FieldString, SearchPaths).
   
  -%%@private
  -%% @spec tuple_to_record_eclipse(File::filename(),FLine::integer(),FCol::integer(),
  -%%           LLine::integer(),LCol::integer(), RecName::string(),
  -%%           FieldString::[string()], SearchPaths::[dir()]) -> term()
  +%%@private
  +%% @spec tuple_to_record_eclipse(File::filename(),FLine::integer(),FCol::integer(),
  +%%           LLine::integer(),LCol::integer(), RecName::string(),
  +%%           FieldString::[string()], SearchPaths::[dir()]) -> term()
   -spec(tuple_to_record_eclipse/8::(filename(), integer(), integer(), integer(), integer(), string(), [string()], [dir()]) ->
   	     {error, string()} | {ok, [{filename(), filename(), string()}]}).
   
  
positive.code:     refac_tuple:tuple_funpar_eclipse(FileName, Line, Col, list_to_integer(Number), SearchPaths).
  
  
  %%=========================================================================================
  %% @doc From tuple to record representation.
  %% <p> To apply this refactoring mark the tuple in the editor, which is a function 
  %% parameter or an application argument.
  %% Then select <em> From Tuple To Record </em> from the <em> Refactor </em> menu, 
  %% after that the refactorer will prompt to enter the record name and  the record field names.
  %% </p>
  %% <p>
  %% This refactoring has a global effect, i.e., it affects all those modules in 
  %% which this function is imported/used.
  %% </p>
  %% <p>
  %% WARNING: After the transformation please check the implicit functions, 
  %% and create the record if it is necessary!
  %% </p>
  %% <p> The following <em> side-conditions </em> apply to this refactoring:
  %% <li> The record and field names must be legal names; </li>
  %% <li> The number of record fields must equal to the selected tuple size; </li>
  %% <li> The function definition must defined in the current module; </li>
  %% <li> The selected part must be a tuple.  </li>
  %% </p>
  %%@private
  %% ========================================================================================
  %% @spec tuple_to_record(File::filename(),FLine::integer(),FCol::integer(),
  %%           LLine::integer(),LCol::integer(), RecName::string(),
  %%           FieldString::[string()], SearchPaths::[dir()]) -> term()
  %% @end
  %% ========================================================================================
  -spec(tuple_to_record/8::(filename(), integer(), integer(), integer(), integer(), string(), [string()], [dir()]) ->
  	     {error, string()} | {ok, [filename()]}).
  
  
negative.code: gen_fun_2_eclipse(FileName, ParName, FunName, Arity, DefPos, Expr, SearchPaths) ->
      refac_gen:gen_fun_2_eclipse(FileName, ParName, FunName, Arity, DefPos, Expr, SearchPaths).
  
  %% ================================================================================
  %% @doc Move a function definition from its current module to another module.
  %% <p> To apply this refactoring, point the cursor at the function definition, then 
  %% select <em> Move Definition to Another Module</em> from the <em> Refactor </em> menu, 
  %% after that the refactorer will prompt to enter the target module name in the mini-buffer. 
  %% </p>
  %% <p> This refactoring has a global effect, i.e., it affects all the modules in which 
  %%     the function is imported/used.
  %% </p>
  %% <p> This refactoring assumes that an Erlang module name always matches it file name.
  %% </p>
  %% <p> Suppose we move functin <em> foo/n </em> from its current module <em> M </em> 
  %%     to module <em> N </em>, then the following <em> side-conditions </em> apply to 
  %%     this refactoring: 
  %% <li> If <em> foo/n </em> is already in scope in module <em> N </em>, then its defining 
  %%      module should be  <em> M </em>.
  %% </li>
  %% <li> Function <em> foo/n </em> should not contain any uses of <em> implicit fun expressions </em> (Note: move a 
  %% collection of modules together to another module will be supported by another refactoring).
  %% </li>
  %% </p>
  %% ===================================================================================
  %% @spec move_fun(FileName::filename(),Line::integer(),Col::integer(),TargetModName::string(), 
  %%                CreateNewFile::boolean(),SearchPaths::[dir()])-> term()
  %%         
  
  -spec(move_fun/6::(filename(),integer(),integer(), string(), atom(),[dir()])
          -> {ok, [{filename(), filename()}]}
  