* vm_eval.c (send_internal): PASS_PASSED_BLOCK_TH must be placed
just before calling rb_call0. * bootstraptest/test_flow.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
c6cbbd6eea
commit
dd834c683d
@ -1,3 +1,10 @@
|
|||||||
|
Sat Dec 24 01:20:39 2011 Kazuki Tsujimoto <kazuki@callcc.net>
|
||||||
|
|
||||||
|
* vm_eval.c (send_internal): PASS_PASSED_BLOCK_TH must be placed
|
||||||
|
just before calling rb_call0.
|
||||||
|
|
||||||
|
* bootstraptest/test_flow.rb: add a test for above.
|
||||||
|
|
||||||
Sat Dec 24 00:55:16 2011 Tanaka Akira <akr@fsij.org>
|
Sat Dec 24 00:55:16 2011 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
* lib/tempfile.rb (Tempfile#initialize): warn if a block is given.
|
* lib/tempfile.rb (Tempfile#initialize): warn if a block is given.
|
||||||
|
@ -549,3 +549,16 @@ assert_equal %Q{ENSURE\n}, %q{
|
|||||||
assert_equal "false", src + %q{e.all? {false}}, bug
|
assert_equal "false", src + %q{e.all? {false}}, bug
|
||||||
assert_equal "true", src + %q{e.include?(:foo)}, bug
|
assert_equal "true", src + %q{e.include?(:foo)}, bug
|
||||||
end
|
end
|
||||||
|
assert_equal %q{ok}, %q{
|
||||||
|
$x = :ok
|
||||||
|
o = Object.new
|
||||||
|
def o.inspect(*args)
|
||||||
|
yield if block_given?
|
||||||
|
super
|
||||||
|
end
|
||||||
|
begin
|
||||||
|
nil.public_send(o) {$x = :ng}
|
||||||
|
rescue
|
||||||
|
end
|
||||||
|
$x
|
||||||
|
}
|
||||||
|
@ -712,7 +712,6 @@ send_internal(int argc, const VALUE *argv, VALUE recv, call_type scope)
|
|||||||
}
|
}
|
||||||
|
|
||||||
vid = *argv++; argc--;
|
vid = *argv++; argc--;
|
||||||
PASS_PASSED_BLOCK_TH(th);
|
|
||||||
|
|
||||||
id = rb_check_id(&vid);
|
id = rb_check_id(&vid);
|
||||||
if (!id) {
|
if (!id) {
|
||||||
@ -723,6 +722,7 @@ send_internal(int argc, const VALUE *argv, VALUE recv, call_type scope)
|
|||||||
}
|
}
|
||||||
id = rb_to_id(vid);
|
id = rb_to_id(vid);
|
||||||
}
|
}
|
||||||
|
PASS_PASSED_BLOCK_TH(th);
|
||||||
return rb_call0(recv, id, argc, argv, scope, self);
|
return rb_call0(recv, id, argc, argv, scope, self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user