anchor.diff:  	 {"-S","generate assembly listing (Erlang compiler)"},
   	 {"-P","generate listing of preprocessed code (Erlang compiler)"},
   	 {"+term","pass the Erlang term unchanged to the compiler"}],
  -    io:put_chars(?STDERR,
  -		 ["Usage: erlc [Options] file.ext ...\n",
  -		  "Options:\n",
  -		  [io_lib:format("~-14s ~s\n", [K,D]) || {K,D} <- H]]),
  -    error.
  +    Msg = [Error,
  +           "Usage: erlc [Options] file.ext ...\n",
  +           "Options:\n",
  +           [io_lib:format("~-14s ~s\n", [K,D]) || {K,D} <- H]],
  +    throw({error, Msg}).
   
   get_option(_Name, [], [[C|_]=Option|T]) when C =/= $- ->
       {Option,T};
   get_option(_Name, [_|_]=Option, T) ->
       {Option,T};
   get_option(Name, _, _) ->
  -    exit({compiler_error,"No value given to -"++Name++" option"}).
  +    throw({error, "No value given to -"++Name++" option\n"}).
   
   split_at_equals([$=|T], Acc) ->
       {lists:reverse(Acc),T};
  
positive.code: -include("erl_compile.hrl").
  -include("file.hrl").
  
  -export([compile_cmdline/0]).
  
  -export_type([cmd_line_arg/0]).
  
  -define(STDERR, standard_error).		%Macro to avoid misspellings.
  
  %% Mapping from extension to {M,F} to run the correct compiler.
  
  
negative.code: parse_generic_option("S", T, #options{specific=Spec}=Opts) ->
      compile1(T, Opts#options{specific=['S'|Spec]});
  parse_generic_option(Option, _T, _Opts) ->
      usage(io_lib:format("Unknown option: -~ts\n", [Option])).
  
  parse_dep_option("", T) ->
      {[makedep,{makedep_output,standard_io}],T};
  