diff options
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/eval.c b/src/eval.c index 9b9beabc7c1..079c7ecb6c2 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -1629,6 +1629,18 @@ static Lisp_Object find_handler_clause (Lisp_Object, Lisp_Object); | |||
| 1629 | static int maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig, | 1629 | static int maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig, |
| 1630 | Lisp_Object data); | 1630 | Lisp_Object data); |
| 1631 | 1631 | ||
| 1632 | void | ||
| 1633 | process_quit_flag (void) | ||
| 1634 | { | ||
| 1635 | Lisp_Object flag = Vquit_flag; | ||
| 1636 | Vquit_flag = Qnil; | ||
| 1637 | if (EQ (flag, Qkill_emacs)) | ||
| 1638 | Fkill_emacs (Qnil); | ||
| 1639 | if (EQ (Vthrow_on_input, flag)) | ||
| 1640 | Fthrow (Vthrow_on_input, Qt); | ||
| 1641 | Fsignal (Qquit, Qnil); | ||
| 1642 | } | ||
| 1643 | |||
| 1632 | DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, | 1644 | DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, |
| 1633 | doc: /* Signal an error. Args are ERROR-SYMBOL and associated DATA. | 1645 | doc: /* Signal an error. Args are ERROR-SYMBOL and associated DATA. |
| 1634 | This function does not return. | 1646 | This function does not return. |