Issue #16985 has been updated by marcandre (Marc-Andre Lafortune). For `String`, I meant to say that current format would be kept the same exc= ept if the single quote version exist and has no escape. ```ruby pp "Hello" # =3D> "Hello" (no change) pp "Won't\nwork \"Marc-Andr=E9\"" =3D> "Won't\nwork \"Marc-Andr=E9\"" (no c= hange) pp "Hello \"Marc-Andr=E9\"" # =3D> 'Hello "Marc-Andr=E9"' (simpler version) ``` ---------------------------------------- Feature #16985: Improve `pp` for `Hash` and `String` https://bugs.ruby-lang.org/issues/16985#change-86319 * Author: marcandre (Marc-Andre Lafortune) * Status: Open * Priority: Normal * Assignee: akr (Akira Tanaka) ---------------------------------------- Could we improve `pp` for `Hash` and `String`: ```ruby pp({hello: 'My name is "Marc-Andr=E9"'}) # =3D> {hello: 'My name is "Marc-Andr=E9"'} = # instead of {:hello=3D>"My name is \"Marc-Andr=E9\""} ``` If any key is non-symbol, they would continue to be output as `<key> =3D> <= value>`. If a string contains single quotes, or characters that need escapi= ng (e.g. `"\n"`), current format would be used. I'll gladly provide a PR if this is deemed acceptable. I would even like this for `String#inspect` and `Hash#inspect` but it's not= clear if this could lead to much incompatibility (maybe test suites?) -- = https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=3Dunsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>