[Python-checkins] python/nondist/sandbox/itertools itertools.c,1.16,1.17 todo.txt,1.14,1.15

rhettinger@users.sourceforge.net rhettinger@users.sourceforge.net
Thu, 30 Jan 2003 23:20:52 -0800


Update of /cvsroot/python/python/nondist/sandbox/itertools
In directory sc8-pr-cvs1:/tmp/cvs-serv25720

Modified Files:
	itertools.c todo.txt 
Log Message:
Make tp_traverse complete

Index: itertools.c
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/itertools/itertools.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** itertools.c	31 Jan 2003 07:09:23 -0000	1.16
--- itertools.c	31 Jan 2003 07:20:49 -0000	1.17
***************
*** 54,59 ****
  dropwhile_traverse(dropwhileobject *lz, visitproc visit, void *arg)
  {
! 	if (lz->it)
! 		return visit(lz->it, arg);
  	return 0;
  }
--- 54,69 ----
  dropwhile_traverse(dropwhileobject *lz, visitproc visit, void *arg)
  {
! 	int err;
! 
! 	if (lz->it) {
! 		err = visit(lz->it, arg);
! 		if (err)
! 			return err;
! 	}
! 	if (lz->func) {
! 		err = visit(lz->func, arg);
! 		if (err)
! 			return err;
! 	}
  	return 0;
  }
***************
*** 198,203 ****
  takewhile_traverse(takewhileobject *lz, visitproc visit, void *arg)
  {
! 	if (lz->it)
! 		return visit(lz->it, arg);
  	return 0;
  }
--- 208,223 ----
  takewhile_traverse(takewhileobject *lz, visitproc visit, void *arg)
  {
! 	int err;
! 
! 	if (lz->it) {
! 		err = visit(lz->it, arg);
! 		if (err)
! 			return err;
! 	}
! 	if (lz->func) {
! 		err = visit(lz->func, arg);
! 		if (err)
! 			return err;
! 	}
  	return 0;
  }
***************
*** 509,514 ****
  starmap_traverse(starmapobject *lz, visitproc visit, void *arg)
  {
! 	if (lz->it)
! 		return visit(lz->it, arg);
  	return 0;
  }
--- 529,544 ----
  starmap_traverse(starmapobject *lz, visitproc visit, void *arg)
  {
! 	int err;
! 
! 	if (lz->it) {
! 		err = visit(lz->it, arg);
! 		if (err)
! 			return err;
! 	}
! 	if (lz->func) {
! 		err = visit(lz->func, arg);
! 		if (err)
! 			return err;
! 	}
  	return 0;
  }
***************
*** 662,667 ****
  imap_traverse(imapobject *lz, visitproc visit, void *arg)
  {
! 	if (lz->argtuple)
! 		return visit(lz->argtuple, arg);
  	return 0;
  }
--- 692,712 ----
  imap_traverse(imapobject *lz, visitproc visit, void *arg)
  {
! 	int err;
! 
! 	if (lz->iters) {
! 		err = visit(lz->iters, arg);
! 		if (err)
! 			return err;
! 	}
! 	if (lz->argtuple) {
! 		err = visit(lz->argtuple, arg);
! 		if (err)
! 			return err;
! 	}
! 	if (lz->func) {
! 		err = visit(lz->func, arg);
! 		if (err)
! 			return err;
! 	}
  	return 0;
  }
***************
*** 911,916 ****
  ifilter_traverse(ifilterobject *lz, visitproc visit, void *arg)
  {
! 	if (lz->it)
! 		return visit(lz->it, arg);
  	return 0;
  }
--- 956,971 ----
  ifilter_traverse(ifilterobject *lz, visitproc visit, void *arg)
  {
! 	int err;
! 
! 	if (lz->it) {
! 		err = visit(lz->it, arg);
! 		if (err)
! 			return err;
! 	}
! 	if (lz->func) {
! 		err = visit(lz->func, arg);
! 		if (err)
! 			return err;
! 	}
  	return 0;
  }

Index: todo.txt
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/itertools/todo.txt,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** todo.txt	31 Jan 2003 07:09:24 -0000	1.14
--- todo.txt	31 Jan 2003 07:20:49 -0000	1.15
***************
*** 10,17 ****
     subclassability
  
- Fixup:
-    tp_traverse looks incomplete
- 
- 
  ? Should times() and count() be subclassable
           With no accessible methods or members, I would think not.
--- 10,13 ----