From 9fb9dfecf8783de5fb61f4a5ab51237d848ff2d2 Mon Sep 17 00:00:00 2001 From: yugui Date: Sat, 20 Jun 2009 09:07:02 +0000 Subject: merges r23562 and r23564 from trunk into ruby_1_9_1. -- * string.c (rb_str_partition): should use the converted result. a patch from Marc-Andre Lafortune at [ruby-core:23540]. -- * string.c (rb_str_rpartition): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_1@23761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ string.c | 2 ++ test/ruby/test_string.rb | 4 ++++ version.h | 2 +- 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 69885b4c8..402441949 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Mon May 25 08:06:52 2009 Nobuyoshi Nakada + + * string.c (rb_str_partition): should use the converted result. a + patch from Marc-Andre Lafortune at [ruby-core:23540]. + + * string.c (rb_str_rpartition): ditto. + Mon May 25 05:32:19 2009 Yukihiro Matsumoto * lib/cgi/core.rb (CGI::HTTP_STATUS): typo fixed. a patch from diff --git a/string.c b/string.c index 8e264d53a..3026de17d 100644 --- a/string.c +++ b/string.c @@ -6645,6 +6645,7 @@ rb_str_partition(VALUE str, VALUE sep) rb_raise(rb_eTypeError, "type mismatch: %s given", rb_obj_classname(sep)); } + sep = tmp; pos = rb_str_index(str, sep, 0); } if (pos < 0) { @@ -6692,6 +6693,7 @@ rb_str_rpartition(VALUE str, VALUE sep) rb_raise(rb_eTypeError, "type mismatch: %s given", rb_obj_classname(sep)); } + sep = tmp; pos = rb_str_sublen(str, pos); pos = rb_str_rindex(str, sep, pos); } diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb index f6f3dd76b..bf0ed6a83 100644 --- a/test/ruby/test_string.rb +++ b/test/ruby/test_string.rb @@ -1699,12 +1699,16 @@ class TestString < Test::Unit::TestCase assert_equal(%w(he l lo), "hello".partition(/l/)) assert_equal(%w(he l lo), "hello".partition("l")) assert_raise(TypeError) { "hello".partition(1) } + def (hyphen = Object.new).to_str; "-"; end + assert_equal(%w(foo - bar), "foo-bar".partition(hyphen), '[ruby-core:23540]') end def test_rpartition assert_equal(%w(hel l o), "hello".rpartition(/l/)) assert_equal(%w(hel l o), "hello".rpartition("l")) assert_raise(TypeError) { "hello".rpartition(1) } + def (hyphen = Object.new).to_str; "-"; end + assert_equal(%w(foo - bar), "foo-bar".rpartition(hyphen), '[ruby-core:23540]') end def test_setter diff --git a/version.h b/version.h index 53715337a..cb30b38a2 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ #define RUBY_VERSION "1.9.1" #define RUBY_RELEASE_DATE "2009-05-22" -#define RUBY_PATCHLEVEL 159 +#define RUBY_PATCHLEVEL 160 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1 -- cgit