ruby-trunk-changes r30183 - r30194

今日の主だった機能追加は Net::HTTPRequest#set_form の追加です。

kazu:r30183 2010-12-12 20:40:29 +0900

optparse.rb の typo 修正(そういえば報告しわすれてた)と rb_optparse.zsh のドキュメント修正と、既に補完情報のファイルがインストール済みで noclobber が設定されているとエラーになるのを修正。リダイレクションの '>!' って何だっけーと man zshall してみたら "Same as >, except that the file is truncated to zero length if it exists, even if CLOBBER is unset." てことで常に上書き出力すると。

kazu:r30184 2010-12-12 20:49:32 +0900

SUPPORT_JOKE の定義が必要なので id.h から vm_opts.h を include するように修正。[ruby-dev:42730]
ML ではそもそも SUPPORT_JOKE 消したらいいんじゃね、といった話になってますね。

kazu:r30185 2010-12-12 21:06:36 +0900

r30183 の rb_optparse.zsh のインストール方法のドキュメントをもうちょっと修正。

nobu:r30186 2010-12-12 22:45:51 +0900

id.h が vm_opts.h に依存するようになったので Makefile(common.mk) に依存関係追記。

nobu:r30187 2010-12-12 23:45:30 +0900

compile.c の SUPPORT_JOKE で追加される機能の __goto__ と __label__ というのを修正しています。はて、こんな JOKE あったかな……。RHG の逆襲で読んだ時には話題に昇らなかったような気がする。これは __goto__ と __label__ というメソッドでバイトコードの label の生成とラベルへの jump 命令を生成するようなものらしい。つまり ruby で goto が使えるようにしたものみたいです。

naruse:r30188 2010-12-13 10:04:37 +0900

Net::HTTPRequest#set_form というメソッドを追加して Content-type application/x-www-form-urlencoded と multipart/form-data に対応しています。[ruby-dev:42729]
じゃあ今まではどうしてたんだろうか、というと Net::HTTPRequest#set_form_data で application/x-www-form-urlencoded はサポートされていて、multipart/form-data は自分で content_type を設定して body も自力でセットしないといけなかったんでしょうか。意外ですね。

svn:r30189 2010-12-13 10:04:40 +0900

version.h の日付更新。

naruse:r30190 2010-12-13 11:34:50 +0900

IO.copy_stream で Linux の時に利用している sendfile を BSD(多分 Mac OS X も?)でも利用できるように追加。
なんですが #define USE_SENDFILE しないと実際に利用されないような気が。

akr:r30191 2010-12-13 12:01:12 +0900

file.c の関数マクロの引数にかっこをつける修正です。

tenderlove:r30192 2010-12-13 13:17:42 +0900

OpenSSL::PKCS12.create のテストを追加しています。

naruse:r30193 2010-12-13 18:37:09 +0900

r30190 で入れた simple_sendfile の BSD 版に #define USE_SENDFILE を追加。また Mac OS X は外されてます。sendfile の引数が違うらしい……。

naruse:r30194 2010-12-13 21:28:09 +0900

BSD での simple_sendfile は test_io.rb のテストが通らなくなったということでとりやめになっています。