<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/trace_point.rb, branch v3_2_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[DOC] Update TracePoint.allow_reentry docs</title>
<updated>2022-12-22T04:37:58+00:00</updated>
<author>
<name>zverok</name>
<email>zverok.offline@gmail.com</email>
</author>
<published>2021-12-30T18:52:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ae455a129e97709d7fd8b11c1e5c3245f4738528'/>
<id>ae455a129e97709d7fd8b11c1e5c3245f4738528</id>
<content type='text'>
Adjust call-seq to mention block, and add examples
and explanations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adjust call-seq to mention block, and add examples
and explanations.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix comment</title>
<updated>2022-03-30T01:14:33+00:00</updated>
<author>
<name>Jeremy Evans</name>
<email>code@jeremyevans.net</email>
</author>
<published>2022-02-08T16:55:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3cad54a246e6f292cc58d10ff002525edc6f404a'/>
<id>3cad54a246e6f292cc58d10ff002525edc6f404a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update comment for TracePoint#enable</title>
<updated>2022-03-30T01:14:33+00:00</updated>
<author>
<name>Jeremy Evans</name>
<email>code@jeremyevans.net</email>
</author>
<published>2022-02-08T16:50:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=750e18594b138465506aba9a1225b9897026a06a'/>
<id>750e18594b138465506aba9a1225b9897026a06a</id>
<content type='text'>
Co-authored-by: Benoit Daloze &lt;eregontp@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Benoit Daloze &lt;eregontp@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid trace events in implementation of TracePoint#enable</title>
<updated>2022-03-30T01:14:33+00:00</updated>
<author>
<name>Jeremy Evans</name>
<email>code@jeremyevans.net</email>
</author>
<published>2021-12-27T22:08:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3c6a0033e3dc7da2898232a2efc7367ae6fc536a'/>
<id>3c6a0033e3dc7da2898232a2efc7367ae6fc536a</id>
<content type='text'>
This is more backwards compatible, and should fix issues with
power_assert.

Unfortunately, it requires using a sentinel value as the default
value of target_thread, instead of the more natural expression
used in the original approach.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is more backwards compatible, and should fix issues with
power_assert.

Unfortunately, it requires using a sentinel value as the default
value of target_thread, instead of the more natural expression
used in the original approach.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make TracePoint#enable with block target current thread by default</title>
<updated>2022-03-30T01:14:33+00:00</updated>
<author>
<name>Jeremy Evans</name>
<email>code@jeremyevans.net</email>
</author>
<published>2021-12-27T20:52:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9c1d32a7ada794ecd0356d56f7be3cdf3982d8ac'/>
<id>9c1d32a7ada794ecd0356d56f7be3cdf3982d8ac</id>
<content type='text'>
If TracePoint#enable is passed a block, it previously started
the trace on all threads.  This changes it to trace only the
current thread by default.  To limit the scope of the change,
the current thread is only used by default if target and
target_line are both nil.  You can pass target_thread: nil
to enable tracing on all threads, to get the previous
default behavior.

Fixes [Bug #16889]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If TracePoint#enable is passed a block, it previously started
the trace on all threads.  This changes it to trace only the
current thread by default.  To limit the scope of the change,
the current thread is only used by default if target and
target_line are both nil.  You can pass target_thread: nil
to enable tracing on all threads, to get the previous
default behavior.

Fixes [Bug #16889]
</pre>
</div>
</content>
</entry>
<entry>
<title>`TracePoint.allow_reentry`</title>
<updated>2021-12-09T15:56:25+00:00</updated>
<author>
<name>Koichi Sasada</name>
<email>ko1@atdot.net</email>
</author>
<published>2021-12-08T18:50:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9873af0b1a343dff6d1a8af4c813aa2c9ecc47d5'/>
<id>9873af0b1a343dff6d1a8af4c813aa2c9ecc47d5</id>
<content type='text'>
In general, while TracePoint callback is running,
other registerred callbacks are not called to avoid
confusion by reentrace.
This method allow the reentrace. This method should be
used carefully, otherwize the callback can be easily called
infinitely.

[Feature #15912]

Co-authored-by: Jean Boussier &lt;jean.boussier@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In general, while TracePoint callback is running,
other registerred callbacks are not called to avoid
confusion by reentrace.
This method allow the reentrace. This method should be
used carefully, otherwize the callback can be easily called
infinitely.

[Feature #15912]

Co-authored-by: Jean Boussier &lt;jean.boussier@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add doc for `a_call` and `a_return` events of TracePoint</title>
<updated>2021-11-09T08:10:36+00:00</updated>
<author>
<name>Masataka Pocke Kuwabara</name>
<email>kuwabara@pocke.me</email>
</author>
<published>2021-09-13T16:06:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d5ae892519a1944b4869d06d1523648cf6e15d97'/>
<id>d5ae892519a1944b4869d06d1523648cf6e15d97</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[DOC] Fix `TracePoint.trace` format [ci skip]</title>
<updated>2021-10-30T01:23:07+00:00</updated>
<author>
<name>Ulysse Buonomo</name>
<email>buonomo.ulysse@gmail.com</email>
</author>
<published>2021-09-25T15:28:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1d0ce1a349bcf836d547d618b346345ae5fca44d'/>
<id>1d0ce1a349bcf836d547d618b346345ae5fca44d</id>
<content type='text'>
Signed-off-by: Ulysse Buonomo &lt;buonomo.ulysse@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Ulysse Buonomo &lt;buonomo.ulysse@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Tweak description of TracePoint :line event</title>
<updated>2021-06-19T01:55:28+00:00</updated>
<author>
<name>Jeremy Evans</name>
<email>code@jeremyevans.net</email>
</author>
<published>2021-06-18T18:57:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=72a4e1d3bbbdfff71ec2c6b2ddb3b9323193cacd'/>
<id>72a4e1d3bbbdfff71ec2c6b2ddb3b9323193cacd</id>
<content type='text'>
"code" here is too ambiguous. TracePoint events only occur if there
is a new statement or expression on that line, not if the line
is a continuation of a previous statement or expression and there
is no new statement or expression on the line.

For example:

```
[
 foo,   # start of expression, line event
 bar    # continuation of expression, no line event
]

[
 foo,   # start of expression, line event
 (bar)  # new expression, line event
]

foo(    # start of expression, line event
  bar   # continuation of expression, no line event
)

foo(    # start of expression, line event
  (bar) # new expression, line event
)
```

Fixes [Bug #15634]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
"code" here is too ambiguous. TracePoint events only occur if there
is a new statement or expression on that line, not if the line
is a continuation of a previous statement or expression and there
is no new statement or expression on the line.

For example:

```
[
 foo,   # start of expression, line event
 bar    # continuation of expression, no line event
]

[
 foo,   # start of expression, line event
 (bar)  # new expression, line event
]

foo(    # start of expression, line event
  bar   # continuation of expression, no line event
)

foo(    # start of expression, line event
  (bar) # new expression, line event
)
```

Fixes [Bug #15634]
</pre>
</div>
</content>
</entry>
<entry>
<title>Document binding behavior for C call/return events for TracePoint/set_trace_func</title>
<updated>2021-04-26T22:21:52+00:00</updated>
<author>
<name>Jeremy Evans</name>
<email>code@jeremyevans.net</email>
</author>
<published>2021-04-26T22:21:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d585799d7303abeb1b0ca6fc868f0b2d76a26250'/>
<id>d585799d7303abeb1b0ca6fc868f0b2d76a26250</id>
<content type='text'>
C methods do not have bindings, so binding returns the binding of
the nearest C method.

Fixes [Bug #9009]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
C methods do not have bindings, so binding returns the binding of
the nearest C method.

Fixes [Bug #9009]
</pre>
</div>
</content>
</entry>
</feed>
