[New-bugs-announce] [issue27099] IDLE: turn builting extensions into regular modules
Terry J. Reedy
report at bugs.python.org
Mon May 23 22:02:40 EDT 2016
New submission from Terry J. Reedy:
Followup to #24225, which renamed idlelib files.
Currently, an arbitrary set of 9 (of 10, if Check Module is counted as a separate feature) IDLE features are implemented as extensions. Their menu names are as follows:
Edit - Show Completions
Edit - Expand Word
Edit - Show call tip
Edit - Show surrounding parens
Format - Format Paragraph
Format - Strip trailing whitespace
Run - Check Module (same file as below)
Run - Run Module
Options - Code Context
Window - Zoom Height
This issue proposes to turn these into normal features implemented in regular code.
1. The menu entries for extensions are not included in the main menu definition file (mainmenu, previously Bindings). Rather, they are appended when the file is read. This is constricting. The order of the 4 edit entries is the alphabetical order of the corresponding file names. Run Module should be at the top of the Run menu, rather than being shoved down further if and when more non-extension entries are added.
2. Each feature is a separate file, usually small to medium with one class. This bloats the number of modules in idlelib (now about 60). I am considering combining autoexpand and parenmatch, paragraph and rstrip, and codecontext and zoomheight (and moving codecontext to the Window menu). They might be joined with other features from the same menu.
3. The user customization system is not very compatible with change. The problems with extension customization and changing file names is discussed in the second half of msg266213. If extensions are not converted, another solution will be needed.
I have not yet tested the effect of adding new key bindings to config-keys.def and config-keys.cfg. If this causes a problem for current releases, then this is a problem we need to face. I anticipate wanting to add other new keybindings, such as one to switch tabs when we use a notebook.
nosy: ned.deily, terry.reedy
stage: test needed
title: IDLE: turn builting extensions into regular modules
versions: Python 3.6
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce