From: mame@... Date: 2018-07-01T13:39:28+00:00 Subject: [ruby-core:87731] [Ruby trunk Bug#14889] TracePoint for :line never seems to trigger on argument list. Maybe by design? Issue #14889 has been updated by mame (Yusuke Endoh). I'm unsure about your assumption. If you can insert a newline freely, you may want to write the following code: ``` 30 1| def print_summary( 31 | output = ( 32 0| $stdout 33 | ) 34 | ) ``` You can hook Line 32 as a `:line` event. We usually write an optional argument in a line: `def print_summary(out = $stdout)`. I don't think it is a good idea to deal with such a code as a `:line` event because for `def foo(x = 1, y = 2)` we cannot distinguish `x` event and `y` event. As you say, if we really need this, we should add a new event type like `:argument`, but we need to design its API carefully based on actual use cases. ---------------------------------------- Bug #14889: TracePoint for :line never seems to trigger on argument list. Maybe by design? https://bugs.ruby-lang.org/issues/14889#change-72750 * Author: ioquatix (Samuel Williams) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- I have the following code. ``` 30 1| def print_summary( 31 0| output = $stdout 32 | ) ``` In the margin is the line number followed by the number of hits according to `:line` trace point. I feel like line 31 should also trigger a line trace point. It's an argument, but it must be executed. Maybe a different trace point? `:argument`? -- https://bugs.ruby-lang.org/ Unsubscribe: