Issue #17413 has been updated by mame (Yusuke Endoh).


Good catch! I will fix it soon. Thanks

----------------------------------------
Bug #17413: --backtrace-limit: wrong level counter
https://bugs.ruby-lang.org/issues/17413#change-89352

* Author: zverok (Victor Shepelev)
* Status: Open
* Priority: Normal
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
Having this `test.rb`:

```ruby
def inner
  raise 'test'
end

def outer
  inner
end

outer
```

...one might observe the following:

```
$ ruby test.rb
test.rb:2:in `inner': test (RuntimeError)
	from test.rb:6:in `outer'
	from test.rb:9:in `<main>'

# Print me 0 levels (only the report):
$ ruby --backtrace-limit=0 test.rb
test.rb:2:in `inner': test (RuntimeError)
	 ... 3 levels...                  # <== Umm, which 3? I saw 2 there!

$ ruby --backtrace-limit=1 test.rb
test.rb:2:in `inner': test (RuntimeError)
	from test.rb:6:in `outer'
	 ... 2 levels...                  # <== Which 2?.. 

# So, the next increase of the limit will leave just 1 hidden, right?..

$ ruby --backtrace-limit=2 test.rb
test.rb:2:in `inner': test (RuntimeError)
	from test.rb:6:in `outer'
	from test.rb:9:in `<main>'

# Nope!
```



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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>