今日は Dir.glob でパターンに "**" を使った時のマッチの不具合修正などがありました。
nobu:r36901 2012-09-05 10:44:20 +0900
dir.c で宣言されている enum answer という型の UNKNOWN, YES, NO の NO が 偽(0)になるように入れ替えています。
svn:r36902 2012-09-05 10:44:24 +0900
version.h の日付更新。
nobu:r36903 2012-09-05 10:44:36 +0900
Dir.glob でピリオドから始まるファイルや ".", ".." などをスキップする処理をパスを連結する処理の前にして、無駄な文字列を生成しないようにしています。
nobu:r36904 2012-09-05 12:03:24 +0900
Dir.glob に UTF-16 の文字列を渡した時などのテストを test_dir.rb から test_dir_m17n.rb に移動しています。
nobu:r36905 2012-09-05 13:30:10 +0900
Dir.glob に "**" を渡して再帰的マッチをする時に末端のパスがマッチしていても展開されないことがある不具合を修正しています。おおお、こんな不具合が残っていたとは…… [ruby-core:47418] [Bug #6977]
nobu:r36906 2012-09-05 14:29:37 +0900
file.c の getcwdofdrv() と append_fspath() という関数は既に cygwin 以外で利用されなくなっていたので #ifndef _WIN32 で括るようにしています。
nobu:r36907 2012-09-05 14:29:41 +0900
win32/file.c の関数定義のスタイルなどの体裁の修正。
nobu:r36908 2012-09-05 14:29:44 +0900
win32/file.c の File.expand_path の Windows 用実装 rb_file_expand_path_internal() の "~" の展開の有無の判定している条件式を解体して少しシンプルにしています。
nobu:r36909 2012-09-05 14:29:46 +0900
r36867 の common.mk でターゲット部に {$(VPATH)} を利用しないようにしているのを一部 revert して parse.c, parse.h のターゲット部には {$(VPATH)} を付けています。ソースディレクトリ以外の場所でビルドしている時にソースディレクトリの parse.h, parse.c を利用するようにするために必要なようです。 nmake でのビルドは大丈夫なんでしょうか。
naruse:r36910 2012-09-05 15:23:13 +0900
Ripper のテスト test/ripper/test_parser_events.rb で未使用の変数とメソッドの引数にかっこをつける警告除去をしています。
しかしこのメソッド引数にかっこをつけるほうはかっこがないと曖昧だという警告なんですが、どういう解釈と衝突しているんでしょうか。
naruse:r36911 2012-09-05 15:23:20 +0900
parse.y にコンパイル時の警告メッセージ出力用の関数マクロ群に rb_warn4() というファイル名と行番号を渡せるものを追加して、rb_compile_warn() を直接呼んでいたところでそのマクロを使うようにリファクタリングしています。
shyouhei:r36912 2012-09-05 16:00:36 +0900
Travis CI でのビルド/テストの設定ファイル .travis.yml で irc への通知メッセージのテンプレートを指定するようにしています。
usa:r36913 2012-09-05 19:22:49 +0900
r36911 で追加した parse.y の警告用マクロ rb_warn4() を rb_warn4S() と改名しています。末尾の S には引数に文字列を受け取るという意味があるようです。そのため Ripper 用のマクロは ripper_warnI() を使っていたのを ripper_warnS() に変更し、さらにコメントアウトされていた ripper_warnS() を復活させています。