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.

----------
assignee: terry.reedy
messages: 266214
nosy: ned.deily, terry.reedy
priority: normal
severity: normal
stage: test needed
status: open
title: IDLE: turn builting extensions into regular modules
type: behavior
versions: Python 3.6

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27099>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to