ruby-trunk-changes r32147 - r32168

今日はまずソースコードの整理というか関数宣言をヘッダに集めるというファクタリングと、RCLASS_SUPER() が拡張ライブラリから利用できなくなっていた件の対応で公開ヘッダでダミーの構造体を見せるようにする変更がありました。
関数宣言がヘッダに集約されたので関数を探すのがラクになりますね。

akr:r32147 2011-06-17 23:53:56 +0900

Addrinfo の rdoc 追記です。

tadf:r32148 2011-06-18 00:22:10 +0900

拡張ライブラリ date で Date#wnum0, Date#wnum1 というメソッドをデバッグコンパイル時のみ定義されるようにしています。

svn:r32149 2011-06-18 00:22:15 +0900

version.h の日付更新。

mrkn:r32150 2011-06-18 02:38:14 +0900

bigdecimal の BigMath.exp を Ruby による実装から C による拡張ライブラリ内での実装に変更しています。

mrkn:r32151 2011-06-18 02:38:18 +0900

bigdecimal の関数 VpNewRbClass() の第2引数を char * から const char * に変更しています。

nobu:r32152 2011-06-18 07:33:54 +0900

コメント部分の末尾の空白除去。

nobu:r32153 2011-06-18 07:33:59 +0900

ext/tk/tcltklib.c 警告除去のためキャスト追加。

nobu:r32154 2011-06-18 07:34:03 +0900

require 中にシグナル受信した時の挙動のテストを Windows 版はスキップしていたのを、子プロセスに親プロセスから SIGINT を送るのではなくて自分自身にシグナル送信させるようにしています。Windows は自分に SIGINT を送るのだけはエミュレートしていたはず。

nobu:r32155 2011-06-18 07:34:07 +0900

io/console のテストで一時ファイルの削除を追加。

akr:r32156 2011-06-18 07:43:38 +0900

Ruby のソースでは他のソースファイルで定義された関数を利用するときにソースファイルに直接 extern で宣言を書いて使うというあまりお行儀のよくないことが行なわれていましたが、それをやめて internal.h や node.h, iseq.h, vm_core.h にそれぞれ関数宣言を書いて、それを #include して利用するようにしています。

akr:r32157 2011-06-18 08:15:47 +0900

r32156 でヘッダの依存関係が追加になったので common.mk の記述も変更。また依存関係を更新するためのツールも追加されています。

akr:r32158 2011-06-18 10:54:57 +0900

さらに関数の宣言をヘッダに集約しています。また宣言されてるけど使われてない(存在していない)ものもついでに削除。

akr:r32159 2011-06-18 11:10:09 +0900

io.c の警告除去(if の条件部にかっこなしで代入文が書かれていた)とコーディングスタイルの修正。

akr:r32160 2011-06-18 11:12:40 +0900

common.mk の依存関係更新、とコミットメッセージにはありますが ChangeLog しか変更されてないですね。

akr:r32161 2011-06-18 11:32:44 +0900

common.mk の依存関係の更新の本体がコミットされています。

nobu:r32162 2011-06-18 12:05:11 +0900

rb_classext_t の定義が internal.h に移動になったために RCLASS_SUPER() マクロが拡張ライブラリから利用できなくなったのに対処するために、include/ruby/backward/classext.h というヘッダを導入して super メンバだけ定義した構造体を見せて RCLASS_SUPER() が利用できるようにしています。ただしこれは deprecated なので今後は rb_class_superclass() かもしくは今回新規追加になった rb_class_get_superclass() (RCLASS_SUPER() と同等)を使うように移行していきます。ちなみに rb_class_superclass() は IClass(つまり include によってできた Module のエイリアス)はスキップして Ruby スクリプトから見える superclass を返し、rb_class_get_superclass() はスキップせずに内部的な構造をそのまま見せます。 [ruby-core:36565] [Bug #4803]

akr:r32163 2011-06-18 12:49:33 +0900

さらに関数宣言のヘッダへの集約の追加変更がありました。

akr:r32164 2011-06-18 13:41:53 +0900

internal.h に集めた関数宣言のうち include/ruby/*.h で公開されていたものを削除しています。

akr:r32165 2011-06-18 17:26:19 +0900

さらに関数宣言を internal.h, vm_core.h に集約。また common.mk の依存関係の更新をしています。

ko1:r32166 2011-06-18 18:56:01 +0900

rb_vm_stack_to_heap() の宣言の引数の型につける const を変更しています。 rb_thread_t const *th -> const rb_thread_t *th

kosaki:r32167 2011-06-18 21:32:57 +0900

r32166 で変更された const ですがコンパイルの警告が出るので(多分引数を渡すほうが const に宣言されてない) const を削除しています。

kosaki:r32168 2011-06-18 21:39:01 +0900

thread_pthread.c からデバッグ用のコードを削除しています。