ruby-trunk-changes r38865 - r38877

今日は拡張ライブラリ win32ole がスレッド毎に初期化/終了のフックを呼び出す方法を変更したり、ビルドプロセスの修正があったりでした。

nobu:r38865 2013-01-18 11:18:31 +0900

make install-gem というターゲットを追加しています。 標準添付の gem パッケージをインストールするルールみたいです。

svn:r38866 2013-01-18 11:18:35 +0900

version.h の日付更新。

nobu:r38867 2013-01-18 11:23:37 +0900

拡張ライブラリ win32ole で OleInitialize() および OleUninitialize() の呼び出しを管理するフラグをスレッド毎に管理するようにしています。 このフラグを利用するのは次のコミットで入っています。 [ruby-core:27634] [Bug #2618]

nobu:r38868 2013-01-18 11:24:35 +0900

r38867 の続きで、拡張ライブラリ owin32ole で OleInitialize() や OleUninitialize() がスレッド毎に1セットしか呼ばれないようにしています。またスレッドの終了時に自動的に ole_uninitialize() を呼ぶようにフックを設定するようにしています。 [ruby-core:27634] [Bug #2618]

nobu:r38869 2013-01-18 11:29:59 +0900

r38868 の変更により r38848 で書き換えた TracePoint を使って Thread の開始、終了時に WIN32OLE.ole_initialize, ole_uninitialize を呼び出すフックを登録する処理は不要になったので削除しています。 [ruby-core:27634] [Bug #2618]

nobu:r38870 2013-01-18 12:54:24 +0900

tool/rbinstall.rb で Gem.ensure_gem_subdirectories を利用して rubygems 用の cache、gems、specifications などのディレクトリを作成していたのですが、この時に権限情報に同一グループのユーザに書き込み権限が付与されていたので、とりあえず Gem.ensure_gem_subdirectories を利用せず直接ディレクトリ作成処理を書くようにしています。 Gem.ensure_gem_subdirectories を修正するまでの暫定対応かと思います。

nobu:r38871 2013-01-18 14:02:07 +0900

r38870 で tool/rbinstall.rb で gem パッケージのインストールのディレクトリ作成処理を書いたのですが、その後呼んでいる prepare というメソッドにディレクトリ作成の処理が含まれていたということで makedirs というメソッドの呼び出しを削除しています。

drbrain:r38872 2013-01-18 14:15:44 +0900

doc/syntax/methods.rdoc に引数に配列を受け取ってそれを分解して仮引数に代入する記法(Array Decomposition) について追記しています。 これブロックパラメータではよくみますけど、メソッドの引数でもできたんですね。あとはここでは記述されていませんけど代入の左辺でも使えますね。

nobu:r38875 2013-01-18 14:31:39 +0900

r38419 で追加された(既にその後何度か編集されていますけど) doc/syntax/ の下の rdoc ファイルの svn property の設定。

nobu:r38877 2013-01-18 18:14:11 +0900

configure で darwin (Mac OS X) 上で /usr/local/lib がライブラリの search path に含まれているかチェックするためのコンパイラを起動するコマンドで入力するソースファイルとして /dev/null を指定していたのは clang だと SIGPIPE で終了して一時ファイルが残ってしまうらしく、"-" を引数に渡して標準入力からソースを読ませるようにコマンドを変更しています。