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

From: Gerd Möllmann <[email-masked]>
Date: Sat, 23 Dec 2023 16:21:44 +0100

Aaron Jensen <[email-masked]> writes:

> 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)))))
>
> This has an impact on a particular package I use for my modeline, which
> can be worked around if this behavior is expected. It seemed a
> significant chagne, so I wanted to report it, in case it was not expected.

I don't know why that would have changed things with Stefan's commit,
but are your sure that some-var is declared special (has a defvar, for
instance)? When it is, boundp returns t here.