diff -r 0b502e1bc0b9 -r f18d5fb9a53b DebugClients/Python3/DebugClientBase.py --- a/DebugClients/Python3/DebugClientBase.py Mon Jan 04 17:49:31 2016 +0100 +++ b/DebugClients/Python3/DebugClientBase.py Fri Jan 08 22:14:39 2016 +0100 @@ -775,7 +775,8 @@ value = eval( arg, self.currentThread.getCurrentFrame().f_globals, - self.currentThread.getFrameLocals(0)) + self.currentThread.getFrameLocals(self.framenr)) + self.currentThread.storeFrameLocals(self.framenr) except Exception: # Report the exception and the traceback try: @@ -806,10 +807,11 @@ if cmd == DebugProtocol.RequestExec: _globals = self.currentThread.getCurrentFrame().f_globals - _locals = self.currentThread.getFrameLocals(0) + _locals = self.currentThread.getFrameLocals(self.framenr) try: code = compile(arg + '\n', '<stdin>', 'single') exec(code, _globals, _locals) + self.currentThread.storeFrameLocals(self.framenr) except Exception: # Report the exception and the traceback try: @@ -996,6 +998,8 @@ _locals["sys"].stdout = __stdout else: exec(code, _globals, _locals) + + self.currentThread.storeFrameLocals(self.framenr) except SystemExit as exc: self.progTerminated(exc.code) except Exception: @@ -1359,12 +1363,11 @@ scope = -1 elif scope: dict = f.f_globals + elif f.f_globals is f.f_locals: + scope = -1 else: dict = f.f_locals - if f.f_globals is f.f_locals: - scope = -1 - varlist = [scope] if scope != -1: @@ -1404,11 +1407,10 @@ scope = -1 elif scope: dict = f.f_globals + elif f.f_globals is f.f_locals: + scope = -1 else: dict = f.f_locals - - if f.f_globals is f.f_locals: - scope = -1 varlist = [scope, var]