summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-03-18 15:23:34 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-03-18 15:23:34 +0000
commite9a9f674fb90266e7c6e2c1338883d2ea35142cc (patch)
treec87755d24aaecc8886a66714f584cf0025e0f377
parentfdb2421c21f94d1a7686c347a3fa189d0874d26d (diff)
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_3@62824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--test/ruby/test_settracefunc.rb10
-rw-r--r--version.h2
-rw-r--r--vm_trace.c4
4 files changed, 15 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 7a498ae0b6..3056f002b9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon Mar 19 00:22:52 2018 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+
+ TracePoint#enable, #disable: Don't yield any argument. [Bug #14057]
+
Mon Mar 19 00:21:00 2018 SHIBATA Hiroshi <hsbt@ruby-lang.org>
Clarify the behavior of IO.write without offset in write mode.
diff --git a/test/ruby/test_settracefunc.rb b/test/ruby/test_settracefunc.rb
index cf11474ab5..0190ff832e 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 daeb629ab0..3cd0a90753 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
#define RUBY_VERSION "2.3.7"
#define RUBY_RELEASE_DATE "2018-03-19"
-#define RUBY_PATCHLEVEL 424
+#define RUBY_PATCHLEVEL 425
#define RUBY_RELEASE_YEAR 2018
#define RUBY_RELEASE_MONTH 3
diff --git a/vm_trace.c b/vm_trace.c
index 14a00dce9f..3c2123d790 100644
--- a/vm_trace.c
+++ b/vm_trace.c
@@ -1087,7 +1087,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);
}
@@ -1138,7 +1138,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);
}