ruby-trunk-changes r60123 - r60129

今日は ubygems.rb の削除でエラーになっていたところの修正と UnboundMethod#super_method が正しいメソッドを返せないことがある不具合の修正などがありました。

normal: r60123 2017-10-06 06:53:54 +0900

標準添付ライブラリ webrickWEBrick::GenericServer#accept_client で accept でかえってきた socket に sock.sync = true していたのをやめています。既にセットされているはずということです。

svn: r60124 2017-10-06 06:53:54 +0900

version.h の日付更新。

nobu: r60125 2017-10-06 09:15:08 +0900

rubygems の rake_builder.rb で ruby のオプションに -rubygems を使っているところがあって、r60008 で ubygems.rb を削除したので動かなくなるようなので -rrubygems に変更しています。 https://github.com/ruby/ruby/pull/1711

nobu: r60126 2017-10-06 14:55:10 +0900

define_method の例外メッセージや Method#inspect でクラス名を文字列化するところで rb_class_name() で String オブジェクトを生成していたのをフォーマット文字列の PRIsVALUE で文字列するようにしています。inspect メソッドが再定義されていた時にその結果を使うようにするためみたいですね。

nobu: r60127 2017-10-06 14:55:11 +0900

struct METHOD に iclass というメンバーを追加して、UnboundMethod#super_method で複数の Module で同じメソッドが定義されているものを include していた時に親が正しく辿れていなかった不具合を修正しています。なるほど Module がどこに挿入された所で生えたメソッドかを静的に持っておかないといけなかったんですね。 [ruby-core:83114] [Bug #13973]

nobu: r60128 2017-10-06 15:11:25 +0900

.gdbinit の rp_id コマンドで関数 lookup_id_str() を利用していたのを、print_id コマンドを呼ぶようにして、print_id コマンドで参照してた ID_ENTRY_UNIT を enum から static const の変数に変更しています。 デバッガから参照するためとのことですが、enum でも見えるんじゃないんでしたっけ(そのために #define から enum に定数の定義方法を変更したことが何度かあった)。

naruse: r60129 2017-10-06 20:17:38 +0900

configure 時に環境変数 MANTYPE=doc を設定する条件に mandoc コマンドがあった時というのも追加しています。 OpenBSD では nroff ではなく mandoc コマンドを利用するそうです。 [ruby-core:83146] [Feature #13981]