Skip to content

bpo-27099: IDLE - Convert built-in extensions to regular features #2494

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

Merged
merged 56 commits into from
Sep 10, 2017

Conversation

wohlganger
Copy link
Contributor

@wohlganger wohlganger commented Jun 29, 2017

  • Adds fg color, bg color, font, and underline options for parens highlighting

https://bugs.python.org/issue27099

adds fg color, bg color, font, and underline options for parens highlighting
@mention-bot
Copy link

@wohlganger, thanks for your PR! By analyzing the history of the files in this pull request, we identified @terryjreedy, @csabella and @kbkaiser to be potential reviewers.

@wohlganger
Copy link
Contributor Author

Per Terry J. Reedy recommendation, only highlighting style is changeable.

@wohlganger wohlganger changed the title bpo-30809 parenmatch highlighting options bpo-27099 and bpo-30809 merge extensions into main and parenmatch highlighting options Jul 10, 2017
<li>RstripExtension</li>
</ul>
in the idlelib directory for further information. There are currently no default extensions.</p>

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

help.html is generated from Doc/library/idle.rst. So replace this edit with an edit of the latter. I believe it should be straightforward.

@terryjreedy
Copy link
Member

Charles, I cannot add commits to this issue, and a few others. Please follow the instructions at https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/#enabling-repository-maintainer-permissions-on-existing-pull-requests to make sure "Allow edits from maintainers." is checked for this and other IDLE issues. Please let me know what you find. If this permission is already granted, then I have some other problem with github.

@wohlganger
Copy link
Contributor Author

Checked "Allow edits". Thank you for pointing it out; I'll remember to check it in the future.

@terryjreedy
Copy link
Member

terryjreedy commented Jul 25, 2017

It is on now. 'Allow edits' is supposed to be checked by default. If that changed, let me know and I will pass the information on to whoever can change it back.

@terryjreedy
Copy link
Member

This may be complete enough, but I may decide to change the new mac bindings first, as I really do not like to leave IDLE in a can't-release regressed state after a commit.

'Code context' is visible on the option menu for Shell and Output Window but not operative. It should be gone (as before) or grayed out, but the current situation could be tolerated in a release.

@terryjreedy terryjreedy closed this Sep 9, 2017
@terryjreedy terryjreedy reopened this Sep 9, 2017
@terryjreedy
Copy link
Member

I ran test suite a couple of times, but now there are two failures to look at.

FAIL: test_get_current_keyset (idlelib.idle_test.test_config.IdleConfTest)
Traceback (most recent call last):
File "/home/travis/build/python/cpython/Lib/idlelib/idle_test/test_config.py", line 526, in test_get_current_keyset
self.assertNotEqual(conf.GetCurrentKeySet(), conf.GetKeySet(conf.CurrentKeys()))

FAIL: test_click_help_source (idlelib.idle_test.test_query.HelpsourceGuiTest)
Traceback (most recent call last):
File "C:\projects\cpython\lib\idlelib\idle_test\test_query.py", line 347, in test_click_help_source
Equal(dialog.result, ('test', prefix + file))
AssertionError: Tuples differ: ('test', 'C:\projects\cpython\lib\idlelib\idle[17 chars].py') != ('test', 'file://C:\projects\cpython\lib\idleli[24 chars].py')
First differing element 1:
'C:\projects\cpython\lib\idlelib\idle_test\test_query.py'
'file://C:\projects\cpython\lib\idlelib\idle_test\test_query.py'

@terryjreedy
Copy link
Member

I ran tests before changing Mac keys. I disabled test that depended on there being Alt keys in Mac or extension bindings. The other failure was due to sys.platform not being restored in first test.

@terryjreedy
Copy link
Member

There are some regressions in the untested behavior of Config Dialog. I suspect they occurred before this patch, but I need to check before merging.

@terryjreedy
Copy link
Member

By checking out master, I verified that the problems I found yesterday pre-existed this patch. The new one I found today required a fix to the new code.

@terryjreedy terryjreedy merged commit 58fc71c into python:master Sep 10, 2017
@miss-islington
Copy link
Contributor

Thanks @wohlganger for the PR, and @terryjreedy for merging it 🌮🎉.. I'm working now to backport this PR to: 3.6.
🐍🍒⛏🤖 I'm not a witch! I'm not a witch!

terryjreedy pushed a commit to terryjreedy/cpython that referenced this pull request Sep 10, 2017
…es (pythonGH-2494)

About 10 IDLE features were implemented as supposedly optional
extensions.  Their different behavior could be confusing or worse for
users and not good for maintenance.  Hence the conversion.

The main difference for users is that user configurable key bindings
for builtin features are now handled uniformly.  Now, editing a binding
in a keyset only affects its value in the keyset.  All bindings are
defined together in the system-specific default keysets in config-
extensions.def.  All custom keysets are saved as a whole in config-
extension.cfg.  All take effect as soon as one clicks Apply or Ok.

The affected events are '<<force-open-completions>>', '<<expand-word>>',
'<<force-open-calltip>>', '<<flash-paren>>', '<<format-paragraph>>',
'<<run-module>>', '<<check-module>>', and '<<zoom-height>>'.  Any
(global) customizations made before 3.6.3 will not affect their keyset-
specific customization after 3.6.3. and vice versa.

Inital patch by Charles Wohlganger, revised by Terry Jan Reedy.
(cherry picked from commit 58fc71c)
@bedevere-bot
Copy link

GH-3487 is a backport of this pull request to the 3.6 branch.

terryjreedy added a commit that referenced this pull request Sep 11, 2017
…es (GH-2494) (#3487)

About 10 IDLE features were implemented as supposedly optional
extensions.  Their different behavior could be confusing or worse for
users and not good for maintenance.  Hence the conversion.

The main difference for users is that user configurable key bindings
for builtin features are now handled uniformly.  Now, editing a binding
in a keyset only affects its value in the keyset.  All bindings are
defined together in the system-specific default keysets in config-
extensions.def.  All custom keysets are saved as a whole in config-
extension.cfg.  All take effect as soon as one clicks Apply or Ok.

The affected events are '<<force-open-completions>>', '<<expand-word>>',
'<<force-open-calltip>>', '<<flash-paren>>', '<<format-paragraph>>',
'<<run-module>>', '<<check-module>>', and '<<zoom-height>>'.  Any
(global) customizations made before 3.6.3 will not affect their keyset-
specific customization after 3.6.3. and vice versa.

Inital patch by Charles Wohlganger, revised by Terry Jan Reedy.
(cherry picked from commit 58fc71c)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants