aboutsummaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
authorStefan Monnier2011-12-04 10:46:07 -0500
committerStefan Monnier2011-12-04 10:46:07 -0500
commit6d5eb5b0d2e50b0dd153a988cc52492cb77fc333 (patch)
treea2dbd96b6b9a3cd154a98bb0b1981203cd5e1e5b /src/eval.c
parenta0c3fad023c0b5812db38d2f1bd41998d7c001b1 (diff)
downloademacs-6d5eb5b0d2e50b0dd153a988cc52492cb77fc333.tar.gz
emacs-6d5eb5b0d2e50b0dd153a988cc52492cb77fc333.zip
Don't macro-inline non-performance-critical code.
* src/eval.c (process_quit_flag): New function. * src/lisp.h (QUIT): Use it.
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c12
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);
1629static int maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig, 1629static int maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig,
1630 Lisp_Object data); 1630 Lisp_Object data);
1631 1631
1632void
1633process_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
1632DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, 1644DEFUN ("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.
1634This function does not return. 1646This function does not return.