今日は net/ftp の TLS 対応の続きや 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 用コメントの後になるように移動しています。