>>>>> "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