Solved, just discovered that #dup clones, but without
cloning the position.  Shouldn't #dup clone the file position,
rather than leaving it as garbage ?

server> ruby a.rb
5
199           # <<<<<  GARBAGE when using #dup
10
5
server> cat a.rb 
f1 = File.open(__FILE__, 'r')
f1.seek(5)
p f1.pos  # -> 5
#f2 = f1.clone.reopen(f1)
f2 = f1.dup
p f2.pos  # ugly -> 5,  dup -> garbage
f2.seek(10)
p f2.pos  # -> 10
# check harmless
p f1.pos  # -> 5
server>


maybe I should make an RCR about this issue ?
 
-- 
Simon Strandgaard