Issue #3809 has been updated by mame (Yusuke Endoh).

Description updated
Target version set to next minor


----------------------------------------
Feature #3809: allow multiple set_trace_func() calls
https://bugs.ruby-lang.org/issues/3809#change-32689

Author: sunaku (Suraj Kurapati)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: next minor


=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



-- 
http://bugs.ruby-lang.org/