From: Kazuo Saito Date: 2003-01-15T02:31:22+09:00 Subject: ruby-dev summary 19198-19345 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