AgeCommit message (Collapse)Author
2020-12-03[ruby/io-nonblock] Fix ls-files matching regexpNobuyoshi Nakada
See rubygems/rubygems@8a81183236c4475152798db99734e89779287331.
2020-12-03[ruby/digest] LICENSEHiroshi SHIBATA
2020-12-03[ruby/digest] Fixup d981714348f71177132426e3ac19598e1b2e8f5dHiroshi SHIBATA
2020-12-03Assert unit->iseq null out happens under the JIT/GC guardTakashi Kokubun
2020-12-02Skip checking Ractor recursive lockingTakashi Kokubun
for an MJIT worker thread. We can't do it because its GET_EC() returns NULL.
2020-12-02Add Proc#{==,eql?} addition to NEWS [ci skip]Jeremy Evans
2020-12-03delete deprecated IO-like methods卜部昌平
This commit deletes {IO,ARGF,StringIO,Zib::GZipReader}#{bytes,chars,lines,codepoints}, which have been deprecated since c47c095b9740e7c19d6fdca29ab661c1089221d4. Note that String also has those methods. They are neither depreacted nor deleted because they are not aliases of counterpart each_something.
2020-12-03include/ruby/internal/xmalloc.h: add doxygen卜部昌平
Thought it was not a bad idea to document these CAPI. [ci skip]
2020-12-03add GC guardKoichi Sasada
new_prev_env is stored in the env_body memory block but this is not a GC root, so new_prev_env could be freed.
2020-12-02When allocating new pages, add them to the end of the linked listAaron Patterson
When we allocate new pages, allocate them on the end of the linked list. Then when we compact we can move things to the head of the list Notes: Merged:
2020-12-02Do not reduce quantifiers if it affects which text will be matchedJeremy Evans
Quantifier reduction when using +?)* and +?)+ should not be done as it affects which text will be matched. This removes the need for the RQ_PQ_Q ReduceType, so remove the enum entry and related switch case. Test that these are the only two patterns affected by testing all quantifier reduction tuples for both the captured and uncaptured cases and making sure the matched text is the same for both. Fixes [Bug #17341] Notes: Merged:
2020-12-03* 2020-12-03 [ci skip]git
2020-12-02Incremental sweeping should not require page allocationAaron Patterson
Incremental sweeping should sweep until we find a slot for objects to use. `heap_increment` was adding a page to the heap even though we would sweep immediately after. Co-authored-by: John Hawthorn <> Notes: Merged:
2020-12-02ENV.index: delete卜部昌平
Has been deprecated since 373282f6656d3d3d989d261e7a95f8e81b5c9712.
2020-12-02Added dependencies for net-popHiroshi SHIBATA
2020-12-02Added dependencies for net-imapHiroshi SHIBATA
2020-12-02Revert "Removed deprecated Dir.exists? and File.exists?"Nobuyoshi Nakada
This reverts commit 1a5205536f0c0d6021450b11722919211847df86.
2020-12-02Removed deprecated Dir.exists? and File.exists?Nobuyoshi Nakada
2020-12-02test-bundled-gems: select bundled gems to test by BUNDLED_GEMSNobuyoshi Nakada renamed BUNDLED_GEMS as bundled-gemsNobuyoshi Nakada
Hyphenated names are safe in GNU make.
2020-12-02Loaded script is unset yet when crashed in the initialization phaseNobuyoshi Nakada
2020-12-02Bundle rbs 0.19.0 (#3838)Soutaro Matsumoto
Notes: Merged-By: soutaro <>
2020-12-02Removed needless .rbHiroshi SHIBATA
2020-12-02Emit warning when 'RubyGems' were not properly loaded.Vít Ondruch
Notes: Merged:
2020-12-02Emit warning when 'did_you_mean' was not properly loaded.Vít Ondruch
Notes: Merged:
2020-12-02Don't fail when 'RubyGems' are not available.Vít Ondruch
Although 'RubyGems' are always available in upstream Ruby, it might not be available optionally when Ruby is delivered via packaging systems. E.g. Linux distributions. Notes: Merged:
2020-12-02Don't fail when 'did_you_mean' is not available.Vít Ondruch
Although 'did_you_mean' is always available in upstream Ruby, it might not be available when speed, memory, disk or network bandwidth is a concern. This is typically the case for production environment, where 'did_you_mean' is of limited usage. Also it might not be available optionally when Ruby is delivered via packaging systems. E.g. Linux distributions. Notes: Merged:
2020-12-02digest: remove OpenSSL engineKazuki Yamaguchi
The OpenSSL engine of Digest uses the low-level API of OpenSSL, whose use has been discouraged for years for multiple reasons. A long-standing issue on a FIPS-enabled system is that using ::Digest results in crashing the Ruby process, because the low-level API lacks the mechanism to report an error (the policy violation) and thus kills the process as a last resort[1][2]. Also, the upcoming OpenSSL 3.0 will deprecate it for future removal[3]. Compiling with -Wdeprecated-declarations will start to emit warnings. A proper fix for this is to make it use the EVP API instead. This is a non-trivial work as it requires backwards-incompatible changes to the framework interface of Digest::Base and rb_digest_metadata_t. It is more than 15 years ago that the openssl library became part of the standard library. It has implemented the exactly same functionality as OpenSSL::Digest, in fact, as a subclass of Digest::Class. There is not much point in having an identical code in the digest library. Let's just get rid of OpenSSL within digest. This leaves the C implementations and the CommonCrypto engine for Apple systems. A patch is being prepared for the openssl library to provide ::Digest constants for better performance[4]. [1] [2] [3] [4] Notes: Merged:
2020-12-02Fix code example in Readline::HISTORY documentation.Cristian Greco
Wrapping the example into a <code> block to avoid it being rendered as a link. Notes: Merged:
2020-12-02memory_view.c: Check availability in rb_memory_view_getKenta Murata
2020-12-02Added dependencies for net-ftpHiroshi SHIBATA
2020-12-02Added dependencies for net-httpHiroshi SHIBATA
2020-12-02Added dependencies for net-smtpHiroshi SHIBATA
2020-12-02Added dependencies for net-protocolHiroshi SHIBATA
2020-12-02Added dependencies for tmpdirHiroshi SHIBATA
2020-12-02Added dependencies for erbHiroshi SHIBATA
2020-12-02Added dependencies for ppHiroshi SHIBATA
2020-12-01Fix docs about movement for rb_gc_register_mark_object()Alan Wu
This API in fact pins objects passed to it. See vm.c:2546. Notes: Merged:
2020-12-02* 2020-12-02 [ci skip]git
2020-12-02Bundle rbs 0.18.1 (#3825)Soutaro Matsumoto
Notes: Merged-By: soutaro <>
2020-12-01Update fixnum.hjacopo
Fix a typo: "nevative" => "negative" in `rb_fix_plus_fix`. Notes: Merged:
2020-12-01Added dependencies for open-uriHiroshi SHIBATA
2020-12-01Added dependencies for timeHiroshi SHIBATA
2020-12-01Added dependencies for primeHiroshi SHIBATA
2020-12-01Added dependencies for weakrefHiroshi SHIBATA
2020-12-01should not use rb_str_modify(), tooKoichi Sasada
Same as 8247b8edde, should not use rb_str_modify() here. Notes: Merged:
2020-12-01Update ext/.documentNobuyoshi Nakada
2020-12-01Add monitor to document filesKazuhiro NISHIYAMA
2020-12-01rb_ext_ractor_safe() to declare ractor-safe extKoichi Sasada
C extensions can violate the ractor-safety, so only ractor-safe C extensions (C methods) can run on non-main ractors. rb_ext_ractor_safe(true) declares that the successive defined methods are ractor-safe. Otherwiwze, defined methods checked they are invoked in main ractor and raise an error if invoked at non-main ractors. [Feature #17307] Notes: Merged:
2020-12-01should not use rb_ary_modify()Koichi Sasada
ractor_copy() used rb_ary_modify() to make sure this array is not sharing anything, but it also checks frozen flag. So frozen arrays raises an error. To solve this issue, this patch introduces new function rb_ary_cancel_sharing() which makes sure the array does not share another array and it doesn't check frozen flag. [Bug #17343] A test is quoted from Notes: Merged: