[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Serhiy Storchaka added the comment: Since there are no other reports about 8.6 I close this issue. -- resolution: - fixed stage: commit review - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Roundup Robot added the comment: New changeset 6b841e1ee3b8 by Serhiy Storchaka in branch '3.3': Issue #16809: Tkinter's splitlist() and split() methods now accept Tcl_Obj http://hg.python.org/cpython/rev/6b841e1ee3b8 New changeset 85285e6e28f4 by Serhiy Storchaka in branch 'default': Issue #16809: Tkinter's splitlist() and split() methods now accept Tcl_Obj http://hg.python.org/cpython/rev/85285e6e28f4 New changeset 2d96764a66fa by Serhiy Storchaka in branch '2.7': Issue #16809: Tkinter's splitlist() and split() methods now accept Tcl_Obj http://hg.python.org/cpython/rev/2d96764a66fa -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Roundup Robot added the comment: New changeset 516b0cd87a90 by Serhiy Storchaka in branch '3.3': Issue #16809: Fixed some tkinter incompabilities with Tcl/Tk 8.6. http://hg.python.org/cpython/rev/516b0cd87a90 New changeset 5b5ef012cd4e by Serhiy Storchaka in branch 'default': Issue #16809: Fixed some tkinter incompabilities with Tcl/Tk 8.6. http://hg.python.org/cpython/rev/5b5ef012cd4e New changeset 06244031b608 by Serhiy Storchaka in branch '2.7': Issue #16809: Fixed some tkinter incompabilities with Tcl/Tk 8.6. http://hg.python.org/cpython/rev/06244031b608 -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Serhiy Storchaka added the comment: Thank you alejandro. Fixed. I'm afraid this is not all problems with 8.6 and so left this issue open. -- priority: high - critical stage: needs patch - commit review versions: -Python 3.2 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
alejandro autalan added the comment: Hello. I tried 'tkinter_split.patch' patch against 3.3.2, but a fix for grid_info function is also needed. #test.py import tkinter as tk root = tk.Tk() b = tk.Button(root, text='Button') b.grid() print(b.grid_info()) root.mainloop() Here's is the script's output: alejandro@vostro1:~/tmp$ cpython3.3 test.py Traceback (most recent call last): File test.py, line 10, in module print(b.grid_info()) File /home/alejandro/apps/cpython3.3.2/lib/python3.3/tkinter/__init__.py, line 2024, in grid_info if value[:1] == '.': TypeError: '_tkinter.Tcl_Obj' object is not subscriptable -- nosy: +alejandroautalan ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Arfrever Frehtes Taifersar Arahesis added the comment: Please commit the full patch in all active branches. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Changes by Mike Gilbert floppymas...@gmail.com: -- nosy: +floppymaster ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Serhiy Storchaka added the comment: Yes, I considered this option. A sure way to get rid of this and future changes in Tcl types, is get rid of Tcl_Obj at all and always return strings (if it is not a number or list). The drawback of this method is that occurs unnecessary conversion between Tcl and Python types and that information about types is lost. Also it is possible to hamper support for new Tcl types (dict, StateSpec, etc) in future. Another way is much more difficult. We need to allow all Tkinter functions to accept Tcl_Obj. Unfortunately this doesn't solve the problem fully because other code might expect a string instead of Tcl_Obj. We don't have enough test coverage to verify that the changes are sufficient. In any case, there are third-party code, which will also have to change to support the new Tcl versions. -- dependencies: +Tk.split() doesn't work with nested Unicode strings ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Changes by Serhiy Storchaka storch...@gmail.com: Removed file: http://bugs.python.org/file29477/tkinter_splitlist.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Serhiy Storchaka added the comment: Here are a patch which quickly switch off Tcl_Obj. -- Added file: http://bugs.python.org/file30428/tkinter_no_tcl_obj.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Serhiy Storchaka added the comment: And here is a patch which allows Tk.splitline() and Tk.split() to work with Tcl_Obj. It also includes some other minor fixes to support Tcl 8.6. The patch includes a fix for issue18101. -- Added file: http://bugs.python.org/file30429/tkinter_split.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Roger Serwy added the comment: The problem I'm encountering is that tk.splitlist() is now being given a Tcl_Obj instead of a str type. Since everything is Tcl is a string, explicitly casting a Tcl_Obj to a string seems reasonable. Attached is some proof-of-concept code to work around the issue. Serhiy's patch against 3.4 gives this traceback: [python@saturn 3.4]$ ./python tk_86_error.py 8.6 Traceback (most recent call last): File tk_86_error.py, line 6, in module label.pack_info() File /home/python/python/3.4/Lib/tkinter/__init__.py, line 1924, in pack_info if value[:1] == '.': TypeError: '_tkinter.Tcl_Obj' object is not subscriptable -- stage: patch review - needs patch Added file: http://bugs.python.org/file30421/tk_86_workaround.py ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Roger Serwy added the comment: Serhiy, I applied your patch but I still get the same error. From what I have found so far, the FromObj function in Modules/_tkinter.c relies on cached values for different Tcl_ObjType, as given in the TkappObject struct. From the comment: /* We cannot include tclInt.h, as this is internal. So we cache interesting types here. */ I haven't traced down the exact difference between 8.5 and 8.6 that causes the existing cached types to not match. The correct behavior from 8.5 is a match to StringType. I've noticed a lot more macros in the 8.6 headers than in 8.5 which may be the culprit. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Serhiy Storchaka added the comment: Here is a patch which add support of Tcl_Obj to tkinter's splitlist(). This not only fixes some incompatibility with Tk 8.6, but can fix some issues with older Tk versions (see for example issue17397). -- keywords: +patch nosy: +gpolo stage: - patch review versions: +Python 3.2 Added file: http://bugs.python.org/file29477/tkinter_splitlist.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Changes by Martin Panter vadmium...@gmail.com: -- nosy: +vadmium ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Serhiy Storchaka added the comment: I don't install Tcl/Tk 8.6 yet, but looks as pack info call returns a new type of Tcl data (perhaps DictType) which doesn't detected in FromObj(). -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Serhiy Storchaka added the comment: The simplest fix probably is just wrap self.tk.call() with str() (I have not tested it yet). However the problem is more serious (tkinter doesn't support fully even 8.5 and subtle bugs are possible) and I'll spend some more time on its research. -- assignee: - serhiy.storchaka ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Roger Serwy added the comment: In Objects/unicodeobject.c in PyUnicode_FromObject, the call to PyUnicode_CheckExact fails when using 8.6.0 but works with 8.5.13. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Changes by Serhiy Storchaka storch...@gmail.com: -- nosy: +serhiy.storchaka ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
New submission from Roger Serwy: I am running Arch Linux with the latest Tcl/Tk 8.6.0 build with Python 2.7.3 and 3.3.0, and the latest 3.4.0a0 build from the repository. Running the attached script fails when calling pack_info(). Here's is the script's output: 8.6 Traceback (most recent call last): File tk_86_error.py, line 6, in module label.pack_info() File /usr/lib/python3.3/tkinter/__init__.py, line 1884, in pack_info self.tk.call('pack', 'info', self._w)) TypeError: Can't convert '_tkinter.Tcl_Obj' object to str implicitly This error did not occur when using Tk 8.5.13. -- components: Tkinter files: tk_86_error.py messages: 178475 nosy: serwy priority: high severity: normal status: open title: Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works) type: behavior versions: Python 2.7, Python 3.3, Python 3.4 Added file: http://bugs.python.org/file28476/tk_86_error.py ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16809] Tk 8.6.0 introduces TypeError. (Tk 8.5.13 works)
Changes by Arfrever Frehtes Taifersar Arahesis arfrever@gmail.com: -- nosy: +Arfrever ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16809 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com