aboutsummaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
authorJim Blandy <[email protected]>1993-06-10 05:21:01 +0000
committerJim Blandy <[email protected]>1993-06-10 05:21:01 +0000
commita5a44b91052c1b841c8aeccf4c563242072a3ad8 (patch)
treef8a362ac7ba2a133626037daab6eed7925bf5ad3 /src/eval.c
parent5ac622b20185fdde788fe9786b7ab7edfc687b69 (diff)
* fileio.c (Frename_file): Pass all arguments to the file name handler.
* eval.c (call4): New function.
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/eval.c b/src/eval.c
index 2812c79e0d..476f663f09 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1803,6 +1803,30 @@ call3 (fn, arg, arg1, arg2)
#endif /* not NO_ARG_ARRAY */
}
+/* Call function fn with arguments arg, arg1, arg2, arg3 */
+/* ARGSUSED */
+Lisp_Object
+call4 (fn, arg, arg1, arg2, arg3)
+ Lisp_Object fn, arg, arg1, arg2, arg3;
+{
+ struct gcpro gcpro1;
+#ifdef NO_ARG_ARRAY
+ Lisp_Object args[5];
+ args[0] = fn;
+ args[1] = arg;
+ args[2] = arg1;
+ args[3] = arg2;
+ args[4] = arg3;
+ GCPRO1 (args[0]);
+ gcpro1.nvars = 5;
+ RETURN_UNGCPRO (Ffuncall (5, args));
+#else /* not NO_ARG_ARRAY */
+ GCPRO1 (fn);
+ gcpro1.nvars = 5;
+ RETURN_UNGCPRO (Ffuncall (5, &fn));
+#endif /* not NO_ARG_ARRAY */
+}
+
DEFUN ("funcall", Ffuncall, Sfuncall, 1, MANY, 0,
"Call first argument as a function, passing remaining arguments to it.\n\
Thus, (funcall 'cons 'x 'y) returns (x . y).")