Good day all, I wouldn't consider myself as a Zope developper, but since that's where the thread was... I've read the thread with interest but so far all I've read in it are workarounds that I do not find particularly nice. I did find a bug w/patch in the collector (#1317), which I thought was meant to correct the problem, but the patch has been applied to my version (2.3.2), and dtml-in evidently still did not behave as expected. So I've looked at it more closely and found what I think is a fix, but given my inexperience, I would like to know if others think that I'm doing something wrong. I've tested the change for a while on my application, and everything seems to work so far. Here is the original code, with my annotated change (I deleted an if test in two places): for index in range(first,end): # preset kw['previous-sequence']= 0 kw['next-sequence']= 0 # now more often defined then previously # if index==first or index==last: # provide batching information if first > 0: pstart,pend,psize=opt(0,first+overlap, sz,orphan,sequence) deleted this test --> if index==first: kw['previous-sequence']=1 kw['previous-sequence-start-index']=pstart-1 kw['previous-sequence-end-index']=pend-1 kw['previous-sequence-size']=pend+1-pstart try: # The following line is a sneaky way to # test whether there are more items, # without actually computing a length: sequence[end] pstart,pend,psize=opt(end+1-overlap,0, sz,orphan,sequence) deleted this test --> if index==last: kw['next-sequence']=1 kw['next-sequence-start-index']=pstart-1 kw['next-sequence-end-index']=pend-1 kw['next-sequence-size']=pend+1-pstart except: pass if index==last: kw['sequence-end']=1 Cheers, Jean