Bit the bullet and added a private GUSISIOUX for Python. This makes the delayconsole and keepopen code neater. Also tells Sioux to behave better with events, and handles cmd-. during print better. The pythonpreferences have also changed due to this.
diff --git a/Mac/Python/macmain.c b/Mac/Python/macmain.c
index 8dfbdaf..09d8648 100644
--- a/Mac/Python/macmain.c
+++ b/Mac/Python/macmain.c
@@ -53,9 +53,9 @@
 #ifdef USE_MAC_SHARED_LIBRARY
 extern PyMac_AddLibResources(void);
 #endif
-#ifdef USE_GUSI
-#include "GUSISIOUX.h"
-#endif
+//#ifdef USE_GUSI
+//#include "GUSISIOUX.h"
+//#endif
 
 #define STARTUP "PythonStartup"
 
@@ -71,6 +71,14 @@
 static char **orig_argv;
 static int  orig_argc;
 
+/* A flag which remembers whether the user has acknowledged all the console
+** output (by typing something)
+*/
+#define STATE_UNKNOWN 0
+#define STATE_LASTREAD 1
+#define STATE_LASTWRITE 2
+int console_output_state = STATE_UNKNOWN;
+
 PyMac_PrefRecord PyMac_options;
 
 static void Py_Main(int, char **); /* Forward */
@@ -544,12 +552,20 @@
 void
 PyMac_OutputSeen()
 {
-#ifdef GUSISIOUX_STATE_UNKNOWN
-	gusisioux_state = GUSISIOUX_STATE_LASTREAD;
-#endif
+	console_output_state = STATE_LASTREAD;
 }
 
 /*
+** Set the "unseen output" flag
+*/
+void
+PyMac_OutputNotSeen()
+{
+	console_output_state = STATE_LASTWRITE;
+}
+	
+
+/*
 ** Terminate application
 */
 void
@@ -569,15 +585,11 @@
 		keep = 0;
 		break;
 	case POPT_KEEPCONSOLE_OUTPUT:
-#ifdef GUSISIOUX_STATE_UNKNOWN
-		if (gusisioux_state == GUSISIOUX_STATE_LASTWRITE ||
-				gusisioux_state == GUSISIOUX_STATE_UNKNOWN )
+		if (console_output_state == STATE_LASTWRITE ||
+				console_output_state == STATE_UNKNOWN )
 			keep = 1;
 		else
 			keep = 0;
-#else
-		keep = 1;
-#endif
 		break;
 	case POPT_KEEPCONSOLE_ERROR:
 		keep = (status != 0);
@@ -636,3 +648,9 @@
 {
 	return PyMac_GetPythonDir();
 }
+
+int
+PyMac_GetDelayConsoleFlag()
+{
+	return (int)PyMac_options.delayconsole;
+}
\ No newline at end of file