Fix -Wimplicit warnings.
[bpt/emacs.git] / src / eval.c
index 36fab72..1f4f852 100644 (file)
@@ -20,6 +20,11 @@ Boston, MA 02111-1307, USA.  */
 
 
 #include <config.h>
+
+#ifdef STDC_HEADERS
+#include <stdlib.h>
+#endif
+
 #include "lisp.h"
 #include "blockinput.h"
 
@@ -162,6 +167,7 @@ Lisp_Object run_hook_with_args ();
 Lisp_Object funcall_lambda ();
 extern Lisp_Object ml_apply (); /* Apply a mocklisp function to unevaluated argument list */
 
+void
 init_eval_once ()
 {
   specpdl_size = 50;
@@ -173,6 +179,7 @@ init_eval_once ()
   Vrun_hooks = Qnil;
 }
 
+void
 init_eval ()
 {
   specpdl_ptr = specpdl;
@@ -199,6 +206,7 @@ call_debugger (arg)
   return apply1 (Vdebugger, arg);
 }
 
+void
 do_debug_on_call (code)
      Lisp_Object code;
 {
@@ -1618,6 +1626,7 @@ un_autoload (oldqueue)
    FUNNAME is the symbol which is the function's name.
    FUNDEF is the autoload definition (a list).  */
 
+void
 do_autoload (fundef, funname)
      Lisp_Object fundef, funname;
 {
@@ -1725,7 +1734,7 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0,
   if (SUBRP (fun))
     {
       Lisp_Object numargs;
-      Lisp_Object argvals[7];
+      Lisp_Object argvals[8];
       Lisp_Object args_left;
       register int i, maxargs;
 
@@ -1819,6 +1828,12 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0,
                                          argvals[6]);
          goto done;
 
+       case 8:
+         val = (*XSUBR (fun)->function) (argvals[0], argvals[1], argvals[2],
+                                         argvals[3], argvals[4], argvals[5],
+                                         argvals[6], argvals[7]);
+         goto done;
+
        default:
          /* Someone has created a subr that takes more arguments than
             is supported by this code.  We need to either rewrite the
@@ -2458,9 +2473,16 @@ Thus, (funcall 'cons 'x 'y) returns (x . y).")
                                          internal_args[6]);
          goto done;
 
+       case 8:
+         val = (*XSUBR (fun)->function) (internal_args[0], internal_args[1],
+                                         internal_args[2], internal_args[3],
+                                         internal_args[4], internal_args[5],
+                                         internal_args[6], internal_args[7]);
+         goto done;
+
        default:
 
-         /* If a subr takes more than 6 arguments without using MANY
+         /* If a subr takes more than 8 arguments without using MANY
             or UNEVALLED, we need to extend this function to support it. 
             Until this is done, there is no way to call the function.  */
          abort ();
@@ -2679,7 +2701,7 @@ specbind (symbol, value)
 
 void
 record_unwind_protect (function, arg)
-     Lisp_Object (*function)();
+     Lisp_Object (*function) P_ ((Lisp_Object));
      Lisp_Object arg;
 {
   if (specpdl_ptr == specpdl + specpdl_size)
@@ -2879,6 +2901,7 @@ If NFRAMES is more than the number of frames, the value is nil.")
     }
 }
 \f
+void
 syms_of_eval ()
 {
   DEFVAR_INT ("max-specpdl-size", &max_specpdl_size,