summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--compile.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index a49c233f8a..2303185419 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun May 25 17:52:25 2008 Yusuke Endoh <mame@tsg.ne.jp>
+
+ * compile.c (iseq_build_body): remove side effect from
+ VM::InstructionSequence.load.
+
Sun May 25 04:30:45 2008 Yusuke Endoh <mame@tsg.ne.jp>
* test/ruby/test_modules.rb (remove_json_mixins): change judgment
diff --git a/compile.c b/compile.c
index 03b433d576..cc068b112e 100644
--- a/compile.c
+++ b/compile.c
@@ -4955,6 +4955,7 @@ iseq_build_body(rb_iseq_t *iseq, LINK_ANCHOR *anchor,
{
int i;
op = rb_convert_type(op, T_ARRAY, "Array", "to_ary");
+ op = rb_ary_dup(op);
for (i=0; i<RARRAY_LEN(op); i+=2) {
VALUE sym = rb_ary_entry(op, i+1);
LABEL *label =