- Restore SIOUX menubar just before exiting, if the console window is kept
  open (so the user can quit with cmd-Q, print, etc)
- Removed a few unused routines
diff --git a/Mac/Python/macglue.c b/Mac/Python/macglue.c
index 5d7c2c7..033e02e 100644
--- a/Mac/Python/macglue.c
+++ b/Mac/Python/macglue.c
@@ -160,6 +160,11 @@
 int PyMac_ConsoleIsDead;
 
 /*
+** Sioux menu bar, saved early so we can restore it
+*/
+static Handle sioux_mbar;
+
+/*
 ** Some stuff for our GetDirectory and PromptGetFile routines
 */
 struct hook_args {
@@ -415,8 +420,6 @@
 	}
 }
 
-#define TICKCOUNT 6
-
 int
 PyOS_InterruptOccurred()
 {
@@ -426,6 +429,7 @@
 			schedparams.next_check = (unsigned long)LMGetTicks()
 					 + schedparams.check_interval;
 			if (interrupted) {
+				scan_event_queue(1);	/* Eat events up to cmd-. */
 				interrupted = 0;
 				return 1;
 			}
@@ -434,23 +438,6 @@
 	return 0;
 }
 
-#if 0
-
-/* intrpeek() is like intrcheck(), but it doesn't flush the events. The
-** idea is that you call intrpeek() somewhere in a busy-wait loop, and return
-** None as soon as it returns 1. The mainloop will then pick up the cmd-. soon
-** thereafter.
-*/
-static int
-intrpeek()
-{
-#ifdef THINK_C
-	scan_event_queue(0);
-#endif
-	return interrupted;
-}
-#endif
-
 /* Check whether we are in the foreground */
 int
 PyMac_InForeground()
@@ -505,6 +492,7 @@
 		}
 	}
 #endif /* !__MWERKS__ */
+	printf("not handled\n");
 }
 
 /*
@@ -596,21 +584,37 @@
 		schedparams.enabled = 0;
 	schedparams.next_check = 0;	/* Check immedeately */
 }
+
 /*
 ** Install our menu bar.
 */
 void
 PyMac_InitMenuBar()
 {
-	Handle bar;
 	MenuHandle applemenu;
 	
-	if ( (bar=GetMenuBar()) == NULL ) return;
+	if ( (sioux_mbar=GetMenuBar()) == NULL )  {
+		/* Sioux menu not installed yet. Do so */
+		SIOUXSetupMenus();
+		if ( (sioux_mbar=GetMenuBar()) == NULL )
+			return;
+	}
 	if ( (applemenu=GetMenuHandle(SIOUX_APPLEID)) == NULL ) return;
 	SetMenuItemText(applemenu, 1, "\pAbout Python...");
 }
 
 /*
+** Restore sioux menu bar
+*/
+void
+PyMac_RestoreMenuBar()
+{
+	if ( sioux_mbar )
+		SetMenuBar(sioux_mbar);
+}
+
+
+/*
 ** Our replacement about box
 */
 void
diff --git a/Mac/Python/macmain.c b/Mac/Python/macmain.c
index 8fd7bd2..49563a3 100644
--- a/Mac/Python/macmain.c
+++ b/Mac/Python/macmain.c
@@ -214,6 +214,7 @@
 
 #ifdef USE_SIOUX
 	/* Set various SIOUX flags. Some are changed later based on options */
+/*	SIOUXSettings.standalone = 0;	/* XXXX Attempting to keep sioux from eating events */
 	SIOUXSettings.asktosaveonclose = 0;
 	SIOUXSettings.showstatusline = 0;
 	SIOUXSettings.tabspaces = 4;
@@ -462,6 +463,7 @@
 		SIOUXSettings.standalone = 1;
 		SIOUXSettings.autocloseonquit = 0;
 		SIOUXSetTitle("\p\307terminated\310");
+		PyMac_RestoreMenuBar();
 #ifdef USE_MSL
 		/*
 		** Temporary workaround: autocloseonquit clearing does not