From febf811a2dc03e52b1b91205a8342e42b93ff482 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Thu, 19 Jan 1995 12:12:36 +0000 Subject: [PATCH] Added mac-only intrpeek routine that peeks for command-. --- Parser/intrcheck.c | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/Parser/intrcheck.c b/Parser/intrcheck.c index 518cc59b15b..827fcdd2aad 100644 --- a/Parser/intrcheck.c +++ b/Parser/intrcheck.c @@ -24,11 +24,6 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. /* Check for interrupts */ -#ifdef THINK_C -#include -#define macintosh -#endif - #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -36,6 +31,14 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #include "myproto.h" #include "intrcheck.h" +#ifdef macintosh +#ifdef THINK_C +#include +#endif +#include +#endif + + #ifdef QUICKWIN @@ -161,6 +164,28 @@ intrcheck() 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 */