summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzzak <zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-11-30 10:29:49 +0000
committerzzak <zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-11-30 10:29:49 +0000
commit57540a49325b449e4e315b951914e31285a2cce1 (patch)
tree2d72d123a6ff76f8450873827b46ebfc54d369be
parent5a82fca5f9c7df65a8e04951e8378830d697d151 (diff)
* vm_trace.c:
tracepoint_attr_return_value (TracePoint#return_value): include `:b_return` for method doc tracepoint_enable_m, tracepoint_disable_m (#enable/#disable): don't have block argument, document block scope git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--vm_trace.c44
2 files changed, 47 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 496f0d7e79..7939177448 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Fri Nov 30 19:30:00 2012 Zachary Scott <zachary@zacharyscott.net>
+
+ * vm_trace.c:
+ tracepoint_attr_return_value (TracePoint#return_value):
+ include `:b_return` for method doc
+ tracepoint_enable_m, tracepoint_disable_m (#enable/#disable):
+ don't have block argument, document block scope
+
Fri Nov 30 18:52:56 2012 Koichi Sasada <ko1@atdot.net>
* vm_trace.c (tracepoint_disable_m, tracepoint_enable_m):
diff --git a/vm_trace.c b/vm_trace.c
index 3d305c68ef..e70d4aad04 100644
--- a/vm_trace.c
+++ b/vm_trace.c
@@ -868,7 +868,7 @@ tracepoint_attr_self(VALUE tpval)
}
/*
- * Return value from +:return+ and +c_return+ event
+ * Return value from +:return+, +c_return+, and +b_return+ event
*/
static VALUE
tracepoint_attr_return_value(VALUE tpval)
@@ -950,8 +950,8 @@ rb_tracepoint_disable(VALUE tpval)
/*
* call-seq:
- * trace.enable -> trace
- * trace.enable { |obj| block } -> obj
+ * trace.enable -> trace
+ * trace.enable { block } -> obj
*
* Activates the trace
*
@@ -962,6 +962,23 @@ rb_tracepoint_disable(VALUE tpval)
* trace.enabled? #=> true
* trace.enable #=> RuntimeError
*
+ * If a block is given, the trace will only be enabled within the scope of the
+ * block. Note: You cannot access event hooks within the block.
+ *
+ * trace.enabled?
+ * #=> false
+ *
+ * trace.enable do
+ * trace.enabled?
+ * # only enabled for this block
+ * end
+ *
+ * trace.enabled?
+ * #=> false
+ *
+ * trace.enable { p tp.lineno }
+ * #=> RuntimeError: access from outside
+ *
*/
static VALUE
tracepoint_enable_m(VALUE tpval)
@@ -983,8 +1000,8 @@ tracepoint_enable_m(VALUE tpval)
/*
* call-seq:
- * trace.disable -> trace
- * trace.disable { |obj| block } -> obj
+ * trace.disable -> trace
+ * trace.disable { block } -> obj
*
* Deactivates the trace
*
@@ -995,6 +1012,23 @@ tracepoint_enable_m(VALUE tpval)
* trace.enabled? #=> false
* trace.disable #=> RuntimeError
*
+ * If a block is given, the trace will only be disable within the scope of the
+ * block. Note: You cannot access event hooks within the block.
+ *
+ * trace.enabled?
+ * #=> true
+ *
+ * trace.disable do
+ * trace.enabled?
+ * # only disabled for this block
+ * end
+ *
+ * trace.enabled?
+ * #=> true
+ *
+ * trace.enable { p trace.lineno }
+ * #=> RuntimeError: access from outside
+ *
*/
static VALUE
tracepoint_disable_m(VALUE tpval)