ruby-changes:12753
From: yugui <ko1@a...>
Date: Sun, 9 Aug 2009 16:07:36 +0900 (JST)
Subject: [ruby-changes:12753] Ruby:r24469 (ruby_1_9_1): merges r24405 from trunk into ruby_1_9_1.
yugui 2009-08-09 00:34:26 +0900 (Sun, 09 Aug 2009) New Revision: 24469 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=24469 Log: merges r24405 from trunk into ruby_1_9_1. -- * range.c (range_eql, range_eq): fixed equality to work for subclasses of Range. a patch from Marc-Andre Lafortune. [ruby-core:22190] * test/ruby/test_range.rb: add assertions for above. Modified files: branches/ruby_1_9_1/range.c branches/ruby_1_9_1/test/ruby/test_range.rb branches/ruby_1_9_1/version.h Index: ruby_1_9_1/range.c =================================================================== --- ruby_1_9_1/range.c (revision 24468) +++ ruby_1_9_1/range.c (revision 24469) @@ -125,7 +125,7 @@ { if (range == obj) return Qtrue; - if (!rb_obj_is_instance_of(obj, rb_obj_class(range))) + if (!rb_obj_is_kind_of(obj, rb_cRange)) return Qfalse; if (!rb_equal(RANGE_BEG(range), RANGE_BEG(obj))) @@ -187,7 +187,7 @@ { if (range == obj) return Qtrue; - if (!rb_obj_is_instance_of(obj, rb_obj_class(range))) + if (!rb_obj_is_kind_of(obj, rb_cRange)) return Qfalse; if (!rb_eql(RANGE_BEG(range), RANGE_BEG(obj))) Index: ruby_1_9_1/version.h =================================================================== --- ruby_1_9_1/version.h (revision 24468) +++ ruby_1_9_1/version.h (revision 24469) @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.1" -#define RUBY_PATCHLEVEL 273 +#define RUBY_PATCHLEVEL 274 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1 Index: ruby_1_9_1/test/ruby/test_range.rb =================================================================== --- ruby_1_9_1/test/ruby/test_range.rb (revision 24468) +++ ruby_1_9_1/test/ruby/test_range.rb (revision 24469) @@ -89,6 +89,8 @@ assert(r != (1..2)) assert(r != (0..2)) assert(r != (0...1)) + subclass = Class.new(Range) + assert(r == subclass.new(0,1)) end def test_eql @@ -99,6 +101,8 @@ assert(!r.eql?(1..2)) assert(!r.eql?(0..2)) assert(!r.eql?(0...1)) + subclass = Class.new(Range) + assert(r.eql?(subclass.new(0,1))) end def test_hash -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/