changeset 3598:3c4b5489d2b4

* fileio.c (Frename_file): Pass all arguments to the file name handler. * eval.c (call4): New function.
author Jim Blandy <jimb@redhat.com>
date Thu, 10 Jun 1993 05:21:01 +0000
parents a9d02b8cec6e
children 3b928190a3e8
files src/eval.c src/fileio.c
diffstat 2 files changed, 26 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/eval.c	Wed Jun 09 20:28:35 1993 +0000
+++ b/src/eval.c	Thu Jun 10 05:21:01 1993 +0000
@@ -1803,6 +1803,30 @@
 #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).")
--- a/src/fileio.c	Wed Jun 09 20:28:35 1993 +0000
+++ b/src/fileio.c	Thu Jun 10 05:21:01 1993 +0000
@@ -1748,7 +1748,8 @@
      call the corresponding file handler.  */
   handler = Ffind_file_name_handler (filename);
   if (!NILP (handler))
-    return call3 (handler, Qrename_file, filename, newname);
+    return call4 (handler, Qrename_file,
+		  filename, newname, ok_if_already_exists);
 
   if (NILP (ok_if_already_exists)
       || XTYPE (ok_if_already_exists) == Lisp_Int)