GNU bug report logs -
#25132
26.0.50; emacs hangs when loading org file with python source blocks
Previous Next
Reported by: David Dynerman <emperordali <at> block-party.net>
Date: Wed, 7 Dec 2016 19:54:02 UTC
Severity: normal
Tags: confirmed, fixed, patch
Found in version 26.0.50
Fixed in version 25.2
Done: npostavs <at> users.sourceforge.net
Bug is archived. No further changes may be made.
Full log
Message #36 received at 25132 <at> debbugs.gnu.org (full text, mbox):
Clément Pit--Claudel <clement.pit <at> gmail.com> writes:
> On 2017-01-19 19:52, npostavs <at> users.sourceforge.net wrote:
>> because even after doing (make-variable-buffer-local 'var), (let
>> ((var 'foo))...) still makes a global binding.
>> `make-variable-buffer-local' only has effect for `setq', which I
>> think will hardly ever happen for `inhibit-modification-hooks'.
>
> On 2017-01-19 19:52, npostavs <at> users.sourceforge.net wrote:
>> because even after doing (make-variable-buffer-local 'var), (let
>> ((var 'foo))...) still makes a global binding.
>> `make-variable-buffer-local' only has effect for `setq', which I
>> think will hardly ever happen for `inhibit-modification-hooks'.
>
> Hi Noam,
>
> Can you explain a bit more? I'm not sure what you meant.
>
> I tried the following to illustrate your point:
>
> (defvar aa 0)
>
> (with-temp-buffer
> (setq-local aa 1)
> (let ((b1 (current-buffer)))
> (with-temp-buffer
> (let ((aa 2))
> (message "In b2: %S" aa)
> (with-current-buffer b1
> (message "In b1: %S" aa))))))
My point was that the setq-local (or make-local-variable) is required
and that defvar-local (or make-variable-buffer-local) is not enough.
Compare:
(defvar-local bb 0)
(with-temp-buffer
(let ((b1 (current-buffer)))
(with-temp-buffer
(let ((bb 2))
(message "In b2: %S" bb)
(with-current-buffer b1
(message "In b1: %S" bb))))))
This bug report was last modified 8 years and 109 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.