ruby-trunk-changes r36976 - r36984

IO#read などにバッファとして使う String オブジェクトを渡した時に例外になることがあった不具合修正などがありました。zlib/rubyzip などでエラーになることがあったのがなおっているそうです。今日は札幌RubyKaigiの最終日ですね。スタッフ、スピーカ、参加者のみなさんお疲れ様です!

nobu:r36976 2012-09-16 08:16:15 +0900

エディタにスタイルを伝えるための .editorconfig というファイルを追加しています。EditorConfig という各種エディタにプラグインで対応して共通の設定ファイルでインデントなど基本的なコーディングスタイルを指定できるようにするプロジェクトがあるそうです(参考URL: http://editorconfig.org/ ) [ruby-core:47548] [Feature #7030]

svn:r36977 2012-09-16 08:16:20 +0900

version.h の日付更新。

nobu:r36978 2012-09-16 08:52:34 +0900

configure.in で OS が aix の時に warnflags に -qinfo を負荷するところで追加ではなく上書きになっていたのを修正しています。また rb_cv_warnflags にも追加するようにしています。

nobu:r36979 2012-09-16 08:58:04 +0900

configure.in で gcc の -ansi -std=iso9899:199409 で厳格な C の規格に沿っているかのチェックを ruby 本体のコンパイル時のみにして拡張ライブラリには付けないようにしています。 [ruby-dev:46105]

nobu:r36980 2012-09-16 11:39:18 +0900

IO#read などにあらかじめ読み込み先のバッファとして使う文字列を引数で渡すと、"can't set length of shared string" という例外になってしまうことがある不具合を修正しています。事前にサイズを指定済みで変更の必要がない場合には rb_str_set_len() を呼ばないようにして回避しています。けどこれ実際に呼んだサイズが小さかったらやっぱり呼ばれてしまうんですよね。その場合は大丈夫なんでしょうか。 [ruby-core:46586] [Bug #6764]

nobu:r36981 2012-09-16 17:41:37 +0900

r36979 で -ansi -std=iso9899:199409 を strict_warnflags という変数に移動しましたが後続のオプションのチェックにも反映させるため(?) warnflags にも追加するようにしています。 この位置では rb_cv_warnflags に格納したオプションが最終的に採用される(warnflags に書き戻される)変数のようです。 [ruby-dev:46105]

drbrain:r36982 2012-09-16 17:47:53 +0900

tool/change_maker.rb というツールでリポジトリsvn でチェックアウトされているかどうかを .svn ファイルの有無で確認するのをやめて(1.7 からはリポジトリのトップレベルにしか .svn が置かれなくなっているので)、svnversion コマンドを実行してみて判定するようにしています。

nobu:r36983 2012-09-16 18:09:10 +0900

parse.y の id_type() という関数マクロで戻り値が int に揃えれられるように明示的キャストを追加しています。

nobu:r36984 2012-09-16 18:24:44 +0900

File.readlink の実装で xmalloc()/xrealloc() を使ってファイルパス用のバッファを倍々に伸長しつつ readlink(2) を呼んでいたのを char * ではなく String オブジェクトを生成して使うようにして、直に xmalloc() などを使わないようにしています。一応ここで ruby のメソッド呼び出しとかはないのでリークの恐れがあったとかそういうわけではないと思いますが。