Jeremy Evans 660c7e050f Fix more keyword separation issues
This fixes instance_exec and similar methods. It also fixes
Enumerator::Yielder#yield, rb_yield_block, and a couple of cases
with Proc#{<<,>>}.

This support requires the addition of rb_yield_values_kw, similar to
rb_yield_values2, for passing the keyword flag.

Unlike earlier attempts at this, this does not modify the rb_block_call_func
type or add a separate function type.  The functions of type
rb_block_call_func are called by Ruby with a separate VM frame, and we can
get the keyword flag information from the VM frame flags, so it doesn't need
to be passed as a function argument.

These changes require the following VM functions accept a keyword flag:

* vm_yield_with_cref
* vm_yield
* vm_yield_with_block
2019-09-26 19:24:58 -07:00
..
2019-09-26 19:24:58 -07:00
2019-08-12 20:41:11 +09:00
2019-08-23 13:00:17 +09:00
2019-08-27 15:52:26 +09:00
2019-09-24 21:57:54 +09:00
2019-07-14 01:31:29 +09:00
2019-09-10 10:10:59 +09:00
2019-09-19 20:57:57 +09:00