今日もたくさんのコミットがありました。さすがに浅くしか読めてませんが、
- OptionParser のオプション補完の仕組みの変更
- Net::IMAP の XLIST コマンド対応
- String#encode の :fallback オプションの機能拡張
- IO#read にバッファ共有した文字列を格納先として渡した時の不具合修正
あたりが主な新機能/不具合修正などです。
nobu:r30098 2010-12-06 22:47:19 +0900
OptionParser の補完機能用のメソッドでセパレータをスキップするように修正。また --help オプションを上書きすると補完ができない(--help に引数を渡すことで補完候補を返させる作りになっているため)ので、sample/optparse にあるサンプルで --help を上書きするのをやめて --usage というオプションにしています。[ruby-dev:42690] けど後程 r30121 で補完に --help を使わないように修正する時に戻されています。
nobu:r30099 2010-12-06 22:55:15 +0900
make test-build ターゲットを追加しています。mkmf のテストだけをするようです。訊いたところによるとクロスコンパイル環境専用のターゲットとのこと。
nobu:r30100 2010-12-06 23:17:40 +0900
mkmf の find_executable のテストの修正。実行可能ファイルの拡張子を configure 結果から取得するようにしています。
nobu:r30101 2010-12-06 23:18:26 +0900
修正方法はもうちょっと詳しく見てみないとわかりませんが、mkmf のテストでログ出力などを抑制する方法を変更しているようです。Logging というメッセージ出力用の Module? が mkmf にあるみたいです。
nobu:r30102 2010-12-06 23:43:50 +0900
そしてクロスコンパイルじゃない環境では make build-test で普通に mkmf のテストを実行するようにしたようです。
nobu:r30103 2010-12-06 23:47:54 +0900
で最終的にはクロスコンパイル環境では make test-all すると $(TEST_BUILD) (具体的には mkmf) を実行するようになったというところに落ち着いたようです。
tarui:r30104 2010-12-07 00:29:45 +0900
Windows のコマンドプロンプトからの入力のバグ対応の修正。[ruby-core:33511]
svn:r30105 2010-12-07 00:29:46 +0900
version.h の日付更新。
akr:r30106 2010-12-07 05:56:04 +0900
今日の関数マクロの引数のかっこくくり矯正は cont.c でした。
nobu:r30107 2010-12-07 08:00:47 +0900
あちこち hunk がありますが mkmf の convertible_int でコンパイラのエラーによって型の同一性チェックをしていたのに VC が警告しか返さなかった(一応C99 によると結果は不定らしいのでコンパイルエラーにならなくちゃいけないというわけでもないらしい。詳細は ruby-dev のスレッド参照 [ruby-dev:42684])ので、コンパイルオプションをつけたり、警告メッセージが出てたらエラーにするなど対応している模様。
shugo:r30108 2010-12-07 17:07:12 +0900
Net::IMAP に XLIST コマンドのサポートを追加しています。XLIST とは Apple と Google による拡張で GMail の iPhone クライアントで使用されているそうです。GMail 以外では使えないのかも。 [ruby-core:33521]
kou:r30109 2010-12-07 20:30:19 +0900
test/rexml/test_doctype_mixin.rb を test/rexml/test_doctype.rb に移動。
kou:r30110 2010-12-07 20:31:46 +0900
TestDoctype を TestDocType と改名。
kou:r30111 2010-12-07 20:32:45 +0900
さらに TestDocType を TestDocTypeAccessor に改名。ずいぶん小刻みな変更ですね。
naruse:r30112 2010-12-07 20:47:39 +0900
kconv.rb の String#kconv の typo による不具合修正と rdoc 更新。[ruby-dev:42696]
kou:r30113 2010-12-07 21:10:23 +0900
rexml/doctype.rb 警告除去 [ruby-core:33305]
akr:r30114 2010-12-07 21:16:10 +0900
次の関数マクロの引数かっこ矯正は debug.c です。今日は2つめですね。
kou:r30115 2010-12-07 21:55:12 +0900
test/rexml/test_light.rb の警告除去。っていうか元は assert がないので例外が起きないということしか確認していなかった。
kou:r30116 2010-12-07 21:57:35 +0900
で、r30115 でもまだ未使用のローカル変数があったのでさらに assert でのチェックに追加。
kou:r30117 2010-12-07 22:01:36 +0900
rexml/light/node.rb が require "rexml/light/node" しているのを削除。
nobu:r30118 2010-12-07 22:05:26 +0900
String#encode での文字エンコーディング変換で変換できない文字の置換先を特に指定するために :fallback オプションに Hash を渡して変換テーブルを渡せるのですが、その Hash のデフォルト値つき(Hash.new にブロックを渡して生成したもの)のデフォルト値が利用されていなかったのを使用するようにしています。また :fallback に Proc オブジェクトなど '[]' メソッドで変換後の文字を返させるオブジェクトを許容するようにしています。[ruby-dev:42692]
nobu:r30120 2010-12-07 22:29:49 +0900
optparse.rb 未使用のローカル変数を削除して警告除去。
nobu:r30121 2010-12-07 22:31:11 +0900
OptionParser を使ったコマンドのオプション補完のために使うオプションを --help から --*-completion-bash と --*-completion-zsh というちょっと変わった専用のオプションに変更。
コメントの --*-completion-bash のほうは --*-completion-for-bash になってますね。
tarui:r30122 2010-12-07 22:38:36 +0900
IO#read の読み込み先としてバッファを他の String と共有している String を渡した時にエラーになるので複製するようにしています。[ruby-dev:42719] #4131
naruse:r30123 2010-12-07 23:24:40 +0900
OpenSSL のテストで警告除去のために SSLContext#tmp_dh_callback= で Proc オブジェクトを登録、とのことですがこれでなぜ警告除去になるのかはよくわかりませんでした。