From: shevegen@... Date: 2020-12-21T19:10:39+00:00 Subject: [ruby-core:101600] [Ruby master Bug#17419] `binding.eval` backtrace differente Issue #17419 has been updated by shevegen (Robert A. Heiler). I think this is an intended change; it was explained via a link to a comment in another issue (I think by mame or someone else, where matz commented on reverting the behaviour). If I remember the reason, the changed backtrace confused many ruby users over the years, and it seemed better to go back to the state prior to the change, hopefully lessening the confusion in the process. :D (Not sure if NEWS mentions this, but if not then perhaps a link should be there, or just a short explanation in NEWS itself.) ---------------------------------------- Bug #17419: `binding.eval` backtrace differente https://bugs.ruby-lang.org/issues/17419#change-89387 * Author: vo.x (Vit Ondruch) * Status: Open * Priority: Normal * ruby -v: ruby 3.0.0rc1 (2020-12-20 master 8680ae9cbd) [x86_64-linux] * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- Can somebody elaborate why there is different output for Ruby 2.7 vs Ruby 3.0? ~~~ $ ruby -v ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux] $ ruby -e ' begin binding.eval(%|raise "oops"|) rescue Exception => exc puts exc.backtrace end ' -e:3:in `
' -e:3:in `eval' -e:3:in `
' ~~~ ~~~ $ ruby -v ruby 3.0.0rc1 (2020-12-20 master 8680ae9cbd) [x86_64-linux] $ ruby -e ' begin binding.eval(%|raise "oops"|) rescue Exception => exc puts exc.backtrace end ' (eval):1:in `
' -e:3:in `eval' -e:3:in `
' ~~~ IOW the first line of backtrace is different. Is this expected? This is causing test failures: https://github.com/rails/web-console/issues/301 -- https://bugs.ruby-lang.org/ Unsubscribe: