Subject: bug#73596: 29.4; empty (let) does not signal an error

From: Ulrich Mueller <[email-masked]>
Date: Sat, 12 Oct 2024 17:40:30 +0200

>>>>> On Sat, 12 Oct 2024, Andreas Schwab wrote:

> On Okt 12 2024, Ulrich Mueller wrote:
>> (func-arity 'let)  ⇒  (1 . unevalled)
>> 
>> Shouldn't this be updated to return (0 . unevalled) when empty (let)
>> is allowed?

> $ emacs -batch -eval '(let)'

> Error: wrong-number-of-arguments (let 0)
>   (let)
>   eval((let) t)
>   command-line-1(("-eval" "(let)"))
>   command-line()
>   normal-top-level()
> Wrong number of arguments: let, 0

That's even stranger then, because it seems to depend on how Emacs
is invoked:

$ echo "(princ (let))" >foo.el
$ emacs -Q -batch -L . -l foo.el
nil

$ emacs -Q
M-: (let) RET
⇒ nil