emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master 629f980fad: Enhance safe_run_hooks_1 and safe_run_hook_funcal


From: Eli Zaretskii
Subject: Re: master 629f980fad: Enhance safe_run_hooks_1 and safe_run_hook_funcall to handle more arguments
Date: Thu, 18 Aug 2022 19:26:58 +0300

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Alan Mackenzie <acm@muc.de>
> Date: Mon, 15 Aug 2022 10:28:56 -0400
> 
> >  static Lisp_Object
> >  safe_run_hooks_1 (ptrdiff_t nargs, Lisp_Object *args)
> >  {
> > -  eassert (nargs == 2);
> > -  return call0 (args[1]);
> > +  eassert (nargs >= 2 && nargs <= 4);
> > +  switch (nargs)
> > +    {
> > +    case 2:
> > +      return call0 (args[1]);
> > +    case 3:
> > +      return call1 (args[1], args[2]);
> > +    default:
> > +      return call2 (args[1], args[2], args[3]);
> > +    }
> >  }
> 
> Can't we do something like
> 
>     return Ffuncall (nargs - 1, args + 1);
> 
> ?

We could, but why do we need safe_run_hooks_1 at all?  Its only caller
could call Ffuncall directly, no?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]