[pypy-svn] r66322 - in pypy/branch/parser-compiler/pypy/interpreter/astcompiler: . test

benjamin at codespeak.net benjamin at codespeak.net
Fri Jul 17 21:04:25 CEST 2009


Author: benjamin
Date: Fri Jul 17 21:04:23 2009
New Revision: 66322

Modified:
   pypy/branch/parser-compiler/pypy/interpreter/astcompiler/codegen.py
   pypy/branch/parser-compiler/pypy/interpreter/astcompiler/test/test_compiler.py
Log:
fix lambdas with arguments

Modified: pypy/branch/parser-compiler/pypy/interpreter/astcompiler/codegen.py
==============================================================================
--- pypy/branch/parser-compiler/pypy/interpreter/astcompiler/codegen.py	(original)
+++ pypy/branch/parser-compiler/pypy/interpreter/astcompiler/codegen.py	Fri Jul 17 21:04:23 2009
@@ -1141,6 +1141,7 @@
         assert isinstance(lam, ast.Lambda)
         if lam.args.args:
             self._handle_nested_args(lam.args.args)
+            self.argcount = len(lam.args.args)
         lam.body.walkabout(self)
         self.emit_op(ops.RETURN_VALUE)
 

Modified: pypy/branch/parser-compiler/pypy/interpreter/astcompiler/test/test_compiler.py
==============================================================================
--- pypy/branch/parser-compiler/pypy/interpreter/astcompiler/test/test_compiler.py	(original)
+++ pypy/branch/parser-compiler/pypy/interpreter/astcompiler/test/test_compiler.py	Fri Jul 17 21:04:23 2009
@@ -695,6 +695,9 @@
         """
         self.simple_test(source, 'l', [1, 2])
 
+    def test_lambda(self):
+        yield self.st, "y = lambda x: x", "y(4)", 4
+
 
 class AppTestPrint:
 



More information about the Pypy-commit mailing list