anchor.diff:  		  function ->
   		      case get_fun_def_loc(Form) of
   			DefPos ->
  -			    NewPar = refac_syntax:variable(ParName),
  -			    Cs = refac_syntax:function_clauses(Form),
  -			    Cs1 = [replace_clause_body(C, FunName, Exp, Exp1) || C <- Cs],
  -			    Form1 = refac_misc:rewrite(Form, refac_syntax:function(refac_syntax:atom(FunName), Cs1)),
  -			    ClauseToGen = hd(lists:filter(fun (C) -> {EStart, EEnd} = refac_misc:get_start_end_loc(Exp),
  +			      NewPar = refac_syntax:variable(ParName),
  +			      Cs = refac_syntax:function_clauses(Form),
  +			      Cs1 = [replace_clause_body(C, FunName, Exp, Exp1) || C <- Cs],
  +			      Form1 = refac_misc:rewrite(Form, refac_syntax:function(refac_syntax:atom(FunName), Cs1)),
  +			      ClauseToGen = hd(lists:filter(fun (C) -> {EStart, EEnd} = refac_misc:get_start_end_loc(Exp),
   								     {CStart, CEnd} = refac_misc:get_start_end_loc(C),
   								     CStart =< EStart andalso EEnd =< CEnd
   							  end, Cs)),
  
positive.code: 	    end;
  	_ -> As  %% not necessary to be a proper list here.
      end.
  
negative.code: gen_fun_1_eclipse(SideEffect, FileName,ParName, FunName, Arity, DefPos, Exp, SearchPaths,TabWidth, Dups, LogCmd) ->
      gen_fun_1(SideEffect, FileName,ParName, FunName, Arity, DefPos, Exp, SearchPaths, TabWidth, Dups, eclipse,LogCmd).
  
  gen_fun_1(SideEffect, FileName, ParName, FunName, Arity, DefPos, Exp0, SearchPaths, TabWidth, Dups, Editor, LogCmd) ->
      {ok, {AnnAST, Info}} = refac_util:parse_annotate_file(FileName, true, [], TabWidth),
      {ok, ModName} = get_module_name(Info),
      Exp = case Editor of
  	       emacs -> list_to_term(Exp0);
  	       _ -> Exp0
  	   end,
      AnnAST1 = case to_keep_original_fun(FileName, AnnAST, ModName, FunName, Arity, Exp, Info) of
  		true -> add_function(ModName, AnnAST, FunName, DefPos, Exp, SideEffect);
  		false -> AnnAST
  