ruby-cvs:16946
From: (matz) <matz ruby-lang.org>
Date: Tue, 20 Jun 2006 15:09:07 +0900
Subject: [ruby-cvs:16946] ruby/sample, ruby: * eval.c (proc_invoke): intercept break and return from lambda
matz Tue, 20 Jun 2006 15:09:07 +0900
Modified files:
ruby/sample:
test.rb
ruby:
eval.c ChangeLog
Log:
* eval.c (proc_invoke): intercept break and return from lambda
Proc objects. [ruby-dev:28742]
* eval.c (proc_invoke): remove unnecessary YIELD_PROC_CALL flag.
* eval.c (YIELD_EXACT_ARGS): renamed from YIELD_LAMBDA_CALL, which
is no longer related to the behavior turned on by this flag.
* eval.c (return_jump): no need to care about PROT_YIELD.
* eval.c (break_jump): no jump to toplevel PROT_TREAD tag.
* eval.c (rb_yield_0): fix confusion between lambda (which is a
property of a proc) and pcall (which depends on whether it's
called via yield or call).
* eval.c (rb_thread_yield): no need to specify YIELD_LAMBDA_CALL.
* eval.c (rb_block_pass): update blkid in prot_tag.
Revision Changes Path
1.97 +24 -28 ruby/sample/test.rb
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/sample/test.rb?cvsroot=src&r1=1.96&r2=1.97
1.900 +39 -46 ruby/eval.c
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/eval.c?cvsroot=src&r1=1.899&r2=1.900
1.5085 +22 -0 ruby/ChangeLog
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/ChangeLog?cvsroot=src&r1=1.5084&r2=1.5085