2012-01-28 ruby-trunk-changes r34384 - r34390
■[ruby][changes]ruby-trunk-changes r34384 - r34390
今日は Windows 版での $stdin.read が Ctrl-C で割り込まれない不具合修正などがありました。
nobu:r34384 2012-01-28 05:53:37 +0900
lib/irb/completion.rb の irb 補完時に Class#name が String を返さず Regexp#=~ で例外が発生した時にそのまま処理をエラーにしてしまっていたので捕捉するようにしています。 [ruby-core:42244][Bug #5938]
svn:r34385 2012-01-28 05:53:42 +0900
version.h の日付更新。
shirosaki:r34387 2012-01-28 09:51:33 +0900
Windows 版のために Zlib::GzipReader.wrap を使ったテストでファイルに明示的に binmode を指定するようにしています。 [ruby-dev:45149] [Bug #5812]
shirosaki:r34388 2012-01-28 09:51:36 +0900
thread_win32.c で現在のスレッドの rb_thread_t を取得するのに GET_THREAD() を利用するかわりに ruby_thread_from_native() で実際に現在のスレッドのスレッドローカルストレージから取得するようにしています。 [ruby-dev:45149] [Bug #5812]
GET_THREAD() が現在のスレッドを返さないことがあるということなのですが posix 版にはその問題はないのでしょうか。
shirosaki:r34389 2012-01-28 09:51:40 +0900
Windows 版で SIGINT のシグナル送信処理をエミュレートしている実装で、CTRL_C_EVENT というシグナル? を利用していましたが、対象がプロセスグループの場合は CTRL_C_EVENT が利用できないため CTRL_BREAK_EVENT を利用するようにしています。 また子プロセスを生成する時に CREATE_NEW_PROCESS_GROUP というフラグを追加しています。 [ruby-dev:45149] [Bug #5812]
shirosaki:r34390 2012-01-28 09:51:43 +0900
Windows 版の $stdin.read で ReadFile() でエラーが発生した時に GetLastError() でエラー内容を取得して、ERROR_OPERATION_ABORTED だったら抜けるようにすることで $stdin.read が Ctrl-C で止まらないのを修正しています。 [ruby-dev:45149] [Bug #5812]
- 5 http://t.co/R0cK5keW
- 1 http://d.hatena.ne.jp/keyword/ruby
- 1 http://jetsli.de/crawler
- 1 http://k.hatena.ne.jp/keywordblog/Ruby
- 1 http://reader.livedoor.com/reader/
- 1 http://www.google.co.jp/reader/view/?hl=ja
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=windows+ruby+zlib+gzipreader&source=web&cd=12&ved=0CC0QFjABOAo&url=http://d.hatena.ne.jp/nagachika/20120128/ruby_trunk_changes_34384_34390&ei=2iE-T6SBC6H2mAXBqcXLBw&usg=AFQjCNGIbKPqz0MU9izMa7DhJzCPHeO0N
- 1 http://www.google.com/reader/view/
- 1 http://www.google.com/search
- 1 http://www.google.com/url?sa=t&rct=j&q=ruby トランク 取得&source=web&cd=1&ved=0CDQQFjAA&url=http://d.hatena.ne.jp/nagachika/20120128/ruby_trunk_changes_34384_34390&ei=IiMrT7DSIM-WmQXpn7DODw&u