On Sat, Jan 23, 2010 at 3:27 PM, Tanaka Akira <akr / fsij.org> wrote:
> 2010/1/24 Charles Oliver Nutter <headius / headius.com>:
>
>> For the fork case, I think it best for us to not bind the method at
>> all. There's no good reason for us to bind it, knowing the JVM can't
>> fork, and so it will respond_to? => false for both 1.8 and 1.9 modes.
>
> It breaks code which rescue NotImplementedError.
>
> If no fork method, calling fork raise NoMethodError.
> rescue NotImplementedError don't rescue NoMethodError.

Yes, that's certainly true. But etc methods don't raise anything and
don't work either. UNIX socket doesn't even get defined or bound on
Windows, resulting in a NameError when you try to access it. There's
no consistency to any of it.

I did try removing fork, and tests in MRI 1.8 and RubySpec both expect
it to be there, to be private, and to raise NotImplementedError when
called if it's not implemented. So you're right, we can't just remove
it.

- Charlie

- Charlie