In ChangeLog there is

        * vm_insnhelper.c (vm_throw): regard break as return in lambda.
          [ruby-dev:34646]

 but it still don't work like 1.8

vgs% /usr/bin/ruby -e 'def a() 1.times { lambda { break }.call; p :ok } end; a'
:ok
vgs% 

vgs% ./ruby -ve 'def a() 1.times { lambda { break }.call; p :ok } end; a'
ruby 1.9.0 (2008-06-09 revision 17055) [i686-linux]
vgs% 

 Sorry. 

 More generally

vgs% /usr/bin/ruby -e 'def a() 1.times { lambda { return }.call; p :ok } end; a'
:ok
vgs% 

vgs% ./ruby -ve 'def a() 1.times { lambda { return }.call; p :ok } end; a'
ruby 1.9.0 (2008-06-09 revision 17055) [i686-linux]
vgs% 

 who is right and please don't say 1.9 :-)

vgs% /usr/bin/ruby -e 'def a() lambda { return }.call; p :ok end; a'
:ok
vgs%
 
vgs% ./ruby -ve 'def a() lambda { return }.call; p :ok end; a'
ruby 1.9.0 (2008-06-09 revision 17055) [i686-linux]
:ok
vgs% 




Guy Decoux