ruby-trunk-changes r31272 - r31279

今日は mingw での不具合修正? や autoload を設定した Module を include した先での autoload? の挙動の修正がありました。

kazu:r31272 2011-04-14 16:02:54 +0900

rb_f_syscall の条件コンパイルで HAVE__SYSCALL を直接参照していたのを defined(HAVE__SYSCALL) で判定するようにしています。警告除去。

kosaki:r31273 2011-04-14 19:58:10 +0900

FileUtils.touch(:nocreate => true, :verbose => true) で実行した時に表示されるメッセージに空白が足りなくて詰まっているのを修正しています。 [ruby-dev:43401] [Bug #4575]

kosaki:r31274 2011-04-14 20:01:53 +0900

r31261 の ChangeLog のエントリに revert 理由を追記。

nobu:r31275 2011-04-14 21:16:09 +0900

stringio.c のコーディングスタイルや tab の使いかたを修正しています。 Ruby の C ソースコードは tab width 8。

nobu:r31276 2011-04-14 21:20:59 +0900

win32/win32.c 未初期化の変数を初期化して警告除去とスタイルの修正です。

nobu:r31277 2011-04-14 21:21:04 +0900

mingw64 で ftruncate, truncate の prototype 宣言がなくなってしまうので条件コンパイルの外に出しています。 ftello() は同じように変更しなくてもいいんでしょうか?

nobu:r31278 2011-04-14 21:21:09 +0900

mingw の frexp(), modf() をマクロで第2引数のポインタを一時変数にすりかえています。最適化が悪さをするのを回避しているとかでしょうか?
[追記]コメント欄で教えてもらいました。__attribute__ (__pure__) *1 という属性つきの宣言(pure は副作用のない関数)をされているために出力される警告の抑制が目的だそうです。[/追記]

nobu:r31279 2011-04-14 21:23:32 +0900

autoload を設定した Module をさらに他の Class や Module に include して、そこで autoload? で検査した時に nil がかえるようになっていたので、設定されているスクリプト名(require に渡す名前)をかえすようにしています。 [ruby-core:35679] [Bug #4565]

*1:本当はかっこは2重なのですが、はてなの脚注記法と衝突してしまうので1つのかっこにしています