Hello,


Here is a summary of ruby-dev ML from the end of December
to last week.


[ruby-dev:19198, 19277] Ruby 1.8.0 / yield(nil) and yield()

 Masatoshi SEKI pointed out that the behavior of yield(nil) has
 been changed to the same as yield() in 1.8.0-preview1.

 ruby-1.6.8:
  def foo(*arg)
    yield(*arg)
  end
  foo() {|*x| p x}    # -> []
  foo(nil) {|*x| p x} # -> [nil]
  foo(1) {|*x| p x}   # -> [1]

 ruby-1.8.0-preview1:
  foo() {|*x| p x}    # -> []
  foo(nil) {|*x| p x} # -> [], same as foo()
  foo(1) {|*x| p x}   # -> [1]


 Matz changed 1.8.0 sources to work same as 1.6.8. Also he and Tanaka
 Akira started discussion for how this behavior should work.



[ruby-dev:19233] [1.8] speed

 Forking from [ruby-talk:59980] thread, investigation for memory
 allocation and GC performance has been started, based on reports of
 [ruby-talk:59662], [ruby-dev:18482] and [ruby-dev:19242]. They found
 the problem in details of the current implementation. Some GC
 improvement patches were posted.


[ruby-dev:19261] lstripped here-document

 Nobu Nakada proposed the idea for a new here-document style inspired by
 [ruby-talk:50473]. In his idea, if you assign a character (except
 quotes) after the here-document indicator "<<-", All blanks and
 assigned character at the head of each line will be deleted.
 Here is a example assigning '|':

    p <<-|EOS
      |  foo
      |    bar
    EOS
    # => "  foo\n    bar\n".

 He already posted a patch to add this function.  Matz wants any
 comments for the idea from all Rubyists.


[ruby-dev:19287] Re: Class.inherited

 From [ruby-talk:60377], Matz is considering Class.inherited invocation
 timing. He has a plan to change Class.inherited to be invoked after the
 class is declared.


[ruby-dev:19331] [Oniguruma] Version 1.5

 K.Kosako announced that the new version of Oniguruma, another regexp
 engine for ruby has been released. You can get it from:

 ftp://ftp.ruby-lang.org/pub/ruby/contrib/onigd20030109.tar.gz

 Followings are major changes in the announcement:
  1. reimplimented whole optimization routine
  2. rewrote test cases
  3. implemented POSIX APIs


Kazuo Saito <ksaito / uranus.dti.ne.jp>