diff --git a/ChangeLog b/ChangeLog index e75cb5549f..1a00d98796 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Wed Oct 22 14:59:30 2008 Yukihiro Matsumoto + + * parse.y (f_larglist): should not allow semicolon separated local + variable declarations if formal argument list is not surrounded + by parentheses, mostly because semicolon outside of parentheses + appears to terminate the expression. + Wed Oct 22 14:52:17 2008 Yukihiro Matsumoto * string.c (rb_external_str_new_with_enc): no implicit strlen call. diff --git a/parse.y b/parse.y index 54e0c6ab8a..3f85c07b09 100644 --- a/parse.y +++ b/parse.y @@ -3453,7 +3453,7 @@ f_larglist : '(' f_args opt_bv_decl rparen $$ = dispatch1(paren, $2); %*/ } - | f_args opt_bv_decl + | f_args { /*%%%*/ $$ = NEW_LAMBDA($1);