From: tenderlove@... Date: 2015-02-06T07:36:12+00:00 Subject: [ruby-core:68043] [ruby-trunk - Bug #10824] to_yaml incorrectly inserts return lines Issue #10824 has been updated by Aaron Patterson. I don't understand. Why should it not insert the newline? The string will roundtrip correctly: ~~~ >> require 'yaml' => true >> s = "{\"config_path\":\"something\",\"mode\":\"something_underscore\",\"person\":{\"id\":1,\"name\":\"Christopher Michael Thielen\",\"address\":\"First Shields Ave\"}}" => "{\"config_path\":\"something\",\"mode\":\"something_underscore\",\"person\":{\"id\":1,\"name\":\"Christopher Michael Thielen\",\"address\":\"First Shields Ave\"}}" >> s == YAML.load(s.to_yaml) => true >> ~~~ I think I can add an option for the width of the yaml produced, but I don't think this is a bug. ---------------------------------------- Bug #10824: to_yaml incorrectly inserts return lines https://bugs.ruby-lang.org/issues/10824#change-51433 * Author: Christopher Thielen * Status: Assigned * Priority: Normal * Assignee: Aaron Patterson * ruby -v: ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- ~~~ruby "{\"config_path\":\"something\",\"mode\":\"something_underscore\",\"person\":{\"id\":1,\"name\":\"Christopher Michael Thielen\",\"address\":\"First Shields Ave\"}}".to_yaml ~~~ returns: ~~~ruby "--- '{\"config_path\":\"something\",\"mode\":\"something_underscore\",\"person\":{\"id\":1,\"name\":\"Christopher\n Michael Thielen\",\"address\":\"First Shields Ave\"}}'\n" ~~~ Note that a newline has been inserted after the word ���Christopher���. It shouldn���t be there. Curiously enough, if we leave out, say, the ���mode��� key, the newline shifts around: ~~~ruby "{\"config_path\":\"something\",\"person\":{\"id\":1,\"name\":\"Christopher Michael Thielen\",\"address\":\"First Shields Ave\"}}".to_yaml ~~~ returns: ~~~ruby "--- '{\"config_path\":\"something\",\"person\":{\"id\":1,\"name\":\"Christopher Michael Thielen\",\"address\":\"First\n Shields Ave\"}}'\n" ~~~ Note that the newline isn���t after ���Christopher' anymore but is after the word ���First���. This functionality appears in at least: ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin12.5.0] and ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0] -- https://bugs.ruby-lang.org/