[pypy-svn] r17091 - pypy/dist/pypy/interpreter

arigo at codespeak.net arigo at codespeak.net
Tue Aug 30 18:05:46 CEST 2005


Author: arigo
Date: Tue Aug 30 18:05:44 2005
New Revision: 17091

Modified:
   pypy/dist/pypy/interpreter/pyopcode.py
Log:
Don't send f.w_locals to the space.is_() operation if it is None.
(Bug discovered by running the thunk object space, which crashes
on unexpected Nones)



Modified: pypy/dist/pypy/interpreter/pyopcode.py
==============================================================================
--- pypy/dist/pypy/interpreter/pyopcode.py	(original)
+++ pypy/dist/pypy/interpreter/pyopcode.py	Tue Aug 30 18:05:44 2005
@@ -357,7 +357,8 @@
                                      f.space.gettypeobject(PyCode.typedef))
         w_prog, w_globals, w_locals = f.space.unpacktuple(w_resulttuple, 3)
 
-        plain = f.space.is_true(f.space.is_(w_locals, f.w_locals))
+        plain = (f.w_locals is not None and
+                 f.space.is_true(f.space.is_(w_locals, f.w_locals)))
         if plain:
             w_locals = f.getdictscope()
         pycode = f.space.interpclass_w(w_prog)



More information about the Pypy-commit mailing list