On Sat Feb 16 20:23:16 2008, [EMAIL PROTECTED] wrote: > After a whole day of binary searches, I've identified the problem as > occurring in a revision of src/list.c in revision 24840 (attached). > > I am currently testing to see whether simply reverting this change is > sufficient to get t/src/intlist.t passing again on Darwin without > breaking it on Linux (the only other OS to which I have access). >
Reverting was sufficient to get t/src/intlist.t passing again on Darwin and did no harm on Linux. Applied in r25788. Please see if it works for you. Thank you very much. kid51
Index: src/list.c =================================================================== --- src/list.c (revision 25787) +++ src/list.c (working copy) @@ -1876,7 +1876,7 @@ { void *ret; UINTVAL idx; - List_chunk * const chunk = list->first; + List_chunk *chunk = list->first; if (list->length == 0) return NULL; @@ -1889,6 +1889,7 @@ ret = list_item(interp, list, type, idx); if (list->start >= chunk->items) { list->cap -= chunk->items; + chunk = list->first = chunk->next ? chunk->next : list->last; list->start = 0; rebuild_chunk_list(interp, list); if (list->n_chunks == 1)