anchor.diff:  %% @spec do_task(Chain, Task, Args) -> ok
   %% @end
   %%--------------------------------------------------------------------
  -do_task(Chain, Task, Args) when is_atom(Task) ->
  +do_task(Chain, StartDir, Task, Args) when is_atom(Task) ->
       BuildRef = eta_engine:make_run_id(),
       fconf:start_config(BuildRef,
                          fun sin_parse_handle:parse_config_file/1),
       fconf:store(BuildRef, "build.args", Args),
  +    fconf:store(BuildRef, "build.start_dir", StartDir),
       eta_engine:run(Chain, Task, Args),
       fconf:stop_config(BuildRef).
   
  
positive.code: %% @spec do_task(Task, Args) -> ok
  %% @end
  %%--------------------------------------------------------------------
  do_task(Task, Args) when is_atom(Task) ->
      do_task(sinan, Task, Args).
  
  %%--------------------------------------------------------------------
  %% @doc
  
negative.code: -module(sinan).
  
  %% API
  -export([build/1, build/2,
           analyze/2, analyze/1,
           doc/2, doc/1,
           shell/1, shell/2,
           gen/2, gen/1,
           clean/1, clean/2,
           help/1, help/2,
           depends/1, depends/2,
           test/1, test/2,
           release/1, release/2,
           dist/1, dist/2,
           do_task/3,
           do_task/4,
           start/0]).
  
  %%====================================================================
  