GNU bug report logs - #74145
31.0.50; Default lexical-binding to t

Previous Next

Package: emacs;

Reported by: Stefan Monnier <monnier <at> iro.umontreal.ca>

Date: Thu, 31 Oct 2024 20:59:02 UTC

Severity: wishlist

Tags: patch

Found in version 31.0.50

Full log


Message #117 received at 74145 <at> debbugs.gnu.org (full text, mbox):

From: Richard Stallman <rms <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 74145 <at> debbugs.gnu.org
Subject: Re: bug#74145: 31.0.50; Default lexical-binding to t
Date: Thu, 20 Feb 2025 07:03:07 -0500
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > The difference between the two, for users, is whether they need

  >     (set-default-toplevel-value 'lexical-binding t)

  > to get the new setup or

  >     (set-default-toplevel-value 'lexical-binding nil)

  > to continue with the old setup.

That is the crucial point at which the change becomes incompatible and
causes old files to break.

I suggest we make this process smoother by giving users a warning on
loading a file that fails to specify `lexical-binding' locally.

If `warn-unset-lexical-bindng' is t (which would be the default),
those warnings would be issued.  If it is nil, there would be no
warning.

Meanwhile, the default value of `lexical-binding' would control the
behavior of variable binding when the file does not specify that,
just as now.

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)






This bug report was last modified 68 days ago.

Previous Next


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