# HG changeset patch # User Stefan Monnier # Date 1074662641 0 # Node ID c6460069583e91a263766aab1e963b749415025b # Parent 4d786e2695ba24d48a29cfa3574ffd9792e5abab (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well. diff -r 4d786e2695ba -r c6460069583e src/lisp.h --- a/src/lisp.h Wed Jan 21 05:15:12 2004 +0000 +++ b/src/lisp.h Wed Jan 21 05:24:01 2004 +0000 @@ -1726,6 +1726,22 @@ This is a good thing to do around a loop that has no side effects and (in particular) cannot call arbitrary Lisp code. */ +#ifdef SYNC_INPUT +extern void handle_async_input P_ ((void)); +extern int interrupt_input_pending; +#define QUIT \ + do { \ + if (!NILP (Vquit_flag) && NILP (Vinhibit_quit)) \ + { \ + Vquit_flag = Qnil; \ + Fsignal (Qquit, Qnil); \ + } \ + else if (interrupt_input_pending) \ + handle_async_input (); \ + } while (0) + +#else /* not SYNC_INPUT */ + #define QUIT \ do { \ if (!NILP (Vquit_flag) && NILP (Vinhibit_quit)) \ @@ -1735,6 +1751,9 @@ } \ } while (0) +#endif /* not SYNC_INPUT */ + + /* Nonzero if ought to quit now. */ #define QUITP (!NILP (Vquit_flag) && NILP (Vinhibit_quit))