GNU bug report logs - #30078
27.0.50; Use lexical-binding for M-:

Previous Next

Package: emacs;

Reported by: Stefan Monnier <monnier <at> IRO.UMontreal.CA>

Date: Thu, 11 Jan 2018 16:38:01 UTC

Severity: wishlist

Found in version 27.0.50

Fixed in version 27.1

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


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

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: michael_heerdegen <at> web.de, 30078 <at> debbugs.gnu.org
Subject: Re: bug#30078: 27.0.50; Use lexical-binding for M-:
Date: Sat, 13 Jan 2018 13:05:58 -0500
>> No, they'll work pretty much as before.
> Then you are saying that turning on lexical-binding in *scratch* will
> change nothing at all?

Not nothing at all, but the two languages are *very* similar and the
differences rarely show up in a single expression.

My gut feeling is that the main risk to bump into an undesirable
behavior is something like

   (let ((foopkg-var t))
     (foopkg-fun arg1 arg2))

where foopkg is not yet loaded and foopkg-fun is autoloaded: Emacs will
only be told that `foopkg-var` is a dynamic-variable once the
`foopkg-fun` call causes `foopkg` to be loaded, so Emacs will mistakenly
use lexical scoping for the let binding because at that it still knows
nothing about `foopkg-var`.


        Stefan




This bug report was last modified 6 years and 24 days ago.

Previous Next


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