Subject: Re: bug#67991: 30.0.50; boundp always returns nil in format-mode-line with let* after 0fde935

From: Eli Zaretskii <[email-masked]>
Date: Sat, 23 Dec 2023 17:09:40 +0200

> Cc: [email-masked]
> From: Aaron Jensen <[email-masked]>
> Date: Sat, 23 Dec 2023 09:51:50 -0500
> 
> 
> After commits:
> 
> 0fde935b66e43e4d7ec137ba6195de993168587a
> a63b206fbde2ead91f1053d80a275f8850e5ffce
> 
> boundp returns nil here, rather than t, like it used to:
> 
> (format-mode-line
>  '(:eval (let* ((some-var "some-value")
>                 (_ (message "Bound: %S" (boundp 'some-var))))
>            (message "Var: %S, Bound: %S" some-var (boundp 'some-var)))))

If I evaluate this:

  (let* ((some-var "some-value")
		  (_ (message "Bound: %S" (boundp 'some-var))))
	     (message "Var: %S, Bound: %S" some-var (boundp 'some-var)))

in *scratch*, I also get nil and nil, both in Emacs 29 and with the
latest master branch.  So why would you expect to see t when you
evaluate this as part of format-mode-line?  Or what am I missing?