Subject: Re: bug#53227: master: Wrong error message with M-: (funcall).

From: Robert Pluim <[email-masked]>
Date: Thu, 13 Jan 2022 10:13:45 +0100

>>>>> On Thu, 13 Jan 2022 07:39:05 +0000, Alan Mackenzie <[email-masked]> said:

    Alan> Hello, Emacs.
    Alan> In the master branch, with emacs -Q, do

    Alan>     M-: (funcall) RET

    Alan> ..  The error message one sees is

    Alan>     (void-function nil)

    Alan> ..  This is wrong.  There is no function, nil or otherwise, supplied to
    Alan> funcall.  The error message ought to be "Too few arguments", or
    Alan> something like that.

    Alan> The cause of the bug lies in Ffuncall in .../src/eval.c.  There, the
    Alan> code uses args[0] without first checking that nargs > 0.

Itʼs not Ffuncall's responsibility to check that, itʼs 'eval' that
should be doing it. Compare with eg M-: (format), which correctly
signals 'wrong-number-of-arguments.

Robert
--