From: "Eregon (Benoit Daloze)" Date: 2021-09-24T18:56:06+00:00 Subject: [ruby-core:105414] [Ruby master Bug#18170] Exception#inspect should not include newlines Issue #18170 has been updated by Eregon (Benoit Daloze). The quotes around the message feel redundant to me and likely to cause much more incompatibility. The message is the main attribute of an exception, I don't think we need to quote it. I'm neutral regarding escaping \n and non-printable characters. ---------------------------------------- Bug #18170: Exception#inspect should not include newlines https://bugs.ruby-lang.org/issues/18170#change-93834 * 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: