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)

Reply via email to