]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Added mac-only intrpeek routine that peeks for command-.
authorJack Jansen <jack.jansen@cwi.nl>
Thu, 19 Jan 1995 12:12:36 +0000 (12:12 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Thu, 19 Jan 1995 12:12:36 +0000 (12:12 +0000)
Parser/intrcheck.c

index 518cc59b15b9ec8f738c41a8d77cb37d1616c49f..827fcdd2aadfc56debe6471a7d6be6fc4fe5d496 100644 (file)
@@ -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 */