Project

General

Profile

Feature #3809

Updated by mame (Yusuke Endoh) over 11 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 
 

Back