anchor.diff:  
   
   %%=========================================================================================
  -%% @doc Register a process.
  +%% @doc Register a process (Beta).
   %% <p>This refactoring registers a process id, <code>Pid</code> say, with a name, regname say, and replaces
   %% the uses of <code>Pid ! Msg </code> with  <code>regname ! Msg</code> whenever it is possible. 
   %% </p>
  
positive.code: %% <p> When the selected code contains multiple, but non-continuous sequence of, expressions, the first
  %% continuous sequence of expressions is taken as the user-selected expression. A continuous sequence of
  %% expressions is a sequence of expressions separated by ','. </p>
  %% Usage: highlight the expression/expression sequence of interest, then selected  <em> Expression Search </em> from 
  %% the <em> Refactor </em> sub-menu.
  %% @spec expression_search(FileName::filename(),Start::Pos, End::Pos, TabWidth:: integer()) -> {ok, [{integer(), integer(), integer(), integer()}]} | {error, string()}
  
  -spec(expression_search/4::(filename(), pos(), pos(), integer()) -> {ok, [{integer(), integer(), integer(), integer()}]} | {error, string()}).
  expression_search(FileName, Start, End, TabWidth) ->
      refac_expr_search:expr_search(FileName, Start, End, TabWidth).
  
  
  
  %% ==================================================================================================
  %% @doc Search for expression/expression sequences in the current buffer that are similar to the expression/expression sequence selected by the user.
  %% 
  -spec(similar_expression_search/6::(filename(), pos(), pos(), string(), [dir()], integer()) -> {ok, [{integer(), integer(), integer(), integer()}]} | {error, string()}).
  similar_expression_search(FileName, Start, End, SimiScore, SearchPaths, TabWidth) ->
      refac_sim_expr_search:sim_expr_search(FileName, Start, End, SimiScore, SearchPaths, TabWidth).
  
  %% =====================================================================================================
  %%@doc Introduce a new function to represent an expression or expression sequence.
  
negative.code: %% <li> In the case that the function is imported by another module, then <code>f/n</code> 
  %% should not be already in scope (either defined or imported) in that module. </li>
  %% </p>
  %% <p> Usage: to apply this refactoring, highlight the arguments to be grouped into a tuple from 
  %% the function definition, then select <em> Tuple Function Arguments </em> from <em> Refactor </em>.
  %% </p>
  %% @spec tuple_funpar(FileName::filename(), StartLoc::pos(), EndLoc::pos(), SearchPaths::[dir()], TabWidth:: integer())
  %% -> {error, string()} | {ok, [filename()]}
  -spec(tuple_funpar/5::(filename(), pos(), pos, [dir()], integer()) ->
  	     {error, string()} | {ok, [filename()]}).
  tuple_funpar(FileName, StartLoc, EndLoc,SearchPaths, TabWidth) ->
      try_refactoring(refac_tuple, tuple_funpar, [FileName, StartLoc, EndLoc, SearchPaths, TabWidth]).
  
  
  %%@private
  tuple_funpar_1(FileName, StartLoc, EndLoc,SearchPaths, TabWidth) ->
      try_refactoring(refac_tuple, tuple_funpar_1, [FileName, StartLoc, EndLoc, SearchPaths, TabWidth]).
  
  
  %%@private
  -spec(tuple_funpar_eclipse/5::(filename(), pos(), pos, [dir()], integer()) ->
  	     {error, string()} | {ok, [{filename(), filename(), string()}]}).
  
  tuple_funpar_eclipse(FileName, StartLoc, EndLoc, SearchPaths, TabWidth) ->
      try_refactoring(refac_tuple, tuple_funpar_eclipse, [FileName, StartLoc, EndLoc, SearchPaths, TabWidth]).
  
  %%@private
  tuple_funpar_eclipse_1(FileName, StartLoc, EndLoc, SearchPaths, TabWidth) ->
      try_refactoring(refac_tuple, tuple_funpar_eclipse_1, [FileName, StartLoc, EndLoc, SearchPaths, TabWidth]).
  
  
  
  %%=========================================================================================
  %%@private
  %% @doc From tuple to record representation.
  %%  NOTE: this refactoring is still in an experimental stage.
  %% <p>
  