ruby/ext
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
..
-test- Fix more keyword separation issues 2019-09-26 19:24:58 -07:00
bigdecimal Make Kernel#{Pathname,BigDecimal,Complex} return argument if given correct type 2019-09-21 16:10:37 -07:00
cgi/escape Include ruby/assert.h in ruby/ruby.h so that assertions can be there 2019-07-14 17:58:03 +09:00
continuation Include ruby/assert.h in ruby/ruby.h so that assertions can be there 2019-07-14 17:58:03 +09:00
coverage Split RUBY_ASSERT and so on under include/ruby 2019-07-14 17:45:21 +09:00
date date_parse.c: trim off 2019-08-12 20:41:11 +09:00
dbm Include ruby/assert.h in ruby/ruby.h so that assertions can be there 2019-07-14 17:58:03 +09:00
digest Check metadata a bit more 2019-08-23 13:00:17 +09:00
etc drop-in type check for rb_define_module_function 2019-08-29 18:34:09 +09:00
fcntl Include ruby/assert.h in ruby/ruby.h so that assertions can be there 2019-07-14 17:58:03 +09:00
fiber Update dependencies 2016-07-06 05:48:13 +00:00
fiddle Include ruby/assert.h in ruby/ruby.h so that assertions can be there 2019-07-14 17:58:03 +09:00
gdbm Include ruby/assert.h in ruby/ruby.h so that assertions can be there 2019-07-14 17:58:03 +09:00
io [ruby/io-console] Defer creating VT query string 2019-09-26 09:59:27 +09:00
json Make rb_scan_args handle keywords more similar to Ruby methods (#2460) 2019-09-25 11:18:49 -07:00
nkf Include ruby/assert.h in ruby/ruby.h so that assertions can be there 2019-07-14 17:58:03 +09:00
objspace Rename NODE_ARRAY to NODE_LIST to reflect its actual use cases 2019-09-07 13:56:29 +09:00
openssl Fix keyword argument separation issues in OpenSSL::SSL::SSLSocket#sys{read,write}_nonblock 2019-09-26 08:01:53 -07:00
pathname Fix more keyword argument separation issues in Pathname 2019-09-26 08:01:53 -07:00
psych ext/psych/yaml/api.c: Suppress a "variable set but not used" warning 2019-08-24 20:31:16 +09:00
pty rb_ensure now free from ANYARGS 2019-08-27 15:52:26 +09:00
racc/cparse rb_catch now free from ANYARGS 2019-08-27 15:52:26 +09:00
rbconfig/sizeof Include ruby/assert.h in ruby/ruby.h so that assertions can be there 2019-07-14 17:58:03 +09:00
readline drop-in type check for rb_define_singleton_method 2019-08-29 18:34:09 +09:00
ripper Changed numbered parameter prefix 2019-09-24 21:57:54 +09:00
rubyvm Added depend files 2019-07-14 01:31:29 +09:00
sdbm Include ruby/assert.h in ruby/ruby.h so that assertions can be there 2019-07-14 17:58:03 +09:00
socket Support timeout for Addrinfo 2019-09-10 10:10:59 +09:00
stringio Make rb_scan_args handle keywords more similar to Ruby methods (#2460) 2019-09-25 11:18:49 -07:00
strscan Include ruby/assert.h in ruby/ruby.h so that assertions can be there 2019-07-14 17:58:03 +09:00
syslog Honor Syslog::Logger#level overrides 2019-09-26 15:01:44 -07:00
win32 Include ruby/assert.h in ruby/ruby.h so that assertions can be there 2019-07-14 17:58:03 +09:00
win32ole Fix call-seq of OpenSSL.fips_mode and WIN32OLE_METHOD#name [ci skip] 2018-11-01 07:25:50 +00:00
zlib Make rb_scan_args handle keywords more similar to Ruby methods (#2460) 2019-09-25 11:18:49 -07:00
.document ext/.document: follow-up r59734 2017-09-03 13:31:34 +00:00
Setup Removed deprecated extensions of mathn. 2017-04-20 08:21:24 +00:00
Setup.atheos * ext/tk: Tk is removed from stdlib. [Feature #8539] 2016-08-09 06:44:45 +00:00
Setup.nt * ext/tk: Tk is removed from stdlib. [Feature #8539] 2016-08-09 06:44:45 +00:00
extmk.rb Revert "DEBUG: dump mkmf.log" 2019-09-19 20:57:57 +09:00