This is all great feedback! My bugs.python.org userid is: IrvKalb
As I am new to the world of IDLE development, do changes you are making (or considering), also make it into a release for Python 2.7.x? My schools still install 2.7 for use in all of our classes. Irv On Nov 1, 2016, at 8:56 PM, Terry Reedy <tjre...@udel.edu> wrote: > On 11/1/2016 3:17 PM, Irv Kalb wrote: >> Terry, >> >> What a pleasure to meet you. Thanks for all your comments. I’m >> happy to give you my opinions on the items you raised. >> >> 1) If it is possible to start the debugger automatically whenever >> there is a breakpoint in the code, I think that would be ideal. I >> have used systems that work this way, and that approach works > > This is helpful information. I snipped some of your text in responding below. > >> seamlessly. No breakpoint(s), no debugger. If this is implemented, >> then there should also be some quick way to remove all breakpoints. > > Good idea. Should be easy to do. > >> Another approach would be as you suggested, a “Run with Debugger” > > I think of this as an alternative to run debugger if there are no breakpoints. > >> 2) Clicking on the line number to set a breakpoint would be great. >> I didn’t suggest that because there currently are no line numbers. >> Changing the background color of the line number would be fine (red >> to indicate a breakpoint?). As you probably know, debuggers >> typically also have an arrow of some type to indicate the next line >> of code that is about to execute. This arrow is typically drawn over >> the breakpoint indicator when you reach a breakpoint, and moves as >> you step through or over code. > > The debugger currently selects or otherwise tags the next line, though this > has been a problem on windows. > >> 5) I can certainly understand that stepping or not stepping into >> Python library code could be a contentious issue, and I’m glad to >> hear that you regard it as a bug. > > What I specifically think a bug is stepping into idlelib code that would not > be involved if not running in idle. The print function is especially notable > in this respect. Stdlib and 3rd party library module are a difference > subject. > >> With respect to how this could be handled, my view would be that an >> overwhelming percentage of people who use IDLE for development are >> students. And as such, that percentage would not want to step into >> library code. Therefore, I would propose that “Run with Debugger” >> should not pop up a box every time it is selected. Instead, I would >> much prefer this to be a preference. And if so, probably the best >> choice for a default would be Directory of current file. > > I think this would be the proper default for most users. > >> This would >> allow users who are sophisticated enough to understand that they >> might want to step into library code the ability to do so, but would >> work in an expected way for novices, all without having to deal with >> a dialog box on every run with the debugger. > > Yeah, me possible wanting to the debugger to step into idlelib code is > extremely specialized. I could stand to set an option in the preferences > dialog. > >> 6) Yes, it is very interesting to work with students who are >> completely new to programming. (As an aside, the single thing that >> is most difficult for students to grasp is the way that arguments are >> passed to function and how they are assigned to parameter variables >> in the called function.) > > (I think that the best way to explain it as 'cross-namespace assignment', > with the caveat that the interpreter will gather 'extra' args into a tuple or > dict if the function signature requests. The important point is that *for > Python* a parameter binding acts the same as a binding back in the calling > namespace. In particular, and importantly, > > a = [1] > b = a > b.append(2) > print(a) > # [1, 2] > > has the same result as > > a = [1] > def f(b): > b.append(2) > f(a) > print(a) > # [1, 2]) > >> 7) I wil look through the list of bugs and see if I have anything to >> add. I will also write up some comments on your “other possible >> changes”. >> >> 8) Yes, I am aware of the right click on the traceback line to jump >> to the file and line indicated. And I do teach that to students that >> are a little more advanced. But to me this seems like a little bit >> of a hack. Is there any reason it can’t be just a click on the error > > I never thought of it as a 'hack', but do consider it an unnecessary nuisance > (extra step). This is one my possible changes list. I also have thought of > underlining the file-line part to make it be a link. The plus would be the > visual clue to 'click here' to make the jump. The minus would be having to > click the link and not just anywhere. > >> message line to do the same thing? Every time I’ve use it, I see a >> pop-up menu that starts with Cut, Copy, Paste - but these options are >> always grayed out. The only available option is "Go to file/line”. > > I have thought about moving that to the top of the menu. But click would be > even easier. > >> (I have used other systems where clicking on a similar error message >> goes to the appropriate line, and this seems like a simple/reasonable >> approach which works well.) > > Again, precedent is helpful. > >> I thank you very much for your feedback, and I look forward to being >> in touch. >> >> Please let me know if there is any more information I can provide. I >> would also be happy to be a beta tester of any changes to the >> Debugger. > > Send me your bugs.python.org userid if and when you have one. > > Terry Jan Reedy > > > _______________________________________________ > IDLE-dev mailing list > IDLE-dev@python.org > https://mail.python.org/mailman/listinfo/idle-dev _______________________________________________ IDLE-dev mailing list IDLE-dev@python.org https://mail.python.org/mailman/listinfo/idle-dev