--- /usr/local/lib/ruby/gems/1.8/gems/ParseTree-1.7.1/lib/parse_tree.rb.old Fri Jun 29 22:19:28 2007 +++ /usr/local/lib/ruby/gems/1.8/gems/ParseTree-1.7.1/lib/parse_tree.rb Fri Jun 29 22:32:40 2007 @@ -454,21 +454,30 @@ break; case NODE_ITER: case NODE_FOR: add_to_parse_tree(current, node->nd_iter, newlines, locals); if (node->nd_var != (NODE *)1 && node->nd_var != (NODE *)2 && node->nd_var != NULL) { add_to_parse_tree(current, node->nd_var, newlines, locals); } else { - rb_ary_push(current, Qnil); + if (node->nd_var == NULL) + { + // e.g. proc {} + rb_ary_push(current, Qnil); + } + else + { + // e.g. proc {||} + rb_ary_push(current, ID2SYM(rb_intern("zero_arguments"))); + } } add_to_parse_tree(current, node->nd_body, newlines, locals); break; case NODE_BREAK: case NODE_NEXT: case NODE_YIELD: if (node->nd_stts) add_to_parse_tree(current, node->nd_stts, newlines, locals); break;