[pypy-svn] r10490 - pypy/dist/pypy/translator
arigo at codespeak.net
arigo at codespeak.net
Sat Apr 9 18:14:40 CEST 2005
Author: arigo
Date: Sat Apr 9 18:14:40 2005
New Revision: 10490
Modified:
pypy/dist/pypy/translator/geninterplevel.py
Log:
Don't modify the globals dict being translated in geninterp.py.
Modified: pypy/dist/pypy/translator/geninterplevel.py
==============================================================================
--- pypy/dist/pypy/translator/geninterplevel.py (original)
+++ pypy/dist/pypy/translator/geninterplevel.py Sat Apr 9 18:14:40 2005
@@ -746,12 +746,15 @@
def nameof_dict(self, dic):
assert dic is not __builtins__
- assert '__builtins__' not in dic, 'Seems to be the globals of %s' % (
- dic.get('__name__', '?'),)
+ if dic is not self.entrypoint:
+ assert '__builtins__' not in dic, 'Seems to be the globals of %s' %(
+ dic.get('__name__', '?'),)
name = self.uniquename('g%ddict' % len(dic))
self.register_early(dic, name)
self.initcode.append('%s = space.newdict([])' % (name,))
for k in dic:
+ if k == '__builtins__':
+ continue
self.initcode.append('space.setitem(%s, %s, %s)'%(
name, self.nameof(k), self.nameof(dic[k])))
return name
@@ -1359,7 +1362,7 @@
fpath = os.path.join(libdir, fname)
dic = {"__name__": "exceptions"}
execfile(fpath, dic)
- del dic["__builtins__"]
+ #del dic["__builtins__"]
def test_exceptions():
""" enumerate all exceptions """
return dic.keys()
@@ -1503,7 +1506,7 @@
code = compile(sourcetext, filename, 'exec')
dic = {'__name__': modname}
exec code in dic
- del dic['__builtins__']
+ #del dic['__builtins__']
entrypoint = dic
t = Translator(None, verbose=False, simplifying=True,
builtins_can_raise_exceptions=True,
More information about the Pypy-commit
mailing list