aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--parse.y2
2 files changed, 3 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 36282abbae..4b23a9d280 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,9 @@ Sat Dec 22 10:25:44 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
not be reserved word. a patch from Keita Yamaguchi
<keita.yamaguchi AT gmail.com> in [ruby-dev:32675].
+ * parse.y (reg_named_capture_assign_iter): just ignore the
+ captures that do not have valid local variable name.
+
Sat Dec 22 10:19:08 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (rb_f_method_name): now __method__ and __callee__ are
diff --git a/parse.y b/parse.y
index f63ff3667a..4a81ae7af0 100644
--- a/parse.y
+++ b/parse.y
@@ -8518,8 +8518,6 @@ reg_named_capture_assign_iter(const OnigUChar *name, const OnigUChar *name_end,
if (!(len && rb_enc_islower(*name, enc) && rb_enc_symname2_p(s, len, enc))
|| rb_reserved_word(name, len)) {
- compile_error(PARSER_ARG "named capture with a non local variable - %.*s",
- len, name);
return ST_CONTINUE;
}
var = rb_intern3(s, len, enc);