Author terry.reedy
Recipients ned.deily, serhiy.storchaka, terry.reedy
Date 2016-06-07.00:44:44
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
The final paragraph of my initial post should have talked about config-main and features, rather than keys.

The following experiment indicates that adding new sections to config-main.def and customizations thereof to config-main.cfg should not be a problem. 

Add the following to config-main.cfg
new = True

Open IDLE 2.7 from console (python, with import).
Open config dialog.
Change item.
Close with [OK]
confirm that change is written and new section is left alone.
Close IDLE.
Repeat with 3.5.

Old versions will not see new config-main.def, so that is not an issue.

Conclusion: adding a new section that old versions ignore is much safer then adding a new value for a current section&item that old versions do read and act on, and which may refer to something that does not exist.  (This was the problem with IDLE Dark theme and would be with Unix New keyset).

The remaining issues:

4. Finding a place on the dialog itself for new customization widgets. On Font, Theme, and General tabs, there is space available either now or with some changes.  The dialog can be enlarged if needed.

5. Adding the behind-the-scenes plumbing.  This is mostly straightforward.

6. Doing minimal refactoring to make better testing easier.
That would include being able to patch in a .idlerc directory or individual user files.  The files are small and could easily fit in memory as StringIOs.

I would like to be able to set user files, open config and idleConf, open config dialog, simulate user actions on the dialog, close, and check the effect on the files.
Date User Action Args
2016-06-07 00:44:46terry.reedysetrecipients: + terry.reedy, ned.deily, serhiy.storchaka
2016-06-07 00:44:46terry.reedysetmessageid: <>
2016-06-07 00:44:46terry.reedylinkissue27099 messages
2016-06-07 00:44:44terry.reedycreate