diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-10-23 10:02:41 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-10-23 10:02:41 +0000 |
commit | d9cd722638146ace80396e32a0d74a42893a8015 (patch) | |
tree | 654afbcd7c3b15c6da71d32d40efe031aa8cf6b4 /ext | |
parent | 0d069bd2df3ea467efb1d9d3a64ae2334b5cc241 (diff) |
merges r29146 and r29148 from trunk into ruby_1_9_2.
--
* string.c (tr_setup_table): initialize negating table when
negating string is given. [ruby-core:31851]
* string.c (tr_find): add a sentence for the time when
target characters include negating one.
* string.c (rb_str_count): move definition.
--
* string.c (tr_setup_table): fix bug in r29146.
Initialize table even if cflag is 0; tr_find see whether
del is empty or not.
* string.c (tr_find): nodel can't be NULL; if NULL, it means
it is not specified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@29569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/psych/lib/psych/visitors/yaml_tree.rb | 2 | ||||
-rw-r--r-- | ext/syck/lib/syck/rubytypes.rb | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/ext/psych/lib/psych/visitors/yaml_tree.rb b/ext/psych/lib/psych/visitors/yaml_tree.rb index 3ecd9471e6..271bac5a23 100644 --- a/ext/psych/lib/psych/visitors/yaml_tree.rb +++ b/ext/psych/lib/psych/visitors/yaml_tree.rb @@ -180,7 +180,7 @@ module Psych quote = false style = Nodes::Scalar::ANY - if o.index("\x00") || o.count("^ -~\t\r\n").fdiv(o.length) > 0.3 + if o.index("\x00") || o.count("\x00-\x7F", "^ -~\t\r\n").fdiv(o.length) > 0.3 str = [o].pack('m').chomp tag = '!binary' # FIXME: change to below when syck is removed #tag = 'tag:yaml.org,2002:binary' diff --git a/ext/syck/lib/syck/rubytypes.rb b/ext/syck/lib/syck/rubytypes.rb index 6b2937bba0..4aae1373b1 100644 --- a/ext/syck/lib/syck/rubytypes.rb +++ b/ext/syck/lib/syck/rubytypes.rb @@ -148,7 +148,7 @@ class String to_yaml_style or not to_yaml_properties.empty? or self =~ /\n.+/ end def is_binary_data? - self.count("^ -~\t\r\n").fdiv(self.size) > 0.3 || self.index("\x00") unless self.empty? + self.count("\x00-\x7F", "^ -~\t\r\n").fdiv(self.size) > 0.3 || self.index("\x00") unless self.empty? end def String.yaml_new( klass, tag, val ) val = val.unpack("m")[0] if tag == "tag:yaml.org,2002:binary" |