anchor.diff:  	| comment
   	| {comment, comment()}
   	| {emu_args, emu_args()}
  -	| {source, filename() | binary()}
  -	| {beam, filename() | binary()}
  -	| {archive, filename() | binary()}
  +	| {source, file:filename() | binary()}
  +	| {beam, file:filename() | binary()}
  +	| {archive, file:filename() | binary()}
   	| {archive, [zip_file()], [zip_create_option()]}.
   
  +%%-----------------------------------------------------------------------
  +
   %% Create a complete escript file with both header and body
  --spec create(escript_filename() | binary, [section()]) ->
  +-spec create(file:filename() | binary, [section()]) ->
   		    ok | {ok, binary()} | {error, term()}.
   
   create(File, Options) when is_list(Options) ->
  
positive.code: %% Internal API.
  -export([start/0, start/1]).
  
  -include_lib("kernel/include/file.hrl").
  
  -define(SHEBANG,  "/usr/bin/env escript").
  -define(COMMENT,  "This is an -*- erlang -*- file").
  
  -record(state, {file,
                  module,
                  forms_or_bin,
                  source,
                  n_errors,
                  mode,
                  exports_main,
                  has_records}).
  -record(sections, {type,
  		   shebang,
  		   comment,
  		   emu_args,
  		   body}).
  -record(extract_options, {compile_source}).
  
  -type shebang() :: string().
  -type comment() :: string().
  -type emu_args() :: string().
  -type escript_filename() :: string().
  -type filename() :: string().
  -type zip_file() ::
  	filename()
  	| {filename(), binary()}
  	| {filename(), binary(), #file_info{}}.
  -type zip_create_option() :: term().
  -type section() ::
  	  shebang
  
negative.code:             io:format("~s:~w: ~s\n",
                        [S#state.file,Ln,Mod:format_error(Args)]),
              epp_parse_file(Epp, S#state{n_errors = S#state.n_errors + 1}, [Form | Forms]);
          {eof, _LastLine} = Eof ->
              S#state{forms_or_bin = lists:reverse([Eof | Forms])}
      end.
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  