Jerome,
AFAIK, #saveObject: is a lower-level method that is useful for customizing
storage. That it works for your Float example and not for the SmallInteger
probably hinges on whether #basicNextPut: happens to use #saveObject:.
SmallIntegers are encoded entirely in their STB prefix, so #saveObject:
isn't appropriate for them.
One might argue that #saveObject: should be private, but, that wouldn't be
"fair" to classes that need to customize their binary filing. Fortunately,
the Education Centre documentation on the binary filer is quite clear, so
you can either consult it or some "old" code that you know works before
doing anything new with the binary filer.
Have a good one,
Bill
--
Wilhelm K. Schwab, Ph.D.
[hidden email]