anchor.diff:      end.
   
   slurp_file(Name) ->
  -    %% Parse, expand macros and lint file.
  -    case lfe_io:parse_file(Name) of
  -        {ok,Fs0} ->
  -            case lfe_macro:expand_forms(Fs0, lfe_env:new()) of
  -                {ok,Fs1,Fenv,_} ->
  -                    case lfe_comp:group_modules(Fs1) of
  -                        [{ok,_,Fs2,_}] ->       %Only single module
  -                            case lfe_lint:module(Fs2) of
  -                                {ok,_,Ws} -> {ok,Fs2,Fenv,Ws};
  -                                {error,_,_}=Error -> Error
  -                            end;
  -                        _ -> {error,[{0,lfe_lint,{bad_mdef,multi}}],[]}
  -                    end;
  -                {error,_,_}=Error -> Error
  -            end;
  -        {error,E} -> {error,[E],[]}
  +    case lfe_comp:file(Name, [binary,to_lint,return]) of
  +	{ok,[{ok,Mod,Fs,Mws}|_],Ws} ->		%Only do first module
  +	    {ok,Mod,Fs,Ws ++ Mws};
  +	{error,_,_}=Error ->
  +	    Error
       end.
   
   slurp_errors(File, Es) -> slurp_ews(File, "~s:~w: ~s\n", Es).
  
positive.code: -import(lfe_env, [new/0,add_env/2,
                    add_vbinding/3,add_vbindings/2,is_vbound/2,get_vbinding/2,
                    fetch_vbinding/2,del_vbinding/2,
                    add_fbinding/4,add_fbindings/3,get_fbinding/3,add_ibinding/5,
                    get_gbinding/3,add_mbinding/3]).
  
  -import(orddict, [store/3,find/2]).
  
negative.code:             {error,St1}
      end.
  
  slurp_1(Name, Ce0) ->
      case slurp_file(Name) of
  	{ok,Mod,Fs,Ws} ->
  	    slurp_warnings(Name, Ws),
  	    Sl0 = #slurp{mod=Mod,imps=[]},
  	    {Fbs,Sl1} = lfe_lib:proc_forms(fun collect_form/3, Fs, Sl0),
              %% Add imports to environment.
              Ce1 = foldl(fun ({M,Is}, Env) ->
  				foldl(fun ({{F,A},R}, E) ->
  					      add_ibinding(M, F, A, R, E)
  				      end, Env, Is)
  			end, Ce0, Sl1#slurp.imps),
  	    %% Add functions to environment.
  	    Ce2 = foldl(fun ({N,Ar,Def}, Env) ->
  				lfe_eval:add_dynamic_func(N, Ar, Def, Env)
  			end, Ce1, Fbs),
  	    {ok,Mod,Ce2};
          {error,Es,Ws} ->
              slurp_errors(Name, Es),
              slurp_warnings(Name, Ws),
  