Mercurial > emacs
changeset 60418:887436be5f78
(unwind_to_catch): Use UNBLOCK_INPUT_TO.
(Feval, Ffuncall): Use CHECK_CONS_LIST.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 06 Mar 2005 16:02:47 +0000 |
parents | 4a07536ef0de |
children | 1b47709417bd |
files | src/eval.c |
diffstat | 1 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/eval.c Sun Mar 06 16:01:37 2005 +0000 +++ b/src/eval.c Sun Mar 06 16:02:47 2005 +0000 @@ -1176,7 +1176,7 @@ /* Restore certain special C variables. */ set_poll_suppress_count (catch->poll_suppress_count); - interrupt_input_blocked = catch->interrupt_input_blocked; + UNBLOCK_INPUT_TO (catch->interrupt_input_blocked); handling_signal = 0; immediate_quit = 0; @@ -2067,6 +2067,8 @@ args_left = original_args; numargs = Flength (args_left); + CHECK_CONS_LIST (); + if (XINT (numargs) < XSUBR (fun)->min_args || (XSUBR (fun)->max_args >= 0 && XSUBR (fun)->max_args < XINT (numargs))) return Fsignal (Qwrong_number_of_arguments, Fcons (fun, Fcons (numargs, Qnil))); @@ -2190,6 +2192,8 @@ return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); } done: + CHECK_CONS_LIST (); + lisp_eval_depth--; if (backtrace.debug_on_exit) val = call_debugger (Fcons (Qexit, Fcons (val, Qnil))); @@ -2746,6 +2750,8 @@ if (SUBRP (fun)) { + CHECK_CONS_LIST (); + if (numargs < XSUBR (fun)->min_args || (XSUBR (fun)->max_args >= 0 && XSUBR (fun)->max_args < numargs)) { @@ -2844,6 +2850,7 @@ return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); } done: + CHECK_CONS_LIST (); lisp_eval_depth--; if (backtrace.debug_on_exit) val = call_debugger (Fcons (Qexit, Fcons (val, Qnil)));