diff options
Diffstat (limited to 'src/lisp.h')
| -rw-r--r-- | src/lisp.h | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/lisp.h b/src/lisp.h index 6b19396111c..036f1b13330 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -2132,7 +2132,10 @@ extern char *stack_bottom; | |||
| 2132 | Exception: if you set immediate_quit to nonzero, | 2132 | Exception: if you set immediate_quit to nonzero, |
| 2133 | then the handler that responds to the C-g does the quit itself. | 2133 | then the handler that responds to the C-g does the quit itself. |
| 2134 | This is a good thing to do around a loop that has no side effects | 2134 | This is a good thing to do around a loop that has no side effects |
| 2135 | and (in particular) cannot call arbitrary Lisp code. */ | 2135 | and (in particular) cannot call arbitrary Lisp code. |
| 2136 | |||
| 2137 | If quit-flag is set to `kill-emacs' the SIGINT handler has received | ||
| 2138 | a request to exit Emacs when it is safe to do. */ | ||
| 2136 | 2139 | ||
| 2137 | #ifdef SYNC_INPUT | 2140 | #ifdef SYNC_INPUT |
| 2138 | extern void process_pending_signals (void); | 2141 | extern void process_pending_signals (void); |
| @@ -2144,16 +2147,11 @@ extern int pending_signals; | |||
| 2144 | #define ELSE_PENDING_SIGNALS | 2147 | #define ELSE_PENDING_SIGNALS |
| 2145 | #endif /* not SYNC_INPUT */ | 2148 | #endif /* not SYNC_INPUT */ |
| 2146 | 2149 | ||
| 2150 | extern void process_quit_flag (void); | ||
| 2147 | #define QUIT \ | 2151 | #define QUIT \ |
| 2148 | do { \ | 2152 | do { \ |
| 2149 | if (!NILP (Vquit_flag) && NILP (Vinhibit_quit)) \ | 2153 | if (!NILP (Vquit_flag) && NILP (Vinhibit_quit)) \ |
| 2150 | { \ | 2154 | process_quit_flag (); \ |
| 2151 | Lisp_Object flag = Vquit_flag; \ | ||
| 2152 | Vquit_flag = Qnil; \ | ||
| 2153 | if (EQ (Vthrow_on_input, flag)) \ | ||
| 2154 | Fthrow (Vthrow_on_input, Qt); \ | ||
| 2155 | Fsignal (Qquit, Qnil); \ | ||
| 2156 | } \ | ||
| 2157 | ELSE_PENDING_SIGNALS \ | 2155 | ELSE_PENDING_SIGNALS \ |
| 2158 | } while (0) | 2156 | } while (0) |
| 2159 | 2157 | ||
| @@ -3295,6 +3293,7 @@ extern Lisp_Object Qfile_name_handler_alist; | |||
| 3295 | #ifdef FLOAT_CATCH_SIGILL | 3293 | #ifdef FLOAT_CATCH_SIGILL |
| 3296 | extern void fatal_error_signal (int); | 3294 | extern void fatal_error_signal (int); |
| 3297 | #endif | 3295 | #endif |
| 3296 | extern Lisp_Object Qkill_emacs; | ||
| 3298 | EXFUN (Fkill_emacs, 1) NO_RETURN; | 3297 | EXFUN (Fkill_emacs, 1) NO_RETURN; |
| 3299 | #if HAVE_SETLOCALE | 3298 | #if HAVE_SETLOCALE |
| 3300 | void fixup_locale (void); | 3299 | void fixup_locale (void); |