Hello,

This is a summary of ruby-dev mailing list for the 
last 2 weeks.


[ruby-dev:21192] check type of Data_Wrap_Struct

  A code to check type of the first argument of 
  Data_Wrap_Struct() was added by U.Nakamura.
  The code is to prevent bugs like ruby-bugs PR#1109
  in ext/Win32/Win32API.c. The bug #1109 has already been
  fixed by him.


[ruby-dev:21216] [PATCH] reducing PUSH/POP/EXEC_TAG() for retry
[ruby-dev:21217] [PATCH] passing current block

 Nobu Nakada committed 2 patches for refinement. The
 first patch reduces unnecessary setjmp() and longjmp() 
 operations, which is described using PUSH_TAG, POP_TAG and
 EXEC_TAG macros, in 'retry' execution.  The second one 
 speeds up passing current block parameter of the method
 to others.  In following example, execution of nested(10)
 in the code runs about 3 times faster by this patch:

   require 'benchmark'
   def dummy
   end
   def nested(n, &b)
     if n > 0
       nested(n-1, &b)
     else
       dummy(&b)
     end
   end
   ITERATION = 100000
   Benchmark.benchmark() do |b|
     b.report("nested(0)  ") {
       p = proc{}; ITERATION.times{nested(0, &p)}
     }
     b.report("nested(1)  ") {
       p = proc{}; ITERATION.times{nested(1, &p)}
     }
     b.report("nested(10) ") {
       p = proc{}; ITERATION.times{nested(10, &p)}
     }
   end


[ruby-dev:21230] [Oniguruma] Version 1.9.3

  K.Kosako released the new version of Oniguruma.
  This release includes some bug fixes and a document for
  regexp in Japanese.  You can get it from:

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


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