From 2eda201bc6a521e056ea8be7f237cebd28573205 Mon Sep 17 00:00:00 2001 From: muraken Date: Fri, 9 Apr 2010 05:22:53 +0000 Subject: * compile.c (iseq_compile_each): stop hiding, and freeze unpopped string nodes to allow method redefinition. [ruby-dev:40641] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ compile.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 3bde31c668..339c60c5bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Apr 9 10:53:00 2010 Kenta Murata + + * compile.c (iseq_compile_each): stop hiding, and freeze unpopped + string nodes to allow method redefinition. [ruby-dev:40641] + Fri Apr 9 01:26:54 2010 Nobuyoshi Nakada * io.c (internal_{read,write}_func, rb_{read,write}_internal): diff --git a/compile.c b/compile.c index 8b73cbd92f..64411f90a0 100644 --- a/compile.c +++ b/compile.c @@ -4429,7 +4429,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped) case NODE_STR:{ debugp_param("nd_lit", node->nd_lit); if (!poped) { - hide_obj(node->nd_lit); + OBJ_FREEZE(node->nd_lit); ADD_INSN1(ret, nd_line(node), putstring, node->nd_lit); } break; -- cgit v1.2.3