1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/include/ruby
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
..
backward
assert.h
backward.h
debug.h
defines.h
encoding.h
intern.h Fix keyword argument separation issues in Enumerator::Generator#each 2019-09-26 15:30:51 -07:00
io.h
missing.h
onigmo.h
oniguruma.h
re.h
regex.h
ruby.h Fix more keyword separation issues 2019-09-26 19:24:58 -07:00
st.h st.c: Use rb_st_* prefix instead of st_* (#2479) 2019-09-22 22:12:18 +09:00
subst.h
thread.h
thread_native.h
util.h
version.h
vm.h
win32.h