64600 Commits

Author SHA1 Message Date
Yusuke Endoh
4735a5b9d2 test/ruby/test_module.rb: Avoid "warning: method redefined" 2020-12-19 21:19:16 +09:00
Yusuke Endoh
1ba8d63b49 Recommit 34f06062174882a98ebef998c50ad8d4f7fc0f2e 2020-12-19 18:22:44 +09:00
Radosław Bułat
eb8ea336d3 Feature 17314: allow to pass array to public, protected and private methods 2020-12-19 18:19:49 +09:00
Nobuyoshi Nakada
8148f88b92
ALWAYS_INLINE implies inline 2020-12-19 18:04:47 +09:00
Marc-Andre Lafortune
0d3dc2ec80 Make Hash#except always return a Hash
[Feature #15822]
2020-12-19 03:59:51 -05:00
Takashi Kokubun
5611066e03
Prefer RB_OBJ_FROZEN_RAW
following the original implementation's change.
RB_TYPE_P(obj, T_OBJECT) is already checked in these places.

```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-19T08:27:44Z master 52b1716c78) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-19T08:27:44Z master 52b1716c78) +JIT [x86_64-linux]
Calculating -------------------------------------
                                 before --jit           after --jit
Optcarrot Lan_Master.nes    88.04551460097873     84.38303800957766 fps
                            88.25194345156318     85.31098251408059
                            88.34143982084871     86.60491582339496
                            88.63486879856976     88.23675694701865
                            88.85392212902701     88.23696283371444
                            89.05739427483194     88.97185459567562
                            89.08141031147311     90.16373192658857
                            89.11359420883423     90.61655686444394
                            89.80323392966130     90.77044959019291
                            90.58912189625207     90.88534596330966
                            90.59847996970350     91.34314801302897
                            90.61180456415137     93.11599164249547
```
2020-12-19 00:34:33 -08:00
Nobuhiro IMAI
e33eb09b76 ripper: fix #tok on some error events [Bug 17345]
sorting alias target by event arity, and setup suitable `Elem` for error.
2020-12-19 17:32:39 +09:00
Takashi Kokubun
52b1716c78
Fix vm_search_invokeblock
call_ needs to be vm_invokeblock_i, and flags is also not empty.
2020-12-19 00:27:44 -08:00
Takashi Kokubun
8ec8f37566
discourage inlining for vm_sendish()
reversing 9213771817 only for JIT, because it made JIT slower.

$ benchmark-driver -v --rbenv 'before;after;before --jit;after --jit' --repeat-count=36 --alternate --output=all benchmark.yml
before: ruby 3.0.0dev (2020-12-19T07:38:17Z master a139318538) [x86_64-linux]
after: ruby 3.0.0dev (2020-12-19T07:52:01Z master ce9faaeff5) [x86_64-linux]
last_commit=discourage inlining for vm_sendish()
before --jit: ruby 3.0.0dev (2020-12-19T07:38:17Z master a139318538) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-19T07:52:01Z master ce9faaeff5) +JIT [x86_64-linux]
last_commit=discourage inlining for vm_sendish()
Calculating -------------------------------------
                                       before                 after          before --jit           after --jit
Optcarrot Lan_Master.nes    42.83365858987760     42.68912456143848     76.50136803552716     65.74704713379785 fps
                            42.87724738609940     42.89045158177300     79.72624911659534     81.26221749201044
                            43.34963955708526     42.95431841174180     80.18085951039328     82.86458983313545
                            43.56786038452823     43.57563008888242     80.45933051716041     83.09150550702445
                            43.83219269706004     43.60748924115331     80.67164125046142     83.39458202043882
                            43.99035062888973     43.62050459554573     80.93204435712701     83.56303651352751
                            44.25176047881120     44.04822899344536     81.15051082548314     83.58166141398522
                            44.41978060794512     44.06521657912991     81.35651907376140     83.80036752456826
                            44.46864790591856     44.09325484326153     81.53456531520031     83.87502933718609
                            45.54712020644544     44.70693952869038     81.97738413452767     83.95818356402224
                            45.84292299382878     44.77704345873913     82.35118338199700     83.95966387450966
                            45.89411137280815     45.41425773286726     83.01052538434648     84.12812994632024
                            45.93130099197283     46.16884439916935     83.50833510120576     84.26276094927231
                            46.13648038236674     46.66645417860622     84.88757531920830     85.41732546800056
                            46.74873798919658     46.71790568883760     84.90953097036886     85.56340808970482
                            47.11273577214855     46.74581938882115     84.93196765297411     85.57603396455576
                            47.17870777128640     46.82414166607185     84.97178445888456     86.63510466280221
                            47.19338055580042     46.83645774240446     85.43536447262163     86.74129103462393
                            47.25761413477774     46.86834469505590     85.59822430471097     86.85376073363715
                            47.53327847102834     46.90228589364909     85.76446609620548     87.26108400015282
                            47.64308771617673     47.02814519551055     85.79904863600991     87.72293541243303
                            47.80286861846863     47.44672838168050     85.88640862064263     87.86803587836525
                            47.86455937950740     47.65301489003541     85.88750199172448     88.16881051171814
                            47.90065455321760     47.73425082354376     85.94295700508701     88.71267004066843
                            47.90727961241468     47.86377917424705     85.94674546805844     88.77726627283683
                            47.93243954623904     47.88720812998766     86.51872778134982     88.78993962536994
                            47.95062952008558     47.88774830879015     86.63116771614249     88.88085054889298
                            47.95097849989396     47.89825669442417     86.77387990931732     89.72021826461126
                            48.04730571166697     47.89981045730949     86.95084011077047     89.75804193954582
                            48.08042611622322     48.03246661737583     87.87239147980547     90.05949240088842
                            48.08999523258601     48.15253490344558     88.31289344498016     90.36439442190294
                            48.25670456430854     48.26904755214532     88.33999433286937     90.54253266759406
                            48.25947200597002     48.41894159956091     88.35502296938638     90.72591894564106
                            48.30826210577268     48.43125201523194     88.58311746582939     90.77173035874087
                            48.31514124187375     48.53932287546499     88.89099681179805     91.07747476133886
                            48.44349281318267     48.58969411593706     89.34043973691581     91.08545627378257
2020-12-19 00:03:46 -08:00
Hiroshi SHIBATA
349e79bae0
Try to test with rake-13.0.2 again.
[ruby/fileutils] Make verbose output go to stdout instead of stderr

  This reverts commit 510df47f5f7f83918d3aa00316c8a5b959d80d7c.
2020-12-19 16:53:18 +09:00
Hiroshi SHIBATA
bdd18090ad
Bump bundled rake version to 13.0.2 2020-12-19 16:52:56 +09:00
Nobuyoshi Nakada
a139318538
Added macros for headers which are not included by ruby.h 2020-12-19 16:38:17 +09:00
Nobuyoshi Nakada
042c3e91fb
Check macros for headers 2020-12-19 16:38:17 +09:00
Nobuyoshi Nakada
197550c956
Renamed check_encoding.yml as check_misc.yml [ci skip] 2020-12-19 16:38:16 +09:00
Nobuyoshi Nakada
5c9d6ea6b4
Strip trailing spaces [ci skip] 2020-12-19 15:34:37 +09:00
Nobuyoshi Nakada
553d6fa0a0
[DOC] Marked dtrace arguments as description list [ci skip] 2020-12-19 15:34:37 +09:00
Nobuyoshi Nakada
a5832c9a37
[DOC] Fixed markups in dtrace_probes.rdoc [ci skip]
* `+` can enclose just a word.
* TIDYLINK with braces gets confused when other braces even inside
  code precede.
2020-12-19 15:34:37 +09:00
Kazuhiro NISHIYAMA
144b11e03e
Fix warning: instance variable @head not initialized and remove unused instance variable 2020-12-19 15:24:09 +09:00
Kenta Murata
e64af7d5ad
NEWS: Add an entry of Digest 3.0.0 [ci skip] 2020-12-19 15:08:54 +09:00
Kenta Murata
0cb556b457
[digest] Version 3.0.0
https://github.com/ruby/digest/commit/4bbd247a32
2020-12-19 15:08:01 +09:00
Kenta Murata
b66f52b0e3
[digest] Make digest Ractor safe
https://github.com/ruby/digest/commit/c13a024b85
https://github.com/ruby/digest/commit/9edca3f8be
https://github.com/ruby/digest/commit/378b56b6ca
2020-12-19 15:08:01 +09:00
Nobuyoshi Nakada
feacae193c
[digest] Added rb_digest_make_metadata to wrap metadata
https://github.com/ruby/digest/commit/7046fe6005
2020-12-19 15:08:01 +09:00
Yusuke Endoh
5b2cf7eac8 Partially reintroduce e042e8460bb9a63c05f938d51e8c7c5345a6f3a4 and ...
34f06062174882a98ebef998c50ad8d4f7fc0f2e

Add a test for alias_method
2020-12-19 12:24:41 +09:00
Radosław Bułat
51bcd50915 Feature 17314: alias_method returns symbol 2020-12-19 12:23:58 +09:00
Nobuyoshi Nakada
34f6b22df0
Use rb_id_attrset without intermediate strings 2020-12-19 11:44:05 +09:00
Nobuyoshi Nakada
5616f2ee93
Added missing tests for public, private, protected and alias_method 2020-12-19 11:39:03 +09:00
Radosław Bułat
d40d95296d Feature 17314: update docs and NEWS about attr* methods returning array of symbols 2020-12-19 09:22:26 +09:00
Koichi Sasada
76e8848037 unfreeze Ractor::MovedObject
Matz prefers to unfreeze the class.
[Feature #17401]
2020-12-19 05:57:12 +09:00
Koichi Sasada
80cb9165fa add "copy: true" option for Ractor.make_shareable
Ractor.make_shareable(obj) tries to make obj a shareable object
by changing the attribute of obj and traversable objects from obj
(mainly freeze them).

"copy: true" option is more conservative approach by make deep
copied object and make it sharable. It doesn't affect any existing
objects.
2020-12-19 05:52:18 +09:00
Koichi Sasada
cee02d754d fix refinements/prepend bug
replaced method entry should be invalidated.
[Bug #17386]
2020-12-19 04:33:04 +09:00
Koichi Sasada
04d62e6f62 fix method cache debug tool 2020-12-19 04:33:04 +09:00
Yusuke Endoh
0e79d4cde5 Added tests for [Feature #17314]
Partially reintroduce 34f06062174882a98ebef998c50ad8d4f7fc0f2e
2020-12-19 03:25:48 +09:00
Yusuke Endoh
aa7a020710 Revert "Revert "Use rb_id_attrset without intermediate strings""
This reverts commit 41c208d4a463183fddca250026e5f1cd759d2604.

Reintroduce 66090b9d10cdaed917b525225e59d1c19e399248.
2020-12-19 03:20:09 +09:00
Yusuke Endoh
346bf0f5a5 spec/ruby/core/module/attr_*: Add version guards 2020-12-19 03:16:20 +09:00
Radosław Bułat
5944c4b3cf
attr_reader, attr_writer, attr_accessor and attr methods returns array of symbols (#3935)
Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>
2020-12-19 03:11:35 +09:00
Kenta Murata
f6641d7376
NEWS: Add an entry of StringScanner 3.0.0 [ci skip] 2020-12-19 03:06:16 +09:00
Kenta Murata
b3b7f1e580
NEWS: Add an entry of StringIO 3.0.0 [ci skip] 2020-12-19 03:05:00 +09:00
Kenta Murata
f213a271a1
NEWS: fiddle 1.0.4 [ci skip] 2020-12-19 03:02:56 +09:00
Jeremy Evans
7e2dbbda35 Use category: :experimental in warnings that are related to experimental features
This adds rb_category_compile_warn in order to emit compiler warnings
with categories.  Note that Ripper currently ignores the category
for these warnings, but by default it ignores the warnings completely,
so this shouldn't matter.
2020-12-18 09:54:11 -08:00
Jeremy Evans
05313c914b Use category: :deprecated in warnings that are related to deprecation
Also document that both :deprecated and :experimental are supported
:category option values.

The locations where warnings were marked as deprecation warnings
was previously reviewed by shyouhei.

Comment a couple locations where deprecation warnings should probably
be used but are not currently used because deprecation warning
enablement has not occurred at the time they are called
(RUBY_FREE_MIN, RUBY_HEAP_MIN_SLOTS, -K).

Add assert_deprecated_warn to test assertions.  Use this to simplify
some tests, and fix failing tests after marking some warnings with
deprecated category.
2020-12-18 09:54:11 -08:00
Jeremy Evans
6ced55b07c Make warning_categories a map of category symbols to category numbers
Use this to simplify rb_warning_category_from_name.

This also adds support for using the :experimental category in
Kernel#warn and Warning.warn.
2020-12-18 09:54:11 -08:00
Jeremy Evans
52fb696ee7 Switch rb_category_warn{,ing} to accept an rb_warning_category_t
Since we decided to only allowing specific warning categories,
there is no reason to have an API that accepts a general string,
as it is more error-prone.  Switch to only allowing the specific
warning categories.

As rb_category_warn{,ing} are public API, this requires making
rb_warning_category_t public API as well.
2020-12-18 09:54:11 -08:00
Kenta Murata
7b06085c7b
[bigdecimal] Fix test for d5ab8e8562 2020-12-19 02:44:20 +09:00
Kenta Murata
d5ab8e8562
[bigdecimal] Use rb_undef_alloc_func to undefine allocate 2020-12-19 02:29:31 +09:00
aycabta
c2a5594e27 [ruby/reline] Use cached prompt list when just moved the cursor
https://github.com/ruby/reline/commit/cfe619460b
2020-12-19 02:12:11 +09:00
aycabta
d4257c6152 [ruby/reline] Yank by em-kill-region correctly
This closes ruby/reline#106.

https://github.com/ruby/reline/commit/2549a52e15
2020-12-19 02:12:11 +09:00
aycabta
af2c81e10c [ruby/reline] Bind yank-pop correctly
https://github.com/ruby/reline/commit/3c74beac65
2020-12-19 02:12:11 +09:00
aycabta
671f2762fb [ruby/reline] Add Enumerable to KillRing for debugging
https://github.com/ruby/reline/commit/d208874152
2020-12-19 02:12:11 +09:00
aycabta
dc61affd67 [ruby/reline] [ruby/irb] Call ripper only once when generating dynamic prompt
https://github.com/ruby/irb/commit/babb122a48

https://github.com/ruby/reline/commit/e6dbcb3b42
2020-12-19 02:12:11 +09:00
Koichi Sasada
e76b56f58e support Ruby 2.x for openssl 2020-12-19 02:05:08 +09:00