anchor.diff:  %% @doc Some  utility functions used by Wranlger.
   %% @end
   %% ============================================
  --module(refac_util).
  +-module(refac_util).   
   
   -export([ghead/2, glast/2, to_lower/1, to_upper/1,
   	 try_evaluation/1, is_var_name/1, is_fun_name/1,
  
positive.code: add_range_to_list_node(Node, Toks, Es, Str1, Str2, KeyWord1, KeyWord2) ->
      Hd = ghead(Str1, Es),
      La = glast(Str2, Es),
      {S1, E1} = get_range(Hd),
      {_S2, E2} = get_range(La),
      S11 = extend_forwards(Toks, S1, KeyWord1),
      E21= extend_backwards(Toks, E2, KeyWord2),
  
negative.code:       -> {ok, {syntaxTree(), moduleInfo()}}).
  parse_annotate_file(FName, ByPassPreP, SearchPaths, TabWidth) ->
      FileFormat =file_format(FName),     
      case whereis(wrangler_ast_server) of  
  	undefined ->        %% this should not happen with Wrangler + Emacs.
  	    ?wrangler_io("wrangler_ast_aserver is not defined\n",[]),
  	    parse_annotate_file_1(FName, ByPassPreP, SearchPaths, TabWidth, FileFormat);
  	_ ->
  	    wrangler_ast_server:get_ast({FName, ByPassPreP, SearchPaths, TabWidth, FileFormat})
      end.
       
  
  
  -spec(parse_annotate_file_1(FName::filename(), ByPassPreP::boolean(), SearchPaths::[dir()], integer(), atom())
  