diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | compile.c | 2 |
2 files changed, 4 insertions, 2 deletions
@@ -1,8 +1,10 @@ -Fri Feb 13 01:29:16 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> +Fri Feb 13 01:45:17 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> * 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 <nobu@ruby-lang.org> * insns.def (defineclass): try to autoload const to be overridden. @@ -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)); |