GNU bug report logs - #25132
26.0.50; emacs hangs when loading org file with python source blocks

Previous Next

Packages: emacs, org-mode;

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):

From: npostavs <at> users.sourceforge.net
To: Clément Pit--Claudel <clement.pit <at> gmail.com>
Cc: David Dynerman <emperordali <at> block-party.net>, 25132 <at> debbugs.gnu.org,
 Dmitry Gutov <dgutov <at> yandex.ru>
Subject: Re: bug#25132: 26.0.50;
 emacs hangs when loading org file with python source blocks
Date: Thu, 19 Jan 2017 22:18:46 -0500
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.