This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author taleinat
Recipients taleinat, terry.reedy
Date 2019-08-11.11:17:08
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
Currently, when running an IDLE shell with a sub-process, it will allow completing attributes of objects not actually in the shell's namespace. For example, typing "codecs." will bring up completions for the codecs module's attributes, despite that not having being imported. Further, if one uses the completion, this results in a NameError exception, since "codecs" isn't actually in the namespace.

AFAICT, the intended behavior is as follows:

* If a shell exists, completion should use the namespace used for evaluating code in the shell. (Note that this is slightly different when running a shell without a sub-process.)
* If no shell exists (only editor windows are open), completion should use the global namespace + sys.modules.
Date User Action Args
2019-08-11 11:17:08taleinatsetrecipients: + taleinat, terry.reedy
2019-08-11 11:17:08taleinatsetmessageid: <>
2019-08-11 11:17:08taleinatlinkissue37821 messages
2019-08-11 11:17:08taleinatcreate