msg296554 - (view) |
Author: Charles Wohlganger (wohlganger) * |
Date: 2017-06-21 13:23 |
Sorry, I'm new to this, and I've done it out of order. Commit #2306 covers the following: In IDLE, parenmatch extension: Add highlighting left and right parens to styles. Make flash-delay setting independent of parens highlighting style. Currently, the flash-delay option only affects one of the two styles, but there is no good reason for it not to affect both. |
|
|
msg296578 - (view) |
Author: Terry J. Reedy (terry.reedy) *  |
Date: 2017-06-21 20:00 |
On bugs.python.org tracker a number prefixed by '#' refers an issue number on this tracker. On the other hand, PR2306 or PR 2306 should do what you meant. https://docs.python.org/devguide/triaging.html#generating-special-links-in-a-comment In a pull request, bpo-30723 should refer back to this issue, at least in a title. |
|
|
msg296581 - (view) |
Author: Terry J. Reedy (terry.reedy) *  |
Date: 2017-06-21 20:31 |
Hi Charles. Welcome to CPython development and its issue tracker. Everyone starts 'new at this'. Can you please describe, in detail, a simple, minimal example of how to invoke the existing behavior that you want to change, then what change you want to see. Behavior change patches should be accompanied by a test that fails before the patch and passes after it is applies. Such a description is the basis for a new test. The test for idlelib.parenmatch is in idlelib.idle_test.test_parenmatch. Can you see if you can make sense of the existing tests and if you have any idea how to add a new one? |
|
|
msg296605 - (view) |
Author: Charles Wohlganger (wohlganger) * |
Date: 2017-06-21 23:57 |
There are two changes: First - The flash-delay option is for how until the parens that are highlighted will stop highlighting. The flash-delay option for the ParenMatch only affects the 'default' style. Similarly the 'expressions' style does not use the flash-delay option and will not stop highlighting until input is given to IDLE. Desired behavior is for the flash-delay option to work for both styles, and setting flash-delay to 0 will cause the input required behavior that is currently only used by the 'expressions' style. I couldn't find anything in the test suite for testing the delay behavior specific to styles, only that the timer works in general, so I'm not sure how to test it other than just observing it. The test did not seem to cover if 'default' style worked properly using the 'show surrounding parens' command. I have added that to all style tests. Second - There is no style for highlighting the opening and closing parens. The new behavior is to write 'parens' (without ticks) for the style option, apply/ok the options, restart IDLE, and make a statement with parens, and it highlights both parens. The uploaded parenmatch test file covers the parens style, ensuring it works correctly. |
|
|
msg296612 - (view) |
Author: Terry J. Reedy (terry.reedy) *  |
Date: 2017-06-22 01:08 |
Thanks. That gives me something to work with. |
|
|
msg297058 - (view) |
Author: Terry J. Reedy (terry.reedy) *  |
Date: 2017-06-27 17:17 |
The unlinked PR is a closed duplicate. PR 2306 is the one being updated and reviewed. |
|
|
msg297061 - (view) |
Author: Terry J. Reedy (terry.reedy) *  |
Date: 2017-06-27 18:08 |
I have compared current behavior with you explanation and I agree on the enhancement. 'parens' seems more useful than 'default'. 'default' is a misnomer for current IDLE since the current default in config-extensions.def is 'expression', not 'default', I am inclined to add synonym such as 'opener'. Do you have another suggestion? On the todo list, the first item is covered by the newish Extensions tab, and should be removed. What the tab lacks is input validation. Immediately, pressing [Help] when on the Extensions tab should display text than included the parenmatch styles and the meaning of delay 0. I will add this. The second item mentions other Emacs stuff. Just curious, do you know if 'parens' is part of this? The 'below' just mentions the 'highlight when cursor returns issue'. |
|
|
msg297063 - (view) |
Author: Charles Wohlganger (wohlganger) * |
Date: 2017-06-27 18:30 |
'opener' sounds fine to me. I agree it makes much more sense than 'default'. I don't know much about Emacs, and couldn't find what their parens highlighting styles were. I can't think of anything sensible that isn't in this extension with this enhancement; apart from highlighting whenever the cursor is beside a parens. |
|
|
msg297070 - (view) |
Author: Terry J. Reedy (terry.reedy) *  |
Date: 2017-06-27 19:10 |
I am working on revising the patch now, so don't push anything until I do. I will revise the docstring and add 'opener' and help and news file. |
|
|
msg297141 - (view) |
Author: Terry J. Reedy (terry.reedy) *  |
Date: 2017-06-28 02:36 |
New changeset fae2c3538ecbcdd37b6eca891c0815d2093c39e3 by terryjreedy (wohlganger) in branch 'master': bpo-30723: IDLE -- Enhance parenmatch; add style, flash, and help (#2306) https://github.com/python/cpython/commit/fae2c3538ecbcdd37b6eca891c0815d2093c39e3 |
|
|
msg297143 - (view) |
Author: Terry J. Reedy (terry.reedy) *  |
Date: 2017-06-28 03:02 |
New changeset af68382f68b08a383e7064777cf817375681e434 by terryjreedy in branch '3.6': [3.6] bpo-30723: IDLE -- Enhance parenmatch; add style, flash, and help (GH-2306) (#2460) https://github.com/python/cpython/commit/af68382f68b08a383e7064777cf817375681e434 |
|
|
msg297151 - (view) |
Author: Terry J. Reedy (terry.reedy) *  |
Date: 2017-06-28 04:54 |
Charles, thank you for the focused suggestion and patch. If you are interested, #30422 reviews IDLE goals and current issues. |
|
|