aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Introduce Ractor mechanism for parallel executionKoichi Sasada2020-09-0341-784/+5952
| | | | | | | | | | | | | | | | This commit introduces Ractor mechanism to run Ruby program in parallel. See doc/ractor.md for more details about Ractor. See ticket [Feature #17100] to see the implementation details and discussions. [Feature #17100] This commit does not complete the implementation. You can find many bugs on using Ractor. Also the specification will be changed so that this feature is experimental. You will see a warning when you make the first Ractor with `Ractor.new`. I hope this feature can help programmers from thread-safety issues.
* Hoisted out warn_deprecatedNobuyoshi Nakada2020-09-031-25/+14
|
* Fix a typo [ci skip]Kazuhiro NISHIYAMA2020-09-031-1/+1
|
* Don't call to_s in const_setAlan Wu2020-09-031-1/+2
| | | | | | | Follow up for 5e16857315bf55307c5fc887ca6f03bfa0630a93. Calling a method in the middle of const_set adds a way that it would fail. It also makes it inconsistent with declaring a constant using `::`, which doesn't call `to_s`.
* configure: detect that there is no g++卜部昌平2020-09-031-0/+8
| | | | | | | | | AC_PROG_CXX checks for several C++ compilers INCLUDING g++. When none of them were found it sets the CXX variable to be g++. This doesn't make any sense. Absense of g++ has already been made sure. Because we don't want insanity (that's the whole reason we test the environment using autoconf), we need to swipe such insane variable out.
* add lldb functions for getting the heap page / heap page bodyAaron Patterson2020-09-021-0/+40
|
* support T_MATCH in lldbAaron Patterson2020-09-021-0/+4
|
* Initialize new T_OBJECT as ROBJECT_EMBEDJohn Hawthorn2020-09-023-7/+8
| | | | | | | | | | | | | | | | | | | | | | Previously, when an object is first initialized, ROBJECT_EMBED isn't set. This means that for brand new objects, ROBJECT_NUMIV(obj) is 0 and ROBJECT_IV_INDEX_TBL(obj) is NULL. Previously, this combination meant that the inline cache would never be initialized when setting an ivar on an object for the first time since iv_index_tbl was NULL, and if it were it would never be used because ROBJECT_NUMIV was 0. Both cases always fell through to the generic rb_ivar_set which would then set the ROBJECT_EMBED flag and initialize the ivar array. This commit changes rb_class_allocate_instance to set the ROBJECT_EMBED flag on the object initially and to initialize all members of the embedded array to Qundef. This allows the inline cache to be set correctly on first use and to be used on future uses. This moves rb_class_allocate_instance to gc.c, so that it has access to newobj_of. This seems appropriate given that there are other allocating methods in this file (ex. rb_data_object_wrap, rb_imemo_new).
* Add category to `rb_warn_deprecated`eileencodes2020-09-022-4/+31
| | | | | | | | | | | | | | | PR https://github.com/ruby/ruby/pull/3418 added a category to `rb_warn_deprecated_to_remove` but not to `rb_warn_deprecated`. This adds the same code to `rb_warn_deprecated` so that those warnings also get a category. This change also adds tests for `rb_warn_deprecated` and updates the tests for `rb_warn_deprecated_to_remove` to have clearer names. I've fixed the call to `rb_method_entry` as we need to be using the instance method, not singleton. Feature: https://bugs.ruby-lang.org/issues/17122
* Comply with guide for method doc: array.c (#3506)Burdette Lamar2020-09-022-140/+81
| | | | | | | | | | | | | Methods: any? all? one? none? sum shuffle! shuffle sample
* Document that StringScanner#matched_size returns size in bytes [ci skip]Jeremy Evans2020-09-021-2/+3
| | | | Fixes [Bug #17139]
* * 2020-09-03 [ci skip]git2020-09-031-1/+1
|
* Document limitation of Pathname#relative_path_from [ci skip]Jeremy Evans2020-09-021-0/+3
| | | | | | | | | This method is explicitly documented to not access the filesystem, and the only way to get the correct behavior for a case where the filesystem's case sensitivity differs from the operating system default would be to access the filesystem. Fixes [Bug #15417]
* new_dstr: hoisted out from literal_concat and evstr2dstrNobuyoshi Nakada2020-09-021-6/+12
|
* Removed trailing spaces [ci skip]Nobuyoshi Nakada2020-09-021-1/+1
|
* Fix constant names set using const_set on a singleton classMarc-Andre Lafortune2020-09-025-22/+59
| | | | Fixes [Bug #14895]
* Fix error message for wb unprotected objects countPeter Zhu2020-09-011-1/+1
| | | | This error is about wb unprotected objects, not old objects.
* Remove the pc argument of vm_trace()Alan Wu2020-09-012-3/+4
| | | | This makes the binary 272 bytes smaller on -O3 GCC 10.2.0.
* Reapply "Special case Range#max for integer beginning and Float::Infinity ↵Marc-Andre Lafortune2020-09-011-0/+6
| | | | | | end" (tests) Reverted in e080a4cdee
* Support passing a category to `Warning.warn`eileencodes2020-09-013-8/+54
| | | | | | | | | | | | | | | | | | | | | | This change adds a `category` kwarg to make it easier to monkey patch `Warning.warn`. Warnings already have a category, but that warning isn't exposed. This implements a way to get the category so that warnings with a specific category, like deprecated, can be treated differently than other warnings in an application. The change here does an arity check on the method to support backwards compatibility for applications that may already have a warning monkey patch. For our usecase we want to `raise` for deprecation warnings in order to get the behavior for the next Ruby version. For example, now that we fixed all our warnings and deployed Ruby 2.7 to production, we want to be able to have deprecation warnings behave like they would in 3.0: raise an error. For other warnings, like uninialized constants, that behavior won't be removed from Ruby in the next version, so we don't need to raise errors. Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
* Update documentation for Range#maxJeremy Evans2020-09-011-8/+28
|
* Revert "Fix Range#{max,minmax} for range with integer beginning and ↵Jeremy Evans2020-09-012-29/+5
| | | | | | non-integer end" This reverts commit 8900a25581822759daca528d46a75e0b743fc22e.
* Revert "Special case Range#max for integer beginning and Float::Infinity end"Jeremy Evans2020-09-012-15/+0
| | | | This reverts commit 05bf811c2839628aaef3d565daedb28be80d47ef.
* Comply with guide for method doc: array.c (#3499)Burdette Lamar2020-09-011-95/+12
| | | | | | | | | | | | | | | | | | | Methods considered: count flatten! flatten cycle permutation combination repeated_permutation repeated_combination product take take_while drop drop_while
* * 2020-09-02 [ci skip]git2020-09-021-1/+1
|
* Fixed argument typesNobuyoshi Nakada2020-09-021-4/+4
|
* Format with proper conversion specifiers instead of castsNobuyoshi Nakada2020-09-021-54/+74
|
* Fix pthread_setname_np arguments on NetBSDJeremy Evans2020-09-011-2/+2
| | | | | | | | | | The previous attempt to fix this in b87df1bf243074edb2e6cc8a24bc00df81cebf3c reversed the argument order instead of just fixing the quote escaping. From Takahiro Kambe. Fixes [Bug #15178]
* Fix syncing bundler man pagesDavid Rodríguez2020-09-011-1/+1
| | | | `rm_rf` does not support globbing, so not all files get deleted.
* Use RSTRING_LENINT for overflow checkNobuyoshi Nakada2020-09-011-1/+1
|
* Don't read past the end of the Ruby stringPeter Zhu2020-09-011-1/+1
| | | | | | Ruby strings don't always have a null terminator, so we can't use it as a regular C string. By reading only the first len bytes of the Ruby string, we won't read past the end of the Ruby string.
* add RUBY_DEBUG=ci envval for GH actionsKoichi Sasada2020-09-011-0/+1
| | | | RUBY_DEBUG=ci envval shows more information on rb_bug().
* Use the previous winflexbison3Nobuyoshi Nakada2020-09-011-1/+2
| | | | winflexbison3 v2.5.23.20200829 seems to install nothing.
* minitest is working fine with Ruby 3Hiroshi SHIBATA2020-09-012-2/+2
|
* xmlrpc has been removed from the bundled gemsHiroshi SHIBATA2020-09-012-2/+2
|
* bump version to minitest-5.14.2Hiroshi SHIBATA2020-09-011-1/+1
|
* Revert the workaround of minitest and hoeHiroshi SHIBATA2020-09-014-3/+4
| | | | | 86737c509cd49cfe4509a65d300d390da0f07be6 3e1aea461320094e634ab32ca0b13dd43b69d8b0
* congigure.ac: favour gcc on Linux卜部昌平2020-09-011-1/+3
| | | | Requested by Naruse.
* Comply with guide for method doc: array.c (#3489)Burdette Lamar2020-08-311-63/+11
| | | | | | | | | | | | | | | | Methods considered: & intersection | union max min minmax uniq! uniq compact! compact
* Comply with guide for method doc: array.c (#3484)Burdette Lamar2020-08-311-74/+19
| | | | | | | | | | | | | | | | | Methods: + concat * assoc rassoc == eql? hash include? <=> - difference
* * 2020-09-01 [ci skip]git2020-09-011-2/+2
|
* Comply with guide for method doc: array.c (#3477)Burdette Lamar2020-08-311-90/+14
| | | | | | | | | | | | | | | Methods considered: delete_at slice! reject! reject delete_if zip transpose replace clear fill
* Deprecate iterator? methodNobuyoshi Nakada2020-08-312-9/+23
| | | | [Feature #15547] [Fix GH-2071]
* [ruby/strscan] Bump versionSutou Kouhei2020-08-312-2/+2
| | | | https://github.com/ruby/strscan/commit/df90d541fa
* [ruby/strscan] Replaced examples using $KCODE with encodingsNobuyoshi Nakada2020-08-311-7/+5
| | | | | | `$KCODE` has been deprecated and not effective since years ago. https://github.com/ruby/strscan/commit/7c4dbd4cb3
* Update version to 3.0.0 in NEWS.mdKazuhiro NISHIYAMA2020-08-311-1/+1
|
* Prohibit setter method names in endless method definitionYusuke Endoh2020-08-312-0/+4
| | | | https://bugs.ruby-lang.org/issues/16746#note-26
* Removed minitest and hoe because they didn't support Ruby 3 yetHiroshi SHIBATA2020-08-313-3/+3
|
* Thread.exclusive: delete卜部昌平2020-08-312-47/+34
| | | | | | Has been deprecated since 2069c9e031fc968d6d3d0fe30a9316851e4d91d8. [Feature #17125][ruby-core:99636]
* The deprecation of enumerators with block has been withdrawnNobuyoshi Nakada2020-08-311-66/+34
| | | | https://bugs.ruby-lang.org/issues/6670#change-75907