summaryrefslogtreecommitdiffstats
path: root/unix/tclAppInit.c
diff options
context:
space:
mode:
authorredman <redman>1999-12-02 02:03:16 (GMT)
committerredman <redman>1999-12-02 02:03:16 (GMT)
commit15e8d4b1c9361379bd0e85f25f3f9ebb035ef12f (patch)
tree16cb4502c47ea8cd6f0e507e1e7e9ef7f76801a6 /unix/tclAppInit.c
parentf4b89549e3d518586b3df6097b4c7dfd3f0532e7 (diff)
downloadtcl-15e8d4b1c9361379bd0e85f25f3f9ebb035ef12f.zip
tcl-15e8d4b1c9361379bd0e85f25f3f9ebb035ef12f.tar.gz
tcl-15e8d4b1c9361379bd0e85f25f3f9ebb035ef12f.tar.bz2
* generic/tcl.decls :
* generic/tclMain.c : * unix/tclAppInit.c: * win/tclAppInit.c: Added two new internal functions, TclSetStartupScriptFileName() and TclGetStartupScriptFileName() and added hooks into the main() code for supporting TclPro and other "big" shells more easily without requiring a copy of the main() code. * generic/tclEncoding.c: * generic/tclEvent.c: Moved encoding-related startup code from tclEvent.c into the more appropriate tclEncoding.c.
Diffstat (limited to 'unix/tclAppInit.c')
-rw-r--r--unix/tclAppInit.c31
1 files changed, 29 insertions, 2 deletions
diff --git a/unix/tclAppInit.c b/unix/tclAppInit.c
index 45d86eb..c1126ae 100644
--- a/unix/tclAppInit.c
+++ b/unix/tclAppInit.c
@@ -11,7 +11,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclAppInit.c,v 1.7 1999/10/13 00:32:49 hobbs Exp $
+ * RCS: @(#) $Id: tclAppInit.c,v 1.8 1999/12/02 02:03:32 redman Exp $
*/
#include "tcl.h"
@@ -66,6 +66,28 @@ main(argc, argv)
int argc; /* Number of command-line arguments. */
char **argv; /* Values of command-line arguments. */
{
+ /*
+ * The following #if block allows you to change the AppInit
+ * function by using a #define of TCL_LOCAL_APPINIT instead
+ * of rewriting this entire file. The #if checks for that
+ * #define and uses Tcl_AppInit if it doesn't exist.
+ */
+
+#ifndef TCL_LOCAL_APPINIT
+#define TCL_LOCAL_APPINIT Tcl_AppInit
+#endif
+ extern int TCL_LOCAL_APPINIT _ANSI_ARGS_((Tcl_Interp *interp));
+
+ /*
+ * The following #if block allows you to change how Tcl finds the startup
+ * script, prime the library or encoding paths, fiddle with the argv,
+ * etc., without needing to rewrite Tcl_Main()
+ */
+
+#ifdef TCL_LOCAL_MAIN_HOOK
+ extern int TCL_LOCAL_MAIN_HOOK _ANSI_ARGS_((int *argc, char ***argv));
+#endif
+
#ifdef TCL_TEST
/*
* Pass the build time location of the tcl library (to find init.tcl)
@@ -83,7 +105,12 @@ main(argc, argv)
XtToolkitInitialize();
#endif
- Tcl_Main(argc, argv, Tcl_AppInit);
+#ifdef TCL_LOCAL_MAIN_HOOK
+ TCL_LOCAL_MAIN_HOOK(&argc, &argv);
+#endif
+
+ Tcl_Main(argc, argv, TCL_LOCAL_APPINIT);
+
return 0; /* Needed only to prevent compiler warning. */
}