ruby-trunk-changes r53980 - r53984

今日は標準添付ライブラリ xmlrpc の対応 Parser から古くて動かないものを削除する変更などがありました。

hsbt: r53980 2016-03-02 15:12:51 +0900

標準添付ライブラリ xmlrpc のサポートするパーサー実装から最新の Ruby でビルドできない XMLTreeParser (Expat) のサポートを削っています。 https://github.com/ruby/ruby/pull/1271 [ruby-core:59590] [Bug #9370]

hsbt: r53981 2016-03-02 15:19:18 +0900

同じく標準添付ライブラリ xmlrpc から XML パーサーの XMLScanStreamParser のサポートを削っています。 https://github.com/ruby/ruby/pull/1271 [ruby-core:59588] [Bug #9369]
結局今サポートされてるのは REXML と libxml (LibXMLStreamParser) ですね。

nobu: r53982 2016-03-02 16:03:22 +0900

test/lib/test/unit.rb でテストの状況表示の :job_status オプションが :replace (同じ行を書きかえて画面が流れないようにする)の時に表示後に "\r" を出力してカーソルを行頭に戻すようにしています。テストが標準出力にメッセージを出した時にステータス表示の後ろにくっついて表示されるのを嫌ったみたいですね。

nobu: r53983 2016-03-02 16:18:31 +0900

vm_call0_body() で struct rb_call_cache::me のタイプが VM_METHOD_TYPE_MISSING の時の method_missing メソッドの呼び出しは専用の関数 method_missing() を利用するようにリファクタリングしています。ちょっと処理も違うみたいですが。

nobu: r53984 2016-03-02 16:28:50 +0900

vm_eval.c の method_missing() で NoMethodError 例外を発生させるために method entry を検索するので、rb_funcall2() ではなく vm_call0() を使ってメソッド呼び出しするようにして処理の重複を省いています。