[pypy-svn] r16329 - in pypy/dist/pypy/module/__builtin__: . test

hpk at codespeak.net hpk at codespeak.net
Tue Aug 23 19:54:45 CEST 2005


Author: hpk
Date: Tue Aug 23 19:54:45 2005
New Revision: 16329

Modified:
   pypy/dist/pypy/module/__builtin__/compiling.py
   pypy/dist/pypy/module/__builtin__/test/test_builtin.py
Log:
allow explicit Nones to eval() 
(new in python 2.4) 



Modified: pypy/dist/pypy/module/__builtin__/compiling.py
==============================================================================
--- pypy/dist/pypy/module/__builtin__/compiling.py	(original)
+++ pypy/dist/pypy/module/__builtin__/compiling.py	Tue Aug 23 19:54:45 2005
@@ -69,7 +69,7 @@
     except IndexError:
         caller = None
 
-    if w_globals is None:
+    if w_globals is None or space.is_w(w_globals, space.w_None): 
         if caller is None:
             w_globals = w_locals = space.newdict([])
         else:

Modified: pypy/dist/pypy/module/__builtin__/test/test_builtin.py
==============================================================================
--- pypy/dist/pypy/module/__builtin__/test/test_builtin.py	(original)
+++ pypy/dist/pypy/module/__builtin__/test/test_builtin.py	Tue Aug 23 19:54:45 2005
@@ -336,6 +336,10 @@
         assert eval(" \t1+2\n") == 3
         assert eval("len([])") == 0
         assert eval("len([])", {}) == 0        
+        # cpython 2.4 allows this (raises in 2.3)
+        assert eval("3", None, None) == 3
+        i = 4
+        assert eval("i", None, None) == 4
 
     def test_compile(self):
         co = compile('1+2', '?', 'eval')



More information about the Pypy-commit mailing list