>>>>> "B" == Brian F Feldman <green / FreeBSD.org> writes: B> The biggest problem would be that it would have to either be a new type or a B> flag in T_STRING type... the flag would be okay but to do things cleanly B> without GCing the open fd, the object would have to reference the source B> file descriptor (err, File object), and there is no room left without B> bumping the size of RStructures in general. I think that you don't need to modify RSTRUCT You can, probably, do it with a new flag in T_STRING and use RSTRING(str)->orig to store the information needed (via Data_Make_Struct) like ruby do it with STR_NO_ORIG (used by pack "Pp"), but this need modifications to string.c Guy Decoux