summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-09-20Expose `rb_fiber_raise` and tidy up the internal implementation.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/4649
2021-09-20Allow to include uninitialized modules [Bug #18177]Nobuyoshi Nakada
The module that is about to be included is considered initialized. Notes: Merged: https://github.com/ruby/ruby/pull/4868
2021-09-20* 2021-09-20 [ci skip]git
2021-09-20MINGW-UCRT: Set CONFIG['arch'] and RUBY_PLATFORM to "x64-mingw-ucrt"Lars Kanis
This allows easy differentiation between ABI incompatible platforms like MSWIN64 and MSVCRT-based MINGW32. This also implicates a distinct rubygem platform which is also "x64-mingw-ucrt". Although the term "mingw32" is the OS-part for 64 bit systems as well, the "32" is misleading and confusing for many users. Therefore the new platform string drops the "32" from the OS part to just "mingw". This conforms to the common practice of windows platform testing per RUBY_PLATFORM=~/mswin|mingw/ . Notes: Merged: https://github.com/ruby/ruby/pull/4599
2021-09-20CI: Enable MINGW-UCRT build and test in github actionsLars Kanis
This enables a temporary branch on ruby/setup-ruby and MSP-Greg/setup-ruby-pkgs for UCRT-capable action setup. They set correct PATH and MINGW_PACKAGE_PREFIX for UCRT, if a UCRT based ruby is used. See here for more details: https://github.com/ruby/setup-ruby/issues/193 To enable correct UCRT settings this therefore uses rubyinstaller-head as base ruby, since it is already UCRT based. Notes: Merged: https://github.com/ruby/ruby/pull/4599
2021-09-20Adjust test to set+get big values on all platforms and add MINGW-UCRTLars Kanis
Previously the test verified on MSWIN that huge values can not be stored in environment variables but that they can on others. IMHO the intention of the test should not change between platforms. Therefore this adjusts the test to have the same intention - that is to store a big value. This also fixes compatibility with MINGW-UCRT, which previously failed with: <Errno::EINVAL: Invalid argument - ruby_setenv(foo)> test/ruby/test_env.rb:512:in `[]=' test/ruby/test_env.rb:512:in `block in test_huge_value' Notes: Merged: https://github.com/ruby/ruby/pull/4599
2021-09-20MINGW: _WIN64 is not defined on i386-mingw32 + ucrt.xtkoba (Tee KOBAYASHI)
Notes: Merged: https://github.com/ruby/ruby/pull/4599
2021-09-20MINGW: More permissive pattern matching for coroutinextkoba (Tee KOBAYASHI)
Pattern matching for target_os in configure script should be permissive if we consider suffixing something onto "mingw32". Notes: Merged: https://github.com/ruby/ruby/pull/4599
2021-09-20MINGW: set rb_cv_msvcrt=ucrt and RT_VER=140 when UCRT is usedxtkoba (Tee KOBAYASHI)
Notes: Merged: https://github.com/ruby/ruby/pull/4599
2021-09-20MINGW: Fix build error on Windows UCRTxtkoba (Tee KOBAYASHI)
Notes: Merged: https://github.com/ruby/ruby/pull/4599
2021-09-19Fix a typo [Bug #17048]Nobuyoshi Nakada
2021-09-19Enable shallow clone on appveyorNobuyoshi Nakada
https://www.appveyor.com/docs/how-to/repository-shallow-clone/
2021-09-19Extract hook macro for attributesNobuyoshi Nakada
2021-09-18Revert "Do not load file with same realpath twice when requiring"Jeremy Evans
This reverts commit ddb85c5d2bdf75a83eb163856508691a7436b446. This commit causes unexpected warnings in TestTranscode#test_loading_race occasionally in CI.
2021-09-19* 2021-09-19 [ci skip]git
2021-09-18Do not load file with same realpath twice when requiringJeremy Evans
This fixes issues with paths being loaded twice in certain cases when symlinks are used. It took me multiple attempts to get this working. My original attempt tried to convert paths to realpaths before adding them to $LOADED_FEATURES. Unfortunately, this doesn't work well with the loaded feature index, which is based off load paths and not realpaths. While I was able to get require working, I'm fairly sure the loaded feature index was not being used as expected, which would have significant performance implications. Additionally, I was never able to get that approach working with autoload when autoloading a non-realpath file. It also broke some specs. This takes a more conservative approach. Directly before loading the file, if the file with the same realpath has been required, the loading of the file is skipped. The realpaths are stored as fstrings in a hidden hash. When rebuilding the loaded feature index, the hash of realpaths is also rebuilt. I'm guessing this makes rebuilding process slower, but I don think that is a hot path. In general, modifying loaded features is only done when reloading, and that tends to be in non-production environments. Change test_require_with_loaded_features_pop test to use 30 threads and 300 iterations, instead of 4 threads and 1000 iterations. I saw only sporadic failures with 4/1000, but consistent failures 30/300 threads. These failures were due to the fact that the concurrent deletions from $LOADED_FEATURES in other threads can result in rb_ary_entry returning nil when rebuilding the loaded features index. To avoid concurrency issues when rebuilding the loaded features index, the building of the index itself is left alone, and afterwards, a separate loop is done on a copy of the loaded feature snapshot in order to rebuild the realpaths hash. Fixes [Bug #17885] Notes: Merged: https://github.com/ruby/ruby/pull/4615
2021-09-18ast.c: AST.of against C method should return nil (as Ruby 2.6--3.0)Yusuke Endoh
2021-09-18ast.c: AST.of checks if a given method object is defined in CYusuke Endoh
[Bug #18178]
2021-09-18Enhanced RDoc for Range (#4847)Burdette Lamar
Treated: #to_s #inspect #=== #include? #cover? #count Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-09-18* 2021-09-18 [ci skip]git
2021-09-18Include the invalid value in invalid_utc_offset errorNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4864
2021-09-17[rubygems/rubygems] Trigger install command by default on removeJose Galisteo
Closes https://github.com/rubygems/rubygems/issues/4889 https://github.com/rubygems/rubygems/commit/2b1754479c
2021-09-17Removed Module.allocate [Bug #17048]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4858
2021-09-17Already initialized modules cannot be replaced [Bug #17048]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4858
2021-09-17Add spec for MatchData#match and MatchData#match_length [Feature #18172]Nobuyoshi Nakada
2021-09-17Add WB_PROTECTED to mutexesJohn Hawthorn
mutex_mark is (basically) NULL, so we don't have any references to mark. This means we should safely be able to mark Mutex as WB_PROTECTED without changing anything else. Notes: Merged: https://github.com/ruby/ruby/pull/4852
2021-09-17Prohibit test method redefinitionNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4854
2021-09-17* 2021-09-17 [ci skip]git
2021-09-17[Feature #18172] Fix duplicate test nameNobuyoshi Nakada
2021-09-16Adjust indent in string.c [ci skip]Nobuyoshi Nakada
2021-09-16NEWS for [Feature #18172] [ci skip]Nobuyoshi Nakada
2021-09-16[Feature #18172] Add MatchData#match_lengthNobuyoshi Nakada
The method to return the length of the matched substring corresponding to the given argument. Notes: Merged: https://github.com/ruby/ruby/pull/4851
2021-09-16[Feature #18172] Add MatchData#matchNobuyoshi Nakada
The method to return the single matched substring corresponding to the given argument. Notes: Merged: https://github.com/ruby/ruby/pull/4851
2021-09-16[Bug #18173] Update loaded_features_indexNobuyoshi Nakada
If $LOADED_FEATURES is changed in the just required file, also the index table needs to be updated before loaded_features_snapshot is reset. If the snapshot is reset without updating the table, the name of the added feature will not be found. Notes: Merged: https://github.com/ruby/ruby/pull/4849
2021-09-16Add a newline [ci skip]Shugo Maeda
2021-09-16Add details of Hash value ommission [ci skip]Shugo Maeda
2021-09-16Remove unneeded ruby_reset_leap_second_info function declaration (#4824)S.H
Notes: Merged-By: nurse <naruse@airemix.jp>
2021-09-15Enhanced RDoc for Range#minmax (#4846)Burdette Lamar
Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-09-15Enhanced RDoc for Range#max (#4844)Burdette Lamar
Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-09-16* 2021-09-16 [ci skip]git
2021-09-15Enhanced RDoc for Range#min (#4842)Burdette Lamar
Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-09-15Fix total_freed_objects for invalidated pagesPeter Zhu
When the object is moved back into the T_MOVED, the flags of the T_MOVED is not copied, so the FL_FROM_FREELIST flag is lost. This causes total_freed_objects to always be incremented. Notes: Merged: https://github.com/ruby/ruby/pull/4841
2021-09-15Don't overwrite free_slots count during sweepingPeter Zhu
gc_compact_finish may invalidate pages, which may move objects from this page to other pages, which updates the free_slots of this page. Notes: Merged: https://github.com/ruby/ruby/pull/4831
2021-09-15Update the free_slots count of the original pagePeter Zhu
When invalidating a page during compaction, the free_slots count should be updated for the page of the object and not the page of the forwarding address (since the object gets moved back to the forwarding address). Notes: Merged: https://github.com/ruby/ruby/pull/4831
2021-09-15[ruby/racc] gemspec: Link to https in homepage [ci skip]Olle Jonsson
https://github.com/ruby/racc/commit/96075f7720
2021-09-15[ruby/racc] Prefer __dir__ over File.dirname(__FILE__)Olle Jonsson
https://github.com/ruby/racc/commit/c49df40658
2021-09-15Add test cases for constants and keywordsShugo Maeda
2021-09-15[DOC] Fix broken links [ci skip]Nobuyoshi Nakada
* As the "doc/" prefix is specified by the `--page-dir` option, remove from the rdoc references. * Refer to the original .rdoc instead of the converted .html.
2021-09-15include/ruby/atomic.h: add doxygen卜部昌平
Must not be a bad idea to improve documents. [ci skip] Notes: Merged: https://github.com/ruby/ruby/pull/4835
2021-09-15template/Doxyfile.tmpl: modernise卜部昌平
applied doxygen -g for Doxygen 1.9.3. Notes: Merged: https://github.com/ruby/ruby/pull/4835