summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-08-08 23:24:29 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-08-08 23:24:29 +0000
commit09d57b8e0c3bb80d43798d7a2bfc239229126e9a (patch)
treed8b00e5170b80d83851bd7013a4a27123efb0da7 /parse.y
parent81579af43e3ad506e30a81bda710570d78dea021 (diff)
* parse.y (f_block_arg), eval.c (rb_yield_0): deal with dynamic
variable lambda arguments. [ruby-core:05540] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y2
1 files changed, 1 insertions, 1 deletions
diff --git a/parse.y b/parse.y
index a2109cec25..046ca4581a 100644
--- a/parse.y
+++ b/parse.y
@@ -4192,7 +4192,7 @@ f_block_arg : blkarg_mark tIDENTIFIER
yyerror("block argument must be local variable");
else if (!dyna_in_block() && local_id($2))
yyerror("duplicated block argument name");
- $$ = NEW_BLOCK_ARG($2);
+ $$ = dyna_in_block() ? assignable($2, 0) : NEW_BLOCK_ARG($2);
/*%
$$ = $2;
%*/