Added mac-only intrpeek routine that peeks for command-.
diff --git a/Parser/intrcheck.c b/Parser/intrcheck.c
index 518cc59..827fcdd 100644
--- a/Parser/intrcheck.c
+++ b/Parser/intrcheck.c
@@ -24,11 +24,6 @@
 
 /* Check for interrupts */
 
-#ifdef THINK_C
-#include <MacHeaders>
-#define macintosh
-#endif
-
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -36,6 +31,14 @@
 #include "myproto.h"
 #include "intrcheck.h"
 
+#ifdef macintosh
+#ifdef THINK_C
+#include <OSEvents.h>
+#endif
+#include <Events.h>
+#endif
+
+
 
 #ifdef QUICKWIN
 
@@ -161,6 +164,28 @@
 	return 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 0. The mainloop will then pick up the cmd-. soon
+** thereafter.
+*/
+int
+intrpeek()
+{
+	register EvQElPtr q;
+	
+	q = (EvQElPtr) GetEvQHdr()->qHead;
+	
+	for (; q; q = (EvQElPtr)q->qLink) {
+		if (q->evtQWhat == keyDown &&
+				(char)q->evtQMessage == '.' &&
+				(q->evtQModifiers & cmdKey) != 0) {
+			return 1;
+		}
+	}
+	return 0;
+}
+
 #define OK
 
 #endif /* macintosh */