vm_core.h (struct rb_iseq_struct), compile.c (iseq_set_arguments, iseq_compile_each), vm_insnhelper.c (vm_callee_setup_arg_complex): implement keyword arguments. See [ruby-core:40290] The feature is promised to be included in 2.0, but the detail spec is still under discussion; this commit is a springboard for further discussion. Please try it and give us feedback. This commit includes fixes for some problems reported by Benoit Daloze [ruby-core:40518] and Marc-Andre Lafortune [ruby-core:41772].
iseq.c (iseq_free, prepare_iseq_build): bookkeeping.
test/ruby/test_keyword.rb: add tests for keyword arguments.
test/ripper/dummyparser.rb (class DummyParser): temporal fix for