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 very 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 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