anchor.diff:  locate_import_aux([], Import) ->
       {error, {import_not_found, Import}}.
   
  -format_erl(Mod, Defs) ->
  +format_erl(Mod, Defs, _Opts) ->
       iolist_to_binary(
         [f("%% Automatically generated, do not edit~n"
            "%% Generated by ~p on ~p~n", [?MODULE, calendar:local_time()]),
  
positive.code: file(File) ->
      file(File, []).
  
  %% @spec file(File) -> ok | {error, Reason}
  %%            File = string()
  %%            Opts = [Opt]
  %%            Opt  = {i,directory()}
  file(File, Opts) ->
      case parse_file(File, Opts) of
          {ok, Defs} ->
  
negative.code:      indent(I, f("       occurrence=~w, opts=~p}", [O, Opts]))].
  
  
  format_hrl(Mod, Defs, Opts) ->
      iolist_to_binary(
        [f("-ifndef(~p).~n", [Mod]),
         f("-define(~p, true).~n", [Mod]),
         "\n",
         string:join([format_msg_record(Msg,Fs,Opts) || {{msg,Msg},Fs} <- Defs],
                     "\n"),
         "\n",
         f("-endif.~n")]).
  
  format_msg_record(Msg, Fields, Opts) ->
      [f("-record(~p,~n", [Msg]),
       f("        {"),
       outdent_first(format_hfields(8+1, Fields, Opts)),
       "\n",
       f("        }).~n")].
  
  format_hfields(Indent, Fields, CompileOpts) ->
      TypeSpecs = proplists:get_value(type_specs, CompileOpts, false),
      string:join(
        lists:map(
          fun({I, #field{name=Name, fnum=FNum, type=Type, opts=FOpts}}) ->
                  DefaultStr = case proplists:get_value(default, FOpts, '$no') of
                                   '$no'   -> "";
                                   Default -> f(" = ~p", [Default])
                               end,
  