GNU bug report logs - #21657
25.0.50; Python mode goes into an infinite loop

Previous Next

Package: emacs;

Reported by: Dima Kogan <dima <at> secretsauce.net>

Date: Fri, 9 Oct 2015 22:23:02 UTC

Severity: normal

Tags: confirmed, fixed, patch

Merged with 21628, 21629, 21646, 21671, 24839, 24856, 24905, 26041

Found in versions 25.0.50, 25.1, 25.1.50, 26.0.50

Fixed in version 25.2

Done: Daniel Colascione <dancol <at> dancol.org>

Bug is archived. No further changes may be made.

Full log


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

From: Daniel Colascione <dancol <at> dancol.org>
To: Luke Powers <luke.powers <at> openx.com>, Dima Kogan <dima <at> secretsauce.net>
Cc: 21657 <at> debbugs.gnu.org
Subject: Re: bug#21657: 25.0.50; Python mode goes into an infinite loop
Date: Mon, 12 Oct 2015 20:21:34 -0700
[Message part 1 (text/plain, inline)]
On 10/09/2015 04:16 PM, Luke Powers wrote:
> There are a couple issues out there with similar reports (21646 21629
> 21628).
> 
> Revert to 818f06eaa72d8e4f9ba314c1c2855613bf89f396 if you want to work
> around the issue.

I think I know what's going on. Stefan's change moved some of the
syntax-propertize stuff from Lisp into C. Now Emacs core has a variable
called syntax-propertize--done, known in C as syntax_propertize__done.
We make it buffer-local using Fmake_variable_buffer_local, but that
makes the variable buffer-local when it's _set_. Until it's set, the
variable retains its global value, which lives in the C variable
syntax_propertize__done. So if we syntax-propertize 1000 characters of
buffer A, then find-file in buffer B, we think we've syntax-propertized
up to position 1000 (the value of syntax_propertize__done) until we set
it to something else. In the case of Python, if we have a triple quote
in the first 1000 characters, we infloop.

[signature.asc (application/pgp-signature, attachment)]

This bug report was last modified 8 years and 126 days ago.

Previous Next


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