ruby-changes:5528
From: knu <ko1@a...>
Date: Mon, 9 Jun 2008 03:27:23 +0900 (JST)
Subject: [ruby-changes:5528] Ruby:r17031 (ruby_1_8_7): * hash.c (hash_i): make Hash#hash order insensitive.
knu 2008-06-09 03:25:01 +0900 (Mon, 09 Jun 2008) New Revision: 17031 Modified files: branches/ruby_1_8_7/ChangeLog branches/ruby_1_8_7/hash.c branches/ruby_1_8_7/test/ruby/test_hash.rb branches/ruby_1_8_7/version.h Log: * hash.c (hash_i): make Hash#hash order insensitive. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/hash.c?r1=17031&r2=17030&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/test/ruby/test_hash.rb?r1=17031&r2=17030&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/ChangeLog?r1=17031&r2=17030&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/version.h?r1=17031&r2=17030&diff_format=u Index: ruby_1_8_7/hash.c =================================================================== --- ruby_1_8_7/hash.c (revision 17030) +++ ruby_1_8_7/hash.c (revision 17031) @@ -1602,7 +1602,6 @@ { if (key == Qundef) return ST_CONTINUE; *hval ^= rb_hash(key); - *hval *= 137; *hval ^= rb_hash(val); return ST_CONTINUE; } Index: ruby_1_8_7/ChangeLog =================================================================== --- ruby_1_8_7/ChangeLog (revision 17030) +++ ruby_1_8_7/ChangeLog (revision 17031) @@ -1,3 +1,7 @@ +Mon Jun 9 03:24:18 2008 Tanaka Akira <akr@f...> + + * hash.c (hash_i): make Hash#hash order insensitive. + Mon Jun 9 03:22:43 2008 Nobuyoshi Nakada <nobu@r...> * configure.in (VENDOR_DIR): use LIBDIR instead of PREFIX as well as Index: ruby_1_8_7/version.h =================================================================== --- ruby_1_8_7/version.h (revision 17030) +++ ruby_1_8_7/version.h (revision 17031) @@ -2,7 +2,7 @@ #define RUBY_RELEASE_DATE "2008-06-09" #define RUBY_VERSION_CODE 187 #define RUBY_RELEASE_CODE 20080609 -#define RUBY_PATCHLEVEL 13 +#define RUBY_PATCHLEVEL 14 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 Index: ruby_1_8_7/test/ruby/test_hash.rb =================================================================== --- ruby_1_8_7/test/ruby/test_hash.rb (revision 17030) +++ ruby_1_8_7/test/ruby/test_hash.rb (revision 17031) @@ -635,4 +635,7 @@ assert_equal([], expected - vals) end + def test_hash_hash + assert_equal({0=>2,11=>1}.hash, {11=>1,0=>2}.hash) + end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/