diff --git a/ChangeLog b/ChangeLog index cc55005ce2..5fdf2d789c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Dec 2 07:20:21 2014 Eric Wong + + * iseq.c (iseq_data_to_ary): keep hidden variables + Thanks to wanabe [ruby-core:66566] + Tue Dec 2 06:46:57 2014 Aaron Patterson * ext/psych/lib/psych.rb: bumping version diff --git a/iseq.c b/iseq.c index fd0cbd8cd2..8a658d17f1 100644 --- a/iseq.c +++ b/iseq.c @@ -1717,7 +1717,12 @@ iseq_data_to_ary(rb_iseq_t *iseq) for (i=0; ilocal_table_size; i++) { ID lid = iseq->local_table[i]; if (lid) { - if (rb_id2str(lid)) rb_ary_push(locals, ID2SYM(lid)); + if (rb_id2str(lid)) { + rb_ary_push(locals, ID2SYM(lid)); + } + else { /* hidden variable from id_internal() */ + rb_ary_push(locals, ULONG2NUM(lid)); + } } else { rb_ary_push(locals, ID2SYM(rb_intern("#arg_rest")));