ruby-trunk-changes r31167 - r31181

今日もたくさんコミットがありました。活発なのは良いことですね。
autoload と defined? の組合せの挙動の修正、Syslog のテストの修正などの他に今日も拡張ライブラリの警告除去など型の修正がありました。

akr:r31167 2011-03-24 22:49:26 +0900

ext/sdbm/_sdbm.c の関数マクロの引数にかっこをつける修正です。

nobu:r31168 2011-03-24 23:03:45 +0900

test/ruby/test_defined.rb で $' 特殊変数を含む行で行末にコメントを追加しています。おそらく ruby-mode が $' のシングルクオート記号を文字列の開始と誤判定してしまうのでコメント部分にシングルクオートを入れて抑制しているのだと思います。

nobu:r31169 2011-03-24 23:05:45 +0900

defined? に autoload (定数を参照すると自動的に require する機能)を設定した定数を渡した時に、autoload が動作せずに false を返してしまうのを修正しています。

nobu:r31170 2011-03-24 23:06:31 +0900

と、ここでやっぱり defined?(定数)では autoload による require は実行しないようにしています。あれ?

nobu:r31171 2011-03-24 23:41:17 +0900

autoload のテストで defined? で require されないこと($LOADED_FEATURES に追加されないこと)をチェックするようにしています。

svn:r31173 2011-03-25 01:18:20 +0900

version.h の日付更新。

usa:r31174 2011-03-25 11:50:17 +0900

DL, open-uri (環境変数の大文字小文字の区別がないと意味がないテスト), ディレクトリ操作(実行中のディレクトリ削除 etc)など Windows では意味がないので skip していたテストを、明示的な skip ではなくて単にスルーして結果に skip が出ないようにしています。

naruse:r31175 2011-03-25 15:46:55 +0900

nkf の 7f18e30 (git のリビジョンID?)をマージしています。といっても変更点はわずかで、変数の型を修正しているだけのようです。

naruse:r31176 2011-03-25 15:46:57 +0900

dl, sdbm, strscan, sych の拡張ライブラリで 64bit 整数の 32bit への暗黙の型変換による警告除去や int のかわりに size_t, ptrdiff_t など適切な型を利用するようにする修正です。

shyouhei:r31177 2011-03-25 20:06:56 +0900

syslog のテストで Syslog.open の第2引数に Syslog::LOG_PERROR という定数をビットフラグとして利用していたのですが、これは Solaris 9, 10 などでは存在しない POSIX に準拠していないオプションなので、 Syslog::LOG_PID というのを利用するように変更しています。

shyouhei:r31178 2011-03-25 20:06:57 +0900

同じく syslog のテストが Solaris 9 で失敗していたので、Syslog::LOG_ERROR オプションに依存したテストをスキップするのはプラトフォームによる分岐(これまでは cygwin のみスキップしていました)ではなくて Syslog::LOG_ERROR 定数が定義されているかどうかで判定するようにしています。

shyouhei:r31179 2011-03-25 20:06:59 +0900

r31178 の ChangeLog のエントリです。

akr:r31180 2011-03-25 21:56:34 +0900

ext/sdbm/init.c の関数マクロの引数にかっこをつける修正です。

tadf:r31181 2011-03-25 22:01:06 +0900

date_core.c と date_strftime.c で long 型の int への無用なキャストを削減しています。負数の除算、余剰のための NDIV() とか NMOD() のマクロはすごいですね。30秒くらいじーっと眺めてようやくわかりました。