MAde a few things more orthogonal and did some cleanups:
- Applications now have their (minimal) main prrogram in
  macapplication.c and the rest of the init code in macglue.c.
- A new define, USE_MAC_APPLET_SUPPORT, independent of
  USE_MAC_SHARED_LIB
- chdir to script directory now done in PyMac_InitApplication.
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 @@
 
 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 @@
 }
 
 
-#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 @@
 	char **argv;
 	int err;
 
-#ifdef USE_MAC_SHARED_LIBRARY
 	PyMac_AddLibResources();
-#endif
 #ifdef __MWERKS__
 	SIOUXSettings.asktosaveonclose = 0;
 	SIOUXSettings.showstatusline = 0;
@@ -873,4 +851,34 @@
 	/* 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);
+}