GNU bug report logs - #67991
30.0.50; boundp always returns nil in format-mode-line with let* after 0fde935

Previous Next

Package: emacs;

Reported by: Aaron Jensen <aaronjensen <at> gmail.com>

Date: Sat, 23 Dec 2023 14:53:02 UTC

Severity: normal

Found in version 30.0.50

Full log


View this message in rfc822 format

From: Aaron Jensen <aaronjensen <at> gmail.com>
To: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Cc: monnier <at> iro.umontreal.ca, 67991 <at> debbugs.gnu.org
Subject: bug#67991: 30.0.50; boundp always returns nil in format-mode-line with let* after 0fde935
Date: Sat, 23 Dec 2023 10:52:22 -0500
On Sat, Dec 23, 2023 at 10:21 AM Gerd Möllmann <gerd.moellmann <at> gmail.com> wrote:
>
> Aaron Jensen <aaronjensen <at> gmail.com> 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.

It's not in the package in question. But even if I defvar w/o giving
it a value, it does not return t:

(defvar some-var)

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

(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)))))

The first returns t, the second does not.

As to your question, Eli, I don't know. If it shouldn't return nil
then I can report that downstream and they can fix it there.

Aaron




This bug report was last modified 1 year and 175 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.