* src/bytecode.c (bcall0):
* src/comp.c (bcall0):
* src/eval.c (apply1):
* src/lisp.h (call0):
* src/thread.c (invoke_thread_function): Use calln instead of calling
Ffuncall directly.
* admin/coccinelle/calln.cocci: New semantic patch.
(cherry picked from commit
16c89c5ae5ec0c002c327793e783f0a943bacb0d)
--- /dev/null
+// Use the calln macro where possible.
+@@
+@@
+- CALLN ( Ffuncall,
++ calln (
+ ...)
+
+@@
+constant c;
+expression e;
+@@
+- Ffuncall ( c, &e )
++ calln ( e )
+
+@@
+constant c;
+expression e;
+@@
+- Ffuncall ( c, &e,
++ calln ( e,
+ ...)
static void
bcall0 (Lisp_Object f)
{
- Ffuncall (1, &f);
+ calln (f);
}
/* The bytecode stack size in bytes.
static void
bcall0 (Lisp_Object f)
{
- Ffuncall (1, &f);
+ calln (f);
}
static gcc_jit_block *
Lisp_Object
apply1 (Lisp_Object fn, Lisp_Object arg)
{
- return NILP (arg) ? Ffuncall (1, &fn) : CALLN (Fapply, fn, arg);
+ return NILP (arg) ? calln (fn) : CALLN (Fapply, fn, arg);
}
DEFUN ("functionp", Ffunctionp, Sfunctionp, 1, 1, 0,
INLINE Lisp_Object
call0 (Lisp_Object fn)
{
- return Ffuncall (1, &fn);
+ return calln (fn);
}
extern void defvar_lisp (struct Lisp_Objfwd const *, char const *);
{
specpdl_ref count = SPECPDL_INDEX ();
- current_thread->result = Ffuncall (1, ¤t_thread->function);
+ current_thread->result = calln (current_thread->function);
return unbind_to (count, Qnil);
}