Tal Einat <talei...@gmail.com> added the comment:

Terry, many thanks for the clarifications!

> The intended behavior is to complete if at all possible.

I can see the point in that.

> What is odd to me is that you seem happy using the more numerous non-user 
> IDLE imports when there is no Shell.

The alternative would just be completing in an empty namespace, which would be 
completely useless.  I do agree that having a shell should increase the 
available modules etc. available for completion.


FWIW I brought this up trying the dict-key completions in the shell with 
`globals()[` and got surprising results.

Perhaps we should differentiate between completions in the shell vs. when 
editing a file.  In the shell, having completions for things not actually 
available is weird IMO.  In the editor it makes more sense.

Or perhaps we should really go the route of issue #18766 and try to make all 
available modules available for completions.  I really dislike the arbitrary 
availability of only certain modules for completion.  That would likely be a 
*huge* undertaking, though, and I don't think it's worth it.  Maybe restrict 
this to just stdlib modules, and/or use lazy (on demand) importing.

Finally, we can also decide that the current behavior is what we want. It's 
there, documented, and normally not very surprising.

----------

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

Reply via email to