Author terry.reedy
Recipients Al.Sweigart, kbk, markroseman, ncoghlan, ned.deily, roger.serwy, serhiy.storchaka, terry.reedy
Date 2016-05-24.01:50:55
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1464054656.88.0.905292336014.issue24225@psf.upfronthosting.co.za>
In-reply-to
Content
I have privately committed 3 patches.  Patch 1 is a renaming patch equivalent to Al's 2 renaming patches.  Patch 2 updates filesnames within code, equivalent to Al's third patch.  At this point, 'python -m test.test_idle' ran with all 188 test_methods passing.  (I added several more test files last week.)  IDLE started, but loading of the 9 extension files failed, entries with old names in .idlerc/config-extensions.cfg caused warning messages.  The htests more or less work.

Patch 3 results in IDLE starting without warnings and with all extensions loaded.  It a) updated the file names in config-extensions.def.  It b) added '<newname> = <oldname>', for example 'runscript = ScriptBinding', where 'ScriptBinding' is still the name of the class defined in the file, to meet the extension requirement that extension files have a callable entry point with the same name as the file.

It also c) temporarily blocks reading from and writing to .idlerc/config-extensions.cfg.  Reading old file names in existing customizations results in failed imports.  This could be fixed in 3.6 by filtering old names, but there would still be the problem that writing customizations with new names would result in failed import warnings in all older versions, and we cannot patch existing releases.  This is another example of how all-version config files are fragile to change.

At this point, IDLE starts normally, with no warnings.  I will retry the htests, work through the menus, and test the shell and editor windows, looking for other name related problems.  Once this is done, and any fixes made, this issue will be complete, and I would like to push the three or four patches.

Ned, do you want me to post the patches first?

I will open another issue about turning extensions into normal code, so config-extensions will only be for external extensions.  Then config-extensions.cfg can be read (with filtering) and written (but there will be nothing to write without added extensions).
History
Date User Action Args
2016-05-24 01:50:57terry.reedysetrecipients: + terry.reedy, kbk, ncoghlan, ned.deily, roger.serwy, markroseman, Al.Sweigart, serhiy.storchaka
2016-05-24 01:50:56terry.reedysetmessageid: <1464054656.88.0.905292336014.issue24225@psf.upfronthosting.co.za>
2016-05-24 01:50:56terry.reedylinkissue24225 messages
2016-05-24 01:50:55terry.reedycreate