Terry J. Reedy added the comment:

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.

----------

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

Reply via email to