aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman2005-03-06 16:02:47 +0000
committerRichard M. Stallman2005-03-06 16:02:47 +0000
commitc1788fbc8b4a07004713523e52350edbdc66ade3 (patch)
treef3514f26c97dfd13bcc099bbb028efe86bdd7f28 /src
parentcdf61d83f4f91d1dd1bd3b29d9cc67f447c14726 (diff)
downloademacs-c1788fbc8b4a07004713523e52350edbdc66ade3.tar.gz
emacs-c1788fbc8b4a07004713523e52350edbdc66ade3.zip
(unwind_to_catch): Use UNBLOCK_INPUT_TO.
(Feval, Ffuncall): Use CHECK_CONS_LIST.
Diffstat (limited to 'src')
-rw-r--r--src/eval.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c
index 83e16360473..bf4fec4f8a1 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1176,7 +1176,7 @@ unwind_to_catch (catch, value)
1176 1176
1177 /* Restore certain special C variables. */ 1177 /* Restore certain special C variables. */
1178 set_poll_suppress_count (catch->poll_suppress_count); 1178 set_poll_suppress_count (catch->poll_suppress_count);
1179 interrupt_input_blocked = catch->interrupt_input_blocked; 1179 UNBLOCK_INPUT_TO (catch->interrupt_input_blocked);
1180 handling_signal = 0; 1180 handling_signal = 0;
1181 immediate_quit = 0; 1181 immediate_quit = 0;
1182 1182
@@ -2067,6 +2067,8 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0,
2067 args_left = original_args; 2067 args_left = original_args;
2068 numargs = Flength (args_left); 2068 numargs = Flength (args_left);
2069 2069
2070 CHECK_CONS_LIST ();
2071
2070 if (XINT (numargs) < XSUBR (fun)->min_args || 2072 if (XINT (numargs) < XSUBR (fun)->min_args ||
2071 (XSUBR (fun)->max_args >= 0 && XSUBR (fun)->max_args < XINT (numargs))) 2073 (XSUBR (fun)->max_args >= 0 && XSUBR (fun)->max_args < XINT (numargs)))
2072 return Fsignal (Qwrong_number_of_arguments, Fcons (fun, Fcons (numargs, Qnil))); 2074 return Fsignal (Qwrong_number_of_arguments, Fcons (fun, Fcons (numargs, Qnil)));
@@ -2190,6 +2192,8 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0,
2190 return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); 2192 return Fsignal (Qinvalid_function, Fcons (fun, Qnil));
2191 } 2193 }
2192 done: 2194 done:
2195 CHECK_CONS_LIST ();
2196
2193 lisp_eval_depth--; 2197 lisp_eval_depth--;
2194 if (backtrace.debug_on_exit) 2198 if (backtrace.debug_on_exit)
2195 val = call_debugger (Fcons (Qexit, Fcons (val, Qnil))); 2199 val = call_debugger (Fcons (Qexit, Fcons (val, Qnil)));
@@ -2746,6 +2750,8 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */)
2746 2750
2747 if (SUBRP (fun)) 2751 if (SUBRP (fun))
2748 { 2752 {
2753 CHECK_CONS_LIST ();
2754
2749 if (numargs < XSUBR (fun)->min_args 2755 if (numargs < XSUBR (fun)->min_args
2750 || (XSUBR (fun)->max_args >= 0 && XSUBR (fun)->max_args < numargs)) 2756 || (XSUBR (fun)->max_args >= 0 && XSUBR (fun)->max_args < numargs))
2751 { 2757 {
@@ -2844,6 +2850,7 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */)
2844 return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); 2850 return Fsignal (Qinvalid_function, Fcons (fun, Qnil));
2845 } 2851 }
2846 done: 2852 done:
2853 CHECK_CONS_LIST ();
2847 lisp_eval_depth--; 2854 lisp_eval_depth--;
2848 if (backtrace.debug_on_exit) 2855 if (backtrace.debug_on_exit)
2849 val = call_debugger (Fcons (Qexit, Fcons (val, Qnil))); 2856 val = call_debugger (Fcons (Qexit, Fcons (val, Qnil)));