From 4200ddd5d06ea6931758a8e462ec91655d866465 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 14 Oct 2015 05:11:44 +0000 Subject: iseq.c: list of keywords [Fix GH-1056] * iseq.c (rb_insn_operand_intern): change kw in callinfo disasm from the number of keyword arguments to an ordered list of the keywords used. [Feature #11589] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- iseq.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'iseq.c') diff --git a/iseq.c b/iseq.c index 376058916d..f72bcd76cd 100644 --- a/iseq.c +++ b/iseq.c @@ -1292,7 +1292,9 @@ rb_insn_operand_intern(const rb_iseq_t *iseq, rb_ary_push(ary, rb_sprintf("argc:%d", ci->orig_argc)); if (ci->flag & VM_CALL_KWARG) { - rb_ary_push(ary, rb_sprintf("kw:%d", ((struct rb_call_info_with_kwarg *)ci)->kw_arg->keyword_len)); + struct rb_call_info_kw_arg *kw_args = ((struct rb_call_info_with_kwarg *)ci)->kw_arg; + VALUE kw_ary = rb_ary_new_from_values(kw_args->keyword_len, kw_args->keywords); + rb_ary_push(ary, rb_sprintf("kw:[%"PRIsVALUE"]", rb_ary_join(kw_ary, rb_str_new2(",")))); } if (ci->flag) { -- cgit v1.2.3