[ruby-core:66552] [ruby-trunk - Bug #10449] [TracePoint API] Duplicated line events when using parenthesis

From: deivid.rodriguez@...
Date: 2014-11-28 13:28:48 UTC
List: ruby-core #66552
Issue #10449 has been updated by David Rodr鱈guez.


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 "separate line 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 Rodr鱈guez
* 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/

In This Thread

Prev Next