diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-22 05:30:37 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-22 05:30:37 +0000 |
commit | e11ed98f8856c50b7c65aebbccabb4813eda6cfd (patch) | |
tree | 2fed812bd99009566b217963c1ec55c3ec4627f7 | |
parent | 34ff55e82a5b8cca1ecf43118926fc66c7223e9d (diff) | |
download | ruby-e11ed98f8856c50b7c65aebbccabb4813eda6cfd.tar.gz |
* parse.y (reg_named_capture_assign_iter): allows non-ascii names and
get rid of reserved word IDs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | parse.y | 4 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,8 @@ +Sat Dec 22 14:30:34 2007 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (reg_named_capture_assign_iter): allows non-ascii names and + get rid of reserved word IDs. + Sat Dec 22 14:18:45 2007 Koichi Sasada <ko1@atdot.net> * test/ruby/test_float.rb, test_sprintf.rb: fix test place. @@ -8516,8 +8516,8 @@ reg_named_capture_assign_iter(const OnigUChar *name, const OnigUChar *name_end, arg->fail_block = NEW_BEGIN(0); } - if (!(len && rb_enc_islower(*name, enc) && rb_enc_symname2_p(s, len, enc)) - || rb_reserved_word(name, len)) { + if (!len || (*name != '_' && ISASCII(*name) && !rb_enc_islower(*name, enc)) || + rb_reserved_word(s, len) || !rb_enc_symname2_p(s, len, enc)) { return ST_CONTINUE; } var = rb_intern3(s, len, enc); |