anchor.diff:  info() ->
       "Start a shell with project and deps preloaded similar to~n'erl -pa ebin -pa deps/*/ebin'.~n".
   
  -setup_shell() ->
  +setup_shell(ShellArgs) ->
       OldUser = kill_old_user(),
       %% Test for support here
       NewUser = try erlang:open_port({spawn,"tty_sl -c -e"}, []) of
           Port when is_port(Port) ->
               true = port_close(Port),
  -            setup_new_shell()
  +            setup_new_shell(ShellArgs)
       catch
           error:_ ->
               setup_old_shell()
  
positive.code:                          "A list of apps to boot before starting the "
                           "shell. (E.g. --apps app1,app2,app3) Defaults "
                           "to rebar.config {shell, [{apps, Apps}]} or "
                           "relx apps if not specified."}]}
              ])
      ),
      {ok, State1}.
  
negative.code: shell(State) ->
      setup_name(State),
      setup_paths(State),
      ShellArgs = debug_get_value(shell_args, rebar_state:get(State, shell, []), undefined,
                                  "Found user_drv args from command line option."),
      setup_shell(ShellArgs),
      maybe_run_script(State),
      %% apps must be started after the change in shell because otherwise
      %% their application masters never gets the new group leader (held in
  