diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-05-04 12:29:44 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-05-04 12:29:44 +0000 |
commit | 1de888d40788392886e8eeec0814db93b5fd8085 (patch) | |
tree | e64125bea2f63555d1d9f1827199b494e1213186 | |
parent | 7bc9d95981442a2b9a41ef9efeab3d598b332f45 (diff) |
merges r23155 and r23158 from trunk into ruby_1_9_1.
--
* string.c (rb_str_chop_bang): reset coderange. [ruby-core:23155]
--
* test/ruby/test_string.rb (test_chop, test_chop!): tests for [ruby-core:23155].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | string.c | 2 | ||||
-rw-r--r-- | test/ruby/test_string.rb | 5 |
3 files changed, 10 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Wed Apr 8 17:29:29 2009 NARUSE, Yui <naruse@ruby-lang.org> + + * string.c (rb_str_chop_bang): reset coderange. [ruby-core:23155] + Tue Apr 7 13:14:32 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> * configure.in (LIBRUBY_DLDFLAGS): compatibility version is @@ -5811,7 +5811,7 @@ rb_str_chop_bang(VALUE str) { if (RSTRING_LEN(str) > 0) { long len; - str_modify_keep_cr(str); + rb_str_modify(str); len = chopped_length(str); STR_SET_LEN(str, len); RSTRING_PTR(str)[len] = '\0'; diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb index f3aa45a737..7fa2ead9b6 100644 --- a/test/ruby/test_string.rb +++ b/test/ruby/test_string.rb @@ -405,6 +405,7 @@ class TestString < Test::Unit::TestCase assert_equal(S("hello\n"), S("hello\n\r").chop) assert_equal(S(""), S("\r\n").chop) assert_equal(S(""), S("").chop) + assert_equal(S("a").hash, S("a\u00d8").chop.hash) end def test_chop! @@ -423,6 +424,10 @@ class TestString < Test::Unit::TestCase a = S("").chop! assert_nil(a) + a = S("a\u00d8") + a.chop! + assert_equal(S("a").hash, a.hash) + a = S("hello\n") b = a.dup assert_equal(S("hello"), a.chop!) |