>>>>> "M" == Mathieu Bouchard <matju / sympatico.ca> writes: M> does the same here. i call that a bug. some diagnostics: shortlen which is false, it must return the number of short written pigeon% diff -u marshal.c~ marshal.c --- marshal.c~ Tue Dec 5 10:36:31 2000 +++ marshal.c Mon Mar 19 19:14:47 2001 @@ -46,7 +46,7 @@ num = SHORTDN(num); offset++; } - return len*sizeof(BDIGIT)/sizeof(short) - offset; + return (len - 1)*sizeof(BDIGIT)/sizeof(short) + offset; } #define SHORTLEN(x) shortlen((x),d) #endif pigeon% pigeon% ./ruby -ve 'p Marshal.load Marshal.dump 123456789012345678' ruby 1.6.3 (2001-03-19) [i686-linux] 123456789012345678 pigeon% Someone can verify ? Guy Decoux