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
IDLE Show completions pop-up not working on Ubuntu Linux #89356
Comments
The completion window never appears with Python version 3.9.7 and with the current main branch. Ubuntu 20.04 (reproduced on two separate machines) This is directly caused by the fix for issue bpo-40128. Commenting out that line resolves this issue entirely. (See also the PR for that fix, PR #70859.) |
I've also tested this on Windows 10 with the latest main branch (to be 3.11). The completions window works as expected with or without the recently added .update_idletasks() call. I do recommend limiting this to macOS (platform.system() == "Darwin"). Ideally we'd test this on macOS with several versions of tcl/tk (8.6.8, 8.6.9, 8.6.10, 8.6.11) and limit it to only those versions where the fix is required: TK_VERSION = tuple(map(int, tk.call("info", "patchlevel").split(".")))
if (8, 6, 8) <= TK_VERSION < (8, 6, 10):
acw.update_idletasks() Also we might check if calling .update() is enough, since that does less than .update_idletasks(). |
See PR #72515 with proposed fix. It should be tested on macOS with several relevant versions of Tcl/Tk to ensure that the Tk version range used is correct. |
In msg401744 I suggested any of the following for the upcoming 3.10.0 release.
Thinking more, I am rejecting 3. because the line is not needed for IDLE and tk as installed by our macOS. As things stand now, I an only willing to support IDLE with the tk we install. But I will go with option 2 so that if someone tries to run IDLE with a different tk, and the line is needed, they only need to remove the '#'. A version of 3. is needed for 3.9 but this needs more data and discussion. In looking at your no-issue PR_28332, I realized that I would rather make a more extensive change than to patch a badly written function for at least the fourth time. I will open an issue for that PR and explain later. |
I will just mention here that winconfig_event also calls update_idletasks, in what should be the proper place, and I think that the second call was only needed for mac tk 8.6.8 because of the unique-to-IDLE behavior I want to delete. I suspect that if we create the popup the same way we do with the others, we will not need the second call even on 8.6.8. But making sure 3.10.0 works comes first. |
Done! I am removing the release blocker and the 3.10, 3.11 version tags. Thanks Tal and Terry for all the work! |
It's too late for 3.9, right? |
Yes. This was apparently fixed for 3.10 and 3.11 and left open for 3.9. But never got enough info to decide anything. Closing. |
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: