Feature #3809
Updated by mame (Yusuke Endoh) about 12 years ago
=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 library[1], to allow users to attach multiple tracing functions simultaneously to Ruby. An alternative to the multitrace library[1] 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. [1]: http://codeidol.com/other/rubyckbk/Testing,-Debugging,-Optimizing,-and-Documenting/Running-Multiple-Analysis-Tools-at-Once/ =end