今日は ruby スクリプトから実行可能ファイルを作る rubystub を Windows だけでなく他のプラットフォームでも使えるようにする変更などがありました。
nobu: r55971 2016-08-20 11:19:19 +0900
win32/win32.c の StartSockets() という関数内で rb_fatal() を呼んでいるところで関数名と引数のかっこの間の余分な空白除去と、メッセージに不要な改行コードが含まれていたのでそれを削っています。
svn: r55972 2016-08-20 11:19:20 +0900
version.h の日付更新。
nobu: r55973 2016-08-20 11:20:34 +0900
Windows でファイルの先頭に埋め込むことで Ruby スクリプトを直接実行可能なファイルを作る rubystub の仕組みを rubystub.c というソースファイルに移動して実行ファイルを生成するようにしています。 Windows 以外でも動くようにしたみたいですね。 Linux の場合は /proc/self/exe をみて $0 を差し替えているようです。
nobu: r55974 2016-08-20 14:58:58 +0900
r55973 で追加した rubystub.c に #inclue
mrkn: r55975 2016-08-21 05:51:19 +0900
Enumerable#sort で enum_to_a() で生成した配列をさらに rb_ary_sort() で複製を返していたので rb_ary_sort_bang() で破壊的にソートするようにして余分な中間オブジェクトの生成を抑制しています。
svn: r55976 2016-08-21 05:51:20 +0900
version.h の日付更新。