1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

iseq.c (iseq_data_to_ary): keep hidden variables

We must not ignore hidden variables when rb_id2str fails.
Thanks to wanabe [ruby-core:66566]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
normal 2014-12-01 22:32:56 +00:00
parent 4297d55ca9
commit 7ec4604700
2 changed files with 11 additions and 1 deletions

View file

@ -1,3 +1,8 @@
Tue Dec 2 07:20:21 2014 Eric Wong <e@80x24.org>
* iseq.c (iseq_data_to_ary): keep hidden variables
Thanks to wanabe [ruby-core:66566]
Tue Dec 2 06:46:57 2014 Aaron Patterson <aaron@tenderlovemaking.com> Tue Dec 2 06:46:57 2014 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/lib/psych.rb: bumping version * ext/psych/lib/psych.rb: bumping version

7
iseq.c
View file

@ -1717,7 +1717,12 @@ iseq_data_to_ary(rb_iseq_t *iseq)
for (i=0; i<iseq->local_table_size; i++) { for (i=0; i<iseq->local_table_size; i++) {
ID lid = iseq->local_table[i]; ID lid = iseq->local_table[i];
if (lid) { 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 { else {
rb_ary_push(locals, ID2SYM(rb_intern("#arg_rest"))); rb_ary_push(locals, ID2SYM(rb_intern("#arg_rest")));