New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drop support of Tk 8.3 #66283
Comments
Command used to monitor Tcl variable access ("trace variable", "trace vdelete", "trace vinfo") are deprecated and will likely be removed in a future version of Tcl. Proposed patch replaces them to modern equivalents. The problem is that new commands was introduced in Tcl 8.4, but minimal supported by Tkinter version is 8.3. This patch should wait until dropping support of Tcl 8.3. |
Is there any reason to not drop support for Tk 8.3? It appears that the last release of it, 8.3.5, was in 2002. Is anyone aware of any use of it on currently supported platforms? The final planned release of 8.4 (8.4.20) was just a year ago and 8.4 is still being shipped on some platforms, i.e. OS X, so we should keep supporting it for the time being. |
Dropping support for 8.3 sounds fine with me (for Python 3.5 only, of course). Otherwise, the patch looks also fine, so please apply. |
I'm even not sure that current code works with Tk 8.3. We have no buildbots with Tk 8.3 and compatibility with it was not tested for years. Here is a patch which drops support of Tk 8.3. |
The patch looks fine, please apply. |
New changeset 1aa6ac23340d by Serhiy Storchaka in branch 'default': |
The checkin seems to have broken test_idle and test_ttk_guionly. Typical failure: ====================================================================== Traceback (most recent call last):
File "/py/dev/3x/root/fwn/Library/Frameworks/pytest_10.9.framework/Versions/3.5/lib/python3.5/tkinter/test/test_ttk/test_extensions.py", line 112, in test_horizontal_range
lscale = ttk.LabeledScale(from_=0, to=10)
File "/py/dev/3x/root/fwn/Library/Frameworks/pytest_10.9.framework/Versions/3.5/lib/python3.5/tkinter/ttk.py", line 1508, in __init__
self.__tracecb = self._variable.trace_variable('w', self._adjust)
File "/py/dev/3x/root/fwn/Library/Frameworks/pytest_10.9.framework/Versions/3.5/lib/python3.5/tkinter/__init__.py", line 248, in trace_variable
self._tk.call("trace", "add", "variable", self._name, mode, cbname)
_tkinter.TclError: bad operation "w": must be array, read, unset, or write |
New changeset 9f333c06915f by Serhiy Storchaka in branch 'default': |
Oh, I forgot about this difference. Of course we can convert input arguments to match new syntax, but "trace vinfo" and "trace info variable" return different results: % trace add variable foo {read write} {tracer foo} We should add new methods for new trace commands. |
Yet one incompatibility is that callbacks set but old command are called with last argument one of 'r', 'w' or 'u', but callbacks set but old command are called with last argument one of 'read', 'write' or 'unset' (or 'array'). |
I close this issue because don't want to change topic yet once (and one feature per issue). Separate bpo-22115 was opened for adding new trace methods. |
New changeset 7ed237478fcc by Zachary Ware in branch 'default': |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: