This reduces the cases of #2615 to the level that were present in
0.24.x by removing the optional (and problematic) domain-boundary
"\n"s in the generated yaml.  This means the only times serialized
text values should pick up an additional trailing "\n" is if they
contain two or more trailing "\n" to start with and either occur
at the very end of the stream or directly before a Regex or DateTime
used as a Hash key (i.e. we should almost never see it).

Signed-off-by: Markus Roberts <[email protected]>
---
 lib/puppet/network/formats.rb |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/puppet/network/formats.rb b/lib/puppet/network/formats.rb
index 3a19b0b..ef0d9f7 100644
--- a/lib/puppet/network/formats.rb
+++ b/lib/puppet/network/formats.rb
@@ -34,8 +34,9 @@ Puppet::Network::FormatHandler.create(:yaml, :mime => 
"text/yaml") do
     # fixup invalid yaml as per:
     # http://redmine.ruby-lang.org/issues/show/1331
     def fixup(yaml)
-        yaml.gsub!(/((?:&id\d+\s+)?!ruby\/object:.*?)\s*\?/) { "? #{$1}" }
-        yaml
+        yaml.
+          gsub(/((?:&id\d+\s+)?!ruby\/object:.*?)\s*\?/) { "? #{$1}" }.
+          gsub(/\n?(\n\s*)\? (!ruby\/sym\s+.+)\n\s*:/) { "#{$1}#{$2}:" }
     end
 end
 
-- 
1.6.4


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to