staMain init_filename arg
This commit is contained in:
parent
e7d8689f70
commit
bbdb4ea5bc
|
|
@ -49,7 +49,7 @@ main(int argc,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Sta *sta = new Sta;
|
Sta *sta = new Sta;
|
||||||
staMain(sta, argc, argv, Sta_Init, sta::tcl_inits);
|
staMain(sta, argc, argv, ".sta", Sta_Init, sta::tcl_inits);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,15 +29,15 @@ typedef sta::Vector<SwigInitFunc> SwigInitFuncSeq;
|
||||||
// "Arguments" passed to staTclAppInit.
|
// "Arguments" passed to staTclAppInit.
|
||||||
static int sta_argc;
|
static int sta_argc;
|
||||||
static char **sta_argv;
|
static char **sta_argv;
|
||||||
|
static const char *sta_init_filename;
|
||||||
static const char **sta_tcl_inits;
|
static const char **sta_tcl_inits;
|
||||||
static SwigInitFunc sta_swig_init;
|
static SwigInitFunc sta_swig_init;
|
||||||
|
|
||||||
static const char *init_filename = "[file join $env(HOME) .sta]";
|
|
||||||
|
|
||||||
void
|
void
|
||||||
staMain(Sta *sta,
|
staMain(Sta *sta,
|
||||||
int argc,
|
int argc,
|
||||||
char *argv[],
|
char *argv[],
|
||||||
|
const char *init_filename,
|
||||||
SwigInitFunc swig_init,
|
SwigInitFunc swig_init,
|
||||||
const char *tcl_inits[])
|
const char *tcl_inits[])
|
||||||
{
|
{
|
||||||
|
|
@ -49,7 +49,7 @@ staMain(Sta *sta,
|
||||||
int thread_count = parseThreadsArg(argc, argv);
|
int thread_count = parseThreadsArg(argc, argv);
|
||||||
sta->setThreadCount(thread_count);
|
sta->setThreadCount(thread_count);
|
||||||
|
|
||||||
staSetupAppInit(argc, argv, swig_init, tcl_inits);
|
staSetupAppInit(argc, argv, init_filename, swig_init, tcl_inits);
|
||||||
// Set argc to 1 so Tcl_Main doesn't source any files.
|
// Set argc to 1 so Tcl_Main doesn't source any files.
|
||||||
// Tcl_Main never returns.
|
// Tcl_Main never returns.
|
||||||
Tcl_Main(1, argv, staTclAppInit);
|
Tcl_Main(1, argv, staTclAppInit);
|
||||||
|
|
@ -75,11 +75,13 @@ parseThreadsArg(int &argc,
|
||||||
void
|
void
|
||||||
staSetupAppInit(int argc,
|
staSetupAppInit(int argc,
|
||||||
char *argv[],
|
char *argv[],
|
||||||
|
const char *init_filename,
|
||||||
SwigInitFunc swig_init,
|
SwigInitFunc swig_init,
|
||||||
const char *tcl_inits[])
|
const char *tcl_inits[])
|
||||||
{
|
{
|
||||||
sta_argc = argc;
|
sta_argc = argc;
|
||||||
sta_argv = argv;
|
sta_argv = argv;
|
||||||
|
sta_init_filename = init_filename;
|
||||||
sta_tcl_inits = tcl_inits;
|
sta_tcl_inits = tcl_inits;
|
||||||
sta_swig_init = swig_init;
|
sta_swig_init = swig_init;
|
||||||
}
|
}
|
||||||
|
|
@ -110,8 +112,11 @@ staTclAppInit(Tcl_Interp *interp)
|
||||||
Tcl_Eval(interp, "sta::define_sta_cmds");
|
Tcl_Eval(interp, "sta::define_sta_cmds");
|
||||||
Tcl_Eval(interp, "namespace import sta::*");
|
Tcl_Eval(interp, "namespace import sta::*");
|
||||||
|
|
||||||
if (!findCmdLineFlag(argc, argv, "-no_init"))
|
if (!findCmdLineFlag(argc, argv, "-no_init")) {
|
||||||
sourceTclFile(init_filename, true, true, interp);
|
char *init_path = stringPrintTmp("[file join $env(HOME) %s]",
|
||||||
|
sta_init_filename);
|
||||||
|
sourceTclFile(init_path, true, true, interp);
|
||||||
|
}
|
||||||
|
|
||||||
bool exit_after_cmd_file = findCmdLineFlag(argc, argv, "-exit");
|
bool exit_after_cmd_file = findCmdLineFlag(argc, argv, "-exit");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ void
|
||||||
staMain(Sta *sta,
|
staMain(Sta *sta,
|
||||||
int argc,
|
int argc,
|
||||||
char *argv[],
|
char *argv[],
|
||||||
|
const char *init_filename,
|
||||||
SwigInitFunc swig_init,
|
SwigInitFunc swig_init,
|
||||||
const char *tcl_inits[]);
|
const char *tcl_inits[]);
|
||||||
|
|
||||||
|
|
@ -37,6 +38,7 @@ staMain(Sta *sta,
|
||||||
void
|
void
|
||||||
staSetupAppInit(int argc,
|
staSetupAppInit(int argc,
|
||||||
char *argv[],
|
char *argv[],
|
||||||
|
const char *init_filename,
|
||||||
SwigInitFunc swig_init,
|
SwigInitFunc swig_init,
|
||||||
const char *tcl_inits[]);
|
const char *tcl_inits[]);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue