ruby-trunk-changes r41781 - r41801

今日は FileUtil の修正、機能拡張、エンコーディングについての修正、Windows 環境でのテスト失敗の対応などがありました。

knu:r41781 2013-07-05 02:22:05 +0900

標準添付ライブラリ fileutils.rb の FileUtils.symbolic_modes_to_i で正規表現の文字クラスにうっかり真ん中に"-"を使ってしまっていたため範囲指定になって不要な文字にもマッチしていたのを修正しています。

knu:r41782 2013-07-05 02:22:08 +0900

標準添付ライブラリ fileutils.rb で FileUtils.chmod などで mode に指定できる文字列での権限指定に u/g/o などのターゲットと複数のアクションの指定をサポートするように拡張しています。

akr:r41783 2013-07-05 05:31:01 +0900

bignum.c のリファクタリング。 bigmul1_balance() から BDIGIT の配列同士の演算を bary_mul_balance() として切り出して bary_mul2() bary_add() を利用するように書き換えています。

akr:r41784 2013-07-05 06:04:21 +0900

bignum.c のリファクタリング。 BARY_MUL() と bary_mul() をそれぞれ BARY_MUL1() と bary_mul1() に改名して bary_mul2() だったものを bary_mul() に変更しています。

hsbt:r41785 2013-07-05 09:46:10 +0900

拡張ライブラリ opensll の OpenSSL::Digest.digest の rdoc 用コメントのサンプルの間違いを修正。

naruse:r41786 2013-07-05 09:54:11 +0900

詳細はわかりませんが UTF-8エンコーディングの不正な文字の判定などで使う(?)定数の定義を修正しています。 Onigmo の最新版のマージに対応したものでしょうか。

naruse:r41787 2013-07-05 09:54:14 +0900

r41769 の mkmf.rb での conftest というファイル名を定数に格納するようにしたのに置換するための正規表現の修正が漏れていたので追加修正。

nobu:r41788 2013-07-05 10:53:38 +0900

r41769 および r41788 の追加修正。 CONFIG["CPPOUTFILE"] を参照するところで config_string() を利用するようにリファクタリングしています。

usa:r41789 2013-07-05 11:12:55 +0900

r41710 の変更で Windows 環境でのコマンド実行時にコマンドにクオート記号で始まって、"/" を含んでいた時に閉じクオート記号を取り除き忘れていてテストがエラーになっていたのを修正しています。

nobu:r41790 2013-07-05 11:29:49 +0900

標準添付ライブラリ test/unit に assert_raise_with_message という新しい assertion を追加しています。例外クラスとメッセージの両方をチェックする assert で test/fileutils/test_fileutils.rb に類似のものが定義されていたのを本体に組み込んだようです。

usa:r41791 2013-07-05 12:16:19 +0900

test/ruby/test_rubyoptions.rb で Windows 環境では実行する ruby のファイルパスの "/" をバックスラッシュで置換するようにしています。

knu:r41792 2013-07-05 16:07:28 +0900

test/ruby/test_regexp.rb で Onigmo 5.13.5 のマージで追加された機能のテストを追加しています。詳細は knu さんがコメントしてくださったのでコメント欄を参照してください。

knu:r41793 2013-07-05 16:24:10 +0900

r41792 で追加したテストで正規表現リテラルで書かずに文字列で渡して実行時にコンパイルするようにしています。これはなぜでしょうかね?
[追記]コメントを頂いたとおり、正規表現の文法の変更なので、リテラルで書くと古い Ruby で実行した時などに影響が大きいため実行時にコンパイルするようにしたとのことです。[/追記]

usa:r41794 2013-07-05 16:53:03 +0900

r41791 の修正でバックスラッシュに置換するためにエスケープが不足していたのを修正しています。なんでかなーと思ったらこれは後で文字列に埋め込むのでそこで再度エスケープが必要だったからですね。

usa:r41795 2013-07-05 16:58:14 +0900

r41791 および r41794 で修正した Windows 上でのファイルパスのデリミタの置換を、Regexp.quote を使うことで明示的なクオートを減らしています。

knu:r41796 2013-07-05 19:07:41 +0900

標準添付ライブラリ fileutils.rb の FileUtils.chown、chown_R で :verbose オプション指定時に出力するメッセージに user が nil の時の出力が間違っていたのを修正しています。

usa:r41797 2013-07-05 20:50:31 +0900

test/ruby/test_unicode_escape.rb の test_basic で "\uXXXX" 記法のエスケープ不足で Windows 環境で失敗していたのを修正しています。

nobu:r41798 2013-07-05 22:43:16 +0900

標準添付ライブラリ un.rb (コマンドラインオプションで -run で実行できるのでこんな名前になっている便利ライブラリ)の setup メソッドに rdoc の :nodoc: タグを追加しています。

nobu:r41799 2013-07-05 22:43:19 +0900

標準添付ライブラリ un.rb の help コマンドで un.rb 自身からヘルプ用のメッセージを切り出すための正規表現を修正しています。

nobu:r41800 2013-07-05 22:43:22 +0900

標準添付ライブラリ un.rb のリファクタリング。 --help を実行する help メソッドを UN モジュールのモジュール関数として切り出しています。

nobu:r41801 2013-07-05 22:43:25 +0900

r41800 で切り出した lib/un.rb の UN.help で複数のコマンドが指定された時に指定された順にヘルプを出力するようにしています。