anchor.diff:  %%  Translate from LFE to erlang standard options for lfe compiler.
   
   lfe_comp_opts(Opts) ->
  -    Fun = fun ('to-exp') -> to_exp;
  -              ('to-group') -> to_group;
  +    Fun = fun ('to-split') -> to_split;
                 ('to-umac') -> to_umac;
  +              ('to-exp') -> to_exp;
                 ('to-pmod') -> to_pmod;
                 ('to-lint') -> to_lint;
                 ('to-core0') -> to_core0;
  
positive.code: %%         true -> ok;
  %%         false ->  Fun()
  %%     end.
  
  %% group_modules(Forms) -> Modules.
  %%  Flatten all the forms and then group then as separate modules.
  %%  This is done after all "external" transformation of the code.
  
  group_modules(Fs) ->
      {Ms,Last} = lfe_lib:proc_forms(fun collect_form/3, Fs, []),
      Ms ++ return_module(Last).
  
  %% collect_form(Form, Line, State) -> {Forms,State}.
  
  collect_form(['define-module'|_]=Mdef, L, Mfs) ->
      {return_module(Mfs),[{Mdef,L}]};
  collect_form(['eval-when-compile'|Ewcs0], L, Mfs) ->
      {Ewcs1,nul} = lfe_lib:proc_forms(fun (F, _, S) -> {[F],S} end,
                                       Ewcs0, L, nul),
      {[],[{['eval-when-compile'|Ewcs1],L}|Mfs]};
  collect_form(F, L, Mfs) -> {[],[{F,L}|Mfs]}.
  
  return_module([]) -> [];
  return_module(Fs) -> [{ok,[],lists:reverse(Fs),[]}].
  
negative.code: -module(lfe_comp).
  
  -export([file/1,file/2,forms/1,forms/2,default_options/0]).
  
  %% -compile(export_all).
  
  