gh-75552: Remove deprecated tkinter.tix module by zware · Pull Request #104902 · python/cpython
If you haven't rebuilt the MSI yourself, might be worth touching something in the tools/msi directory so that the PR tests run. I don't think there are any Tix-specific dependencies in it though, so it ought to be fine.
Ah, hmm. Because of the way Tcl/Tk/Tix is packaged in cpython-bin-deps, should we create a tcltk-8.6.13.1 without tix?
I suppose at worst the tix libraries just become dead weight in the tcltk installation, and the next time we build a new Tcl/Tk bundle for a new version, the dead weight will be removed.
Interestingly, the TestsMSI workflows "passed", but each one with 4 warnings and 2 errors. This is not new to this PR, though so I won't hold this up based on that. I would like a positive review from someone before I click the button, though :)
Interestingly, the
TestsMSIworkflows "passed", but each one with 4 warnings and 2 errors.
The warnings are all expected... the errors are because we don't build the docs first in that job. I've just filed #104929 to fix that, so if you want to wait and merge it before merging this, that ought to give you clean results?
Nice branch name! :)
Can some of this stuff be removed?
Modules/tkappinit.c
63:#ifdef WITH_TIX
65: extern int Tix_Init(Tcl_Interp *interp);
66: extern int Tix_SafeInit(Tcl_Interp *interp);
67: Tcl_StaticPackage(NULL, "Tix", Tix_Init, Tix_SafeInit);
Lib/idlelib/help.html
30: <link rel="prev" title="tkinter.tix — Extension widgets for Tk" href="tkinter.tix.html" />
126: <p class="topless"><a href="tkinter.tix.html"
127: title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.tix</span></code> — Extension widgets for Tk</a></p>
163: <a href="tkinter.tix.html" title="tkinter.tix — Extension widgets for Tk"
1080: <p class="topless"><a href="tkinter.tix.html"
1081: title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.tix</span></code> — Extension widgets for Tk</a></p>
1120: <a href="tkinter.tix.html" title="tkinter.tix — Extension widgets for Tk"
Modules/Setup
225:# specific extension (e.g. Tix or BLT), leave the corresponding line
242:# *** Uncomment and edit for Tix extension only:
243:# -DWITH_TIX -ltix8.1.8.2 \
Can some of this stuff be removed?
I opted to keep the WITH_TIX bits in tkappinit.c and Modules/Setup because they're not actually related to including Tix with Python, they're available for someone building something into tkinter specially. There are other WITH_* defs in the surrounding code for Tcl modules that we've never included.
The mentions in idlelib/help.html should go away next time that file is regenerated. I tried it out, but introduced several more changes due to Sphinx version mismatch, so I left it for now. Those bits shouldn't actually be relevant to its use anyway.
There still is no alternative for the tix module. The Select and Balloon classes are nowhere to be found, no Python replacement, and ttk doesn't even look like tix. What are the poor users to do?
Tix has been unmaintained for 10 years now, has open security vulnerabilities, and every update of anything in our toolchain risks breaking it. If you still need it, it's open source and can be vendored into your project or maintained separately, but we will no longer provide it out of the box as of Python 3.13.
zware
deleted the
so_long_and_thanks_for_all_the_Tix
branch