summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-09-30refactor delete rb_method_entry_copy卜部昌平
The deleted function was to destructively overwrite existing method entries, which is now considered to be a bad idea. Delete it, and assign a newly created method entry instead. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor delete rb_method_definition_set卜部昌平
Instead of destructively write fields of method entries, create a new entry and let it overwrite its owner. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor rb_method_definition_create take opts卜部昌平
Before this changeset rb_method_definition_create only allocated a memory region and we had to destructively initialize it later. That is not a good design so we change the API to return a complete struct instead. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor delete vm_cref_dump卜部昌平
No longer used. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor split rb_method_definition_set卜部昌平
Did you know that C functions can return structs? That has been true since the beginning, but not that very useful until C99. Now that we can write compound literals, this feature is much easier to use. By allowing struct-returning functions, some formerly big functions can be split into smaller ones, like this changeset. At least GCC is smart enough to inline the split functions back into one. No performance penalty is observed. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor constify most of rb_method_definition_t卜部昌平
Most (if not all) of the fields of rb_method_definition_t are never meant to be modified once after they are stored. Marking them const makes it possible for compilers to warn on unintended modifications. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor add rb_id_table_foreach_with_replace_with_key卜部昌平
This is a pure refactoring to reduce copy & paste. Also the new function is made visible from other parts of the interpreter, to be used later. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor delete ID_TABLE_ITERATOR_RESULT_END卜部昌平
Not used from anywhere. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor delete METHOD_ENTRY_COMPLEMENTED flag卜部昌平
Because rb_method_definition_t tracks its own complemented_count, we no longer have to check it in rb_method_entry_t side. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-29Remove VM_NO_KEYWORDS, replace with RB_NO_KEYWORDSJeremy Evans
VM_NO_KEYWORDS was introduced first in vm_core.h, but it is best to only use a single definition for this.
2019-09-29Make direct calls to rb_{obj_instance,mod_module}_{eval,exec} not pass keywordsJeremy Evans
In general RB_PASS_CALLED_KEYWORDS should only be set if we are sure the arguments passed come directly from Ruby. For direct calls to these C functions, we should not assume that keywords are passed. Add static *_internal versions of these functions that Kernel#instance_{eval,exec} and Module#{class,module}_{eval,exec} call that set RB_PASS_CALLED_KEYWORDS. Also, change struct.c back to calling rb_mod_module_eval, now that the call is safe. Notes: Merged: https://github.com/ruby/ruby/pull/2505
2019-09-30Run test-unit tests in CIBenoit Daloze
Notes: Merged: https://github.com/ruby/ruby/pull/2506
2019-09-30Update to latest test-unitBenoit Daloze
* See https://github.com/test-unit/test-unit/issues/165 Notes: Merged: https://github.com/ruby/ruby/pull/2506
2019-09-29Update to ruby/spec@2699ea4Benoit Daloze
2019-09-29Fix or suppress keyword argument separation warnings in util_specJeremy Evans
Some warnings are because the @o.rb_scan_args call doesn't include keyword arguments, but the first argument is passed to rb_scan_args may have a last hash treated as keywords. Those should be handled using rb_scan_args_kw on Ruby 2.7. Other warnings are for the deprecated rb_scan_args behavior to split option hashes or treat a nil argument as an option hash. Those warnings should just be suppressed. Notes: Merged: https://github.com/ruby/ruby/pull/2504
2019-09-29Update to ruby/spec@34e6246Benoit Daloze
2019-09-29Update to ruby/mspec@5dda9fbBenoit Daloze
2019-09-29Skip default gemspecs spec if the default_specifications_dir cannot be foundBenoit Daloze
2019-09-30Suppress keyword argument warning from #stepNobuyoshi Nakada
* numeric.c (num_step): pass the extracted argument from keyword argument, not the last argument itself which should have been warned already.
2019-09-30* 2019-09-30 [ci skip]git
2019-09-29Update to ruby/spec@e69a14cBenoit Daloze
2019-09-29Update to ruby/mspec@8cabcefBenoit Daloze
2019-09-29Update to ruby/spec@519df35Benoit Daloze
2019-09-29Update to ruby/mspec@8106083Benoit Daloze
2019-09-29Pass $(XRUBY) to test-bundled-gems.rb since RbConfig.ruby is incorrect for ↵Benoit Daloze
miniruby Notes: Merged: https://github.com/ruby/ruby/pull/2503
2019-09-29Move the logic to test bundled gems to Ruby codeBenoit Daloze
* Writing shell scripts in a Makefile is very error-prone. * TEST_BUNDLED_GEMS_ALLOW_FAILURES seemed to not work before. Notes: Merged: https://github.com/ruby/ruby/pull/2503
2019-09-29Exclude the test-unit bundled gem tests since they also fail since the ↵Benoit Daloze
Time#inspect change * See https://github.com/test-unit/test-unit/issues/165 Notes: Merged: https://github.com/ruby/ruby/pull/2503
2019-09-29Remove continue-on-error for test-bundled-gemsBenoit Daloze
* Otherwise, it takes a very long time to notice those tests broke. Notes: Merged: https://github.com/ruby/ruby/pull/2503
2019-09-29[ruby/stringio] Bump up the versionNobuyoshi Nakada
https://github.com/ruby/stringio/commit/f0e5027279
2019-09-29[ruby/stringio] Use rb_funcallv_kw when delegating argumentsNobuyoshi Nakada
https://github.com/ruby/stringio/commit/5892663e32
2019-09-29[ruby/stringio] Replaced rb_funcall2 with rb_funcallvNobuyoshi Nakada
https://github.com/ruby/stringio/commit/a37ab7c419
2019-09-29[ruby/stringio] Dropped older ruby versionsNobuyoshi Nakada
https://github.com/ruby/stringio/commit/e8065153b8
2019-09-29[ruby/stringio] Get rid of String#undump for ruby 2.4 or earlierNobuyoshi Nakada
https://github.com/ruby/stringio/commit/4dfd997e0a
2019-09-29[ruby/zlib] Fix for older ruby 2.6 or earlierNobuyoshi Nakada
https://github.com/ruby/zlib/commit/00ead8cb2c
2019-09-29[ruby/zlib] Search zlib.c as a gemNobuyoshi Nakada
https://github.com/ruby/zlib/commit/8f43b264cd
2019-09-29[DOC] Fix typos in Array#{to_s,inspect} doc [ci skip]Benoit Daloze
2019-09-29[DOC] stated that Array#to_s calls #inspect [ci skip]Nobuyoshi Nakada
[ruby-list:50826]
2019-09-29* 2019-09-29 [ci skip]git
2019-09-29Upgrade to the latest did_you_mean 1.3.1Yuki Nishijima
2019-09-28NEWS: marked up `**nil` [ci skip]Nobuyoshi Nakada
2019-09-28NEWS: Added module name to proc and lambda [ci skip]Nobuyoshi Nakada
RDoc cannot know if bare words are method name or not.
2019-09-27Fix warning when doing Struct.new(:x, keyword_init: true){}Jeremy Evans
This is due to calling rb_mod_module_eval directly instead of using rb_funcall_passing_block. The problem with calling directly is it does not create a new VM frame, so rb_mod_module_eval was called with no arguments, but with the keyword given VM frame flag set, which causes problems internally. Notes: Merged: https://github.com/ruby/ruby/pull/2500
2019-09-27Correctly issue ArgumentError when calling method that accepts no keywordsJeremy Evans
If a method accepts no keywords and was called with a keyword, an ArgumentError was not always issued previously. Force methods that accept no keywords to go through setup_parameters_complex so that an ArgumentError is raised if keywords are provided. Notes: Merged: https://github.com/ruby/ruby/pull/2501
2019-09-27Update NEWS section on keyword argument separation [ci skip]Jeremy Evans
This may be too verbose, if so, maybe it should be moved lower in the document, or to a separate document.
2019-09-28* 2019-09-28 [ci skip]git
2019-09-28Optimize Array#flatten and flatten! for already flattened arrays (#2495)Dylan Thacker-Smith
* Optimize Array#flatten and flatten! for already flattened arrays * Add benchmark for Array#flatten and Array#flatten! [Bug #16119]
2019-09-27Warn for URI.{,un}{escape,encode}, even if not in verbose modeJeremy Evans
The verbose mode warning has been present for almost 10 years. If we ever plan to remove these methods, we should make the warning a regular deprecation warning so that people are aware. Implements [Feature #15961] Notes: Merged: https://github.com/ruby/ruby/pull/2494
2019-09-27Fix fallback in URI.encode_www_form_component to include #Jeremy Evans
Patch from Matthew Kerwin. Fixes [Bug #14358] Notes: Merged: https://github.com/ruby/ruby/pull/2494
2019-09-27Do not escape + in Shellwords.escapeJeremy Evans
+ is not a character that requires escaping in Bourne sh. Fixes [Bug #14429] Notes: Merged: https://github.com/ruby/ruby/pull/2494
2019-09-27Ignore Errno::EPIPE when sending requests in net/httpJeremy Evans
An EPIPE when sending the request should be ignored. Even if you cannot write more data, you may still be able to read the server's response. Fixes [Bug #14466] Notes: Merged: https://github.com/ruby/ruby/pull/2494