summaryrefslogtreecommitdiffstats
path: root/Mac/Python/macglue.c
diff options
context:
space:
mode:
Diffstat (limited to 'Mac/Python/macglue.c')
-rw-r--r--Mac/Python/macglue.c56
1 files changed, 32 insertions, 24 deletions
diff --git a/Mac/Python/macglue.c b/Mac/Python/macglue.c
index cab94ce..7135f33 100644
--- a/Mac/Python/macglue.c
+++ b/Mac/Python/macglue.c
@@ -117,7 +117,6 @@ static int in_foreground;
int PyMac_DoYieldEnabled = 1; /* Don't do eventloop when false */
-
/* Convert C to Pascal string. Returns pointer to static buffer. */
unsigned char *
Pstring(char *str)
@@ -787,26 +786,7 @@ PyMac_BuildEventRecord(EventRecord *e)
}
-#ifndef USE_MAC_SHARED_LIBRARY
-
-/* For normal application */
-void
-main()
-{
- int argc;
- char **argv;
-
-#ifdef __MWERKS__
- SIOUXSettings.asktosaveonclose = 0;
- SIOUXSettings.showstatusline = 0;
- SIOUXSettings.tabspaces = 4;
-#endif
- argc = PyMac_GetArgv(&argv);
- Py_Main(argc, argv);
-}
-
-#else /* USE_MAC_SHARED_LIBRARY */
-
+#ifdef USE_MAC_APPLET_SUPPORT
/* Applet support */
/* Run a compiled Python Python script from 'PYC ' resource __main__ */
@@ -850,9 +830,7 @@ PyMac_InitApplet()
char **argv;
int err;
-#ifdef USE_MAC_SHARED_LIBRARY
PyMac_AddLibResources();
-#endif
#ifdef __MWERKS__
SIOUXSettings.asktosaveonclose = 0;
SIOUXSettings.showstatusline = 0;
@@ -873,4 +851,34 @@ PyMac_InitApplet()
/* XXX Should we bother to Py_Exit(sts)? */
}
-#endif /* USE_MAC_SHARED_LIBRARY */
+#endif /* USE_MAC_APPLET_SUPPORT */
+
+/* For normal application */
+void
+PyMac_InitApplication()
+{
+ int argc;
+ char **argv;
+
+#ifdef USE_MAC_SHARED_LIBRARY
+ PyMac_AddLibResources();
+#endif
+#ifdef __MWERKS__
+ SIOUXSettings.asktosaveonclose = 0;
+ SIOUXSettings.showstatusline = 0;
+ SIOUXSettings.tabspaces = 4;
+#endif
+ argc = PyMac_GetArgv(&argv);
+ if ( argc > 1 ) {
+ /* We're running a script. Attempt to change current directory */
+ char curwd[256], *endp;
+
+ strcpy(curwd, argv[1]);
+ endp = strrchr(curwd, ':');
+ if ( endp && endp > curwd ) {
+ *endp = '\0';
+ chdir(curwd);
+ }
+ }
+ Py_Main(argc, argv);
+}