summaryrefslogtreecommitdiffstats
path: root/Lib/idlelib/run.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/idlelib/run.py')
-rw-r--r--Lib/idlelib/run.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py
index 5db652e..cc3edf1 100644
--- a/Lib/idlelib/run.py
+++ b/Lib/idlelib/run.py
@@ -1,6 +1,7 @@
import sys
import time
import socket
+import __main__
import rpc
def main():
@@ -55,11 +56,18 @@ class Executive:
def __init__(self, rpchandler):
self.rpchandler = rpchandler
- import __main__
- self.locals = __main__.__dict__
+ self.base_env_keys = __main__.__dict__.keys()
def runcode(self, code):
- exec code in self.locals
+ exec code in __main__.__dict__
+
+ def clear_the_environment(self):
+ global __main__
+ env = __main__.__dict__
+ for key in env.keys():
+ if key not in self.base_env_keys:
+ del env[key]
+ env['__doc__'] = None
def start_the_debugger(self, gui_adap_oid):
import RemoteDebugger