From: ko1@... Date: 2017-11-29T07:33:10+00:00 Subject: [ruby-core:83950] [Ruby trunk Feature#3809] allow multiple set_trace_func() calls Issue #3809 has been updated by ko1 (Koichi Sasada). Please use TracePoint API. ---------------------------------------- Feature #3809: allow multiple set_trace_func() calls https://bugs.ruby-lang.org/issues/3809#change-68013 * Author: sunaku (Suraj Kurapati) * Status: Assigned * Priority: Normal * Assignee: matz (Yukihiro Matsumoto) * 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 -- https://bugs.ruby-lang.org/ Unsubscribe: