Feature #3809
closedallow multiple set_trace_func() calls
Description
=begin
Hello,
The current set_trace_func() method in Ruby 1.8 and 1.9 cannot be safely
called multiple times because each call overwrites the current trace_func.
Please consider adding a mechanism, such as the multitrace library1, to
allow users to attach multiple tracing functions simultaneously to Ruby.
An alternative to the multitrace library1 is to add some new methods:
- attach_trace_func(proc) #=> proc
- detach_trace_func(proc) #=> proc
When you call attach_trace_func(), it will register your tracing
function and return it. You can pass the same tracing function
later to detach_trace_func() to unregister it.
Here is a convoluted example:
detach_trace_func(attach_trace_func(proc {}))
Here is a more realistic example:
foo = proc {}
bar = proc {}
attach_trace_func foo
...¶
attach_trace_func bar
...¶
detach_trace_func foo
detach_trace_func bar
Thanks for your consideration.
=end