ruby-changes:23029
From: naruse <ko1@a...>
Date: Sun, 18 Mar 2012 14:26:18 +0900 (JST)
Subject: [ruby-changes:23029] naruse:r35078 (ruby_1_9_3): merge revision(s) 34433: [Backport #6153]
naruse 2012-03-18 14:26:07 +0900 (Sun, 18 Mar 2012) New Revision: 35078 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35078 Log: merge revision(s) 34433: [Backport #6153] * encoding.c (rb_enc_compatible): return ASCII-8BIT even if 2nd string is ascii only string. [ruby-core:42354] [Bug #5968] Modified files: branches/ruby_1_9_3/ChangeLog branches/ruby_1_9_3/encoding.c branches/ruby_1_9_3/test/ruby/test_encoding.rb branches/ruby_1_9_3/version.h Index: ruby_1_9_3/encoding.c =================================================================== --- ruby_1_9_3/encoding.c (revision 35077) +++ ruby_1_9_3/encoding.c (revision 35078) @@ -804,7 +804,6 @@ if (cr2 == ENC_CODERANGE_7BIT) return enc1; } if (cr2 == ENC_CODERANGE_7BIT) { - if (idx1 == ENCINDEX_ASCII) return enc2; return enc1; } } Index: ruby_1_9_3/ChangeLog =================================================================== --- ruby_1_9_3/ChangeLog (revision 35077) +++ ruby_1_9_3/ChangeLog (revision 35078) @@ -1,3 +1,8 @@ +Sun Mar 18 13:23:28 2012 NARUSE, Yui <naruse@r...> + + * encoding.c (rb_enc_compatible): return ASCII-8BIT even if 2nd string + is ascii only string. [ruby-core:42354] [Bug #5968] + Tue Mar 6 18:55:37 2012 Nobuyoshi Nakada <nobu@r...> * lib/test/unit/assertions.rb (assert_send, assert_not_send): Index: ruby_1_9_3/version.h =================================================================== --- ruby_1_9_3/version.h (revision 35077) +++ ruby_1_9_3/version.h (revision 35078) @@ -1,10 +1,10 @@ #define RUBY_VERSION "1.9.3" -#define RUBY_PATCHLEVEL 164 +#define RUBY_PATCHLEVEL 165 -#define RUBY_RELEASE_DATE "2012-03-16" +#define RUBY_RELEASE_DATE "2012-03-18" #define RUBY_RELEASE_YEAR 2012 #define RUBY_RELEASE_MONTH 3 -#define RUBY_RELEASE_DAY 16 +#define RUBY_RELEASE_DAY 18 #include "ruby/version.h" Index: ruby_1_9_3/test/ruby/test_encoding.rb =================================================================== --- ruby_1_9_3/test/ruby/test_encoding.rb (revision 35077) +++ ruby_1_9_3/test/ruby/test_encoding.rb (revision 35078) @@ -99,4 +99,18 @@ str2 = Marshal.load(Marshal.dump(str2)) assert_equal(str, str2, '[ruby-dev:38596]') end + + def test_unsafe + bug5279 = '[ruby-dev:44469]' + assert_ruby_status([], '$SAFE=4; "a".encode("utf-16be")', bug5279) + end + + def test_compatible_p + ua = "abc".force_encoding(Encoding::UTF_8) + assert_equal(Encoding::UTF_8, Encoding.compatible?(ua, :abc)) + assert_equal(nil, Encoding.compatible?(ua, 1)) + bin = "a".force_encoding(Encoding::ASCII_8BIT) + asc = "b".force_encoding(Encoding::US_ASCII) + assert_equal(Encoding::ASCII_8BIT, Encoding.compatible?(bin, asc)) + end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/