anchor.diff:  run_sinan(Args) ->
       case getopt:parse(option_spec_list(), Args) of
           {ok, {Options, NonOptArgs}} ->
  -	    do_build(Options, NonOptArgs);
  -	{error, {Reason, Data}} ->
  +            do_build(Options, NonOptArgs);
  +        {error, {Reason, Data}} ->
               io:format("Error: ~s ~p~n~n", [Reason, Data]),
  -            usage()
  +            usage(),
  +            {error, failed}
       end.
   
   %%====================================================================
  
positive.code: %% system when the run is complete.
  -spec main() -> sin_config:config() | ok.
  main() ->
      run_sinan(),
      case sin_error_store:has_errors() of
  	ErrCount when ErrCount =< 0 ->
  	    init:stop();
  	_ ->
  	    init:stop(101)
      end.
  
  %% @doc do the full run of sinan as required by the command line args
  
negative.code: 
  %% API
  -export([main/0,
           run_sinan/0,
           run_sinan/1,
           do_task/3]).
  
  -export_type([args/0,
                task_name/0]).
  
  -include_lib("eunit/include/eunit.hrl").
  -include("internal.hrl").
  