summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2020-12-02gmake.mk: 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 <matsumoto@soutaro.com>
2020-12-02Removed needless .rbHiroshi SHIBATA
2020-12-02Emit warning when 'RubyGems' were not properly loaded.Vít Ondruch
Notes: Merged: https://github.com/ruby/ruby/pull/2764
2020-12-02Emit warning when 'did_you_mean' was not properly loaded.Vít Ondruch
Notes: Merged: https://github.com/ruby/ruby/pull/2764
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: https://github.com/ruby/ruby/pull/2764
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: https://github.com/ruby/ruby/pull/2764
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] https://bugs.ruby-lang.org/issues/6946 [2] https://bugs.ruby-lang.org/issues/13681 [3] https://www.openssl.org/docs/OpenSSL300Design.html [4] https://github.com/ruby/openssl/pull/377 Notes: Merged: https://github.com/ruby/ruby/pull/3149
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: https://github.com/ruby/ruby/pull/3686
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: https://github.com/ruby/ruby/pull/3815
2020-12-02* 2020-12-02 [ci skip]git
2020-12-02Bundle rbs 0.18.1 (#3825)Soutaro Matsumoto
Notes: Merged-By: soutaro <matsumoto@soutaro.com>
2020-12-01Update fixnum.hjacopo
Fix a typo: "nevative" => "negative" in `rb_fix_plus_fix`. Notes: Merged: https://github.com/ruby/ruby/pull/3834
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. https://bugs.ruby-lang.org/issues/17343#change-88858 Notes: Merged: https://github.com/ruby/ruby/pull/3833
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: https://github.com/ruby/ruby/pull/3824
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 https://github.com/ruby/ruby/pull/3817 Notes: Merged: https://github.com/ruby/ruby/pull/3831
2020-12-01show with sharing infoKoichi Sasada
2020-11-30-> creates a lambda so this updates the documentation to reflect thatJames Koenig
Notes: Merged: https://github.com/ruby/ruby/pull/3828
2020-12-01ractor local storage C-APIKoichi Sasada
To manage ractor-local data for C extension, the following APIs are defined. * rb_ractor_local_storage_value_newkey * rb_ractor_local_storage_value * rb_ractor_local_storage_value_set * rb_ractor_local_storage_ptr_newkey * rb_ractor_local_storage_ptr * rb_ractor_local_storage_ptr_set At first, you need to create a key of storage by rb_ractor_local_(value|ptr)_newkey(). For ptr storage, it accepts the type of storage, how to mark and how to free with ractor's lifetime. rb_ractor_local_storage_value/set are used to access a VALUE and rb_ractor_local_storage_ptr/set are used to access a pointer. random.c uses this API. Notes: Merged: https://github.com/ruby/ruby/pull/3822
2020-12-01tune parallel testKoichi Sasada
This patch contains the fowllowing hacks: (1) Add "--timetable-data=FILE" option for test-all This option enables to dump timeline event contains worker, suite, and start/end time. (2) remove TestJIT in test_jit_debug.rb on parallel test. it is duplicated test. (3) move test_jit.rb and test_jit_debug.rb at first because these two tests are bottleneck of parallel tests. On my environment, `make test-all TESTS=-j12` reduced the total time 190 seconds -> 140 seconds. Notes: Merged: https://github.com/ruby/ruby/pull/3826
2020-11-30Fix `Ractor.make_shareable` for recursive structures with unfreezable componentsMarc-Andre Lafortune
Followup to #3823 Notes: Merged: https://github.com/ruby/ruby/pull/3827
2020-12-01* 2020-12-01 [ci skip]git
2020-11-30Only check if the current ep is a local or not, then markAaron Patterson
The vm mark function should only check if the current frame is a local or not and then mark values in that frame. Since it's walking up the stack looking at each cfp, then all ep's should be examined. This fixes a bug in the Rails tests where we're seeing segv in railties. Thanks Yasuo Honda for giving me a reliable repro! Notes: Merged: https://github.com/ruby/ruby/pull/3829
2020-11-30[DOC] Update -l option [ci skip]Nobuyoshi Nakada
`-l` option has used `chomp!` since Ruby 2.5. [Bug #12926]
2020-11-30Clean temproray directory created by test-specNobuyoshi Nakada
2020-11-30Clean static-rubyNobuyoshi Nakada
2020-11-30Fix rb_interned_str_* functions to not assume static stringsJean Boussier
Fixes [Feature #13381] When passed a `fake_str`, `register_fstring` would create new strings with `str_new_static`. That's not what was expected, and answer almost no use cases. Notes: Merged: https://github.com/ruby/ruby/pull/3786
2020-11-30Fixed Ractor.shareable? on cross-recursive objects [Bug #17344]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3823 Merged-By: nobu <nobu@ruby-lang.org>
2020-11-30Raise when loading unprovided builtin function [Bug #17192]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3622 Merged-By: nobu <nobu@ruby-lang.org>
2020-11-30Keep references of memory-view-exported objects (#3816)Kenta Murata
* memory_view.c: remove a reference in view->obj at rb_memory_view_release * memory_view.c: keep references of memory-view-exported objects * Update common.mk * memory_view.c: Use st_update Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2020-11-30[DOC] Fixed st_udpate comment [ci skip]Nobuyoshi Nakada
Clarified that the first and second arguments to the callback function are pointers to the KEY and the VALUE, but not those values themselves.
2020-11-30* 2020-11-30 [ci skip]git