diff --git a/Include/pgenheaders.h b/Include/pgenheaders.h
index 4712431..59c7e32 100644
--- a/Include/pgenheaders.h
+++ b/Include/pgenheaders.h
@@ -25,11 +25,15 @@
 /* Include files and extern declarations used by most of the parser.
    This is a precompiled header for THINK C. */
 
+#ifdef THINK_C
+#define macintosh
+/* #define THINK_C_3_0		/*** TURN THIS ON FOR THINK C 3.0 ***/
+#endif
+
 #include <stdio.h>
 #include <string.h>
 
 #ifdef THINK_C
-/* #define THINK_C_3_0			/*** TURN THIS ON FOR THINK C 3.0 ****/
 #define label label_
 #undef label
 #endif
@@ -38,7 +42,7 @@
 #include <proto.h>
 #endif
 
-#ifdef THINK_C
+#ifdef macintosh
 #ifndef THINK_C_3_0
 #include <stdlib.h>
 #endif
diff --git a/Parser/intrcheck.c b/Parser/intrcheck.c
index 8dbeb5f..ee14eca 100644
--- a/Parser/intrcheck.c
+++ b/Parser/intrcheck.c
@@ -24,6 +24,11 @@
 
 /* Check for interrupts */
 
+#ifdef THINK_C
+#define macintosh
+#endif
+
+
 #ifdef MSDOS
 
 /* This might work for MS-DOS (untested though): */
@@ -49,19 +54,26 @@
 #endif
 
 
-#ifdef THINK_C
+#ifdef macintosh
 
+#ifdef THINK_C
 /* This is for THINK C 4.0.
    For 3.0, you may have to remove the signal stuff. */
-
 #include <MacHeaders>
+#else
+/* This is for MPW 3.1 */
+/* XXX Untested */
+#include <OSEvents.h>
+#include <SysEqu.h>
+#endif
+
 #include <signal.h>
 #include "sigtype.h"
 
 static int interrupted;
 
 static SIGTYPE
-intcatcher(sig)
+intcatcher(ig)
 	int sig;
 {
 	interrupted = 1;
@@ -80,17 +92,15 @@
 {
 	register EvQElPtr q;
 	
-	/* This is like THINK C 4.0's <console.h>.
-	   I'm not sure why FlushEvents must be called from asm{}. */
-	for (q = (EvQElPtr)EventQueue.qHead; q; q = (EvQElPtr)q->qLink) {
+	/* This is like THINK C 4.0's <console.h> */
+	/* q = (EvQElPtr) EventQueue.qHead; */
+	q = (EvQElPtr) GetEvQHdr()->qHead;
+	
+	for (; q; q = (EvQElPtr)q->qLink) {
 		if (q->evtQWhat == keyDown &&
 				(char)q->evtQMessage == '.' &&
 				(q->evtQModifiers & cmdKey) != 0) {
-			
-			asm {
-				moveq	#keyDownMask,d0
-				_FlushEvents
-			}
+			FlushEvents(keyDownMask, 0);
 			interrupted = 1;
 			break;
 		}
@@ -104,7 +114,7 @@
 
 #define OK
 
-#endif /* THINK_C */
+#endif /* macintosh */
 
 
 #ifndef OK
diff --git a/Parser/pgenmain.c b/Parser/pgenmain.c
index c1bd486..da6aa2e 100644
--- a/Parser/pgenmain.c
+++ b/Parser/pgenmain.c
@@ -42,7 +42,7 @@
 
 /* Forward */
 grammar *getgrammar PROTO((char *filename));
-#ifdef THINK_C
+#ifdef macintosh
 int main PROTO((int, char **));
 char *askfile PROTO((void));
 #endif
@@ -57,7 +57,7 @@
 	FILE *fp;
 	char *filename;
 	
-#ifdef THINK_C
+#ifdef macintosh
 	filename = askfile();
 #else
 	if (argc != 2) {
@@ -115,7 +115,7 @@
 	return g;
 }
 
-#ifdef THINK_C
+#ifdef macintosh
 char *
 askfile()
 {
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index 62a3da0..ccff9d1 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -37,7 +37,7 @@
 #include "tokenizer.h"
 #include "errcode.h"
 
-#ifdef THINK_C
+#ifdef macintosh
 #define TABSIZE 4
 #endif
 
diff --git a/Python/import.c b/Python/import.c
index a4995ea..f62d1d2 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -37,13 +37,9 @@
 #include "compile.h"
 #include "ceval.h"
 
-#ifdef THINK_C
-#define macintosh
-#endif
-
 /* Define pathname separator used in file names */
 
-#ifdef THINK_C
+#ifdef macintosh
 #define SEP ':'
 #endif
 
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index e66223e..69489c8 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -45,7 +45,7 @@
 
 /* Define delimiter used in $PYTHONPATH */
 
-#ifdef THINK_C
+#ifdef macintosh
 #define DELIM ' '
 #endif
 
