>>>>> "Y" == Yukihiro Matsumoto <matz / ruby-lang.org> writes: Y> Yes, exactly (although I was not going to allow ":=" in parameter list). Y> Do you mean you have implemented? Incredible. If I'm right you just need to change one node when it find :=, i.e. NODE_LASGN and NODE_DASGN is modified in NODE_DASGN_CURR and create a block local variable (i.e. rb_dvar_push(node->nd_vid, Qnil);) Guy Decoux