I notice that there is no way to test whether a given long or unsigned long value can be converted to Scheme other than by doing it and perhaps getting an error. I think that that _would_ be just fine except for the fact that errors cause non-local exits, giving the C function no opportunity to try a different approach (e.g., using a smaller buffer size in an I/O primitive). -t