[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Bug in the YAML library: #dump fails for certain multi-line strings

John Trupiano

9/5/2008 10:17:00 AM

Hey guys,

I stumbled across what is a bug in the YAML library. It does not
properly encode certain multi-line strings. Fire up irb, and try the
following:

>> require 'yaml'
=> true
>> s3 = "\n Do I work?\nNo indent"
=> "\n Do I work?\nNo indent"
>> YAML.load(YAML.dump(s3))
ArgumentError: syntax error on line 3, col 0: `No indent'
from /opt/ruby-enterprise-1.8.6-20080810/lib/ruby/1.8/yaml.rb:133:in
`load'
from /opt/ruby-enterprise-1.8.6-20080810/lib/ruby/1.8/yaml.rb:133:in
`load'
from (irb):3

I've confirmed it's broken in both 1.8.6.p111, and REE 1.8.6.p287.

I wrote up a pretty thorough exploration of this bug in a blog post
describing the problem and offering a (sub-optimal) patch:
http://blog.smartlogicsolutions.com/2008/09/04/ruby-patch-to-fix-broken-yamldump-for-multi-line-strings-stri...

Is this the right list to discuss this?

-John

1 Answer

John Trupiano

9/5/2008 5:03:00 PM

0

Just upping this because I think it's particularly important. Is
there a better venue to discuss this? Just curious where the
interested parties (read: the ruby YAML library maintainers) are.....

-John

On Sep 5, 6:17=A0am, John Trupiano <jtrupi...@gmail.com> wrote:
> Hey guys,
>
> I stumbled across what is a bug in the YAML library. =A0It does not
> properly encode certain multi-line strings. =A0Fire up irb, and try the
> following:
>
> >> require 'yaml'
> =3D> true
> >> s3 =3D "\n =A0Do I work?\nNo indent"
>
> =3D> "\n =A0Do I work?\nNo indent">> YAML.load(YAML.dump(s3))
>
> ArgumentError: syntax error on line 3, col 0: `No indent'
> =A0 =A0 =A0 =A0 from /opt/ruby-enterprise-1.8.6-20080810/lib/ruby/1.8/yam=
l.rb:133:in
> `load'
> =A0 =A0 =A0 =A0 from /opt/ruby-enterprise-1.8.6-20080810/lib/ruby/1.8/yam=
l.rb:133:in
> `load'
> =A0 =A0 =A0 =A0 from (irb):3
>
> I've confirmed it's broken in both 1.8.6.p111, and REE 1.8.6.p287.
>
> I wrote up a pretty thorough exploration of this bug in a blog post
> describing the problem and offering a (sub-optimal) patch:http:/...
rtlogicsolutions.com/2008/09/04/ruby-patch-to-fix-brok...
>
> Is this the right list to discuss this?
>
> -John