From: angarciaba@... Date: 2016-05-02T20:47:52+00:00 Subject: [ruby-core:75315] [Ruby trunk Bug#10763] do not receive TracePoint event for elsif Issue #10763 has been updated by Angel Garcia. Even more strange: the problem disappears if you enclose the condition between parentheses. In the Oleg Sukhodolsky example: elsif (method2) ---------------------------------------- Bug #10763: do not receive TracePoint event for elsif https://bugs.ruby-lang.org/issues/10763#change-58442 * Author: Oleg Sukhodolsky * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin14] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- Here is a simple test which shows that we do not receive TracePoint event for line with elsif, and so it is impossible to implement debugger which will be able to set breakpoint on that line (originally reported agains RubyMine's debugger - https://youtrack.jetbrains.com/issue/RUBY-14452) ~~~ruby trace = TracePoint.new do |tp| printf "%8s %s:%-2d %13s\n", tp.event, tp.path, tp.lineno, tp.method_id end def method1; false end def method2; true end trace.enable if method1 1 elsif method2 2 end ~~~ Here is an output I'v got with 2.2.0 (the same problem we have with 1.9, 2.0, and 2.1) ~~~ruby c_return /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:7 enable line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:9 call /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:5 method1 line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:5 method1 return /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:5 method1 call /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:6 method2 line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:6 method2 return /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:6 method2 line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:12 c_return -e:1 load ~~~ IMHO any user does expect that it should be possible to set breakpoint on "elsif" to be able to evaluate condition. -- https://bugs.ruby-lang.org/ Unsubscribe: