[Python-checkins] CVS: python/dist/src/Python ceval.c,2.241.2.3,2.241.2.4

Guido van Rossum gvanrossum@users.sourceforge.net
Thu, 28 Jun 2001 13:32:46 -0700


Update of /cvsroot/python/python/dist/src/Python
In directory usw-pr-cvs1:/tmp/cvs-serv27097

Modified Files:
      Tag: descr-branch
	ceval.c 
Log Message:
Fix a surprise that botched a demo: overriding __getitem__ in a
subclass of list didn't work.  Turns out the inlining version in the
bytecode interpreter was triggered for subclasses of list...  That's
what I get for redefining PyList_Check()! :-(


Index: ceval.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/ceval.c,v
retrieving revision 2.241.2.3
retrieving revision 2.241.2.4
diff -C2 -r2.241.2.3 -r2.241.2.4
*** ceval.c	2001/06/05 12:48:11	2.241.2.3
--- ceval.c	2001/06/28 20:32:44	2.241.2.4
***************
*** 1010,1014 ****
  			w = POP();
  			v = POP();
! 			if (PyList_Check(v) && PyInt_Check(w)) {
  				/* INLINE: list[int] */
  				long i = PyInt_AsLong(w);
--- 1010,1014 ----
  			w = POP();
  			v = POP();
! 			if (v->ob_type == &PyList_Type && PyInt_Check(w)) {
  				/* INLINE: list[int] */
  				long i = PyInt_AsLong(w);