summaryrefslogtreecommitdiff
path: root/compile.c
diff options
context:
space:
mode:
authormuraken <muraken@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-04-09 05:22:53 +0000
committermuraken <muraken@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-04-09 05:22:53 +0000
commit2eda201bc6a521e056ea8be7f237cebd28573205 (patch)
treed84bbda769ac240e7b2c1cd054dbf57908e101fd /compile.c
parent92de2ed517cea4524579092ce7962a879d33a7e9 (diff)
* 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
Diffstat (limited to 'compile.c')
-rw-r--r--compile.c2
1 files changed, 1 insertions, 1 deletions
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;