Feature #3809

Updated by mame (Yusuke Endoh) over 9 years ago

  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.