aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--parse.y4
2 files changed, 6 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 6677ff784f..fcbddabbc7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,7 @@
-Fri Aug 31 03:48:58 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Aug 31 04:18:03 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * parse.y (f_norm_arg, f_arg_item): not croak already erred names.
+ [ruby-dev:31687]
* parse.y (assignable_gen): ignore already erred names.
diff --git a/parse.y b/parse.y
index e1f74a1f9d..74891b1e15 100644
--- a/parse.y
+++ b/parse.y
@@ -4160,6 +4160,8 @@ f_norm_arg : tCONSTANT
| tIDENTIFIER
{
/*%%%*/
+ if (!is_local_id($1))
+ yyerror("formal argument must be local variable");
shadowing_lvar($1);
/*%
%*/
@@ -4170,8 +4172,6 @@ f_norm_arg : tCONSTANT
f_arg_item : f_norm_arg
{
/*%%%*/
- if (!is_local_id($1))
- yyerror("formal argument must be local variable");
arg_var($1);
$$ = NEW_ARGS_AUX($1, 1);
/*%