From: "NARUSE, Yui" Date: 2008-02-13T14:30:55+09:00 Subject: [ruby-dev:33744] Re: [ruby-cvs:22680] Ruby:r15443 (trunk): * bootstraptest/runner.rb, bootstraptest/test_method.rb, enc/depend, 成瀬です。 U.Nakamura wrote: > こんにちは、なかむら(う)です。 > > In message "[ruby-dev:33730] Re: [ruby-cvs:22680] Ruby:r15443 (trunk): * bootstraptest/runner.rb, bootstraptest/test_method.rb, enc/depend," > on Feb.13,2008 12:33:38, wrote: > | > r15454も含めると変更されたファイル数が膨大になるので個別の確 > | > 認はしていませんが、大丈夫なんでしょうか? > | > | う、気づきませんでした、再確認しておきます。ふと気付いたんですが、Ruby > | (というか鬼車) には \Q や \E ってないんですね。 > > よろしくお願いします(と押し付ける)。 できました。 --- regparse.c (revision 15455) +++ regparse.c (working copy) @@ -40,7 +40,8 @@ OnigSyntaxType OnigSyntaxRuby = { ONIG_SYN_OP_ESC_X_BRACE_HEX8 | ONIG_SYN_OP_ESC_CONTROL_CHARS | ONIG_SYN_OP_ESC_C_CONTROL ) & ~ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END ) - , ( ONIG_SYN_OP2_QMARK_GROUP_EFFECT | + , ( ONIG_SYN_OP2_ESC_CAPITAL_Q_QUOTE | + ONIG_SYN_OP2_QMARK_GROUP_EFFECT | ONIG_SYN_OP2_OPTION_RUBY | ONIG_SYN_OP2_QMARK_LT_NAMED_GROUP | ONIG_SYN_OP2_ESC_K_NAMED_BACKREF | ONIG_SYN_OP2_ESC_G_SUBEXP_CALL | というわけで、すでに鬼車にもありました(ぉ でも、これって置換文字には使えませんね。 > | > というか、動いてるものを大した用もないのに変更すんなとじっち > | > ゃんが言ってたんですが、これらの変更は必要な変更なんでしょう > | > か? > | > | 一つの理由は String#gsub のブロック引数の件が非互換の変更の方向で決着し > | た場合に備えて先回りしておこうと思ったからです。 > > こっちの理由は同意できない(変更の方向で決着した時にやればいい) > ですねえ。 もともとの動機はこっちで、この時点ではいつでもコミットできるようにパッチ として持っておこうと思ったんですが、 > とはいえ、先回りをしてどっちにころんでも無駄じゃない理由として、 > > | もう一つが最適化です。String#gsub の文字列引数版は文字列を一回評価するだ > | けですが、ブロック引数版だと置換の度にブロックを評価するので、それなりに > | 違いが出ます。rexml や rdoc あたりだとアプリケーションレベルでも差が出る > | かなぁと思います。 > > ... ということがあったんだろうとは思いました。 こっちがあったのでまとめてコミットした、という経緯ですね。 -- NARUSE, Yui DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA