ruby-trunk-changes r48005 - r48027

今日は主に標準添付ライブラリに unicode_normalize というライブラリが追加されている(たぶんまだ不完全)のと、tk の Tcl/Tk8.6 サポートのための変更を追加しています。

duerst: r48005 2014-10-19 09:38:40 +0900

lib/unicode_normalize/normalize.rb になにやら https://github.com/duerst/eprun/blob/master/lib/normalize.rb から Normalize というモジュールが移植されています。おお、初耳なんですが標準添付ライブラリにするんですかね…。
と思ったらこのチケットに関連していたようです。 まだ結論出てないようですけど… [Feature #10084]

svn: r48006 2014-10-19 09:38:50 +0900

version.h の日付更新。

svn: r48007 2014-10-19 09:38:53 +0900

r48005 で新規追加した lib/unicode_normalize/normalize.rb の svn property 設定。

duerst: r48008 2014-10-19 09:48:52 +0900

r48005 で導入した lib/unicode_normalize/normalize.rb のモジュール名を UnicodeNormalize に変更しています。うむ、少なくとも Normalize では一般的すぎますしファイルパスとも一貫性がありませんからね。 [Feature #10084]

svn: r48009 2014-10-19 09:48:55 +0900

lib/unicode_normalize/normalize.rb の 行末の空白除去。

duerst: r48010 2014-10-19 09:56:58 +0900

tool/unicode_norm_gen.rb の Normalize というモジュールも UnicodeNormalize と改名しています。 おや、これって同じもの…ではないですよね、require していないから。

duerst: r48011 2014-10-19 10:04:10 +0900

lib/unicode_normalize.rb にも https://github.com/duerst/eprun/ から移植しています。 String に normalzie, normalize!, normalized? などのメソッドを生やしていますね。 しかしこの require の書きかたはいまいちですね…と思ってたら次で修正されてるようでした。 [Feature #10084]

duerst: r48012 2014-10-19 10:08:13 +0900

というわけで r48011 で導入された lib/unicode_normalize.rb の require の書きかたを標準添付ライブラリとして利用できる前提の書きかたに変更しています。 [Feature #10084]

duerst: r48013 2014-10-19 10:10:12 +0900

lib/unicode_normalize.rb でも利用していたモジュール名を Normalize から UnicodeNormalize に変更して追随させています。 [Feature #10084]

duerst: r48014 2014-10-19 10:12:26 +0900

さらに lib/unicode_normalize.rb で String に追加しているメソッド名を normalize... から unicode_nomalize... に変更しています。 これらの一連の追加はこのチケットに関連していました。 [Feature #10084]
けど String#unicode_normalize! で呼んでいるメソッドが normalize のままなのでエラーになりそう。

duerst: r48015 2014-10-19 11:09:13 +0900

lib/unicode_normalize/normalize.rb と tool/unicode_norm_gen.rb で require しているファイル名を変更しているのですが、この unicode_normalize/tables.rb ってまだ追加されていないようです…。まだこの一連の変更は途中なんですかね。 [Feature #10084]

duerst: r48016 2014-10-19 17:26:35 +0900

lib/unicode_normalize.rb に String に追加されるメソッドの rdoc 用コメントを追記しています。

duerst: r48017 2014-10-19 17:37:40 +0900

r48016 の rdoc 用コメントの UTF-8 以外のエンコーディングでの扱いについての記述を少し修正しています。

nagai: r48018 2014-10-19 17:38:35 +0900

拡張ライブラリ tk の Tcl/Tk8.6 サポートのための変更のようです。 Mac 専用のコードとか追加されているので Mac OS X での動作がサポートされるようになっているのかも。まあ、tk はテストがないので差分だけ読んでもこれでいいのかなんともわからないのですが…。

svn: r48019 2014-10-19 17:38:40 +0900

r48018 で新規追加されたファイルの svn property 設定。

duerst: r48020 2014-10-19 17:54:08 +0900

lib/unicode_normalize.rb で require "unicode_normalize/normalize" をメソッドを利用する時に実行するように遅延させています。またコメントアウトされた形でメソッドが呼ばれたときにStringにdefine_methodでnormalize メソッドなどを定義させるようにしているのですが、このメソッドそもそもStringに定義しているので全く意味がないような気が。まあコメントアウトされているのですが。 [Feature #10084]

duerst: r48021 2014-10-19 18:13:20 +0900

common.mk に lib/unicode_normalize/tables.rb を生成するターゲットを追加しています。なるほど、これは自動生成するんですね。しかしこのターゲットの書きかた、ソースツリー以外でビルドした時にインストールされるかな…。またそもそもこのターゲットへの依存関係がないので、まだ make や make install した時に生成されないようです。

duerst: r48022 2014-10-19 18:35:45 +0900

lib/unicode_normalize/normalize.rb で require "unicode_normalize/tables" に明示的に ".rb" 拡張子を書くように変更しています。

duerst: r48023 2014-10-19 18:39:41 +0900

enc/prelude.rb に require "unicode_normalize" を追加しています。これにより Encoding がロードされている環境(従って miniruby では自動的にはロードされないらしい)では String#unicode_normalize メソッドが生えるようです。

hsbt: r48024 2014-10-19 20:06:07 +0900

r48018 で ext/tk/lib/tkextlib/tile/treeview.rb に追記したメソッドの syntax error を修正しています。

usa: r48025 2014-10-19 20:08:27 +0900

r48021 で common.mk に追加した unicode_normalize/tables.rb の生成ルールの ${ } という変数展開の記法は nmake では使えないそうなので $() に変更しています。そうだったのか、知りませんでした…。

nobu: r48026 2014-10-19 20:27:00 +0900

さらに r48021 で common.mk に追加したルールのコマンドにクオートを追加しています。

nagachika: r48027 2014-10-19 23:34:20 +0900

r48014 で lib/unicode_normalize.rb のメソッド名を変更した時に変更漏れしていた呼び出しのほうのメソッド名も変更しています。 [Feature #10084]