From 56235e083dc8acae32d8eb79e56b602433806a95 Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 6 Oct 2003 01:50:41 +0000 Subject: * marshal.c (w_object): should pass "weak" value to next level. [ruby-dev:21496] * eval.c (proc_alloc): should not use cached object if klass is different. [ruby-talk:83685] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4701 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 7f2062ff11..6114efa7e0 100644 --- a/eval.c +++ b/eval.c @@ -6928,7 +6928,7 @@ proc_alloc(klass, proc) rb_warn("tried to create Proc object without a block"); } - if (!proc && ruby_block->block_obj) { + if (!proc && ruby_block->block_obj && CLASS_OF(ruby_block->block_obj) == klass) { return ruby_block->block_obj; } block = Data_Make_Struct(klass, struct BLOCK, blk_mark, blk_free, data); -- cgit v1.2.3