summaryrefslogtreecommitdiffstats
path: root/parse.y
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-03-16 09:25:45 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-03-16 09:25:45 +0000
commitea1ca23ba1de9dd616fe26c0610e51744f454fd3 (patch)
treeb27fc8161f4f1f52fd4c0b453861b60c452d259b /parse.y
parent730f66be7514b26ee7cb2256e0ca8e1846469087 (diff)
downloadruby-ea1ca23ba1de9dd616fe26c0610e51744f454fd3.tar.gz
ruby-ea1ca23ba1de9dd616fe26c0610e51744f454fd3.tar.xz
ruby-ea1ca23ba1de9dd616fe26c0610e51744f454fd3.zip
* eval.c (rb_call0): reorganize "return" event post.
* eval.c (return_jump): no need to post "return" event here. * object.c (str_to_id): raise ArgumentError for NUL containing strings. * parse.y (primary): wrong var node was set for NODE_LAMBDA. [ruby-core:04555] * re.c (make_regexp): need to free internal regexp structure when compilation fails. [ruby-talk:133228] * parse.y (bv_decl): remove initialize rule from block local variable declaration. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@8160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y13
1 files changed, 4 insertions, 9 deletions
diff --git a/parse.y b/parse.y
index 5c2237867..e91be7147 100644
--- a/parse.y
+++ b/parse.y
@@ -2538,7 +2538,10 @@ primary : literal
'}'
{
/*%%%*/
- $$ = NEW_LAMBDA($3, dyna_init($5, $<vars>4));
+ $3->nd_body = block_append($3->nd_body,
+ dyna_init($5, $<vars>4));
+ $$ = $3;
+ nd_set_type($3, NODE_LAMBDA);
nd_set_line($$, $<num>1);
dyna_pop($<vars>2);
/*%
@@ -3176,14 +3179,6 @@ bv_decl : tIDENTIFIER
$$ = FIXME;
%*/
}
- | tIDENTIFIER '=' primary
- {
- /*%%%*/
- $$ = new_bv($1, $3);
- /*%
- $$ = FIXME;
- %*/
- }
;
do_block : kDO_BLOCK