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 #71 received at 30078 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
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 21:37:09 +0200
> From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
> Cc: michael_heerdegen <at> web.de, 30078 <at> debbugs.gnu.org
> Date: Sat, 13 Jan 2018 13:05:58 -0500
> 
>    (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`.

That indeed could be a confusing situation, perhaps we should have a
special form for it, to avoid the confusing/incorrect/unexpected
results.




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.