ruby-trunk-changes r30507 - r30513

大文字小文字を区別しないファイルシステムでの require の不具合修正等が入っています。

nobu:r30507 2011-01-10 21:34:15 +0900

make showflags で $CC, $LD, $LDSHARED のコンパイラオプションも表示するようにしています。

nobu:r30508 2011-01-10 22:46:47 +0900

ファイルシステムが大文字小文字を区別しないシステムで $LOADED_FEATURES が大文字小文字を区別する比較で既に require 済みかをチェックしているため、同じファイルを何度も require してしまうのを修正。また Mac OS X で採用されているファイルシステム HFS+ も大文字小文字を区別しないので条件に追加しています。[Bug #4255]
そういえば Mac OS X も大文字小文字区別しないよなーということでちょっと実験。

>> require "CSV"
=> true
>> require "FileUtils"
=> true

おお、本当に require できる。

>> require "STRINGIO"
LoadError: dlsym(0x101074f70, Init_STRINGIO): symbol not found - /Users/nagachika/opt/ruby-trunk/lib/ruby/1.9.1/x86_64-darwin10.5.0/STRINGIO.bundle
	from <internal:lib/rubygems/custom_require>:29:in `require'
	from <internal:lib/rubygems/custom_require>:29:in `require'
	from (irb):2

拡張ライブラリだと Init_xxx() のエントリポイントに影響してロードできないようですね。

usa:r30509 2011-01-11 13:09:02 +0900

先日追加された rb_ary_resize() で配列のサイズや capacity の設定で抜けがあったのを修正。
これをきっかけに array.c をかなり久し振りに読んでみたのですけど、ずいぶん複雑になっていますね。主にサイズが小さい時の struct RVALUE への埋め込みと部分配列の共有のためです。

svn:r30510 2011-01-11 13:09:05 +0900

version.h の日付更新。

kazu:r30511 2011-01-11 15:34:14 +0900

array.c の rdoc の typo 修正。

akr:r30512 2011-01-11 20:33:53 +0900

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

akr:r30513 2011-01-11 20:34:12 +0900

enum.c の余分な空白を削っているだけです。