# HG changeset patch # User Richard M. Stallman # Date 1102964212 0 # Node ID ce2e33a2adae15af65dcf4be6b1c60a2d494fd22 # Parent 877029420a0cea4a942de05f7fb33fcd85df69cd (QUIT): Check for Vthrow_on_input. (Vthrow_on_input): Declare it. diff -r 877029420a0c -r ce2e33a2adae src/lisp.h --- a/src/lisp.h Mon Dec 13 14:27:56 2004 +0000 +++ b/src/lisp.h Mon Dec 13 18:56:52 2004 +0000 @@ -1768,11 +1768,15 @@ #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)) \ { \ + Lisp_Object flag = Vquit_flag; \ Vquit_flag = Qnil; \ + if (EQ (Vthrow_on_input, flag)) \ + Fthrow (Vthrow_on_input, Qnil); \ Fsignal (Qquit, Qnil); \ } \ else if (interrupt_input_pending) \ @@ -1785,7 +1789,10 @@ do { \ if (!NILP (Vquit_flag) && NILP (Vinhibit_quit)) \ { \ + Lisp_Object flag = Vquit_flag; \ Vquit_flag = Qnil; \ + if (EQ (Vthrow_on_input, flag)) \ + Fthrow (Vthrow_on_input, Qnil); \ Fsignal (Qquit, Qnil); \ } \ } while (0) @@ -2876,6 +2883,7 @@ extern void cancel_echoing P_ ((void)); extern Lisp_Object Qdisabled, QCfilter; extern Lisp_Object Vtty_erase_char, Vhelp_form, Vtop_level; +extern Lisp_Object Vthrow_on_input; extern int input_pending; EXFUN (Fdiscard_input, 0); EXFUN (Frecursive_edit, 0);