1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-18 18:05:07 +00:00

* fileio.c (Frename_file): Pass all arguments to the file name handler.

* eval.c (call4): New function.
This commit is contained in:
Jim Blandy 1993-06-10 05:21:01 +00:00
parent 5ac622b201
commit a5a44b9105
2 changed files with 26 additions and 1 deletions

View File

@ -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).")

View File

@ -1748,7 +1748,8 @@ This is what happens in interactive use with M-x.")
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)