[pypy-svn] r4880 - pypy/branch/src-newobjectmodel/pypy/objspace

arigo at codespeak.net arigo at codespeak.net
Thu Jun 3 18:32:41 CEST 2004


Author: arigo
Date: Thu Jun  3 18:32:41 2004
New Revision: 4880

Modified:
   pypy/branch/src-newobjectmodel/pypy/objspace/trivial.py
Log:
Even more obscure fixes.


Modified: pypy/branch/src-newobjectmodel/pypy/objspace/trivial.py
==============================================================================
--- pypy/branch/src-newobjectmodel/pypy/objspace/trivial.py	(original)
+++ pypy/branch/src-newobjectmodel/pypy/objspace/trivial.py	Thu Jun  3 18:32:41 2004
@@ -446,8 +446,10 @@
                                                w_args, w_kwargs)
         else:
             try:
-                impl = w_descr.__get__(w_obj, type(w_obj))
-                return impl(*w_args, **w_kwargs)
+                obj = self.unwrap(w_obj)
+                if hasattr(w_descr, '__get__'):
+                    obj = w_descr.__get__(obj, type(obj))
+                return obj(*w_args, **w_kwargs)
             except:
                 self.reraise()
 
@@ -457,8 +459,10 @@
                                                         *args_w, **kwargs_w)
         else:
             try:
-                impl = w_descr.__get__(w_obj, type(w_obj))
-                return impl(*args_w, **kwargs_w)
+                obj = self.unwrap(w_obj)
+                if hasattr(w_descr, '__get__'):
+                    obj = w_descr.__get__(obj, type(obj))
+                return obj(*args_w, **kwargs_w)
             except:
                 #import traceback; traceback.print_exc()
                 self.reraise()



More information about the Pypy-commit mailing list