On Sat, Nov 19, 2011 at 5:12 PM, Andi Vajda <va...@apache.org> wrote: > > Hi Mike, > > On Sat, 19 Nov 2011, Michael McCandless wrote: > >> If I run this: >> >> import lucene >> import types >> >> arr = lucene.JArray(types.IntType)([1, 2, 3, 4]) >> >> it makes a length 4 int array, initialized with 1, 2, 3, 4. >> >> But then if I try to slice this array like this: >> >> print arr[0:] >> >> it prints: >> >> [1, 2, 3] >> >> but I think it should print: >> >> [1, 2, 3, 4] >> >> ie, it's losing the last element. >> >> If instead I slice with an explicit end index (arr[0:4]), it works >> correctly... >> >> Any ideas? > > You hit a bug. > > I still had left some ints around where Python expects a Py_ssize_t > and the INT_MAX parameter passed when the end of the slice is omitted turned > into -1, thus turning arr[0:] into arr[0:-1] on 64-bit systems. Not good.
Ooh, sneaky! > Thank you very much for reporting this ! > > Fixed in rev 1204095. Thank you for fixing it so quickly! Mike