From: "Eregon (Benoit Daloze)" Date: 2021-09-27T10:02:05+00:00 Subject: [ruby-core:105446] [Ruby master Bug#18170] Exception#inspect should not include newlines Issue #18170 has been updated by Eregon (Benoit Daloze). ioquatix (Samuel Williams) wrote in #note-7: > Evidence? See the PR: https://github.com/ruby/ruby/pull/4857/files For example minitest and irb tests are affected. Likely other test frameworks too. ---------------------------------------- Bug #18170: Exception#inspect should not include newlines https://bugs.ruby-lang.org/issues/18170#change-93893 * Author: mame (Yusuke Endoh) * Status: Assigned * Priority: Normal * Assignee: mame (Yusuke Endoh) * Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN ---------------------------------------- Is this intentional? ``` p StandardError.new("foo\nbar") #=> # # ``` I expect `#inspect` returns a one-line string. How about returning `#` or something? Recently, multi-line error messages have been increasing by the introduction of did_you_mean and error_highlight. Printing an object that contains such an exception leads to a tricky output: ``` class Foo def initialize @exception = begin; exampl; rescue Exception; $!; end end def example end end p Foo.new #=> # # # # @exception = begin; exampl; rescue Exception; $!; end # ^^^^^^ # Did you mean? example>> ``` This issue was originally found by @ioquatix -- https://bugs.ruby-lang.org/ Unsubscribe: