bpo-36405: IDLE - Restore __main__ and add tests (#12518)

Fix error in commit 2b75155 noticed by Serhiy Storchaka.
This commit is contained in:
Terry Jan Reedy 2019-03-24 17:12:28 -04:00 committed by GitHub
parent 6661c1720e
commit 0fe4513d9a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 18 additions and 10 deletions

View file

@ -4,6 +4,7 @@ Call Tips are floating windows which display function, class, and method
parameter and docstring information when you type an opening parenthesis, and
which disappear when you type a closing parenthesis.
"""
import __main__
import inspect
import re
import sys
@ -99,10 +100,10 @@ class Calltip:
def get_entity(expression):
"""Return the object corresponding to expression evaluated
in a namespace spanning sys.modules and globals().
in a namespace spanning sys.modules and __main.dict__.
"""
if expression:
namespace = {**sys.modules, **globals()}
namespace = {**sys.modules, **__main__.__dict__}
try:
return eval(expression, namespace) # Only protect user code.
except BaseException: