From: Yui NARUSE Date: 2012-02-14T08:15:02+09:00 Subject: [ruby-dev:45241] [ruby-trunk - Feature #5820] Merge Onigmo to Ruby 2.0 Issue #5820 has been updated by Yui NARUSE. Yusuke Endoh wrote: > ほとんどの議論は横道 or 枝葉末節っぽい感じがしたので読んでないのですが、 > 結論としては onigmo を取り込む方向なんでしょうか。 わたしが 1.9.3 やってて遅れているだけですね。 終わったら取り込みます。 > あと、k-takata さんにはコミッタになって頂ける予定でしょうか。 なって頂けない感じなので当面はわたしがマージしようかと思っています。 > # もしそうだったら、早速ですが #1200 、#1201 あたりをご検討願いたいと > # 考えております。 なって頂けなくてもこの辺りは見て頂いているようなので検討していただけることを期待していますが、 #1200 は本家でなく Ruby 側のデザインで許可していない部分なので却下ですね、しました。 #1201 も named capture 使えよって感がありますがどうかな。 ---------------------------------------- Feature #5820: Merge Onigmo to Ruby 2.0 https://bugs.ruby-lang.org/issues/5820 Author: Yui NARUSE Status: Assigned Priority: Normal Assignee: Yui NARUSE Category: M17N Target version: 2.0.0 Ruby 1.9 では正規表現エンジンや M17N の基盤として Oniguruma を用いています。 これを 2.0 では Oniguruma の改造版である、k-takata さんの Onigmo に置き換えようという話です。 https://github.com/k-takata/Onigmo/tree/tmp/ruby-2.0.x この取り込みによる影響は以下の通りです。 * 100%互換 (既存のテストが全て無修正で通る) * いくつかの新機能 [ruby-dev:44410] * 正規表現   * \K, \R, \X, (?(cond)yes|no), \g<0>, \g<+n>, (?au)   * Perl 5.10互換の名前参照(←Rubyには不要でしょう。) * Shift_JIS, EUC-JPで、全角アルファベットなどの大文字小文字同一視検索に対応。 * Shift_JIS, EUC-JPで、\p{Han}, \p{Latin}, \p{Greek}, \p{Cyrillic} に対応。 * 最適化 * 暗黙のアンカーによる最適化を実装。 * http://redmine.ruby-lang.org/issues/3568 で無効化された最適化を再度有効化。 現状は POSIX 文字クラスに非互換があり、それが解決されればマージ可能と認識しています。 -- http://bugs.ruby-lang.org/