diff options
author | Jeremy Evans <code@jeremyevans.net> | 2019-09-03 14:54:37 -0700 |
---|---|---|
committer | Jeremy Evans <code@jeremyevans.net> | 2019-09-05 17:47:12 -0700 |
commit | 6f9b86616a8ad60cfed2979e2a0f8398a12e7c85 (patch) | |
tree | 5fc2b4bd2ac4d30512df59efb39ee406248d0804 /vm_insnhelper.c | |
parent | 38dae1d510b931516ba1229a1ffbe5f6e470e292 (diff) |
Make Symbol#to_proc calls handle keyword arguments
Make rb_sym_proc_call take a flag for whether a keyword argument
is used, and use the new rb_funcall_with_block_kw function to
pass that information.
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r-- | vm_insnhelper.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 7895c8a0eb..57300073d2 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -2884,8 +2884,7 @@ vm_yield_with_cfunc(rb_execution_context_t *ec, static VALUE vm_yield_with_symbol(rb_execution_context_t *ec, VALUE symbol, int argc, const VALUE *argv, int kw_splat, VALUE block_handler) { - /* XXX: need to pass kw_splat? */ - return rb_sym_proc_call(SYM2ID(symbol), argc, argv, rb_vm_bh_to_procval(ec, block_handler)); + return rb_sym_proc_call(SYM2ID(symbol), argc, argv, kw_splat, rb_vm_bh_to_procval(ec, block_handler)); } static inline int |