summaryrefslogtreecommitdiff
path: root/python/helpers/pydev/pydev_run_in_console.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/helpers/pydev/pydev_run_in_console.py')
-rw-r--r--python/helpers/pydev/pydev_run_in_console.py19
1 files changed, 3 insertions, 16 deletions
diff --git a/python/helpers/pydev/pydev_run_in_console.py b/python/helpers/pydev/pydev_run_in_console.py
index 1b8e1d230175..731ead67115e 100644
--- a/python/helpers/pydev/pydev_run_in_console.py
+++ b/python/helpers/pydev/pydev_run_in_console.py
@@ -2,6 +2,7 @@
from pydevconsole import *
import pydev_imports
+from pydevd_utils import save_main_module
def run_file(file, globals=None, locals=None):
@@ -11,22 +12,8 @@ def run_file(file, globals=None, locals=None):
file = new_target
if globals is None:
- # patch provided by: Scott Schlesier - when script is run, it does not
- # use globals from pydevd:
- # This will prevent the pydevd script from contaminating the namespace for the script to be debugged
-
- # pretend pydevd is not the main module, and
- # convince the file to be debugged that it was loaded as main
- sys.modules['pydevd'] = sys.modules['__main__']
- sys.modules['pydevd'].__name__ = 'pydevd'
-
- from imp import new_module
- m = new_module('__main__')
- sys.modules['__main__'] = m
- if hasattr(sys.modules['pydevd'], '__loader__'):
- setattr(m, '__loader__', getattr(sys.modules['pydevd'], '__loader__'))
-
- m.__file__ = file
+ m = save_main_module(file, 'pydev_run_in_console')
+
globals = m.__dict__
try:
globals['__builtins__'] = __builtins__