ruby-trunk-changes r56844 - r56853

今日は net/ftpTLS 対応の続きや forwardable の実装から VM実装依存の部分を切り出す変更などがありました。

suke: r56844 2016-11-20 08:51:49 +0900

mingw で拡張ライブラリ win32ole が libgcc_s_seh-1.dll に依存するのをやめています。 thread_specific という型に依存しているせいだったみたいです。 [ruby-dev:49884] [Bug #12959]

svn: r56845 2016-11-20 08:51:50 +0900

version.h の日付更新。

shugo: r56846 2016-11-20 10:44:07 +0900

r56839 での Net::FTP#shutdown での graceful shutdown の対応で OpenSSL::SSL::SSLSocket#stop を呼んでいたのですがこれは private メソッドだったのでやめています。また OpenSSL::SSL::SSLSocket の場合 close するだけでよかったみたいなのでむしろ shutdown メソッドを呼ばないようにしています。

shugo: r56847 2016-11-20 10:49:25 +0900

標準添付ライブラリ net/ftp で remote_address を取得するのが OpenSSL::SSL::SSLSocket を使っている場合失敗するので @bare_sock から取得するように修正しています。

nobu: r56848 2016-11-20 11:12:48 +0900

拡張ライブラリ rubyvm というのを導入しているのですが、C のソースがない…。こういうことができたんですね。かわりに ruby のライブラリ ext/rubyvm/lib/forwardable/impl.rb が追加されています。
標準添付ライブラリ forwardable から RubyVM::InstructionSequence を利用している部分を切り出して実装依存の部分は ext の下に追い出したということみたいです。 JRuby などの別実装と lib/forwardable.rb を共通化するためでしょうか。 [ruby-core:78138] [Bug #12938]

usa: r56849 2016-11-20 15:19:05 +0900

r56848 で追加された ext/rubyvm/lib/forwardable/impl.rb で未使用の変数による警告を除去しています。

nobu: r56850 2016-11-20 15:53:39 +0900

拡張ライブラリ win32ole の警告除去のため 0との明示的な比較をするようにしています。

shugo: r56851 2016-11-20 18:11:44 +0900

lib/net/ftp.rb の未使用の変数を削除して警告除去しています。

nobu: r56852 2016-11-20 19:41:09 +0900

proc.c で clobbered warning の抑制のための NO_CLOBBERED() マクロの定義を mingw でも volatile を使った定義を使うようにしています。

nobu: r56853 2016-11-20 19:52:28 +0900

proc.c の proc_to_s() の定義を Proc#to_s の rdoc 用コメントの後になるように移動しています。