]> git.eshelyaron.com Git - emacs.git/commitdiff
(QUIT): Check for Vthrow_on_input.
authorRichard M. Stallman <rms@gnu.org>
Mon, 13 Dec 2004 18:56:52 +0000 (18:56 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 13 Dec 2004 18:56:52 +0000 (18:56 +0000)
(Vthrow_on_input): Declare it.

src/lisp.h

index 3a7ebfac381ea89a48765189a7819416e8ddb6ff..3dddd6179b2bcb211b7d54ef9e57e9b00297a38e 100644 (file)
@@ -1768,11 +1768,15 @@ extern char *stack_bottom;
 #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 @@ extern int interrupt_input_pending;
   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 struct kboard *echo_kboard;
 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);