Issue #10449 has been updated by David Rodrguez.


Hi Koichi, I've looked at the patch and it seems to me that _every_ duplicated event has been removed. So if I do something like

    object.method1.method2.method3

only one line event will be generated. Is this the case?

If that's the case I actually preferred the previous behaviour so it is possible to inspect intermediate results. `byebug` is aware of this duplication and even provides an option that ignores duplicated events in case the user wants to always change line when stepping through the code.

I just reported this specific case cause I couldn't recognize the "separateline events" but in general I think the behaviour was fine.

----------------------------------------
Bug #10449: [TracePoint API] Duplicated line events when using parenthesis
https://bugs.ruby-lang.org/issues/10449#change-50166

* Author: David Rodrguez
* Status: Closed
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* ruby -v: ruby 2.1.4p265 (2014-10-27 revision 48166) [i686-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
Sometimes, when using parenthesis, I get duplicated lines events from the TracePoint API. See the failing test case, it generates 2 line events where I think it should generate just one. 

    def test_no_duplicate_line_events
      events = []
      TracePoint.new(:line) { |tp| events << tp.event }.enable { a = (1) * 5 }

      assert_equal [:line], events
    end

Thanks!!



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