今日は SPARC 上でメモリのアライメントの不十分で Bus Error になる不具合の修正などがありました。
akr: r48287 2014-11-05 23:29:46 +0900
open-uri のテストでテスト用に立てる WEBrick によるサーバのログもキャプチャしてチェックするようにしています。
ngoto: r48288 2014-11-05 23:49:04 +0900
Solaris というか SPARC 上の gcc でアライメントが厳密でないといけなくて Bus Error が発生するので compile.c の compile_data_alloc() でのメモリ領域の取得時に適切に padding を詰めるようにしています。 [ruby-core:61715] [Bug #9681]
svn: r48289 2014-11-05 23:49:08 +0900
r48288 の変更の行末の空白除去。
duerst: r48290 2014-11-06 08:49:55 +0900
lib/unicode_normalize/normalize.rb のコメントをちょっと修正。バブルソートすると書いてあるけど厳密にはバブルソートではないらしい。
svn: r48291 2014-11-06 08:50:06 +0900
version.h の日付更新。
normal: r48292 2014-11-06 10:14:15 +0900
標準添付ライブラリ uri の URI::RFC2396_Parser で Enumerable#map にブロック渡しで呼ぶかわりに &:freeze と Symbol をブロック引数として渡す記法に変更しています。 ISeq にコンパイルした時のサイズが削減できるらしいです。なるほど。
kazu: r48294 2014-11-06 12:55:53 +0900
r48283 の NEWS ファイルの typo 修正。
naruse: r48295 2014-11-06 14:46:43 +0900
r48278 の $(BASERUBY) が利用できるときだけ Unicode データを更新するようにする変更を revert しています。 lib/unicode_normalize/tables.rb が作れなくてビルドに失敗するそうです。
naruse: r48297 2014-11-06 19:42:10 +0900
re.c の unescape_nonascii() で char 型の変数とリテラル -1 の比較をしているところに明示的に char 型へのキャストを追加しています。 一部のCPUアーキテクチャの gcc ではただの char が符号なしとして扱われるので、条件にマッチせず無限ループに陥る可能性があったそうです。なかなか難しいですな。
nobu: r48298 2014-11-06 19:53:04 +0900
r48295 で revert された r48278 を再度コミットしています。ぱっと見前回と同じ内容っぽいですね。問題なかったんですかね。
nobu: r48299 2014-11-06 19:53:17 +0900
tool/make-snapshot で HAVE_BASERUBY および BASERUBY をセットして make を実行するようにしています。
akr: r48300 2014-11-06 21:23:22 +0900
r48287 の続きというか強化だと思うのですが、open-uri のテストでダミーのサーバのログのキャプチャは常に実施するようにして、一部のテストケースでログが空であることを確認するようにしています。
akr: r48301 2014-11-06 21:45:15 +0900
test/test_unicode_normalize.rb で NormTest という定数をトップレベルに定義していたので、TestUnicodeNormalize というテストクラスにネストさせて定義するようにしています。