[Python-checkins] python/dist/src/Objects typeobject.c, 2.241.6.7, 2.241.6.8

pje at users.sourceforge.net pje at users.sourceforge.net
Wed Mar 24 21:36:31 EST 2004


Update of /cvsroot/python/python/dist/src/Objects
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6199/Objects

Modified Files:
      Tag: release23-maint
	typeobject.c 
Log Message:
Ensure super() lookup of descriptor from classmethod works (SF ID# 743627)
(Backport to 2.3 maintenance branch)


Index: typeobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/typeobject.c,v
retrieving revision 2.241.6.7
retrieving revision 2.241.6.8
diff -C2 -d -r2.241.6.7 -r2.241.6.8
*** typeobject.c	9 Feb 2004 02:57:18 -0000	2.241.6.7
--- typeobject.c	25 Mar 2004 02:36:29 -0000	2.241.6.8
***************
*** 5497,5501 ****
  				f = res->ob_type->tp_descr_get;
  				if (f != NULL) {
! 					tmp = f(res, su->obj,
  						(PyObject *)starttype);
  					Py_DECREF(res);
--- 5497,5508 ----
  				f = res->ob_type->tp_descr_get;
  				if (f != NULL) {
! 					tmp = f(res,
! 						/* Only pass 'obj' param if
! 						   this is instance-mode super 
! 						   (See SF ID #743627)
! 						*/
! 						(su->obj==su->obj_type 
! 							? (PyObject *)NULL 
! 							: su->obj),
  						(PyObject *)starttype);
  					Py_DECREF(res);




More information about the Python-checkins mailing list