Author terry.reedy
Recipients markroseman, terry.reedy
Date 2015-10-30.05:25:52
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1446182752.94.0.742881025955.issue25507@psf.upfronthosting.co.za>
In-reply-to
Content
To continue: CallTips.Calltips has a similar here-or-there logic that decides where to execute the actual get-calltip-logic.  In this case,  get_entity and get_argspec are already functions rather than methods (I changed get_entity from method to function in 02b4c62ce393.) The functions could be moved into a different module with the completions function.

RemoteDebugger imports Debugger which imports WindowList, ScrolledList, and macosxSupport, all without idleConf imports.

RemoteObjectBrowser import rpc, both without idleConf.  run also imports rpc.

StackViewer imports TreeWidget and ObjectBrowser, which are not issues.  It also imports PyShell for PyShellFileList, which would be an issue, except that this is only for the htest function _stack_viewer.  I will move the test-specific import into the function, as is my current policy.

IOBinding is imported for IOBinding.encoding. The code that calculates this could be put anywhere.  This is fortunate because IOBinding imports idleConf and three tkinter modules.

Conclusion: moving about 2-300 lines of code (about 6 objects) from PyShell, AutoComplete, and IOBinding into run (currently about 400 lines) would eliminate idleConf from the user process.  I did not check tkinter imports for all the above, but it might also fix the tkinter namespace problem.
History
Date User Action Args
2015-10-30 05:25:52terry.reedysetrecipients: + terry.reedy, markroseman
2015-10-30 05:25:52terry.reedysetmessageid: <1446182752.94.0.742881025955.issue25507@psf.upfronthosting.co.za>
2015-10-30 05:25:52terry.reedylinkissue25507 messages
2015-10-30 05:25:52terry.reedycreate