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

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

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

> On Okt 12 2024, Ulrich Mueller wrote:
>> $ emacs -Q
>> M-: (let) RET
>> ⇒ nil

> Don't use eval-expression.  It does not evaluate the form, but something
> else.

Well, it's the same with eval-last-sexp. And behavior has definitely
changed, with Emacs 29.4 (as well as 31.0.50) I see a nil result, while
with Emacs 27.2 I get:

Debugger entered--Lisp error: (wrong-number-of-arguments let 0)
  (let)
  (progn (let))
  eval((progn (let)) t)
  elisp--eval-last-sexp(nil)
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
  call-interactively(eval-last-sexp nil nil)
  command-execute(eval-last-sexp)