anchor.diff:      try_refactoring(refac_rename_process, rename_process, [FileName, Line, Col, NewName, SearchPaths]).
   
   
  -
  +%% =====================================================================================================
  +%% @doc Introduce a macro to represent a syntactically well-formed expression/pattern or a sequence of expressions/patterns.
  +%% <p> This refactoring allows the user to define a new macro to represent a expression/pattern or sequence of 
  +%% of expressions/patterns selected by the user, and replace the selected code with an application of the macro.
  +%% Free variables within the selected code become the formal parameters of the macro definition.
  +%% </p>
  +%% @spec new_macro(FileName::filename(),Start::pos(), End::pos(), NewMacroName::string(),SearchPaths::[dir()]) ->{error, string()} | {ok, string()}
   -spec(new_macro/5::(filename(), pos(), pos(), string(), [dir()]) ->
   	      {error, string()} | {ok, string()}).
   new_macro(FileName, Start, End, MacroName, SearchPaths) -> 
       try_refactoring(refac_new_macro, new_macro, [FileName, Start, End, MacroName, SearchPaths]).
   
  +
  +%%@private
   -spec(new_macro_eclipse/5::(filename(), pos(), pos(), string(), [dir()]) ->
   	     {error, string()} | {ok, [{filename(), filename(), string()}]}).
   new_macro_eclipse(FileName, Start, End, NewMacroName, SearchPaths) ->
       try_refactoring(refac_new_macro, new_macro_eclipse, [FileName, Start, End, NewMacroName, SearchPaths]).
   
  +%% =============================================================================================
  +%% @doc Fold expressions/patterns against a macro definition.
  +%% <p>
  +%% This refactoring replaces instances of the right-hand side of a macro definition by the corresponding
  +%% left-hand side with necessary parameter substitutions. 
  +%% </p>
  +%% <p> To apply this refactoring, first point the cursor to the macro definition against which candidate 
  +%%  expressions/candidates will be folded; then select <em> Fold Against Macro Definition </em> from the 
  +%% <em> Refactor </em> menu; after that, Wrangler will search the current module for expressions/patterns
  +%% which are instances of the right-hand side of the selected macro definition; and direct you through the 
  +%% refactoring process.
  +%% </p>
   -spec(fold_against_macro/4::(filename(), integer(), integer(), [dir()]) ->
   	      {error, string()} | {ok, [{{{integer(), integer()}, {integer(), integer()}}, syntaxTree()}]}).
   fold_against_macro(FileName, Line, Col, SearchPaths) ->
  
positive.code: 
  %% @copyright 2006-2009 Huiqing Li, Simon Thompson
  %%
  %% @author Huiqing Li <hl@kent.ac.uk>
  %%   [http://www.cs.kent.ac.uk/projects/forse]
  
  %% @version  0.5
  %% @end
  %%
  %% @doc This module describes the refactorings that are currently supported by Wrangler.
  
negative.code: %% <li> The function must be defined in the current module; </li>
  %% <li> The selected part must be a tuple.  </li>
  %% </p>
  %% NOTE: this refactoring is still at an experimental stage.
  %% @spec tuple_to_record(File::filename(),FLine::integer(),FCol::integer(),
  %%           LLine::integer(),LCol::integer(), RecName::string(),
  %%           FieldString::[string()], SearchPaths::[dir()]) ->  {error, string()} | {ok, [filename()]} 
  