Ruby-dev summary 19151-19226

Hi all,

This is a summary of ruby-dev ML in these days.

[ruby-dev:19150] TimeoutError < Interrupt

Masatoshi Seki has asked why TimeoutError inherits Interrupt.

The reason is: [ruby-talk:19823]

[ruby-dev:19198] ruby-1.8.0 / difference between yield(nil) and yield()

Masatoshi Seki noted that we cannot distinguish yield(nil) from
yield() with ruby 1.8 (He need to distinguish these patterns
for dRuby).

def foo(*arg)
  yield(*arg)
end

# ruby 1.6.8
foo() {|*x| p x}    # -> []
foo(nil) {|*x| p x} # -> [nil]

# ruby 1.8.0 preview 1
foo() {|*x| p x}    # -> []
foo(nil) {|*x| p x} # -> []

Matz admitted that this is a bug.

– Minero Aoki