anchor.diff:  %% </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> 
  +%% <p> Suppose we move function <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 
  
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:     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) ->
  