From ae6ba9f084b6605da010768d9d116f88cd04a81c Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 12 Feb 2009 16:45:18 +0000 Subject: * compile.c (iseq_compile_each): just freeze xstr. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 +++- compile.c | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 229fa055c7..eb5fd03e1a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,10 @@ -Fri Feb 13 01:29:16 2009 Nobuyoshi Nakada +Fri Feb 13 01:45:17 2009 Nobuyoshi Nakada * compile.c (iseq_set_sequence, compile_dstr_fragments), (iseq_compile_each): hides other internal objects. + * compile.c (iseq_compile_each): just freeze xstr. + Fri Feb 13 00:48:42 2009 Nobuyoshi Nakada * insns.def (defineclass): try to autoload const to be overridden. diff --git a/compile.c b/compile.c index 4244a56f20..24a63e1d68 100644 --- a/compile.c +++ b/compile.c @@ -4371,7 +4371,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped) break; } case NODE_XSTR:{ - hide_obj(node->nd_lit); + OBJ_FREEZE(node->nd_lit); ADD_CALL_RECEIVER(ret, nd_line(node)); ADD_INSN1(ret, nd_line(node), putobject, node->nd_lit); ADD_CALL(ret, nd_line(node), ID2SYM(idBackquote), INT2FIX(1)); -- cgit v1.2.3