anchor.diff:      case Editor of
         emacs ->
   	  Res = [{{FileName, FileName}, AnnAST1}],
  -	  refac_util:write_refactored_files_for_preview(Res, Cmd),
  +	  refac_util:write_refactored_files_for_preview(Res, TabWidth, Cmd),
   	  {ok, [FileName]};
         eclipse ->
  -	  FileContent = refac_prettypr:print_ast(refac_util:file_format(FileName), AnnAST1),
  +	  FileContent = refac_prettypr:print_ast(refac_util:file_format(FileName), AnnAST1,TabWidth),
   	  {ok, [{FileName, FileName, FileContent}]}
       end.
   
  
positive.code: 	{value, {category, {macro_name, _Num, _}}} ->
  	    throw({error, "Function abstraction over a macro name in a"
  		   "macro application is not supported."});
  	_ -> true
      end.
  
  is_macro_arg(Fun, Exp) ->
  
negative.code:     end,
      {ok, Fun} = interface_api:expr_to_fun(AnnAST, hd(ExpList)),
      ok = side_cond_analysis(FileName, Info, Fun, ExpList, list_to_atom(NewFunName)),
      fun_extraction_1(FileName, AnnAST, End, Fun, ExpList, NewFunName, Editor, TabWidth, Cmd).
  
  fun_extraction_1(FileName, AnnAST, End, Fun, ExpList, NewFunName, Editor,TabWidth,Cmd) ->
      FunName = refac_syntax:atom_value(refac_syntax:function_name(Fun)),
      FunArity = refac_syntax:function_arity(Fun),
      FunPos = refac_syntax:get_pos(Fun),
  