From: Daniel Berger <Daniel.Berger@...>
Date: 2005-12-16T08:23:02+09:00
Subject: IO.open not calling close in block form?

What happened to the block form of IO.open after 1.8.2?  It's supposed to 
ensure 'close' is called, right?

class Foo < IO
    def close
       STDOUT.puts "Hello"
       super
    end
end

if $0 == __FILE__
    Foo.open(File.open("testio.txt","w+").fileno){ |fh|
       fh.puts "hello"
    }
end

djberge@~/programming/ruby-514>ruby -v
ruby 1.8.2 (2004-12-25) [sparc-solaris2.10]
djberge@~/programming/ruby-515>ruby iotest.rb
Hello

djberge@~/programming/ruby-516>/opt/bin/ruby -v
ruby 1.8.4 (2005-12-01) [sparc-solaris2.10]
djberge@~/programming/ruby-517>/opt/bin/ruby iotest.rb

Regards,

Dan