From 7adb8681f015fd958288edd9c5d78484764ec34a Mon Sep 17 00:00:00 2001 From: shyouhei Date: Thu, 9 Jul 2009 09:05:18 +0000 Subject: merge revision(s) 23257: * eval.c (proc_invoke): shares dmethod scope local variables. a patch from coderrr at [ruby-core:23050] * gc.c (obj_free): do not free cloned scope local variables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@23997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- eval.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'eval.c') diff --git a/eval.c b/eval.c index 8d1c5e378c..8ae0d3f746 100644 --- a/eval.c +++ b/eval.c @@ -8872,7 +8872,7 @@ proc_invoke(proc, args, self, klass) OBJSETUP(scope, tmp, T_SCOPE); scope->local_tbl = _block.scope->local_tbl; scope->local_vars = _block.scope->local_vars; - scope->flags |= SCOPE_CLONE; + scope->flags |= SCOPE_CLONE | (_block.scope->flags & SCOPE_MALLOC); _block.scope = scope; } /* modify current frame */ -- cgit v1.2.3