Terry J. Reedy added the comment:

Here is a high-level overview of the steps involved in the patch, and a few 
TODOs for new issues.

Move menu specifications from feature files to mainmenu.py.  Remove enable 
items from config-extensions.def sections.  Most features were enabled for both 
shell and editor. FormatParagraph appears on the Format menu which is only 
present for editor windows.  Ditto for Check Module and Run Module and the Run 
menu. Disable CodeText in Outwin.  TODO: Also grey-out the menu item.

Handle user-configurable pseudoevent -- key sequence definitions the same for 
these features as all others.  This fixes oddities that could be considered 
bugs.  Delete them from config-extensions.def sections.  Add them to the 
default keysets in config-keys.def, with adjustments for the Mac keysets.  Let 
user changes be stored in custom keysets in config-keys.cfg instead of 
diverting them to config-extensions.cfg.  Do not warn when they are missing 
from older custom keysets (when they get default values).  TODO: Augment 
config.IdleConf to add new pairs to existing custom keysets, at least when they 
are used.

I have tested that 2.7 runs with an augmented custom keyset, ignoring the new 
keys, and does not delete the new definitions when an older one is changed and 
the keyset changed.  TODO: Fix regressions in keyset handling that predate this 
patch and were not caught by existing tests.

Handle fixed pseudoevent -- key sequence pairs more like existing non-extension 
pairs.  Delete them from config-extensions.def.  For the present, put 
event_add() calls in EditorWindow.__init__.  TODO: If I am correct that these 
calls are needed just once and not for each instance, move them.  (Not an 
immediate priority.)

Remove sections that are now empty, leaving 4 with non-key options.  Add 
widgets to the General Page of ConfigDialog for customizing these options.  
Make the option values class attributes in the respective classes, initialize 
by a class method that is called upon import and when config dialog changes are 
accepted.  (This means that changes now take effect immediately rather than 
when IDLE is started.)  For the present, for back-compatibility, leave these 
sections in config-extensions.def rather than moving them to config-main.def 
(and moving user values between the corresponding .cfg files.)  Add a note in 
config-extensions.def explaining that these sections do not represent 
extensions but why there are there.  Modify IdleConf to not treat these as 
extension sections.  TODO: re-evaluate whether some of the options should 
really be kept as options.

Add a dummy extension Zzdummy to serve as an example and for use in tests.  
TODO: Modify test so that Zzdummy can be disabled by default.

Anything else that I forgot or is too trivial to mention ;-).

----------
stage: patch review -> test needed

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://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