GNU bug report logs - #78608
31.0.50; Todo mode bug revealed by setq-default change

Previous Next

Package: emacs;

Reported by: Stephen Berman <stephen.berman <at> gmx.net>

Date: Tue, 27 May 2025 15:55:02 UTC

Severity: normal

Found in version 31.0.50

Done: Stephen Berman <stephen.berman <at> gmx.net>

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: stephen.berman <at> gmx.net, 78608 <at> debbugs.gnu.org
Subject: bug#78608: 31.0.50; Todo mode bug revealed by setq-default change
Date: Wed, 28 May 2025 18:53:50 +0300
> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Cc: Stephen Berman <stephen.berman <at> gmx.net>,  78608 <at> debbugs.gnu.org
> Date: Wed, 28 May 2025 11:05:08 -0400
> 
>  * Incompatible Lisp Changes in Emacs 31.1
>  
> +** 'setq-local' computes the value before making the variable local.
> +The previous code made the variable buffer local before
> +computing the value to assign to it.
> +This bug fix is a subtle change to the semantics which should make
> +no difference to the vast majority of uses but can occasionally affect
> +code in surprising ways if the computation of the value refers to the
> +variable.

I think this should describe the case upon which Stephen stumbled:
code which uses setq-local inside a let-binding (perhaps an implicit
one, such as the one the various with-SOMETHING macros do), and
expects the buffer-local value to stay after the let-binding is
exited.

I'd remove the last sentence entirely, because it is not useful.




This bug report was last modified 20 days ago.

Previous Next


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