diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | parse.y | 4 |
2 files changed, 8 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Wed Sep 9 17:17:31 2009 NARUSE, Yui <naruse@ruby-lang.org> + + * re.c (parser_regx_options): only one kcode should effect + options [ruby-core:25411] + Wed Sep 9 15:46:28 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> * load.c (rb_feature_provided): fixed for autoloading extension @@ -5588,6 +5588,7 @@ static int parser_regx_options(struct parser_params *parser) { int kcode = 0; + int kopt = 0; int options = 0; int c, opt, kc; @@ -5597,13 +5598,14 @@ parser_regx_options(struct parser_params *parser) options |= RE_OPTION_ONCE; } else if (rb_char_to_option_kcode(c, &opt, &kc)) { - options |= opt; + kopt = opt; if (kc >= 0) kcode = c; } else { tokadd(c); } } + options |= kopt; pushback(c); if (toklen()) { tokfix(); |