[#45085] [ruby-trunk - Feature #5839][Open] Proposal: Bitmap Marking GC — Narihiro Nakamura <authorNari@...>

11 messages 2012/01/04

[ruby-dev:45107] [ruby-trunk - Feature #5820] Merge Onigmo to Ruby 2.0

From: Yui NARUSE <naruse@...>
Date: 2012-01-07 15:39:49 UTC
List: ruby-dev #45107
Issue #5820 has been updated by Yui NARUSE.


Ken Takata wrote:
> おや、おかしいですね。
> 手元では、/(?a)あ\b[ a]/ は "あa" にマッチしています。nilを返すべきところを返さなくなったということでしょうか。
> (Ruby 1.9.3では、nilを返すようですが。)

あああ、その通りです。書いててごっちゃになってました。

> 私としては、Bug #5208にも書いたように\b,\Bは\w,\Wと連動しているべきだと考えていますので、マッチしていないとすれば想定外ですので、もう少し詳しく教えていただけますでしょうか。
> 
> #5208 note-3より
> > 考えたんですが 1.9 では現状のままとします。
> > /u /a が将来取り込まれたらその時に改めて考えましょう。
> 
> ちょうど今がそのときでしょうか。

/u /a は Perl の挙動にあってる方がいいと思うんですが、無指定だとなぁ、うーん。
----------------------------------------
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://redmine.ruby-lang.org

In This Thread