ruby-trunk-changes r49338 - r49355

今日は主に ruby 自体のメンテナンス用のツール群の機能追加/修正がありました。

nobu: r49338 2015-01-20 10:58:52 +0900

test/ruby/test_module.rb に Module#prepend で継承関係に2回同じモジュールが現れるようなケースのテストを追加しています。

naruse: r49339 2015-01-20 11:25:48 +0900

tool/redmine-backporter.rb で IO#gets のかわりに io/console を利用した簡易 readline っぽい mygets というメソッドを定義して利用しています。

naruse: r49340 2015-01-20 11:25:58 +0900

tool/downloader.rb で config.guess、config.status のダウンロード元の gcc.gnu.org の refs の指定を HEAD から master に変更しています。

usa: r49342 2015-01-20 11:31:50 +0900

tool/redmine-backporter.rb の help コマンドの表示に rel コマンドを追記しています。

nobu: r49343 2015-01-20 12:09:56 +0900

tool/redmine-backporter.rb の r49339 で追加した mygets でコントロール文字に "\C-x" のような記法を利用しています。また DEL/BS の時に1文字戻すだけでなく空白を上書きして表示上も削除するようにしています。

nobu: r49344 2015-01-20 12:14:21 +0900

r49339 で tool/redmine-backporter.rb に追加した mygets を readline と改名してプロンプトも表示するようにしています。

usa: r49345 2015-01-20 12:30:30 +0900

tool/redmine-backporter.rb の readline で Windows 版でも gets を利用するようにしています。 IO.console.getch がうまくいかない時もあるそうなので。

nobu: r49346 2015-01-20 12:32:10 +0900

と、思ったら tool/redmine-backporter.rb の readline で IO.console.binmode を呼んでおくようにしています。

usa: r49347 2015-01-20 12:34:18 +0900

r49336 の ChangeLog エントリで空白のかわりに Tab を使うようにしています。

usa: r49348 2015-01-20 12:59:03 +0900

tool/redmine-backporter.rb の ls コマンドにページ指定の引数のサポートを追加しています。

nobu: r49349 2015-01-20 13:09:13 +0900

tool/redmine-backporter.rb の r49346 での IO.console.binmode の追加で r49345 の Windows 用に gets に fallback していたのは不要になったので削除しています。またプロンプト表示のための行クリアで可能ならエスケープシーケンス "\e[2K" を利用するようにしています。

nobu: r49350 2015-01-20 13:09:24 +0900

tool/redmine-backporter.rb の readline ですが、可能なら拡張ライブラリの readline を使うようにしています。このツールのメインユーザのひとりは確実に Windows ユーザなので互換性重要なのです。

usa: r49351 2015-01-20 13:23:43 +0900

r49348 で 追加した tool/redmine-backporter.rb の ls コマンドのページ数の引数サポートでかっこの対応がおかしくなっていたのを修正。

nobu: r49353 2015-01-20 14:11:27 +0900

r49350 の tool/redmine-backporter.rb で Readline.readline を使うようにした時に include Readline していましたが、これは不要なので削除しています。

hsbt: r49354 2015-01-20 23:00:00 +0900

tool/vcs.rb の VCS::Svn#wcroot で wcroot-abspath が参照できなくて .svn ディレクトリを含むディレクトリを遡って探索する時に TypeError を無視するようにしています。 うーむこれはどこで発生する想定なんでしょう? と思ったら次で追加の対応がありました。パス以外のものが @srcdir に入る可能性があったみたいです。

nobu: r49355 2015-01-20 23:43:30 +0900

と思ったら tool/vcs.rb の再修正。 .svn ディレクトリを探索する部分は VCS::Svn.search_root というメソッドに分離され、@srcdir が文字列か to_path を定義している時だけ探索するようにしています。 それ以外のものが来る可能性があったということですね。