Author Ellison Marks
Recipients Ellison Marks
Date 2016-03-16.04:59:14
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1458104355.45.0.620158354917.issue26571@psf.upfronthosting.co.za>
In-reply-to
Content
I noticed some odd behaviour when running some turtle code I wrote using python 3.5. A simplified example:

>>> from turtle import Turtle
>>> t = Turtle()
>>> t.getscreen().bye() # or manually close the turtle window
>>> t2 = Turtle()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python3.5/turtle.py", line 3816, in __init__
    visible=visible)
  File "/usr/lib64/python3.5/turtle.py", line 2557, in __init__
    self._update()
  File "/usr/lib64/python3.5/turtle.py", line 2660, in _update
    self._update_data()
  File "/usr/lib64/python3.5/turtle.py", line 2646, in _update_data
    self.screen._incrementudc()
  File "/usr/lib64/python3.5/turtle.py", line 1292, in _incrementudc
    raise Terminator
turtle.Terminator
>>>

This code works under 3.4, opening a new turtle window the second time Turtle() is called. Under 3.5, a blank white window opens.

This seems to be related to https://hg.python.org/cpython/rev/1628484c9408, as the only point that raises Terminator is guarded by a check for `if not TurtleScreen._RUNNING:`
History
Date User Action Args
2016-03-16 04:59:15Ellison Markssetrecipients: + Ellison Marks
2016-03-16 04:59:15Ellison Markssetmessageid: <1458104355.45.0.620158354917.issue26571@psf.upfronthosting.co.za>
2016-03-16 04:59:15Ellison Markslinkissue26571 messages
2016-03-16 04:59:14Ellison Markscreate