Issue 999042: Compiler module doesn't handle global statement correctly (original) (raw)
If we don't use the compiler module:
code = 'global x\nx=1' d1={'builtins': {}}; d2={}; exec code in d1, d2 d1, d2 ({'builtins': {}, 'x': 1}, {})
with the compiler module:
code = compiler.compile('global x\nx=1', 'd', 'exec') d1={'builtins': {}}; d2={}; exec code in d1, d2 d1, d2 ({'builtins': {}}, {'x': 1})
global is ignored