You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Restore deleted tkinter functions with deprecaton dummies. #66259
I updated my source code, and it looks like turtledemo doesn't launch anymore. I get the following error:
Traceback (most recent call last):
File "/Users/litacho/Development/cpython/Lib/runpy.py", line 170, in _run_module_as_main"__main__", mod_spec)
File "/Users/litacho/Development/cpython/Lib/runpy.py", line 85, in _run_codeexec(code, run_globals)
File "/Users/litacho/Development/cpython/Lib/turtledemo/__main__.py", line 328, in <module>
main()
File "/Users/litacho/Development/cpython/Lib/turtledemo/__main__.py", line 324, in main
demo = DemoWindow()
File "/Users/litacho/Development/cpython/Lib/turtledemo/__main__.py", line 124, in __init__self.mBar.tk_menuBar(self.ExamplesBtn, self.OptionsBtn)
AttributeError: 'Frame' object has no attribute 'tk_menuBar'
I dug into it and it looks like tk_menuBar was removed due to a fix in bpo-4350. If tk_menuBar needs to be removed, what method does turtledemo need to call instead to propagate its panels?
Indeed, unlike to other removed methods which raised an exception, removing this doing nothing method can break existing code. We should restore it and add deprecation warning.
Of course the use of obsolete method should be removed from turtledemo.
changed the title [-]turtledemo doesn't launch due to changes in tkinter[/-][+]Restore deleted tkinter functions with deprecaton dummies.[/+]on Jul 25, 2014
May be add deprecation warnings in 2.7 and 3.4? This method's calls can be left in existing user code as in turtledemo and this code behaves differently from how it was designed and behaved with Tk <4.0. As far as now this methods are empty, this bug can be unnoticed long time.
Since Deprecation warnings are off by default, backporting seems like a good idea. There was talk on pydev about adding more py3 warnings to 2.7, which this essentially is (though the removal is delated to 3.6).
Activity
LitaCho commentedon Jul 24, 2014
I updated my source code, and it looks like turtledemo doesn't launch anymore. I get the following error:
I dug into it and it looks like tk_menuBar was removed due to a fix in bpo-4350. If tk_menuBar needs to be removed, what method does turtledemo need to call instead to propagate its panels?
LitaCho commentedon Jul 24, 2014
Looks like this method was not doing anything. I removed it and the demo is working just fine. Here is a patch.
serhiy-storchaka commentedon Jul 25, 2014
Indeed, unlike to other removed methods which raised an exception, removing this doing nothing method can break existing code. We should restore it and add deprecation warning.
Of course the use of obsolete method should be removed from turtledemo.
serhiy-storchaka commentedon Jul 25, 2014
Here is a patch which replaces obsolete and non-working menu creation code by modernized code. Now menu should be correctly displayed on MacOS.
python-dev commentedon Jul 25, 2014
New changeset 3c4d45f73622 by Terry Jan Reedy in branch '2.7':
Issue bpo-22061: remove call of useless function slated for removal.
http://hg.python.org/cpython/rev/3c4d45f73622
New changeset 976f31b2858b by Terry Jan Reedy in branch '3.4':
Issue bpo-22061: remove call of useless function slated for removal.
http://hg.python.org/cpython/rev/976f31b2858b
New changeset 9e9e6e9f4cce by Terry Jan Reedy in branch 'default':
Issue bpo-22061: remove call of useless function slated for removal.
http://hg.python.org/cpython/rev/9e9e6e9f4cce
terryjreedy commentedon Jul 25, 2014
The turtledemo part of this issue is over. (Lita, tracebacks are not 'crash' issues. Segfaults and the Windows equivalent are.)
The restoration patch could have been attached to 4350. But since it is here, I retitled this issue instead of closing it. Patch looks good to me.
Turtledemo menus are a different issue. I opened bpo-22065 and plan to post a revised patch there.
[-]turtledemo doesn't launch due to changes in tkinter[/-][+]Restore deleted tkinter functions with deprecaton dummies.[/+]serhiy-storchaka commentedon Jul 25, 2014
May be add deprecation warnings in 2.7 and 3.4? This method's calls can be left in existing user code as in turtledemo and this code behaves differently from how it was designed and behaved with Tk <4.0. As far as now this methods are empty, this bug can be unnoticed long time.
terryjreedy commentedon Jul 25, 2014
Since Deprecation warnings are off by default, backporting seems like a good idea. There was talk on pydev about adding more py3 warnings to 2.7, which this essentially is (though the removal is delated to 3.6).
python-dev commentedon Jul 25, 2014
New changeset f7c84674bdec by Serhiy Storchaka in branch '2.7':
Issue bpo-22061: Add deprecation warnings in empty obsolete methods.
http://hg.python.org/cpython/rev/f7c84674bdec
New changeset a50297e793f9 by Serhiy Storchaka in branch '3.4':
Issue bpo-22061: Add deprecation warnings in empty obsolete methods.
http://hg.python.org/cpython/rev/a50297e793f9
New changeset 7e6beea0eeab by Serhiy Storchaka in branch 'default':
Issue bpo-22061: Restored empty obsolete methods removed in issue bpo-4350 and
http://hg.python.org/cpython/rev/7e6beea0eeab