From acbf49de470c03cd5071ac563127572c89c1caeb Mon Sep 17 00:00:00 2001 From: nagachika Date: Wed, 7 Mar 2018 15:10:47 +0000 Subject: merge revision(s) 60437: [Backport #14057] TracePoint#enable, #disable: Don't yield any argument. [Bug #14057] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_settracefunc.rb | 10 ++++++++-- version.h | 6 +++--- vm_trace.c | 4 ++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/test/ruby/test_settracefunc.rb b/test/ruby/test_settracefunc.rb index 597a888b84..0599ea2022 100644 --- a/test/ruby/test_settracefunc.rb +++ b/test/ruby/test_settracefunc.rb @@ -639,16 +639,19 @@ class TestSetTraceFunc < Test::Unit::TestCase def test_tracepoint_enable ary = [] + args = nil trace = TracePoint.new(:call){|tp| next if !target_thread? ary << tp.method_id } foo - trace.enable{ + trace.enable{|*a| + args = a foo } foo assert_equal([:foo], ary) + assert_equal([], args) trace = TracePoint.new{} begin @@ -663,17 +666,20 @@ class TestSetTraceFunc < Test::Unit::TestCase def test_tracepoint_disable ary = [] + args = nil trace = TracePoint.trace(:call){|tp| next if !target_thread? ary << tp.method_id } foo - trace.disable{ + trace.disable{|*a| + args = a foo } foo trace.disable assert_equal([:foo, :foo], ary) + assert_equal([], args) trace = TracePoint.new{} trace.enable{ diff --git a/version.h b/version.h index 3d404f2b9d..7ef9d44550 100644 --- a/version.h +++ b/version.h @@ -1,10 +1,10 @@ #define RUBY_VERSION "2.4.4" -#define RUBY_RELEASE_DATE "2018-03-07" -#define RUBY_PATCHLEVEL 255 +#define RUBY_RELEASE_DATE "2018-03-08" +#define RUBY_PATCHLEVEL 256 #define RUBY_RELEASE_YEAR 2018 #define RUBY_RELEASE_MONTH 3 -#define RUBY_RELEASE_DAY 7 +#define RUBY_RELEASE_DAY 8 #include "ruby/version.h" diff --git a/vm_trace.c b/vm_trace.c index 02bf54e968..95ae19cc84 100644 --- a/vm_trace.c +++ b/vm_trace.c @@ -1103,7 +1103,7 @@ tracepoint_enable_m(VALUE tpval) rb_tracepoint_enable(tpval); if (rb_block_given_p()) { - return rb_ensure(rb_yield, Qnil, + return rb_ensure(rb_yield, Qundef, previous_tracing ? rb_tracepoint_enable : rb_tracepoint_disable, tpval); } @@ -1154,7 +1154,7 @@ tracepoint_disable_m(VALUE tpval) rb_tracepoint_disable(tpval); if (rb_block_given_p()) { - return rb_ensure(rb_yield, Qnil, + return rb_ensure(rb_yield, Qundef, previous_tracing ? rb_tracepoint_enable : rb_tracepoint_disable, tpval); } -- cgit v1.2.3