Fix free variable misusage
authorClaudio-Daniel Freire <claudio-daniel.freire@inria.fr>
Wed, 29 Jun 2011 09:20:22 +0000 (11:20 +0200)
committerClaudio-Daniel Freire <claudio-daniel.freire@inria.fr>
Wed, 29 Jun 2011 09:20:22 +0000 (11:20 +0200)
src/nepi/util/proxy.py

index bdf4b4c..745df56 100644 (file)
@@ -967,9 +967,12 @@ class BaseProxy(object):
                     
                     # inject _deferred into core classes
                     if hasattr(template_class, methname) and not hasattr(template_class, dmethname):
-                        def dmeth(self, *p, **kw): 
-                            return getattr(self, methname)(*p, **kw)
-                        dmeth.__name__ = dmethname
+                        def freezename(methname, dmethname):
+                            def dmeth(self, *p, **kw): 
+                                return getattr(self, methname)(*p, **kw)
+                            dmeth.__name__ = dmethname
+                            return dmeth
+                        dmeth = freezename(methname, dmethname)
                         setattr(template_class, dmethname, dmeth)
         
         return rv