In a previous patch I fixed peep() so that it would skip over NULLs in the last, next, and redo pointers of loops, but I didn't notice that the code I was modifying only handled while and for(;;) sorts of loops. This patch makes the change apply to foreach loops too. In theory this should provide a small performance improvement, but it isn't large enough to be noticeable. Thanks to Robin Houston for (indirectly) bringing this to my attention. -- Stephen McC --- op.c.orig Thu Mar 29 18:18:49 2001 +++ op.c Thu Mar 29 18:19:58 2001 @@ -6854,6 +6854,7 @@ break; case OP_ENTERLOOP: + case OP_ENTERITER: o->op_seq = PL_op_seqmax++; while (cLOOP->op_redoop->op_type == OP_NULL) cLOOP->op_redoop = cLOOP->op_redoop->op_next;Thread Next