# HG changeset patch # User Jim Blandy # Date 739689661 0 # Node ID 3c4b5489d2b45866fc1816c3b35f287c34366f5a # Parent a9d02b8cec6e2a9ecd06ea58932e68ae03542ee6 * fileio.c (Frename_file): Pass all arguments to the file name handler. * eval.c (call4): New function. diff -r a9d02b8cec6e -r 3c4b5489d2b4 src/eval.c --- 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).") diff -r a9d02b8cec6e -r 3c4b5489d2b4 src/fileio.c --- 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)