Issue 2062: IDLE - autocompletion logic optimization (original) (raw)

Issue2062

Created on 2008-02-10 23:36 by taleinat, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
IDLE_AutoComplete_complete_string_optimization.080211.patch taleinat,2008-02-11 00:04 second version
IDLE_AutoComplete_complete_string_optimization.080214.patch taleinat,2008-02-13 23:12 thrid version, after fixing a bug and doing some testing
Messages (8)
msg62265 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2008-02-10 23:36
Improve the code in AutoCompleteWindow._complete_string to be more efficient. (this is to be followed up by a more extensive patch, which builds on this change to support case-insensitive completion)
msg62266 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2008-02-11 00:04
Found two more instances in the code where a similar improvement can be made. This (second) version of the patch is more consistent, please use it instead of the initial version.
msg62269 - (view) Author: Kurt B. Kaiser (kbk) * (Python committer) Date: 2008-02-11 02:39
I would greatly appreciate it if you would slow down and test your patches and use them for an extended period of time (preferably with some other people trying them) before submitting them. It's quite aggravating to start working on one, and even have it checked in, only to have to start over again. It doubles the work and makes me unwilling to address your patches. How much time have you given the second version?
msg62286 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2008-02-11 13:14
Well, I admit, I haven't tested this enough. Specifically, there is a bug in this patch (both versions); please delete it. I accept your criticism of my latest patches, they truly are of inferior quality. I deeply apologize for having taken up more of your time than I should have. Allow me to explain my situation: I work with a highly modified version of IDLE to which I have added many features, and which is also used daily by ~10 friends and colleagues. Many of these patches are my attempt to contribute the more mature and successful changes/features back to CPython. However, the completion code differs greatly from the CPython version, making porting changes a large effort, requiring me to re-implement many things, as well as go once more through the process of testing and debugging. This is really a great deal of work and I have been eager to contribute some of the better features. While I have tried to be methodical, thorough and test everything, I seem to still have been too hasty. I must tell you that I spent many hours preparing the last few patches, but I realize that doing half a job is worse than not doing it at all. In the future I will test every change much more thoroughly before posting it as a patch.
msg62296 - (view) Author: Kurt B. Kaiser (kbk) * (Python committer) Date: 2008-02-11 22:58
I agree that testing GUI apps is problematic, especially if you are working with an intermediate version which isn't being used heavily. Besides code review, you essentially have to run at least a subset of an user-conducted acceptance test which tries to explore the corner cases and generally monkey test the app. It seems the best way beyond that is to use the new version of IDLE to develop code for awhile; that usually exposes at least the superficial problems. I don't have an issues with correcting minor bugs, but I expect the corrective patch to be small. We have one going on CallTips which has become problematic for several reasons, and I'll comment on it at . Unless a person wants to fork, he has to make a deliberate effort to stay close to the main line of development. That can mean forgoing things that would be 'nice to have' or non-essential refactorings. It's a problem with distributed VCS that divergence is encouraged. I think you see the problem! Are the differences in your autocomplete code significant functional differences, or can we bring our versions into alignment at some point? Please take into account the comments I'm going to make at regarding 2.6/3.0 compatibility. I really do appreciate your interest in IDLE and the work you are doing to make it better. I think you understand my interest in keeping it minimal and intuitive. It doesn't have to be like all the rest and continually accrete features which are of limited use to the target audience, especially at the cost of reliability and performance.
msg62297 - (view) Author: Kurt B. Kaiser (kbk) * (Python committer) Date: 2008-02-11 23:03
That should be 'Issue1350'!
msg62371 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2008-02-13 23:12
After fixing the aforementioned bug and testing as thoroughly as I can, here is a revised patch.
msg65904 - (view) Author: Kurt B. Kaiser (kbk) * (Python committer) Date: 2008-04-27 21:38
r62548
History
Date User Action Args
2022-04-11 14:56:30 admin set github: 46338
2008-04-27 21:38:34 kbk set status: open -> closedresolution: acceptedmessages: +
2008-02-13 23:12:36 taleinat set files: + IDLE_AutoComplete_complete_string_optimization.080214.patchmessages: +
2008-02-11 23:03:03 kbk set messages: +
2008-02-11 22:58:20 kbk set messages: +
2008-02-11 13:14:21 taleinat set messages: +
2008-02-11 11:00:42 christian.heimes set priority: normalkeywords: + patch
2008-02-11 02:39:14 kbk set assignee: kbkmessages: +
2008-02-11 02:35:52 kbk set files: - IDLE_AutoComplete_complete_string_optimization.080211.patch
2008-02-11 00:04:13 taleinat set files: + IDLE_AutoComplete_complete_string_optimization.080211.patchmessages: +
2008-02-10 23:36:53 taleinat create