diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 1995-01-19 12:12:36 +0000 |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 1995-01-19 12:12:36 +0000 |
commit | 0b6d63f0c85961828247f6350bda3a08fe550a7e (patch) | |
tree | 4e0c33ed1a22f7b56cdad2b1bf33d5bd6d09fbda /Parser | |
parent | eb67d587bcccbc59f4320d42aad90936699e4794 (diff) | |
download | cpython-0b6d63f0c85961828247f6350bda3a08fe550a7e.tar.gz |
Added mac-only intrpeek routine that peeks for command-.
Diffstat (limited to 'Parser')
-rw-r--r-- | Parser/intrcheck.c | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/Parser/intrcheck.c b/Parser/intrcheck.c index 518cc59b15..827fcdd2aa 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 <MacHeaders> -#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 <OSEvents.h> +#endif +#include <Events.h> +#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 */ |