[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 ----