ふなばさん
遠藤です。

rubyspec が Date に関する動作の違いを見つけまくってくれるんですが、
Date の知識がなくてバグかどうか判断できません。
すみませんが以下の動作の違いをチェックしていただけますでしょうか。


ruby18 はすべて ruby 1.8.8dev (2010-01-26 revision 26430) [i686-linux] で、
ruby19 はすべて ruby 1.9.2dev (2010-01-28 trunk 26458) [i686-linux] です。
ruby-1.9.1-p378


1) Date.valid_commercial? の返す値の真偽が変わった?
$ ruby18 -rdate -e 'p Date.valid_commercial?(1582, 41, 4)'
nil

$ ruby19 -rdate -e 'p Date.valid_commercial?(1582, 41, 4)'
true


2) Date.ordinal の範囲が変わった?
$ ruby18 -rdate -e 'p Date.ordinal(1582, 287).day'
/home/mame/work/ruby18/local/lib/ruby/1.8/date.rb:732:in `ordinal':
invalid date (ArgumentError)
        from -e:1

$ ruby19 -rdate -e 'p Date.ordinal(1582, 287).day'
24


3) Date.ordinal の範囲が変わった? (その 2)
$ ruby18 -rdate -e 'p Date.ordinal(1582, 288).day'
15
$ ruby19 -rdate -e 'p Date.ordinal(1582, 288).day'
25


4) Date.valid_ordinal? の範囲が変わった? (その 3)
$ ruby18 -rdate -e 'p Date.valid_ordinal?(1582, 287)'
nil

$ ruby19 -rdate -e 'p Date.valid_ordinal?(1582, 287)'
true


http://github.com/rubyspec/rubyspec/blob/master/library/date/commercial_spec.rb
http://github.com/rubyspec/rubyspec/blob/master/library/date/ordinal_spec.rb

-- 
Yusuke ENDOH <mame / tsg.ne.jp>