# HG changeset patch # User Richard M. Stallman # Date 1110124967 0 # Node ID 887436be5f78ae320126573ec47ea87a6089cd4c # Parent 4a07536ef0de746d346ee52ad842c158a82ca44f (unwind_to_catch): Use UNBLOCK_INPUT_TO. (Feval, Ffuncall): Use CHECK_CONS_LIST. diff -r 4a07536ef0de -r 887436be5f78 src/eval.c --- 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)));