-*- coding: utf-8 -*-

commit a89932799c914d1864fc91f33d6461592dbfd3fb
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-12-24 17:19:16 +0900

    gen-release-note.rb: Avoid to depend release metadata

    Because it doesn't have metadata when I edit draft.

commit 6a6daf3803771884f4cbf8e134802ae430568ba2
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-12-24 17:18:07 +0900

    Add tag key

    Release note will use tag value when I write GitHub URLs with release
    tags.

commit 709d9cf1ba47d6df20ba067fdc8e92a7a817d1d3
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-12-21 03:02:30 +0900

    Add release engineering related tools

commit d58537cf8f4c3a3569fb5dd647dd5f0a19a9f3be
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-12-21 02:26:19 +0900

    Revert "remove bz2"

    This reverts commit 7856da5fe75a76bec909778e411270c10a04ca3a.
    For other branches

commit eb3944c287a455fb1673dd74e31b56afb3c3b649
  Author: Soutaro Matsumoto <matsumoto@soutaro.com>
  Date:   2020-12-24 17:19:23 +0900

    Bundle RBS 1.0.0.pre2 (#3991)

  Notes:
    Merged-By: soutaro <matsumoto@soutaro.com>

commit 85f01794795521e29e64e06ead416cbd3d52c55c
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-24 17:14:48 +0900

    doc/keywords.rdoc: mention pattern matching in the `in` keyword section

commit 1415653c84602b3ac4ee449858783aacd8af81ed
  Author: zverok <zverok.offline@gmail.com>
  Date:   2020-12-13 01:55:17 +0900

    Redocument non-blocking Fibers and scheduler

    * Document Fiber's method related to scheduling;
    * Extend Fiber's class docs with concepts of non-blocking
      fibers;
    * Introduce "imaginary" (documentation-only) class
      Fiber::SchedulerInterface to properly document how
      scheduler's methods should look.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3891

commit 1729fd8c0acd66aec20bb6986bd82913c9dc190d
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-24 17:00:30 +0900

    doc/contributing.rdoc: remove outdated content

commit f910a27d37a3ab132126f13a20a458afa8889231
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-24 16:37:52 +0900

    README.md: Haiku is currently unsupported

commit b343d547923cf29456910b20fcd1c0a58ed68176
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-24 16:16:20 +0900

    Use RBIMPL_COMPILER_{SINCE,BEFORE} for MSVC

    Pointed out by @shyouhei.

    NOTE: Already we have dropped the support for older MSVCs,
    probably prior to 1300 or 1400.  Remove the conditional code,
    especially in win32/Makefile.sub.

commit a76082f499ef819a18a0426973ea531019df4e0a
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-24 16:10:10 +0900

    Add call-seq to Ractor doc; improve wording [doc]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3992

commit e44a8bd791ee0a2bcb5845c6152daab75e4e6b9e
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-24 16:06:40 +0900

    Let's be more accurate [ci skip]

commit 176b75747c3a079cab5cc83c47d54fa4f9dfa6be
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-24 15:59:57 +0900

    Add NEWS entries about JIT in Jul ~ Dec

    * Instance variables
      * Merge ivar guards on JIT https://github.com/ruby/ruby/commit/a69dd699ee630dd1086627dbca15a218a8538b6f https://github.com/ruby/ruby/commit/e4f7eee009ebe1f23ee3e5ea69ccd9ea1530bc6f
      * Prefer RB_OBJ_FROZEN_RAW https://github.com/ruby/ruby/commit/5611066e03fe73bdbb08cc46f79530c69975cf17
      * Skip checking ROBJECT_EMBED https://github.com/ruby/ruby/commit/81a8d1cf09d59f0d69143d7896545f849f580a4e
    * Method inlining
      * Mark some Integer methods as inline https://github.com/ruby/ruby/commit/0703e014713ae92f4c8a2b31e385718dc2452eac
      * Allow inlining Integer#-@ and #~ https://github.com/ruby/ruby/commit/dbb4f1996939d0ce977e6b37579e28dd886428ff
      * Inline builtin struct aref https://github.com/ruby/ruby/commit/167d139487d67613bd02522e24476f06ffa137b7
      * Make Kernel#then, #yield_self, #frozen? builtin https://github.com/ruby/ruby/commit/24fa37d87a24dc932c1d778bcaf91204f5c12a76
      * (For future) Rewrite Kernel#tap with Ruby https://github.com/ruby/ruby/commit/f3a0d7a2035e9f5e0c70effd55732607e3def263
    * Other optimizations
      * Inline constant references https://github.com/ruby/ruby/commit/53babf35ef5b643774636550ea23851e2607e076
      * Lazily move PC with RUBY_VM_CHECK_INTS https://github.com/ruby/ruby/commit/5d74894f2bc4a3a18aec952d946ead3d784cb4b4
      * Cache access to reg_cfp->self on JIT https://github.com/ruby/ruby/commit/d40983772966938828a28c6e89752a3e76447b9e
    * JIT compaction
      * Shrink the blocking region for compile_compact_jit_code https://github.com/ruby/ruby/commit/ed8e552d4d2c825a3f780ac8bd898eaaca7c21e7
      * Stop leaving .c files for JIT compaction in /tmp https://github.com/ruby/ruby/commit/fa1250a506e9b6a1bcbf664f6b7b9c06e045d9b9
    * GC of JIT-ed code
      * Run unload_units in the JIT worker thread https://github.com/ruby/ruby/commit/16dab6b69263ed9c816bc0283c8c1f2f95dc1027
      * Avoid unloading units which have enough total_calls https://github.com/ruby/ruby/commit/d80226e7bd801fcbccf71f19ba373b7baf71a49e
      * Throttle unload_units https://github.com/ruby/ruby/commit/122cd35939ddf8ef7bfa17ad75570c01d0cf06ab
      * Throttle JIT compaction https://github.com/ruby/ruby/commit/096f54428d8000cccce430022784cb0e7cd31cb4
    * Compilation speed
      * Eliminate IVC sync between JIT and Ruby threads https://github.com/ruby/ruby/commit/0960f56a1d773c5417e9de729e159d346aec17ca
      * Lazily move units from active_units to stale_units https://github.com/ruby/ruby/commit/5d8f227d0edd3c542fcac465eb82005a5f852d34

    Please see https://github.com/ruby/ruby/commit/200c5f4075cb1d179c2eba5b30b5b0a500870f67 for other improvements in Jan ~ Jun.

commit 8aa299de24145891848ce50e29856d2275c75fd3
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-24 15:36:08 +0900

    Tweak magic comments [doc]

commit 8c510e4095458c783420ea0da86f9eedb139731d
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-24 14:57:16 +0900

    NEWS.md: grammatical improvement

commit 24ae0e8ed73947e030b31badb9d620ddf71898b6
  Author: zverok <zverok.offline@gmail.com>
  Date:   2020-12-23 15:14:18 +0900

    Review comments

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3981

commit 5696c693540a06c01bf6172d33aff731ad61f871
  Author: zverok <zverok.offline@gmail.com>
  Date:   2020-12-23 06:23:14 +0900

    Redocument Fiber#transfer

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3981

commit 8e1c0b2f93abe23f42bd7eba0a3f0d3f3669e486
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-24 13:43:22 +0900

    dir.c: chdir conflict should raise only when called in different thread

    ... and keep it as a warning (like 2.7) when it is called in the same
    thread. [Bug #15661]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3990

commit e43b5aa52dcd1eaded1141ab85a30bc8c7c4a6e4
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-24 14:31:01 +0900

    remove redundant example.

    pointed by @marcandre.

commit 6f29716f9ffb710af7f344839ec67ef2b8a48ab2
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-24 10:59:27 +0900

    shareable_constant_value: experimental_copy

    "experimental_everything" makes the assigned value, it means
    the assignment change the state of assigned value.
    "experimental_copy" tries to make a deep copy and make copyied object
    sharable.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3989

commit 1e215a66d26d56befab4fbb72e1d953879411955
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-12-23 14:30:32 +0900

    Fix class of method in Method#inspect for singleton classes of classes

    Previously, due to a change to fix bug 15608, Method#inspect output
    changed for class methods:

    Ruby 2.7
    "#<Method: String.prepend(*)>"

    Before change:
    "#<Method: #<Class:Object>(Module)#prepend(*)>"

    This is wrong because the Method object was created from String and
    not Object. This is because the fix for bug 15608 assumed it was
    being called on the singleton class of a instance, and would skip
    the first singleton class until it got to the class itself.  For
    class methods, this results in always using the superclass. Fix
    behavior to not skip until the superclass if the singleton class
    is the singleton class of a module or class.

    After change:
    "#<Method: #<Class:Object>(Module)#prepend(*)>"

    Fixes [Bug #17428]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3984

commit 9aca51e8a597fb4689c058b4e6b215ae87434e1b
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-24 12:09:08 +0900

    add about Ractor into extension.rdoc [ci skip]

commit 66719d7dc8de7b61129d50f40c81ebd9cee323f0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-23 16:30:16 +0900

    etc: use atomic operation instead of mutex

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3983

commit 6ed6b85ece8733518a7da0c3ec714f20d1102bf5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-23 14:09:28 +0900

    Expose atomic operation macros with RUBY prefix [Feature #17433]

    Now we need atomic operations, which are lighter than mutex, more
    widely for extension libraries because of Ractor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3983

commit f755926ddd3b92248f1fcdf977bd8537bff1f1dd
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-24 10:14:39 +0900

    test/ruby/test_module.rb: not depend on the order of method definitions

commit 05a756b3323d23b8f6ec899eaa83f7172ada0999
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-24 09:32:31 +0900

    [memory_view] Fix some grammar issues in a comment

commit ae26d5bd41ba3718073176a6be7b16924c5b138b
  Author: Marcus Stollsteimer <sto.mar@web.de>
  Date:   2020-12-24 05:56:04 +0900

    doc/fiber.md: fix typos

commit 7340e7f82780f529d80490045f5ea3e2559d563c
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-24 04:29:59 +0900

    introduce rb_ractor_atfork()

    to reset main ractor at fork().

commit 7fcb6b3dbe7517fe5426fdb6871cd4940a71b7e8
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-24 04:18:17 +0900

    fix ractor-locking around rb_ractor_thread_list()

    With locking a ractor, rb_ary_push() can call RB_VM_LOCK_ENTER()
    and it violates an assertion: should not acquire ractor-lock.

commit 458d5175b9f3476c4d0c95c35458aab10c78e647
  Author: Marcus Stollsteimer <sto.mar@web.de>
  Date:   2020-12-24 03:47:26 +0900

    Small improvements in magic comments docs

    * remove a duplicate statement
    * fix rdoc markup
    * fix typos

commit b32ed8aa41795e3b153b423ae14d2699060d73db
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-24 01:58:43 +0900

    remove method__cache__clear

    DTrace probe method__cache__clear is no longer used.
    [Bug #16658]

commit a8fc72f5a8c30ef7b5e78824e15e9868f52a3c33
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-24 01:50:45 +0900

    sample/trick2015/kinaba/entry.rb: The constant "Data" has been removed

    Instead, use "Proc" as a 4-letter constant.

commit 8feb40f49a5862ba1a42a5d8d9e228e1a8883a29
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-17 05:39:02 +0900

    Document shareable_constant_value and other magic constants [doc]

commit 4a8ff22f0c9f8a7cd9a68f49523fa2573a4326e9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-24 01:25:22 +0900

    Reset paren_nest at tAREF and tASET [Bug #17431]

commit fb545743932a5efd5a34ed9da981248dae3cc5ff
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-24 01:24:30 +0900

    Pass keyword options in assert_syntax_error

commit 221ca0f8281d39f0dfdfe13b2448875384bbf735
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-24 00:16:59 +0900

    * 2020-12-24 [ci skip]

commit 3a81daaf8dc037057d96b8e8cdc6ab1691e7e9d9
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-24 00:15:29 +0900

    Module#public_class_method also accepts a symbol array as an argument

    I'm unsure if this is intentional, but add a document anyway.
    [Feature #17314]

commit 94015200b69820575c8b11d4181d397b033b69ac
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-23 23:40:04 +0900

    [fiddle] Update to 1.0.6

commit 28e9344fa49387ef84c71a72d1ba7e32b61cf4c7
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-23 20:29:57 +0900

    [ruby/irb] Change StdioInputMethod#eof? to non-blocking

    This fixes --inf-ruby-mode.

    https://github.com/ruby/irb/commit/0e4a818955

commit 129ecb43e54b3249734c69787f813d49ce995567
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-23 21:19:27 +0900

    [ruby/irb] Fix error_message for assert_dynamic_prompt

    https://github.com/ruby/irb/commit/b12dfb6298

commit 31bd17218515a20cf46951018d413b739935beba
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-23 21:18:48 +0900

    [ruby/irb] Suppress "shadowing outer" warning

    https://github.com/ruby/irb/commit/8b83fbef69

commit 684649ea0573c94f4d5004d9f200df65205ea246
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-23 19:47:09 +0900

    [ruby/psych] Bump version to 3.3.0

    https://github.com/ruby/psych/commit/0abce07b90

commit 8259d88938bcbd65c7994e3d8261c4de82e74174
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-23 18:45:14 +0900

    [ruby/psych] Skip test_ractor.rb with ruby/psych repo

      Because ruby/psych still uses minitest. minitest didn't support
      assert_ractor provided by test suite of ruby/ruby repo.

    https://github.com/ruby/psych/commit/7da26358f1

commit aad88cc10ba268625aaa93ddcc6ff5036052c5cd
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-23 16:51:16 +0900

    [ruby/date] Define dummy RUBY_TYPED_FROZEN_SHAREABLE for old Ruby

    https://github.com/ruby/date/commit/9f3e90ad10

commit aa856d50772aaaceb7b245b8b59f1ab1851a7fab
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-23 16:54:54 +0900

    [ruby/date] Fix envutil for old Ruby

    https://github.com/ruby/date/commit/57e25c406a

commit 313d63c2ac447abc59a878dec0d619314d75449b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-23 18:06:27 +0900

    Use rb_init_identtable instead of direct use of rb_hashtype_ident

commit e052d0716325bcb499c57b1de0c6e3eb9effb299
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-23 16:55:36 +0900

    Revert "need to clear blocking cnt at fork (child process)"

    This reverts commit 0dd4896175f95c4c2a26d91a97b9fcb9a74cc0c6.

    It breaks the tests on RUBY_DEBUG=1.

commit 81a8d1cf09d59f0d69143d7896545f849f580a4e
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-23 16:38:01 +0900

    Skip checking ROBJECT_EMBED

    when we already check ROBJECT_NUMIV(self) is larger than
    ROBJECT_EMBED_LEN_MAX at the beginning of the method, because the number
    of instance variables for the same object doesn't decrease.

    ```
    $ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=4 --alternate --output=all benchmark_3000.yml
    before --jit: ruby 3.0.0dev (2020-12-23T06:32:19Z master dbb4f19969) +JIT [x86_64-linux]
    after --jit: ruby 3.0.0dev (2020-12-23T07:45:42Z master 95e866c098) +JIT [x86_64-linux]
    last_commit=Skip checking ROBJECT_EMBED
    Calculating -------------------------------------
                                  before --jit           after --jit
    Optcarrot 3000 frames   102.34091772397872    102.77738408379015 fps
                            103.37784821624231    105.46530219076179
                            104.39567016876369    106.43712452152215
                            105.31782092252713    106.54986150067481
    ```

commit dbb4f1996939d0ce977e6b37579e28dd886428ff
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-23 15:23:45 +0900

    Allow inlining Integer#-@ and #~

    ```
    $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark/mjit_integer.yml --filter '(comp|uminus)'
    before --jit: ruby 3.0.0dev (2020-12-23T05:41:44Z master 0dd4896175) +JIT [x86_64-linux]
    after --jit: ruby 3.0.0dev (2020-12-23T06:25:41Z master 8887d78992) +JIT [x86_64-linux]
    last_commit=Allow inlining Integer#-@ and #~
    Calculating -------------------------------------
                         before --jit  after --jit
            mjit_comp(1)      44.006M      70.417M i/s -     40.000M times in 0.908967s 0.568042s
          mjit_uminus(1)      44.333M      68.422M i/s -     40.000M times in 0.902255s 0.584603s

    Comparison:
                         mjit_comp(1)
             after --jit:  70417331.4 i/s
            before --jit:  44005980.4 i/s - 1.60x  slower

                       mjit_uminus(1)
             after --jit:  68422468.8 i/s
            before --jit:  44333371.0 i/s - 1.54x  slower
    ```

commit daec109f423e54094800e083fc8a8ca5cbceb866
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-23 11:29:00 +0900

    [ruby/psych] Optimize cache with `compare_by_identity`

    Using `compare_by_identity` gives a 4x performance boost on cache hits.
    Benchmark in https://github.com/JuanitoFatas/fast-ruby/issues/189

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3953

commit c5a445d577b786e31c420b5857ad05b954b420ec
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-21 11:42:25 +0900

    [ruby/psych] Make Ractor-ready.

    Config is Ractor-local.

    Benchmarking reveals that using `Ractor.local_storage` for storing cache
    is similar to accessing a constant (~15% slower).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3953

commit 3ee0ad919034fbc098939979c872d041a82c4334
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-22 10:01:54 +0900

    [ruby/psych] Don't use instance variables directly for config

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3953

commit d1963adae8373cac771f3d62cd8d92ab11deff9e
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-21 11:41:02 +0900

    [ruby/psych] Avoid methods depending on bindings

    Improves Ractor-readiness.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3953

commit 0eb94dae4aec58de06051cf89d555994838452f2
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-21 11:39:56 +0900

    [ruby/psych] Freeze constants.

    Improves Ractor-readiness.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3953

commit 0dd4896175f95c4c2a26d91a97b9fcb9a74cc0c6
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-23 14:40:58 +0900

    need to clear blocking cnt at fork (child process)

commit 5cf25c55a69264138179f7c955d149a154b50458
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-23 14:03:54 +0900

    Update version for Ractor-safe extensions

commit 61bd28b836190bbc8ce110e780da4c4aad9f485b
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-23 13:15:49 +0900

    [ruby/date] Workaround for non-ruby repository like ruby/date, flori/json

    https://github.com/ruby/date/commit/1ff7fa2d80

commit 8a1e12499b83870f9f102f0f0ea512f0355aac67
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-22 22:10:11 +0900

    Ensure non-literal expressions shareable if `leteral`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3950

commit c0a2d95cf318cf9b9ffe23f0a4b8720f69775448
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-22 08:26:42 +0900

    Update rb_ractor_ensure_shareable

    * Fixed use of rb_ractor_shareable_p
    * Raise Ractor::IsolationError

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3950

commit b2aa21b868419c2d87e2812b6b3584a8a1479c23
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-21 15:15:35 +0900

    Split the test

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3950

commit d1c7db9d003fe2f989e1cd2f55698a900291b48a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-21 15:08:22 +0900

    Added assertions

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3950

commit 0c450b86476322ea4c407d0de4d7d1c5d8523126
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-21 15:11:50 +0900

    `begin ... end` is not a literal

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3950

commit e70206f5701fca5cce38dbfac8ffaa0d9a5c61a3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-21 15:04:06 +0900

    Added dedicated helper methods

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3950

commit 7a094146e6ef38453a7e475450d90a9c83ea2277
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-19 20:42:58 +0900

    Changed shareable literal semantics [Feature #17397]

    When `literal`, check if the literal about to be assigned to a
    constant is ractor-shareable, otherwise raise `Ractor::Error` at
    runtime instead of `SyntaxError`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3950

commit f14aaa2b1282d6dea9fad3d050e65828f1e269e1
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-22 16:09:52 +0900

    Guard < Ruby 3.0 for the repositories of default gems.

commit 7e44ade5658bc6ae16e9838c64ff9e90d4fd805e
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-23 13:34:11 +0900

    ruby_single_main_ractor should be clear before warn

    rb_warn can produce T_HASH object and it should not use
    transient heap.

commit 02233ed024095d67683330b2ee9df08d943a5cd0
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-23 12:18:41 +0900

    Adapt tool/search-cgvars.rb for MacOS

commit 3df3b47187d7a137d4eb5a7887e9c8fa22a121c6
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-23 12:16:18 +0900

    Add tool/search-cgvars.rb, thanks @ko1

commit 082114da0552484d2695f685d781418fa51c7ef8
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-12-23 11:13:50 +0900

    [DOC] Add doc to sharing_detection= [ci skip]

    Before:
    ```
    $ ri sharing_detection=
    = .sharing_detection=
    (from ruby core)
    === Implementation from PP
    ------------------------------------------------------------------------
      sharing_detection=(b)
    ------------------------------------------------------------------------
    Returns the sharing detection flag as a boolean value. It is false by
    default.
    ```

    After:
    ```
    $ ri sharing_detection=
    = .sharing_detection=

    (from ruby core)
    === Implementation from PP
    ------------------------------------------------------------------------
      sharing_detection=(b)

    ------------------------------------------------------------------------

    Sets the sharing detection flag to b.
    ```

commit 339227363ce0cf967fa17efa4489d823932ddabd
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-23 08:45:19 +0900

    Merge RubyGems 3.2.3 and Bundler 2.2.3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3982

commit 733ed1e18498f97250b788f169c37b170e0cf2b6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-22 22:41:54 +0900

    ripper: fix bad label parameter handling [Bug #17425]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3977

commit cd63f0358ffb43890d20bb5612c5d82be19fae62
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-22 13:31:11 +0900

    [ruby/etc] Make Ractor safe

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3954

commit 3286380ebcc239b3fe1044884780162f1ee079fe
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-22 14:02:45 +0900

    [ruby/etc] Refactor locks using mutex API

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3954

commit 9636d14f6f4a1dc21ca61c280b26ec8fb3935168
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-23 00:51:26 +0900

    [memory_view] Acquire VM lock while running exported_object_registry_free

    exported_object_registry is freed at exit, so this change is just in case.

commit 01ab29cc285ec92c07cd67db6f8616690bd217f8
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-23 00:43:26 +0900

    [memory_view] Make some rb_memroy_view_t members const

commit db0385d6576bb9d2486e799c935e6b1fa1e7dfcc
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-23 00:43:18 +0900

    [memory_view] Remove needless use of StringValueCStr

commit b3ea828c8ef92f2fab4646f72144f7c468339a81
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-23 00:40:54 +0900

    [memory_view] Add mdview_release_view for test

commit 74652e640a3ef50eb5442eb98438e3d634a4faf7
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-23 00:33:24 +0900

    [memory_view][fiddle] Rename len to byte_size in rb_memory_view_t

commit 05014dcb887681d986105653ab527da2c4ff7774
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-22 17:33:14 +0900

    [memory_view][fiddle] Use bool for boolean return value

commit 74a3569b597f28780958dc3001b41120b54a8a48
  Author: Marcus Stollsteimer <sto.mar@web.de>
  Date:   2020-12-23 07:20:14 +0900

    NEWS: fix typos and grammar

commit 841d22ea479f37ab03d3f6c575997a2dd1b6d0a8
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-23 02:18:32 +0900

    [ruby/reline] [ruby/irb] Handle multiple newlines in a token correctly

    Co-authored-by: manga_osyo <manga.osyo@gmail.com>
    Co-authored-by: ima1zumi <mariimaizumi5@gmail.com>

    https://github.com/ruby/irb/commit/c59a9be82f

    https://github.com/ruby/reline/commit/a7922da16b

commit be5faa2519f1ab70eafd58caccbc3a8cba2718dc
  Author: Takeru Naito <takeru.naito@gmail.com>
  Date:   2020-12-22 12:58:12 +0900

    [ruby/irb] Make it possible to use measure even if it is installed as gem

    Include the file that implements this command in the irb gem.

    Co-Authored-By: scivola <scivola@users.noreply.github.com>

    https://github.com/ruby/irb/commit/d8dfea5b57

commit 32849dc1bbc3296aa13f86a35468ce16f8c32aab
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-12-22 14:56:47 +0900

    fiddle: Update to 1.0.5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3970

commit 228fa3ac6ec25eba5139674d04a74f07a34f2874
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-22 17:27:18 +0900

    NEWS: Mention deprecation warnings not being shown by default

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3974

commit fd745cc92c5e4dfa226cbdbbeb118f6b780666e1
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-22 16:52:05 +0900

    NEWS: group keyword arguments related items together

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3974

commit 5a6d27fe220548eb4ab5232d7f7331b42a66a17f
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-22 16:50:39 +0900

    NEWS: combine $SAFE and $KCODE, move lower

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3974

commit 1bd7427f29bb0e69e6e03d6d66aac6c9a6f7a300
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-22 16:49:27 +0900

    NEWS: move error handling at end of section

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3974

commit f1591b385890fe5e650bf8d5fa75e05a7c01ecea
  Author: Delton Ding <dsh0416@gmail.com>
  Date:   2020-12-22 16:01:53 +0900

    Add verbose nil in testing

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3971

commit c6d7e02b90f96d9bcd04edd48b7374f31c510b2a
  Author: Delton Ding <dsh0416@gmail.com>
  Date:   2020-12-22 15:30:59 +0900

    Enable `Fiber.current` and `Fiber#alive?` call inside ractor

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3971

commit 487355873ad0de9ab70611d63d97f3fbbfebe79d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-23 02:37:59 +0900

    * 2020-12-23 [ci skip]

commit b222a1a49473490ef8903b76868de86cd0a2164e
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-12-23 02:32:30 +0900

    Fix a message in example code

    Thanks to @zverok for the report.

commit 31b17a14abf9686a0a9b6777c6b47285f510b66a
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-12-23 02:31:02 +0900

    Make NoMatchingPatternError a subclass of StandardError

commit 53510d1e8a827596dba926c689406edafa399ada
  Author: ima1zumi <mariimaizumi5@gmail.com>
  Date:   2020-12-22 13:59:14 +0900

    [ruby/reline] [ruby/reline] Remove unused `attr_writer`

    https://github.com/ruby/reline/commit/ecdc1b7116

    https://github.com/ruby/reline/commit/a7922da16b

commit 299f5708a2274d069c624073ca3958f8625faf35
  Author: ima1zumi <mariimaizumi5@gmail.com>
  Date:   2020-12-22 00:59:48 +0900

    [ruby/reline] Fixed an exception occurred when ambiguous width character was passed to `#calculate_width` [Bug #17405]

    https://github.com/ruby/reline/commit/f79b4c857f

commit b52bc4a9c29e80e10b7e64dbebd97117916d3982
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-22 04:38:01 +0900

    [ruby/reline] Support isearch-terminators

    https://github.com/ruby/reline/commit/a7922da16b

commit 294552ca6c38b90a2be257727ce5df69b93a4de7
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-21 23:02:46 +0900

    [ruby/reline] Render refreshed prompt just after i-search finished

    https://github.com/ruby/reline/commit/0d3188fe34

commit 0b14abe8e7610e81e6bac7a4696cdcc24ca164c0
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-22 05:08:12 +0900

    [ruby/irb] Suppress "shadowing outer" warning

    https://github.com/ruby/irb/commit/27b149c599

commit fbcdcbff0de551321eee486bfbff9bd9288331d3
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-22 05:01:35 +0900

    [ruby/irb] Version 1.2.9

    https://github.com/ruby/irb/commit/9668e5fe6b

commit 4131cd05be4c00e2d6740d1619711e574cd731af
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-22 04:56:03 +0900

    [ruby/irb] Support arg for measure command

    https://github.com/ruby/irb/commit/b43f35d8f3

commit 47b26795d06ea13d646edddd51470d9a6cd377b4
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-22 04:49:02 +0900

    [ruby/irb] Change variables handling for compatibility

    https://github.com/ruby/irb/commit/26fd1a75cf

commit cae8bbfe6271a15cf212a83a9c3ac3fedcdc7718
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-22 17:07:23 +0900

    pp is ractor-ready.

    `@sharing_detection` is only one obstruction to support pp on
    non-main ractors, so make it ractor-local.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3973

commit 034c19ce288b951cfaf3bbd996ce19e14fdeb502
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-22 21:51:15 +0900

    Merge json-2.5.1

commit 9b9cbbbc17bb5840581c7da37fd0feb0a7d4c1f3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-22 21:43:30 +0900

    Update library versions of the default gems.

      They are followed up with
      https://github.com/ruby/ruby/commit/8fb02b7a97317090e3946e6f2d4a7d034f9699f1

commit 96b881679390271eb2234060ea7eed77a997d707
  Author: Akinori MUSHA <knu@idaemons.org>
  Date:   2020-12-22 21:41:44 +0900

    Import set 1.0.1

    - Eliminate warnings
    - Convert rdoc to markdown

commit f08cbdbf7d9b31ab570a235e4503ded2bc79d005
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-22 20:55:35 +0900

    Move the library to extensions for some of default gems

commit 93a56a5e98875ed619fe5c29f401a8a43632dbed
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-12-22 06:55:29 +0900

    Update fiber scheduler documentation.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3965

commit edb76e8765b7f165237c8ca6155cff1cc0f18cf9
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-22 18:18:32 +0900

    Prepare to release json-2.5.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3975

commit f2f00e24fa14b8114d6c3bea11170b2b3e309719
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-20 12:29:16 +0900

    [ruby/date] Make Ractor-compatible

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3946

commit ee102de6d7ec2454dc5da223483737478eb7bcc7
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-20 12:28:20 +0900

    [ruby/date] Deep-freeze internal constants.

    Probably not strictly necessary, but good principle anyways.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3946

commit 7fbad9224188905a6d96dee5aad5b1e1564e4461
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-12-22 16:15:35 +0900

    rb_cData: no longer exists

    Commit 8918a9cf6c65409ae1ffcdea324a1b97c6e5bb70 introduced macro
    `#define rb_cData rb_cData()`.  This deleting `VALUE rb_cData;`
    declaration was then macro-expanded into `VALUE rb_cData();`.  This
    worked by accident because the expanded expression happen to be a K&R
    style function declaration.

    This is rather complicated and I guess unintended.  Just delete the line
    to keep things simple straight forward.

commit 7898bc92258aff74d7600abe5dbdedff9b543cf0
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-12-22 15:25:03 +0900

    rb_cCont: no longer exists

    Deleted well over a decade ago in commit 977d66ec993b0f1892fb3e4cd8ac.

commit 15b81edd86a760331cb551b39882fab6fb9f4e37
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-22 15:05:58 +0900

    MJIT is enabled whenever an MJIT header is used

    ```
    $ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=4 --alternate --output=all benchmark.yml
    before --jit: ruby 3.0.0dev (2020-12-22T05:16:39Z master 692af8e8f8) +JIT [x86_64-linux]
    after --jit: ruby 3.0.0dev (2020-12-22T06:05:59Z master d2ca23fdbc) +JIT [x86_64-linux]
    last_commit=MJIT is enabled whenever an MJIT header is used
    Calculating -------------------------------------
                                 before --jit           after --jit
    Optcarrot 180 frames    86.61115328062763     91.49245232931852 fps
                            90.18653732453176     92.31139517827663
                            91.29817884736318     93.84437713805814
                            92.76118222412521     93.91929147901106
    ```

commit 95acd3c0302b571a4d77debc05bf38cf0bcce929
  Author: Yuki Nishijima <yk.nishijima@gmail.com>
  Date:   2020-12-22 14:42:32 +0900

    Sync did_you_mean

commit 692af8e8f8b5f9965450d8f2577f435feaa6f80d
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-22 14:16:19 +0900

    Prefer stdbool in vm_exec

    Make the code a bit modern and consistent with some other places.

commit 03f2b093201762031d5be64d0cce85da26c1d3b3
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-22 14:05:36 +0900

    NEWS.md: fix the format

commit fee2913d0af894492542cc0ed5e45dbf00e8f8df
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-28 11:03:00 +0900

    Struct::Tms: delete

    Has been deprecated since 44c53ee473d3b3973cb5c3ce03fbf4f280fd75ff.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3969

commit fa356a798aefc20725467d4fad02df8325d63e71
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-13 11:44:15 +0900

    Enumerator.new: raise unless block given

    Has been deprecated since c73b6bd7ebd01133538c645566944132dbde4d13.
    [Feature #17116] [ruby-dev:50945]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3968

commit 7204b81bcb13f84ca3cc34384d205565fd5ad381
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-22 12:59:47 +0900

    fix to use rb_ractor_id()

    Catch up recent changes on USE_RUBY_DEBUG_LOG=1.

commit 2e1cdf36ba950fef3f7d6fc215835ce3027699f4
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-22 12:46:15 +0900

    add a NEWS entry about ractor C API

commit be9b5553a3ae3a90c73d4c11786cb1a813e915f6
  Author: Akinori MUSHA <knu@idaemons.org>
  Date:   2020-12-22 12:26:45 +0900

    Add entries for set 1.0.0

commit 3fa4bd82928983cf5f6711c130711502397e05e2
  Author: Akinori MUSHA <knu@idaemons.org>
  Date:   2020-12-22 12:20:21 +0900

    Import set 1.0.0

    - SortedSet has been removed for dependency and performance reasons.
    - Set#join is added as a shorthand for `.to_a.join`.
    - Set#<=> is added.

    https://github.com/ruby/set/blob/v1.0.0/CHANGELOG.md

commit 63b872c409ec441718f55c60362a441cf108cfc0
  Author: Akinori MUSHA <knu@idaemons.org>
  Date:   2020-12-22 12:17:47 +0900

    Prepare for importing the set gem

commit d0050edb84e9c3ba99946e08325e168deb741e28
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-22 11:07:13 +0900

    Update Fiber#backtrace doc [See bug #17408]

commit 843fd1e8cfccdf1efcbb157315e267e4f380e030
  Author: zverok <zverok.offline@gmail.com>
  Date:   2020-12-22 06:42:01 +0900

    Document Fiber#backtrace and #backtrace_locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3966

commit 816bbfdc87d4a5f600f28cf4b0eaa5161af80645
  Author: zverok <zverok.offline@gmail.com>
  Date:   2020-12-22 06:15:47 +0900

    Document Proc#==

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3966

commit 861dbd950684d311e4f4bfed0e14885ed8a90b53
  Author: zverok <zverok.offline@gmail.com>
  Date:   2020-12-21 05:06:26 +0900

    Random instance methods

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3966

commit 4728c0d900f40036757d869fd5f20673c563bac7
  Author: zverok <zverok.offline@gmail.com>
  Date:   2020-12-17 07:49:52 +0900

    Add Symbol#name and freezing explanation to #to_s

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3966

commit 4a18cc7f604c259415d933acd9fd00234733cab6
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-22 09:04:54 +0900

    NEWS.md: mention the behavior change of Binding#eval

    [Bug #17419]

commit 91773ddd261abfc13f8a36d82b9c27a507c7cd81
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-22 08:56:46 +0900

    Remove debugging code

commit 831f7850689c51f8d7b17eb76c7f20b0eda16778
  Author: nagachika <nagachika@ruby-lang.org>
  Date:   2020-12-22 08:08:27 +0900

    [DOC] Fix typo in Ractor.make_shareable documentation.

commit a29b9e5efe286e8ad1b0d67c38f03cbb70951076
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-22 07:52:06 +0900

    Remvoed no longer needed version guards

commit c34c6a89cb7524050dc6f174da53a8159a7bbd64
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-22 01:05:52 +0900

    fix ractor's doc. [ci skip]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3960

commit 520dcbd6009b07458d67309ae33a602d77062975
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-22 05:27:47 +0900

    reset cache before iterating

    cee02d754d76563635c1db90d2ab6c01f8492470 resets pCMC and `me`
    will be a invalidated and continuing the invalidated `me`,
    it will break the data structure. This patch tris to clear
    all methods of specified class before manipulating the `me`s.
    [Bug #17417]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3964

commit d0e4ccbefcdd6032d0ae70bc54c9a4fb55d92576
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-22 02:22:51 +0900

    add Ractor.main

    It returns main Ractor, like Thread.main.
    [Feature #17418]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3963

commit 35471a948739ca13b85fe900871e081d553f68e6
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-22 01:55:15 +0900

    add Ractor#[]/#[]= for ractor local storage

    This API is similar to plain old Thread#[]/Fiber#[] interface
    with symbol key.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3962

commit 8f2031a06725d32f59e5ecd88ede3f96e8c5e9b1
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-22 03:30:40 +0900

    Ractor#to_s as #inspect

commit 8918a9cf6c65409ae1ffcdea324a1b97c6e5bb70
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-22 01:00:43 +0900

    Removed rb_cData entity

    * Use the wrapper of rb_cObject instead of data access
    * Replaced rest of extensions
    * Updated the version guard for Data
    * Added the version guard of rb_cData

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3961

commit c30f03d32833f38fedf41ecb08f1ade9c6657fef
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-27 16:15:28 +0900

    Data: delete

    Has been deprecated since 684bdf6171b76f5bc5e4f05926a5ab01ec2b4fd5.

    Matz says in [ruby-core:83954] that Data should be an alias of Object.
    Because rb_cData has not been deprecated, let us deprecate the constant
    to make it a C-level synonym of rb_cObject.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3961

commit 5c0abe2d94c545275079a862dc36bb163953010a
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-12-22 02:08:32 +0900

    Update documentation for pattern matching

commit 208f7d7c801c83facab4c24a36ed5e5b49b75377
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-22 00:03:21 +0900

    * 2020-12-22 [ci skip]

commit 02d9524cdaca1754718bf1d591408d377e6b383a
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-20 01:44:41 +0900

    separate rb_ractor_pub from rb_ractor_t

    separate some fields from rb_ractor_t to rb_ractor_pub and put it
    at the beginning of rb_ractor_t and declare it in vm_core.h so
    vm_core.h can access rb_ractor_pub fields.

    Now rb_ec_ractor_hooks() is a complete inline function and no
    MJIT related issue.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3943

commit a2950369bd8a5866092f6badf59b0811653a6092
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-19 06:38:58 +0900

    TracePoint.new(&block) should be ractor-local

    TracePoint should be ractor-local because the Proc can violate the
    Ractor-safe.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3943

commit c7a5cc2c3098ea74343a0dbab36b3a65bc7a4144
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-21 21:46:10 +0900

    Replaced magic numbers tr table

commit 84eebb3c9e92d33055393d32a276e11f3e1afd3f
  Author: Naohisa Goto <ngotogenome@gmail.com>
  Date:   2020-12-21 23:08:35 +0900

    On Solaris, _XOPEN_SOURCE should be undefined for C++ sources.

commit 91e2f08a6a296acb7debb184ffe1229c5c25bb0c
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-21 23:28:05 +0900

    export rb_eRactorIsolationError for MJIT

    https://ci.appveyor.com/project/ruby/ruby/builds/36942168/job/7ugrpk0pndoly9wp
    ```
    _ruby_mjit_p11920u0.c
    C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.c(14) : warning C4005: 'GET_SELF' : macro redefinition
            c:\projects\ruby\vm_insnhelper.h(111) : see previous definition of 'GET_SELF'
       Creating library C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.lib and object C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.exp
    _ruby_mjit_p11920u0.obj : error LNK2001: unresolved external symbol rb_eRactorIsolationError
    C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.so : fatal error LNK1120: 1 unresolved externals
    ```

commit 0b6a80c0beec5afb3a98535c5bc851bb77b3a5e2
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-21 22:40:38 +0900

    [json] Avoid method redefinition

commit dca6752fecc6733575145185764d7b6a218cee96
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-21 18:06:28 +0900

    Introduce Ractor::IsolationError

    Ractor has several restrictions to keep each ractor being isolated
    and some operation such as `CONST="foo"` in non-main ractor raises
    an exception. This kind of operation raises an error but there is
    confusion (some code raises RuntimeError and some code raises
    NameError).

    To make clear we introduce Ractor::IsolationError which is raised
    when the isolation between ractors is violated.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3957

commit 8c0c61728fd08bd7c3c29612de8b3486d75339dc
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-21 22:16:02 +0900

    NEWS: JSON is Ractor compatible [ci skip]

commit 14d7d1df25bbefadfc385042d541b4afc31e4c1b
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-21 15:57:42 +0900

    [json] Make json Ractor safe

commit 4c2e7f26bda8df087a66e546744de0d0d467ea7c
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-21 15:50:04 +0900

    [json] JSON_parse_float: Fix how to convert number

    Stop BigDecimal-specific optimization.  Instead, it tries the conversion
    methods in the following order:

    1. `try_convert`,
    2. `new`, and
    3. class-named function, e.g. `Foo::Bar.Baz` function for `Foo::Bar::Baz` class

    If all the above candidates are unavailable, it fallbacks to Float.

commit 596da98b3ff28ff48b10aed0bbe75287862eacbb
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-21 15:45:50 +0900

    [json] Make JSON.create_id thread-safe

commit 98cc15ed1e9193e17fad6b87cccf8f8b5ade7801
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-20 12:17:32 +0900

    [json] Stop using prototype objects

commit d84dd66da065cc40da69df5e042205209411c086
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-21 18:17:45 +0900

    Fixed a typo in an error class name

commit b9d00f42e63593e8c52dbe86cd4ebb7a120f768e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-21 18:09:45 +0900

    Enable escape sequence on Windows10 console via pager too

commit d8469507b943376b2b1b9be2692ff2fe055496a3
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-16 17:53:37 +0900

    [ruby/digest] Remove .gitignore and .travis.yml from gemspec

    https://github.com/ruby/digest/commit/7b57b73f46

commit 09f939d3a0140478f2e547f45b4becd05247d360
  Author: U.Nakamura <usa@ruby-lang.org>
  Date:   2020-12-21 17:29:09 +0900

    Enable escape sequence on Windows10 console

            * win32/win32.c (init_stdhandle): enable escape sequence on
              Windows10 console to show `ruby --help` colors correctly.

commit 95ce5c0ee9baa692d419dd45f0e00cbd5cee4d4c
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-21 13:27:52 +0900

    [ruby/rdoc] Bump version to 6.3.0

    https://github.com/ruby/rdoc/commit/3d3616cb94

commit 391343e82867919bb13be4660fd49e05ebd5983c
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-21 13:35:37 +0900

    [ruby/rdoc] Guard for WEBrick

    https://github.com/ruby/rdoc/commit/b1e7129e05

commit f26f905b28c5531c78445ac15d74ca1265eff5c5
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-21 16:17:28 +0900

    Mark an ISeq being JIT-ed

    This is to avoid SEGV on a CC reference in a normal compilation
    https://github.com/ruby/ruby/runs/1586578023

commit 1fdc97f1b76b7532d011b20d52f843a2bb0d1a2f
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-21 15:41:52 +0900

    Mark active_units

    to avoid SEGV on mjit_recompile and compact_all_jit_code.

    For some reason, ISeqs on stack are sometimes GC-ed (why?) and therefore
    it may run mjit_recompile on a GC-ed ISeq, which I expected d07183ec85d
    to fix but apparently it may refer to random things if already GC-ed.
    Marking active_units would workaround the situation.
    http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3292740

    Also, while compact_all_jit_code was executed, we saw some SEGVs where
    CCs seemed to be already GC-ed, meaning their owner ISeq was not marked
    properly. Even if units are still in active_units, it's not guaranteed
    that their ISeqs are in use. So in this case we need to mark active_units
    for a legitimate reason.
    http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3293277
    http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3293090

commit a574df14e45b8b5a1de7bfe949e08b61ae51b0bd
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-21 14:54:27 +0900

    Stop marking unit_queue

    The original motivation of this marking was https://github.com/k0kubun/yarv-mjit/issues/20.
    As wanabe said, there are multiple options to mitigate the issue, and
    Eric Wong introduced another fix at 143776f6fe by checking unit->iseq
    inside the lock.

    Therefore this particular condition has been covered in two ways, and
    the script given by wanabe no longer crashes without mjit_mark().

commit 74a78778362a7ad9aa246f2cb1a30174a6007365
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-12-21 13:25:03 +0900

    [DOC] Remove about FrozenError from Ractor::MovedObject [ci skip]

    Because unfreeze Ractor::MovedObject at
    https://github.com/ruby/ruby/commit/76e88480371469400346fca609efe67096813915

commit 1ecac8e4d031c244df711d573fa73ce339ffa2f5
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-21 11:51:11 +0900

    Add `require_relative` option to `assert_ractor`

commit eee93bc9330cb069abb679a0a0d48a49b10f6a4e
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-21 11:33:22 +0900

    eval_error.c: fix off-by-one error for --backtrace-limit

    https://bugs.ruby-lang.org/issues/17413

commit ac78d90d5e90d414fed2c5ea61faaaa4c57e1815
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-21 11:22:58 +0900

    Bump bundled rake version to 13.0.3

commit fe60480947969d32797c265085cceb90b771702a
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-12-14 16:54:12 +0900

    include/ruby/internal/xmalloc.h: document rb_eNoMemError

    It was my bad, the exception that actually raises is rb_eNoMemError.
    [ci skip]

commit 11656d15e2c5d5779a637eaf5f388a5c18bef629
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-12-14 15:17:59 +0900

    include/ruby/internal/xmalloc.h: doxygen tag

    `@exception` is an alias of `@throw`.  It might suite Ruby's document
    because ruby uses `raise` terminology instead of `throw`. [ci skip]

commit 63849a1cd98c7ae3a7d6af3f69814f01dfae25ea
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-12-21 10:54:24 +0900

    Fix misspellings [ci skip]

commit 5253b9579a129f66a768dae24bd50a95bab02841
  Author: Victor Shepelev <zverok.offline@gmail.com>
  Date:   2020-12-21 09:32:30 +0900

    Document usage of ArithmeticSequence in Array#slice, and add to NEWS (#3952)

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 6be61ab264c98c96e26b5d3398cf80b49197ba29
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-21 02:04:38 +0900

    should use owned_p instead of locked_p

    It should raise an error if the same thread tris to call
    receive/receive_if.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3949

commit 435b619a3d5a2d5754a3f739c50f64d1ad520ffc
  Author: Ivan Denysov <johnny.denisov@gmail.com>
  Date:   2020-12-21 02:24:30 +0900

    fix phrasing in comment

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3951

commit 7600f69a8e7955fc2ba3ef83d0c9fa019114216e
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-21 02:20:57 +0900

    rename to rb_ractor_make_shareable_copy()

    from rb_ractor_make_copy_shareable().

commit 9c73c756244fa27ffa99d81dcc73a4ad14198002
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-21 01:16:26 +0900

    Use Integer instead of Fixnum/Bignum

commit fb8f011422c645ebe29e94c3fb2079af73d1d35f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-21 00:40:56 +0900

    Fixed indefinite articles before "Integer" [ci skip]

commit ad534a677a6df7437c934440b35affa88ce3648a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-21 00:20:06 +0900

    Fixnum as a Symbol was an old feature until 1.6

commit a365ae841b9fe06c1ed9efad3c457cd2d1260524
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-21 01:15:45 +0900

    * 2020-12-21 [ci skip]

commit 730f314171e67d981887c061d5dabf927ff5efd5
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-21 01:13:39 +0900

    fix Ractor.make_shareable() with Class/Module

    To check shareable-ness, rb_ractor_shareable_p() is needed
    for Class/Module objects isntead of checking flags.

commit 8680ae9cbd6e7e7e08f6d21fa8d35abdc82342da
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-20 19:36:24 +0900

    irb: Removed unused variables

commit 4b6e3f7b82e03d6eb6562631365d35abaee35fb3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-20 19:35:59 +0900

    irb: Define extension command on the given object

commit 37987d99940f10bc6fec9b4825d7ce72df391d42
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-20 02:20:27 +0900

    win32: Deprecate file CP version functions

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3948

commit 95862ae44046cfc66c474ce534c204d276ea704d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-20 15:29:21 +0900

    win32: Added rb_w32_ureaddir only for UTF-8 [Feature #12654]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3948

commit 5b98b2ce39ed979aec614365a2dc3e1c30052bca
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-20 02:16:31 +0900

    win32: Use UTF-8 as filesystem encoding [Feature #12654]

    Co-Authored-By: Dāvis Mosāns <davispuh@gmail.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3948

commit feea436febb50eb4265bd985a550e384c606122c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-20 18:25:39 +0900

    irb: Define extension command only on the given object

    Not to interfer in class variables.

commit 0fad9a9e30d3dd362d9567284284206e1a476920
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-20 17:10:11 +0900

    Set non-verbose mode as well as tty mode

commit 59b84fbf2ef38f1f7c93c526bdb64e382f3dd635
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-20 17:07:24 +0900

    Set :DEFAULT to PROMPT_MODE for CI

commit 216a087e9351132b83110e0f7aad81d796371bdd
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-20 16:48:47 +0900

    Suppress errors related to using variables that are not directly related to testing

commit 24fcbc92b44d44bccf28d9375201162e627bb4ec
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-20 16:16:11 +0900

    [ruby/irb] Version 1.2.8

    https://github.com/ruby/irb/commit/bcd96834c7

commit a7cacd33ccef56b6377d511e0bf3f8b7c1f760be
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-20 16:15:58 +0900

    [ruby/reline] Version 0.1.10

    https://github.com/ruby/reline/commit/723c6e191a

commit 9f08e3c703795e81d333d568e7e44743022468f1
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-15 06:36:24 +0900

    [ruby/irb] Add measure command

    You can use "measure" command to check performance in IRB like below:

      irb(main):001:0> 3
      => 3
      irb(main):002:0> measure
      TIME is added.
      => nil
      irb(main):003:0> 3
      processing time: 0.000058s
      => 3
      irb(main):004:0> measure :off
      => nil
      irb(main):005:0> 3
      => 3

    You can set "measure :on" by "IRB.conf[:MEASURE] = true" in .irbrc, and, also,
    set custom performance check method:

      IRB.conf[:MEASURE_PROC][:CUSTOM] = proc { |context, code, line_no, &block|
        time = Time.now
        result = block.()
        now = Time.now
        puts 'custom processing time: %fs' % (Time.now - time) if IRB.conf[:MEASURE]
        result
      }

    https://github.com/ruby/irb/commit/3899eaf2e2

commit 8b6aaeaddf2d13833c0540490a84741035a3a808
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-20 12:20:00 +0900

    [ruby/irb] Handle rest of tokens correctly if no newline at last

    https://github.com/ruby/irb/commit/f3c8edad2a

commit 67ee1cbdd5def5b8e9db987a4a9367ab1d22fcfe
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-12-20 16:00:13 +0900

    Remove unnecessary files from .document

    * ruby:ext/rbconfig/exts.mk
    * ruby:ext/rbconfig/sizeof/Makefile
    * ruby:ext/rbconfig/sizeof/depend
    * ruby:ext/rbconfig/sizeof/mkmf.log
    * ruby:ext/win32/depend
    * ruby:ext/win32/exts.mk
    * ruby:ext/win32/resolv/depend
    * ruby:lib/racc/pre-setup

commit b911509a08cee6c99ab8eec01516ebe84ba9029d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-20 15:13:07 +0900

    Adjusted indents of closing braces [ci skip]

commit 7d0144e055fdbd7110cf84275b9e145550b77fd3
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-20 14:35:59 +0900

    Check mjit_call_p only when interrupted

    for leaf_without_check_ints insns.

    $ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
    before --jit: ruby 3.0.0dev (2020-12-20T05:02:18Z master 02b3555874) +JIT [x86_64-linux]
    after --jit: ruby 3.0.0dev (2020-12-20T05:36:00Z master 3f58de4eab) +JIT [x86_64-linux]
    last_commit=Check mjit_call_p only when interrupted
    Calculating -------------------------------------
                                     before --jit           after --jit
    Optcarrot Lan_Master.nes    84.50647332260259     85.85057800433144 fps
                                91.17796644338372     92.09930605656054
                                91.29346683444497     93.01336611323687
                                91.50322318568884     93.07234029037433
                                91.66560903214686     93.22773241529644
                                91.82315142636172     93.37032901061119
                                92.15066379608260     93.83701526141679
                                92.37897097456643     93.86032792681507
                                92.53049815524908     93.91211970920320
                                92.78414507914283     94.09109196967890
                                92.90299756525958     94.40107239595325
                                93.70279428858790     95.01326369371263

commit ae1cc3fd4e4e926dc9d84723ae2696b9799cfe9d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-20 14:28:55 +0900

    Made an internal callback function static

commit 02b3555874cecb93bdfff7c1ea6a80ca908785c9
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-20 14:02:18 +0900

    Install gdb on Actions

commit 85ec6cc38767320bc8767298c909f75e61b0d63b
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-12-20 13:28:40 +0900

    Fix markups and indentation

commit d37be18af5a789003e46015c2a2a916923e7682a
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-12-20 13:25:43 +0900

    Fix typos

commit 4902f96ee56d0391165b9ba769224c0d88d105fe
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-12-20 13:22:53 +0900

    Update documentation for pattern matching

commit b1b6dbfdc3abaca44e971979328fd396b424c32a
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-20 12:37:27 +0900

    `assert_ractor` tweak. Thanks Nobu

commit f70b894b8829c064e39646c9b5f6d304d13bb16d
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-20 03:23:41 +0900

    sync RCLASS_CONST_TBL()

    RCLASS_CONST_TBL() is shared resource so we need to sync with
    other ractors.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3944

commit 648bbfcc65ad28841db2206513375dd88f064c52
  Author: Soutaro Matsumoto <matsumoto@soutaro.com>
  Date:   2020-12-20 10:25:27 +0900

    Update rbs 1.0.0.pre (#3941)

  Notes:
    Merged-By: soutaro <matsumoto@soutaro.com>

commit 6343a8112950b12df942f5098edc093bca96ef2d
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-20 02:19:06 +0900

    [ruby/ostruct] Add Ractor test

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3942

commit 67e062b523e1a1bdf597a500027c916c16cd07a1
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-20 02:17:47 +0900

    [ruby/matrix] Add Ractor test

    This reverts commit cacdf2681dcc7c431973f33a18979b10566ec2f9.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3942

commit 70f20234b297a7fc9940bace30101813aa9df052
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-20 02:54:07 +0900

    Add `assert_ractor` [Feature #17367]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3942

commit 7f8108eeff8ffa66c93efb07d4bead1baf7153a8
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-20 04:51:00 +0900

    fix indent

commit bcf4b236e424ce0e6055f4a9651b5369a830866a
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-20 04:22:13 +0900

    ext/racc/cparse is ractor-safe

commit 846c4b03b8e9ff788f355f1bcd12e75715288e95
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-20 04:21:54 +0900

    ext/monitor is ractor-safe

commit c1461c927b123468ba83713676dcda48e51c8ec1
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-20 04:09:40 +0900

    cgi/escape is ractor-safe

commit 362138004624f0d8664c16da4c0d5133ac213942
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-20 04:14:05 +0900

    NEWS.md: remove nonsense caveat

    3.0 will be released in a few days (hopefully), so remove a caution: "it
    may be reverted until 3.0 release."

commit ed4381d94132990067922bc4204c8abb99cde3e8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-20 03:14:58 +0900

    BigDecimal#precs is deprecated

commit c01ad11f908c2a57c2348e83d109b08fdd89dc4e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-20 03:13:33 +0900

    bigdecimal: initialize conditionally assigned variable

commit b2acae32742adf86a64ba5c0af55830bb3bddc0d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-20 02:56:18 +0900

    Reduced ID caches

    NEW_GASGN and NEW_GVAR evaluate `id` argument twice.

commit a273171ca8848e85367628343ddd64ac6c0f70c1
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-20 03:08:24 +0900

    Tweak Ractor doc [doc] [ci skip]

commit 1f565ac6d98e902f51a0ea7b8b4aa85693deea6e
  Author: Victor Shepelev <zverok.offline@gmail.com>
  Date:   2020-12-20 03:04:40 +0900

    Add documentation for Ractor (#3895)

  Notes:
    Merged-By: marcandre <github@marc-andre.ca>

commit d44671c819e104d329e604fdf9bb59bbb426afb5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-28 18:39:57 +0900

    Revived the getenv macro for dln_find.c

    This partially reverts commit "Windows: Improve readablity of
    getenv() encoding" 14453a256d58b11b06d432e2a4388d95aac298d6.

    The `getenv` macro defined here is to also substitute the function
    in dln_find.c, not only in this file.

commit 50f1e7eb23382ca1f62668d9067cce2fc09ee866
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-20 00:42:04 +0900

    NEWS: Add an entry of Pathname [ci skip]

commit 48bd5a3d577d48e4feab7e843dfac037335ff575
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-20 00:41:06 +0900

    * 2020-12-20 [ci skip]

commit de80b928910b7ca785725382cec53cb27f1d65ed
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-12-20 00:40:47 +0900

    [pathname] Make Pathname Ractor safe (#3940)

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit d62414b48fbb944cc9e4442ad7d04d40a27fa4e9
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-19 22:15:48 +0900

    NEWS: Update BigDecimal version [ci skip]

commit 8355a3e17b6ea05ee60400ae41a1553eee900ed8
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-19 21:13:33 +0900

    [bigdecimal] Fix deprecation warning test

commit 8986f948e0a7da0e53647d1ce7ea8d626051b7e3
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-19 19:21:56 +0900

    [bigdecimal] Version 3.0.0

    https://github.com/ruby/bigdecimal/commit/e68f1eb33a

commit df3deb3baa0eabc66a47879be115ae3ffca4daba
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-19 17:06:14 +0900

    [bigdecimal] Add BigDecimal#n_significant_digits

    https://github.com/ruby/bigdecimal/commit/981dc48f95
    https://github.com/ruby/bigdecimal/commit/9ecf880ec04

commit 654f6fbf19c0ca2e01765a909b4d952b7f0f5baa
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-19 11:55:46 +0900

    [bigdecimal] Make BigDecimal#precs deprecated

    https://github.com/ruby/bigdecimal/commit/7e80e6e145
    https://github.com/ruby/bigdecimal/commit/0ed7846e8c

commit ff9e40811c67b1090966b655f7adc0684fc58abe
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-19 04:24:15 +0900

    [bigdecimal] Add BigDecimal#precision

    https://github.com/ruby/bigdecimal/commit/458eb66c49

commit 928a06723d1ede495b7c3b42f3ca48e370ccec77
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-19 02:45:47 +0900

    [bigdecimal] Make bigdecimal Ractor safe

    https://github.com/ruby/bigdecimal/commit/93fc392640
    https://github.com/ruby/bigdecimal/commit/a90d13c4d0

commit 97d4e72e0bc4b07442f5ce674a945df91d9fce3c
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-19 01:30:37 +0900

    [bigdecimal] Use DBLE_FIG

    https://github.com/ruby/bigdecimal/commit/12296dcb90

commit e1424c35012ccf1f3822c9046081b225aef4142e
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-18 23:46:26 +0900

    [bigdecimal] Fix the default precision of Float#to_d

    Fix https://github.com/ruby/bigdecimal/issues/70
    [Bug #13331]

    https://github.com/ruby/bigdecimal/commit/aa536cd4b5

commit 4735a5b9d2cbde69c501ee8d5bb570f4fac7e51d
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-19 21:19:16 +0900

    test/ruby/test_module.rb: Avoid "warning: method redefined"

commit 1ba8d63b49318e5682a22502c5f5b70e3298da8f
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-19 18:22:44 +0900

    Recommit 34f06062174882a98ebef998c50ad8d4f7fc0f2e

commit eb8ea336d33af7e1dec4c17964c671c33cf75ce1
  Author: Radosław Bułat <radek.bulat@gmail.com>
  Date:   2020-12-19 03:17:57 +0900

    Feature 17314: allow to pass array to public, protected and private methods

commit 8148f88b92a6b8d850b991afe74fb0d0f9c11887
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-19 18:04:47 +0900

    ALWAYS_INLINE implies inline

commit 0d3dc2ec807c313d0952d15ac4f30bc8586bba2f
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-18 04:43:11 +0900

    Make `Hash#except` always return a Hash

    [Feature #15822]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3929

commit 5611066e03fe73bdbb08cc46f79530c69975cf17
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-19 17:33:21 +0900

    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
    ```

commit e33eb09b76e9070fd49837e8b896319636501b38
  Author: Nobuhiro IMAI <nov@yo.rim.or.jp>
  Date:   2020-12-19 01:31:12 +0900

    ripper: fix `#tok` on some error events [Bug 17345]

    sorting alias target by event arity, and setup suitable `Elem` for error.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3936

commit 52b1716c78a7ad9daa317e3eb43f744744b9f736
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-19 17:27:42 +0900

    Fix vm_search_invokeblock

    call_ needs to be vm_invokeblock_i, and flags is also not empty.

commit 8ec8f37566902c0167f736d345bb5c8cca6016d3
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-19 16:30:09 +0900

    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

commit 349e79bae02a8a161c06ba5f6fa203d609f6e8b9
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-19 16:53:18 +0900

    Try to test with rake-13.0.2 again.

      [ruby/fileutils] Make verbose output go to stdout instead of stderr

      This reverts commit 510df47f5f7f83918d3aa00316c8a5b959d80d7c.

commit bdd18090ad75cd5659b561890756c5e0b1227b69
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-19 16:52:56 +0900

    Bump bundled rake version to 13.0.2

commit a139318538f070cb3eb2ca1a72ae56a8c9c4acad
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-19 15:51:42 +0900

    Added macros for headers which are not included by ruby.h

commit 042c3e91fbc621e28e5edda015c43e01341fee1c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-19 16:10:57 +0900

    Check macros for headers

commit 197550c9564d56372d4ea30dd3f17c8905072c21
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-19 16:09:54 +0900

    Renamed check_encoding.yml as check_misc.yml [ci skip]

commit 5c9d6ea6b43443c470a490858a8ad11b36ed5516
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-19 15:34:26 +0900

    Strip trailing spaces [ci skip]

commit 553d6fa0a05fc766229c094b231ac1e103906ba8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-19 15:32:06 +0900

    [DOC] Marked dtrace arguments as description list [ci skip]

commit a5832c9a37c34756020425b60dd265ca1a45d95b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-19 15:01:47 +0900

    [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.

commit 144b11e03ee0994cacd3fa5eb9ff8b87bd627452
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-12-19 15:24:09 +0900

    Fix `warning: instance variable @head not initialized` and remove unused instance variable

commit e64af7d5ad8791cc8fe5ea4e75072e3857bcb270
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-19 15:08:54 +0900

    NEWS: Add an entry of Digest 3.0.0 [ci skip]

commit 0cb556b457cdb200966aa011de21b752940a9c1f
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-18 17:56:01 +0900

    [digest] Version 3.0.0

    https://github.com/ruby/digest/commit/4bbd247a32

commit b66f52b0e374d298cbd3a68029226dc1ccd77554
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-16 23:04:42 +0900

    [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

commit feacae193ca3856b1d326697835357791a6df12b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-17 11:02:31 +0900

    [digest] Added rb_digest_make_metadata to wrap metadata

    https://github.com/ruby/digest/commit/7046fe6005

commit 5b2cf7eac89550fc88aea45ad2a9dfe9a261c2b1
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-19 11:48:04 +0900

    Partially reintroduce e042e8460bb9a63c05f938d51e8c7c5345a6f3a4 and ...

    34f06062174882a98ebef998c50ad8d4f7fc0f2e

    Add a test for alias_method

commit 51bcd50915941d21df806e8dcde769ae63b6eaaf
  Author: Radosław Bułat <radek.bulat@gmail.com>
  Date:   2020-12-19 03:14:23 +0900

    Feature 17314: alias_method returns symbol

commit 34f6b22df073fe86e30aca99be5aa0b0eb8653df
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-18 12:10:20 +0900

    Use rb_id_attrset without intermediate strings

commit 5616f2ee93e63e575dc5e30db75a6f475ac57fb3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-18 12:59:01 +0900

    Added missing tests for public, private, protected and alias_method

commit d40d95296d0947edf513ad5bc7d4bf338b2e3877
  Author: Radosław Bułat <radek.bulat@gmail.com>
  Date:   2020-12-19 01:40:31 +0900

    Feature 17314: update docs and NEWS about attr* methods returning array of symbols

commit 76e88480371469400346fca609efe67096813915
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-19 05:57:12 +0900

    unfreeze Ractor::MovedObject

    Matz prefers to unfreeze the class.
    [Feature #17401]

commit 80cb9165fa34185b601970da407a295a78ec9eff
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-19 05:52:18 +0900

    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.

commit cee02d754d76563635c1db90d2ab6c01f8492470
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-19 04:30:25 +0900

    fix refinements/prepend bug

    replaced method entry should be invalidated.
    [Bug #17386]

commit 04d62e6f6202684c57f2fcf71bbfcb891cd4ddd9
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-19 04:29:58 +0900

    fix method cache debug tool

commit 0e79d4cde547edd52b2d5bf576780906e45a742d
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-19 03:25:48 +0900

    Added tests for [Feature #17314]

    Partially reintroduce 34f06062174882a98ebef998c50ad8d4f7fc0f2e

commit aa7a02071072b5b0dd15357740d0ffd506bb0381
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-19 03:20:09 +0900

    Revert "Revert "Use rb_id_attrset without intermediate strings""

    This reverts commit 41c208d4a463183fddca250026e5f1cd759d2604.

    Reintroduce 66090b9d10cdaed917b525225e59d1c19e399248.

commit 346bf0f5a586ce6140e28aca145e5b6a8160ee4f
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-19 03:16:20 +0900

    spec/ruby/core/module/attr_*: Add version guards

commit 5944c4b3cfbbf8b774a4a76ca71ab9f71c71d1b0
  Author: Radosław Bułat <radek.bulat@gmail.com>
  Date:   2020-12-19 03:11:35 +0900

    attr_reader, attr_writer, attr_accessor and attr methods returns array of symbols (#3935)

    Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>

  Notes:
    Merged-By: mame <mame@ruby-lang.org>

commit f6641d73764115c3f6bdf435a381711d894300b6
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-19 03:06:16 +0900

    NEWS: Add an entry of StringScanner 3.0.0 [ci skip]

commit b3b7f1e580007fbb21e37afcfcde56364825fc69
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-19 03:05:00 +0900

    NEWS: Add an entry of StringIO 3.0.0 [ci skip]

commit f213a271a1eedfe6b956826ea9a60b334452c4ee
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-19 03:02:04 +0900

    NEWS: fiddle 1.0.4 [ci skip]

commit 7e2dbbda357b8c509358a3aa10ff6d588ed819e2
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-12-17 02:02:23 +0900

    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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3917

commit 05313c914b29f7027b27a91021ae2662f0149e54
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-29 02:10:31 +0900

    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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3917

commit 6ced55b07cf00e4ce8ffac5762f10e8ff1ecc59b
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-12-17 01:37:04 +0900

    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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3917

commit 52fb696ee7d01b1d55a1d5c42c60c6a5ebfc4502
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-12-17 01:15:13 +0900

    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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3917

commit 7b06085c7bf8cc0db157e46fb11d16a6447d4d63
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-19 02:44:20 +0900

    [bigdecimal] Fix test for d5ab8e8562

commit d5ab8e8562ec15979a32365fe4bf85be9e6334c0
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-19 02:29:18 +0900

    [bigdecimal] Use rb_undef_alloc_func to undefine allocate

commit c2a5594e271170b57f92d7461466f3c0ab8da863
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-19 00:41:00 +0900

    [ruby/reline] Use cached prompt list when just moved the cursor

    https://github.com/ruby/reline/commit/cfe619460b

commit d4257c6152ac9ad5179eb77d6e68942a5b9c011f
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-18 23:36:33 +0900

    [ruby/reline] Yank by em-kill-region correctly

    This closes ruby/reline#106.

    https://github.com/ruby/reline/commit/2549a52e15

commit af2c81e10c15c267611e59f11b7152545c617826
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-18 23:35:15 +0900

    [ruby/reline] Bind yank-pop correctly

    https://github.com/ruby/reline/commit/3c74beac65

commit 671f2762fb8a4832d2c17322ee600f53c91f76f5
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-18 22:25:09 +0900

    [ruby/reline] Add Enumerable to KillRing for debugging

    https://github.com/ruby/reline/commit/d208874152

commit dc61affd67a3e93c870bf6f79eefc0473630d6f1
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-19 01:52:14 +0900

    [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

commit e76b56f58e44cb54497d93526d649950f5bdd1c0
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-19 02:04:34 +0900

    support Ruby 2.x for openssl

commit ad76c8fb6bc9df26601b0b454f3f0b61c2c772c9
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-18 23:16:54 +0900

    Update TypeProf to 0.10.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3933

commit 19a98a8791f99085aca11413a331811659c8b78c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-19 00:34:14 +0900

    Fixed not to make non-literal expression shareable [Feature #17273]

    Non-literal expression which is not a part of a literal expression
    is not a subject of `shareable_literal_value: literal`.

commit 6945597f6ff491a3f745b66017190715d1642563
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-19 00:04:41 +0900

    * 2020-12-19 [ci skip]

commit ed5c09f38459fe4a0f94c9e24358b21ff5f151c6
  Author: Radosław Bułat <radek.bulat@gmail.com>
  Date:   2020-11-09 19:25:11 +0900

    Remove unused variable

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3934

commit c71934f8a50746c9cd01a86375b178d5c7823259
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-18 09:24:37 +0900

    [stringio] Version 3.0.0

    https://github.com/ruby/stringio/commit/831be01071

commit e1b5289a2bf297d80ea35b32a32a0c5c34ab2ad8
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-17 10:38:42 +0900

    [stringio] Add test-unit in the development dependencies

    https://github.com/ruby/stringio/commit/de010fc0e9

commit 3d3194412918012ddab185751b84ebb64fe6e5d5
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-17 10:05:07 +0900

    [stringio] Make stringio Ractor safe

    https://github.com/ruby/stringio/commit/ee3fec7512
    https://github.com/ruby/stringio/commit/18dcd045ef
    https://github.com/ruby/stringio/commit/18dcd045ef

commit 14ca7f633cae9938b7d8bc722fe1c5c96f6bcd95
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-18 21:58:41 +0900

    [openssl] Fix dependencies

commit b5588edc0a538de840c79e0bbc9d271ba0c5a711
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-18 18:19:33 +0900

    openssl is ractor-safe

    ossl_bn_ctx is C's global variable and it should be ractor-local
    to make it ractor-safe.

commit 74ab2c3b463da4d98803fe694acad831938a97e5
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-18 17:59:26 +0900

    finalizing should be checked before VM lock

commit 7d32bf78537eaeb046166b45a79b47316ccf6f02
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-18 17:56:08 +0900

    Removed a moved local variable

commit 61236770e6cc41f1364dc04249d845def03d9f37
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-18 17:49:22 +0900

    need to sync gc_finalize_deferred

    gc_finalize_deferred() runs finalizers and it accesses objspace,
    so it need to sync.

commit 75416b86287c8266cef3a8b372625c1738661a24
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-17 13:50:08 +0900

    Removed old GC.stat keys deprecated since 2.2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3921

commit 763d5f9c6baf57108396ee5452fa73c834fe9ce0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-17 13:49:10 +0900

    Removed old GC tuning environment variables deprecated since 2.1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3921

commit 982443e6e373f5a3ac22ee495909cb9adffcd08d
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-18 14:12:42 +0900

    Revert "Better cooperation between public/protected/private with attr* and alias_method"

    This reverts commit 81739ad4fdfcc86a769056fec352f27c686fba1b.

commit 41c208d4a463183fddca250026e5f1cd759d2604
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-18 14:12:38 +0900

    Revert "Use rb_id_attrset without intermediate strings"

    This reverts commit 66090b9d10cdaed917b525225e59d1c19e399248.

commit c4e50b58d1e6f030b24faffbc208d3d454d1f433
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-18 14:12:15 +0900

    Revert "Added missing tests for public, private, protected and alias_method"

    This reverts commit e042e8460bb9a63c05f938d51e8c7c5345a6f3a4.

commit 0a60ba923e044ec2e84ac63406ca85b7bb8fc73f
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-18 14:12:09 +0900

    Revert "Added tests for [Feature #17314]"

    This reverts commit 34f06062174882a98ebef998c50ad8d4f7fc0f2e.

commit 8e03e3b0baf12b0e470ef7188559097fea95cb37
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-18 15:09:55 +0900

    Drop token info also for endless singleton method definition

commit ffc8a72f39f15d2977908a71d0c3bd8047c1fd41
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-12-18 14:59:20 +0900

    Sort URLs by issue numbers [ci skip]

commit f0ec923c5852b9ae9c82824137641e4e1dfad35a
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-18 14:36:06 +0900

    Remove --jit-save-temps from MJIT

    It's probably not helping the backtrace.

commit b5de66e13278ec588cbc8b76b7212e22898e6a89
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-17 22:40:26 +0900

    [strscan] Fix license comment and files

    https://github.com/ruby/strscan/commit/a999f2c6d1

commit 5370963992a0c79925c812e70beb94d09dbc5e47
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-17 18:32:08 +0900

    [strscan] Version 3.0.0

    https://github.com/ruby/strscan/commit/08645e4e77

commit 985f0af2576c4b4f9f4e75dce7299ba9d55d9419
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-12-17 18:29:21 +0900

    [strscan] Make strscan Ractor safe (#17)

    * Make strscan Ractor safe

    * Add test-unit in the development dependencies

    https://github.com/ruby/strscan/commit/3c93c2bebe

commit cfa124ef05e1b899c1953888c0fb3076388a0d8e
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-18 14:14:40 +0900

    acquire VM lock on gc_verify_internal_consistency()

    There is a case to call this function without VM lock acquiring.

commit 8cba3b35e095bf17308ed00bf19f6d6f7a682ae2
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-18 14:11:50 +0900

    Bump version RubyGems and Bundler in NEWS

commit b44f7151c71011460877bdba549453aaeada88fe
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-18 11:37:13 +0900

    zlib is ractor-safe

commit 0e40cc9b194a5e46024d32b85a61e651372a65cb
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-18 12:13:33 +0900

    Merge RubyGems 3.2.2 and Bundler 2.2.2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3930

commit 34f06062174882a98ebef998c50ad8d4f7fc0f2e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-18 13:03:22 +0900

    Added tests for [Feature #17314]

commit e042e8460bb9a63c05f938d51e8c7c5345a6f3a4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-18 12:59:01 +0900

    Added missing tests for public, private, protected and alias_method

commit 66090b9d10cdaed917b525225e59d1c19e399248
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-18 12:10:20 +0900

    Use rb_id_attrset without intermediate strings

commit a07f2498031d5f4c53ddc03d61a8a41a6b77baca
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-18 11:23:16 +0900

    socket is ractor-safe.

commit aa82b067cbf24e781fedfe951be153b6b1d21ddf
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-12-18 11:18:09 +0900

    ruby_set_stack_size: no longer exists

    Deleted since fc3c60f6081d85f6274986a7a08b59db1515fcb5

commit 51c2725dc646030283d01ce23a32c06f0f1c8bf6
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-18 09:12:26 +0900

    use eval to create different Regexp objects

    Only one warning is shown for the same Regexp object, so create
    different objects to support repeating tests.

    http://ci.rvm.jp/results/trunk-repeat20@phosphorus-docker/3290658

commit 29e42b8bfdfc7a2d879a4ddb1db3d4453d66143a
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-18 08:25:24 +0900

    add explicit check

    To debug this issue:
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20201217T220004Z.fail.html.gz

commit 895b10ad020a788566c6e35431d07e6121e38c87
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-12-18 06:25:35 +0900

    Add documentation about GC.compact

    [Misc #16443][ruby-core:96395]

commit 81739ad4fdfcc86a769056fec352f27c686fba1b
  Author: Radosław Bułat <radek.bulat@gmail.com>
  Date:   2020-11-09 19:25:11 +0900

    Better cooperation between public/protected/private with attr* and alias_method

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3757

commit f7a6b460d5cf3665d3cc682fec34f989b639e7a6
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-18 01:20:56 +0900

    * 2020-12-18 [ci skip]

commit 6538c89f1c9d1af95c0fb3e58ac0e807a5fe47f4
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-18 01:19:03 +0900

    gc_verify_internal_consistency() needs barrier

    gc_verify_internal_consistency() accesses all slots (objects) so
    all ractors should stop before starting this function.

commit caef364cc5e9816b398f46a7da50057707f87af3
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-17 22:39:37 +0900

    test/ruby: suppress some warnings

    follow up to 9908177857a28633d6279c43a1ad4dfedcb98596

commit 980f994b3b349486c5e64b51241330d4c9fc63f1
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-11-21 06:58:02 +0900

    [ruby/irb] Change context-mode's default to new mode 4.

    This new mode uses a copy of the TOPLEVEL_BINDING. This is compatible with refinements (contrary to mode 3), while keeping nested IRB sessions separate

    https://github.com/ruby/irb/commit/25c731cb2f

commit 753222d72c8787f2d57781c2e55194da2d3d0d8f
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-12-09 01:56:01 +0900

    [ruby/irb] Enable deprecation warnings when using -W or -w

    Requested in Ruby Bug 17377

    https://github.com/ruby/irb/commit/698f6eb34a

commit 336fe648b08e7bd062dc8d4cc11781dd8d617f11
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-11-06 02:13:56 +0900

    [ruby/irb] Skip the few failing tests on TruffleRuby

    https://github.com/ruby/irb/commit/22717844c0

commit b5effe07bd7965a3d90c36509025c4231f306741
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-22 22:03:09 +0900

    [ruby/irb] Fixed a typo in a comment [ci skip]

    https://github.com/ruby/irb/commit/ce373417f3

commit cbf6a7f906d17968c8f54f4efb1899e9b204ccfe
  Author: Nobuhiro IMAI <nov@yo.rim.or.jp>
  Date:   2020-11-21 08:40:31 +0900

    [ruby/irb] workaround for lack of tokens from `Ripper.lex`

    * Fixes #38

    https://github.com/ruby/irb/commit/905fb8e52e

commit 422e2c7274d9dbf1ff93dccc0c3c388f4775e636
  Author: Robert Schulze <robert@dotless.de>
  Date:   2020-05-05 16:24:52 +0900

    [ruby/reline] Use plus operator to create unfrozen string

    https://github.com/ruby/reline/commit/ca274b0d37

commit cdf2790aa089c5ff608dd97407b5ce684cc9f415
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-17 19:57:44 +0900

    [ruby/reline] Support longer than screen height on Windows

    https://github.com/ruby/reline/commit/2a97ca9362

commit 0158ba7e51cb3fc5a204cb65d1be1618802e08d2
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-16 16:28:51 +0900

    [ruby/reline] Make a log file on windows if debug env is set

    https://github.com/ruby/reline/commit/dff30a2d44

commit 2b8fa7817643a9ac7632b66ffed7cb5fd3753966
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-13 11:30:05 +0900

    [ruby/reline] Support longer than screen height

    https://github.com/ruby/reline/commit/e83a3de9ed

commit 9908177857a28633d6279c43a1ad4dfedcb98596
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-17 20:06:18 +0900

    test/ruby: Check warning messages at a finer granularity

    Instead of suppressing all warnings wholly in each test scripts by
    setting `$VERBOSE` to `nil` in `setup` methods.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3925

    Merged-By: nobu <nobu@ruby-lang.org>

commit d597d7a8b6e753cfe40b8470c770f744adde5d4f
  Author: Yale Kozinski <ytk@kozinski.com>
  Date:   2020-11-23 18:17:06 +0900

    Fixing glitchy kill ring behavior in irb
    See https://github.com/ruby/irb/issues/85 for details

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3806

commit da3438a50454706cce2e5b06bdad498b42977f8f
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-17 17:29:05 +0900

    sync obj_to_id_tbl

    objspace->obj_to_id_tbl is a shared table so we need to synchronize
    it to access.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3924

commit 7f11c8086a4b5924737223322e24be23e9ff34c5
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-17 17:20:29 +0900

    reduce barrier counts for GC events

    mark needs barrier (stop other ractors), but other GC events don't need
    barriers (maybe...).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3923

commit 99b91453809be68c604f94416030addfff3d6142
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-17 04:06:04 +0900

    relax synchronization on WB

    Current synchronization is too much on write barriers.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3918

commit 44fba194a5561a5ca20f6bd91fb96b7d8edd1dbb
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-17 17:24:51 +0900

    ruby/pathname separated .rb file to top-level directory.

commit c42948d78463d7e38f04070236985dcda895efd5
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-17 17:03:05 +0900

    add debug counters for gc start events

commit 92137718170118030a1f56303764d08201bf5c33
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-17 15:46:36 +0900

    encourage inlining for vm_sendish()

    Some tunings.
    * add `inline` for vm_sendish()
    * pass enum instead of func ptr to vm_sendish()
    * reorder initial order of `calling` struct.
    * add ALWAYS_INLINE for vm_search_method_fastpath()
    * call vm_search_method_fastpath() from vm_sendish()

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3922

commit 5d74894f2bc4a3a18aec952d946ead3d784cb4b4
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-17 15:08:04 +0900

    Lazily move PC with RUBY_VM_CHECK_INTS

    ```
    $ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
    before --jit: ruby 3.0.0dev (2020-12-17T06:17:46Z master 3b4d698e0b) +JIT [x86_64-linux]
    after --jit: ruby 3.0.0dev (2020-12-17T07:01:48Z master 843abb96f0) +JIT [x86_64-linux]
    last_commit=Lazily move PC with RUBY_VM_CHECK_INTS
    Calculating -------------------------------------
                                     before --jit           after --jit
    Optcarrot Lan_Master.nes    80.29343646660429     83.15779723251525 fps
                                82.26755637885149     85.50197941326810
                                83.50682959728820     88.14657804306270
                                85.01236533133049     88.78201988978667
                                87.81799334561326     88.94841008936447
                                87.88228562393064     89.37925215601926
                                88.06695585889995     89.86143277214475
                                88.84730834922165     90.00773346420887
                                90.46317871213088     90.82603371104014
                                90.96308347148916     91.29797694822179
                                90.97945938504556     91.31086331868738
                                91.57127890154500     91.49949184318844
    ```

commit 3b4d698e0b5a79b63b05ae0c79d282a9049225e4
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-17 15:12:50 +0900

    Ignore catch_except_p for PC motion

    We probably don't need to move it when an insn is leaf...

commit a09c3c6fe1f24e5956b43157e6e40dfe4f986bed
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-17 14:37:45 +0900

    expand VERSION path for ruby repository.

commit 46ea74297eb3e46e19fb692a8d8eef817b93a49b
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-17 14:20:42 +0900

    Bump version to json-2.4.1 and use VERSION file for json version same as upstream

commit ccf9da079f0a9987f80d74b971a11bcd236d3576
  Author: d-m-u <16326669+d-m-u@users.noreply.github.com>
  Date:   2020-12-17 13:20:49 +0900

    fix doc typo

    s/it's/its

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3920

commit d07183ec85dc20c7c034170bd8964c79c34a47d7
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-17 12:43:17 +0900

    Do not access jit_unit if NULL

commit 93ba3ac03681a2a65ca28b4c5aaba72da9e16f97
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-17 03:46:44 +0900

    RGENGC_PROFILE=0

    Enabled this flag, maybe accidentally.

commit 2a3324fcd2f9681e167b2619563a5c26e1a362fe
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-17 01:56:30 +0900

    No sync on ASCII/US_ASCCII/UTF-8

    rb_enc_from_index(index) doesn't need locking if index specify
    ASCII/US_ASCCII/UTF-8.
    rb_enc_from_index() is called frequently so it has impact.

                                   user     system      total        real
    r_parallel/miniruby       174  0.000209   0.000000   5.559872 (  1.811501)
    r_parallel/master_mini    175  0.000238   0.000000  12.664707 (  3.523641)

    (repeat x1000 `s.split(/,/)` where s = '0,,' * 1000)

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3916

commit c58142134cccdd31811f12aabf4f9dd3ce6a17f7
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-17 01:29:15 +0900

    make RB_DEBUG_COUNTER_INC()_thread-safe

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3915

commit d5929b39a9c7944de14c133fa3948b7b3a92e423
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-16 23:57:35 +0900

    Make Ractor#receive_if private

commit 24f018972b958d6287c71a4682ea1dcc8d1fa16e
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-17 00:31:14 +0900

    fix timing bug

    ractor_sleep() can remain wait.status by interrupt, so that this
    patch handles more correctly.

    This patch fixed this kind of assertion failures:

       Assertion Failed: ../src/ractor.c:1332:ractor_yield_atexit:cr->sync.wait.status == wait_none

commit 84c9ebd65f8a6fcd2e22225c563fb671dc690a9a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-17 00:31:09 +0900

    * 2020-12-17 [ci skip]

commit b29c0fadeca7bd7d00d9fe17345fe88bf968312f
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-17 00:28:48 +0900

    add HAVE_RB_EXT_RACTOR_SAFE macro

    define HAVE_RB_EXT_RACTOR_SAFE to check rb_ext_ractor_safe() is
    available or not.

commit 53babf35ef5b643774636550ea23851e2607e076
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-16 23:24:07 +0900

    Inline getconstant on JIT (#3906)

    * Inline getconstant on JIT

    * Support USE_MJIT=0

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit bfb374be2342d7822cd37a1b100cb1715f85ca74
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-12-16 22:59:05 +0900

    Fix a typo [ci skip]

commit 9c859f4b3c2098af590d3e0eadc2d1011fb32bb8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-16 22:53:43 +0900

    Ripper: Pass callback result to alias_error as well as other errors

    [Bug #17345]

commit 47328ad217ecaf240f0faedac89723dcd6a917ac
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-16 21:01:45 +0900

    Ripper: Fixed erred token on wrong alias [Bug #17345]

commit 359ad4423ed0f314822a3b97831fe9e4272ea347
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-16 20:33:31 +0900

    strip trailing spaces [ci skip]

commit a9a7f4d8b8ec30abc7a47ce700edc7209ae12279
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-08 14:04:18 +0900

    Ractor#receive_if to receive only matched messages

    Instead of Ractor.receive, Ractor.receive_if can provide a pattern
    by a block and you can choose the receiving message.

    [Feature #17378]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3862

commit ddb93c3d64b8997c85f23c96a73ad0a9a7f82ad1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-16 17:05:39 +0900

    Made LARGEFILE_SUPPORT mandatory

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3914

commit 5193fbb6d0dedfbc2b3c017456fb58a13136de01
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-16 17:00:04 +0900

    Removed stale declaration

    rb_w32_pipe_exec was removed in 1.9.3, at
    commit:7ac32d7a16734ea66de15319bcff2fd429abae7f.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3914

commit 8b32191a3101cb6441fc64c87cfd011fdadc6867
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-15 23:17:23 +0900

    Ignore failure on unsupported fcntl to drop non-blocking mode

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3913

commit 4fe7f270ce924b6339e9ccf56c3fff2de3f4fa8b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-16 17:39:23 +0900

    Different names instead of `ulimit`

commit 5d8f227d0edd3c542fcac465eb82005a5f852d34
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-16 16:14:02 +0900

    Lazily move units from active_units to stale_units

    to avoid SEGV like
    http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker/3289588
    by a race condition between mjit_recompile and compation around active_units

commit 0a521618723e5e602c1288b4185b869e94332172
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-16 17:18:07 +0900

    fix Ractor#receive by other ractors

    Ractor#receive can be called by the another Ractors using send,
    so making this method completely same as `Ractor.receive` even if
    the ractor is specified by the receiver (OO term :p).

commit c668772b145b7fd889000480778e011a808442ab
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-16 16:17:54 +0900

    test/ruby/test_enum.rb: Avoid "warning: assigned but unused variable"

commit 19157a3c001d68acdc8e5190a806189840d23375
  Author: David CARLIER <devnexen@gmail.com>
  Date:   2020-12-16 15:32:11 +0900

    vm debug: dump registers on ARM too. (#3900)

    * vm debug: dump registers on ARM too.

  Notes:
    Merged-By: nurse <naruse@airemix.jp>

commit 98dca855736c9fb8d4edef8b33a5df1cfe67ebb7
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-16 14:13:32 +0900

    tuning vm_setivar_slowpath() more.

    specify inline/noinline code for is_attr condition.

commit 1bafb3cb47649037cc93fec97503c18a864e3983
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-12-16 13:43:56 +0900

    [memory_view] Make MemoryView API Ractor-safe (#3911)

    * memory_view.c: make Ractor-safe

    * test/ruby/test_memory_view.rb: Add test_ractor

    * memory_view: fix typo

    * memory_view.c: Use st_update in unregster_exported_object

    * memory_view: update dependency

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 1e11c12a066036e85177104a9f8f5469063858a7
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-16 13:30:34 +0900

    remove unused function

commit 5499651ee75538a4d8a3bb4a7442f5f59f36acd8
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-16 12:03:36 +0900

    tuning ivar set

    * make rb_init_iv_list() simple
    * introduce vm_setivar_slowpath() for cache miss cases

    ../clean/miniruby is 647ee6f091.

    Calculating -------------------------------------
                          ./miniruby  ../clean/miniruby  ../ruby_2_7/miniruby
             vm_ivar_init     7.388M             6.814M                5.771M i/s -     30.000M times in 4.060420s 4.402534s 5.198781s
    vm_ivar_init_subclass     2.158M             2.147M                1.974M i/s -      3.000M times in 1.390328s 1.397587s 1.519951s
              vm_ivar_set   128.607M            97.931M              140.668M i/s -     30.000M times in 0.233269s 0.306338s 0.213268s
                  vm_ivar   144.315M           151.722M              117.734M i/s -     30.000M times in 0.207879s 0.197730s 0.254811s

    Comparison:
                          vm_ivar_init
               ./miniruby:   7388398.8 i/s
        ../clean/miniruby:   6814257.1 i/s - 1.08x  slower
     ../ruby_2_7/miniruby:   5770583.9 i/s - 1.28x  slower

                 vm_ivar_init_subclass
               ./miniruby:   2157763.6 i/s
        ../clean/miniruby:   2146557.0 i/s - 1.01x  slower
     ../ruby_2_7/miniruby:   1973747.9 i/s - 1.09x  slower

                           vm_ivar_set
     ../ruby_2_7/miniruby: 140668063.8 i/s
               ./miniruby: 128606912.1 i/s - 1.09x  slower
        ../clean/miniruby:  97931027.8 i/s - 1.44x  slower

                               vm_ivar
        ../clean/miniruby: 151722121.9 i/s
               ./miniruby: 144314526.5 i/s - 1.05x  slower
     ../ruby_2_7/miniruby: 117734305.5 i/s - 1.29x  slower

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3912

commit ad8e82f70828bf6a0a36648f8b4bdc3142b09968
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-16 12:31:40 +0900

    Fixed marshal compatibility of Process::Status

commit b30d7fea569cf64325d55b901af784ee13a477f8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-16 12:14:30 +0900

    Removed leading spaces [ci skip]

commit cfefd1e524fdd8c832c5a762d5ec969b71190827
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-16 11:26:26 +0900

    Added entry for webrick changes at Ruby 3.0 to NEWS

commit 0b678cc9e5a5149e40765562142ed1dc05d09b53
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-16 10:10:05 +0900

    add vm_sync debug counters

    * vm_sync_lock
    * vm_sync_lock_enter
    * vm_sync_lock_enter_nb
    * vm_sync_lock_enter_cr
    * vm_sync_barrier

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3910

commit 171f0431e766ba5b1a326386fff34a30f6cbc4c5
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-16 10:36:23 +0900

    fix typo

commit dff67c809f786c94933583a450dbd9398fa07039
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-16 10:29:48 +0900

    fix duplicated name

commit ccc828f49956424b2548e32cb3bc3a78e16e207b
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-12-15 16:57:28 +0900

    configure.ac: avoid squashing CXX=g++

    We are discussing this issue at [Bug #17337] but in the meantime, leave
    this questionable autoconf glitch as-is to save sassc and eventmachine.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3907

commit 8558d5e4801b74b058dc2a534be2be85037cadb5
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-16 07:05:35 +0900

    Document Hash#transform_keys with hash. Amend NEWS [DOC] [ci skip]

commit d5f0d338c7b5d3d64929b51d29061d369550e8c4
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-09 11:20:37 +0900

    Optimize `Enumerable#grep{_v}`

    [Bug #17030]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3868

commit a039dc018ccf34e217f767eac500b9400c58f069
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-16 00:07:37 +0900

    [DOC] Described "numeric representation" more precisely [ci skip]

    [Bug #17395]

commit efc6a4e580b863ee032d61a7f3927be86de64a03
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-16 00:04:59 +0900

    * 2020-12-16 [ci skip]

commit 289d42c932b744260359ee2c02d6723ecb8fc714
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-15 23:43:08 +0900

    Removed unneeded cast and use the real name

commit 8f6cb5b70b5ca107260960a107e257ef202c9dc0
  Author: Zoltán Mizsei <zmizsei@extrowerk.com>
  Date:   2020-10-30 06:47:24 +0900

    TEST: multiarch support for Haiku

commit 95423215849ad26e1b928b3d36af021472bb185b
  Author: Zoltán Mizsei <zmizsei@extrowerk.com>
  Date:   2020-10-30 06:49:45 +0900

    Haiku: disable stack-protector

commit 4d43ac2fb94de27ed6f87f92f2ef71808c9cc44b
  Author: Zoltán Mizsei <zmizsei@extrowerk.com>
  Date:   2020-10-30 06:49:17 +0900

    Add Haiku to the context support list

commit e0bdd54348514ff06df88a9bac88fa56058235a4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-15 14:14:13 +0900

    Ripper: Refined error callbacks [Bug #17345]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3909

commit 2e436982ee64301aceb97e0c8d5b06b94fc7b580
  Author: Junichi Ito <jit@sonicgarden.jp>
  Date:   2020-12-15 20:11:02 +0900

    Fix typo in NEWS.md

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3908

commit 151ff609e595e78b7937ecb4b011879dc5a0cbd1
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-15 20:05:32 +0900

    Added updated versions of the default gems on NEWS

commit ad3e3bd65a69c05035289b0dbf04394a8238fbfb
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-15 19:54:58 +0900

    Bump version to json-2.4.0

commit 5463eff5f6236f89c137c562ee271e1c1ff92a89
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-15 16:33:49 +0900

    Lock only active_units references

    556a7285080c1344c75bb93a333c9bfc5d631c61 was not good maybe because it
    wasn't using list_for_each_safe. If list_for_each_safe is safe for
    list_del for any nodes (is that true?), this should be fine.

commit ce6fafb8cc59658245a70ff24c75a3108a39ba93
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-15 15:15:23 +0900

    Cache warning category IDs

commit a86c147579745859ea064ec22b2901a7ac7e4abf
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-12-15 15:17:15 +0900

    Import bigdecimal 2.0.2 (#3905)

    * remove duplicated include

    * Make BigDecimal#round with argument < 1 return Integer

    Fixes [Bug #12780]

    * Use a higher default precision for BigDecimal#power and #**

    When a fractional power is given, increase the precision if the
    precision isn't specified via power's second argument:

    Float: increase by 15 (rough number of decimal precision in float)
    BigDecimal: increase by adding similar precision modifier as done to
                calculate the base precision.
    Rational: double the precision, since a BigDecimal is created, but
              the created BigDecimal uses the same precision.

    Increasing the precision for these power calculations has the obvious
    tradeoff of making the calculations slower.

    Fixes Ruby Bug #17264

    * Use DBLE_FIG for a Float value

    * Version 2.0.1

    Co-authored-by: pavel <pavel.rosicky@easy.cz>
    Co-authored-by: Jeremy Evans <code@jeremyevans.net>

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 9d85ed6cbb50960d08bdb24c303a8f5e06b7e922
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-15 14:06:53 +0900

    Simplify positioning of '{' and '}'

    and fix inconsistent indentation in mjit_compile.inc.erb

commit 72a73691bd069c20f07a42bbd2740ada319ee001
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-15 12:10:35 +0900

    add several debug counters

    add cc_found_in_ccs (renamed from cc_found_ccs), cc_not_found_in_ccs,
    call0_public, call0_other debug counters to measure more details.

    also it contains several modification.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3903

commit aa6287cd26582e64c19e37dea3fd90b380b85d5b
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-15 05:40:38 +0900

    fix inline method cache sync bug

    `cd` is passed to method call functions to method invocation
    functions, but `cd` can be manipulated by other ractors simultaneously
    so it contains thread-safety issue.

    To solve this issue, this patch stores `ci` and found `cc` to `calling`
    and stops to pass `cd`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3903

commit 40b7358e934e3b1f2cc7a664f97e5cc1393cbc77
  Author: John Hawthorn <john@hawthorn.email>
  Date:   2020-12-15 10:34:31 +0900

    Skip defined check in NODE_OP_ASGN_OR with ivar

    Previously we would add code to check if an ivar was defined when using
    `@foo ||= 123`, which was slower than `@foo || (@foo = 123)` when `@foo`
    was already defined.

    Recently 01b7d5acc702df22d306ae95f1a9c3096e63e624 made it so that
    accessing an undefined variable no longer generates a warning, making
    the defined check unnecessary and both statements exactly equal.

    This commit avoids emitting the defined instruction when compiling
    NODE_OP_ASGN_OR with a NODE_IVAR.

    Before:

        $ ruby --dump=insn -e '@foo ||= 123'
        == disasm: #<ISeq:<main>@-e:1 (1,0)-(1,12)> (catch: FALSE)
        0000 putnil                                                           (   1)[Li]
        0001 defined                      instance-variable, :@foo, false
        0005 branchunless                 14
        0007 getinstancevariable          :@foo, <is:0>
        0010 dup
        0011 branchif                     20
        0013 pop
        0014 putobject                    123
        0016 dup
        0017 setinstancevariable          :@foo, <is:0>
        0020 leave

    After:

        $ ./ruby --dump=insn -e '@foo ||= 123'
        == disasm: #<ISeq:<main>@-e:1 (1,0)-(1,12)> (catch: FALSE)
        0000 getinstancevariable                    :@foo, <is:0>             (   1)[Li]
        0003 dup
        0004 branchif                               13
        0006 pop
        0007 putobject                              123
        0009 dup
        0010 setinstancevariable                    :@foo, <is:0>
        0013 leave

    This seems to be about 50% faster in this benchmark:

        require "benchmark/ips"

        class Foo
          def initialize
            @foo = nil
          end

          def test1
            @foo ||= 123
          end

          def test2
            @foo || (@foo = 123)
          end
        end

        FOO = Foo.new

        Benchmark.ips do |x|
          x.report("test1", "FOO.test1")
          x.report("test2", "FOO.test2")
        end

    Before:

        $ ruby benchmark_ivar.rb
        Warming up --------------------------------------
                       test1     1.957M i/100ms
                       test2     3.125M i/100ms
        Calculating -------------------------------------
                       test1     20.030M (± 1.7%) i/s -    101.780M in   5.083040s
                       test2     31.227M (± 4.5%) i/s -    156.262M in   5.015936s

    After:

        $ ./ruby benchmark_ivar.rb
        Warming up --------------------------------------
                       test1     3.205M i/100ms
                       test2     3.197M i/100ms
        Calculating -------------------------------------
                       test1     32.066M (± 1.1%) i/s -    163.440M in   5.097581s
                       test2     31.438M (± 4.9%) i/s -    159.860M in   5.098961s

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3904

commit 2fa9f3c0322570dfb1672b49bc1f3306ef595131
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-15 08:32:54 +0900

    Prepare to release rubygems-3.2.1 and bundler-2.2.1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3901

commit 7898f4243f5df9ead0bf91cc8c40907c559d18c0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-15 09:37:11 +0900

    ripper: return pushed new token instead of the token list

commit c59b9a8c0c50a6df13909c71e43de09a152b122d
  Author: Alan Wu <alanwu@ruby-lang.org>
  Date:   2020-12-15 10:01:55 +0900

    Move docs for Integer#bit_length [ci skip]

commit befa24488c2757b55be12ae3ca866156f5a4073f
  Author: Alan Wu <alanwu@ruby-lang.org>
  Date:   2020-12-15 10:01:01 +0900

    Help RDoc find Exception [ci skip]

    This was on top of `Init_Exception()`.

commit 928cb6eeb6497f9e59ccde394cde60319c63b371
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-15 08:38:36 +0900

    NEWS: make links to label [ci skip]

commit 78fad67ce67048b99c9b4e91b87444b1db2b82e8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-14 21:30:16 +0900

    NEWS: make links to other document files [ci skip]

commit a5fd65157500a65debeb88f5ac6a62821f96972e
  Author: Alan Wu <alanwu@ruby-lang.org>
  Date:   2020-12-15 08:26:32 +0900

    Reword docs for Fiddle::Function#call [ci skip]

    I'm using `<code>` instead of `+` since `+` only works when it encloses
    a single word.

commit 25a48b703ec738d4667a7b8edcfe8e100ed6ca84
  Author: Alan Wu <alanwu@ruby-lang.org>
  Date:   2020-12-15 07:56:42 +0900

    Update dependencies

commit f5c89c1660afd3a89514125aad579c0a96990c4b
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-12-15 04:24:18 +0900

    Deprecate Random::DEFAULT

    * Closes [Feature #17351].

commit c183288754fdad17e627c4182de599d965e99405
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-12-15 04:11:15 +0900

    Remove references to Random::DEFAULT in the documentation

    * Random::DEFAULT is no longer a Random instance, and referencing it is
      more confusing than helpful. Related to [Feature #17351]

commit f7850bbea8842da3e709cf5759f05b38c20e9dac
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-14 23:55:44 +0900

    NEWS: get rid of unintended link [ci skip]

commit 7ca82ff888ac1fafbe928ed296599f30f25f507b
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-15 00:05:38 +0900

    * 2020-12-15 [ci skip]

commit 6b3a808b8476b61d6327f0c7a134736c1369779d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-14 23:57:13 +0900

    Fix code block indents [ci skip]

    RDoc::Markdown requires all block elements nested under bullet
    list to be indended deeper than the first column of the list.

commit b3e99b36765f99add04e8106b85bb32f3d3022f7
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-14 23:53:50 +0900

    Fix indent for rdoc's markdown

    It seems that nested points need four spaces

commit c2a60fec2f79c05bdb865c143b6ad8eddfc6cc36
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-14 20:13:12 +0900

    Merge Psych-3.2.1 from ruby/psych

commit 27520a1e1e8ac1ef0607a75d654e2cff6d36e15a
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-14 19:39:32 +0900

    Fixed dst name for digest gem

commit 332317472779554f991ffa5bad74c1255828cc21
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-26 18:10:42 +0900

    Support shareable_constant_value: literal

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3681

commit 89e489d51d164cf22bce3a7580e5695da22fb347
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-13 14:03:25 +0900

    Make shareable_constant_value tri-state

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3681

commit 7060aeedbd69c0888379cbf91f0bb2208bc59308
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-02 19:48:17 +0900

    shareable_constant_value: is effective only in comment-only line

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3681

commit 25cf1aca927946595b1325e4fde7f642bba2a706
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-22 16:25:28 +0900

    Added continued line case

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3681

commit 78cb9b627b19069abad5b27f1710abacf1eed064
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-22 16:24:38 +0900

    Added false case

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3681

commit d19601fb569a2b3adea1bfb1938820314833a475
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-21 14:35:42 +0900

    Test by Ractor.shareable?

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3681

commit 11d9983bc340f3cc05da3a87d5d0c63f4f6bd899
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-21 14:11:18 +0900

    Make the value shareable deeply

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3681

commit 070a990bcb81ed371fc60e3922f5329b1020aa44
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-10 16:24:54 +0900

    Save and pass lex_context wholly

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3681

commit dc1cc33d691faacccd2c12ce3ca75b24cc89dbf9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-10 00:44:14 +0900

    Determine shareable-ness after assignment operator

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3681

commit 60f0c376f762aafadaba38e761d2dc9b0c1c0c82
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-09 23:55:22 +0900

    Implemented shareable_constant_value op_asgn

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3681

commit 65450e8f7daf59ca64a12ff1da0efdc0f4280dc1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-20 17:28:12 +0900

    Call FrozenCore.make_shareable

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3681

commit f43c71abe07b4b2b0f8f9a69c567fcd0f38faef6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-09 23:06:13 +0900

    Implemented shareable_constant_value

    It does shallow freeze only for now.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3681

commit b1bd223085d7b97d8de8679894a81b7993c26b28
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-09 20:06:30 +0900

    Support shareable_constant_value pragma

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3681

commit 7060d6b721092d56f1cbc084940db960e01671fd
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-14 18:37:22 +0900

    fix condition and add another debug counter

    mc_inline_miss_same_def is added to check same method or not.
    Also the mc_inline_miss_same_cc calculation was fixed.

commit e889c025501850de9a91012552d38924cc5fb947
  Author: Junichi Ito <jit@sonicgarden.jp>
  Date:   2020-12-14 06:01:51 +0900

    Add information to Caveats section in NEWS.md

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3896

commit c37ba2c5478c8fa81f3cb26d7ddb9b79d681147d
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-14 18:17:35 +0900

    add ccs_not_found debug counter

    ccs_not_found to count not found in ccs table.

commit da3be76cb017c188d1a99d8aa14d13c15d93f9d1
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-14 17:56:34 +0900

    add debug counters to survey the IMC miss

commit aacd2295d0f2c982641229e159ff179462d83a36
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-14 16:35:27 +0900

    Debug the command used for gdb dump

    It's not working
    http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker/3288206. I'm
    debugging why.

commit 8d83334a695b7454e9b942289eaede843c4c3660
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-14 16:33:54 +0900

    @ruby is the target Ruby in bootstraptest

commit ab869d6b9ba07fa9453d39902d8641c3db485b76
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-14 15:56:13 +0900

    test/ruby/test_method_cache.rb: suppress "assigned but unused variable"

commit 53edb27baccaffe919c2885a9c86312cc51ea9fb
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-14 14:51:39 +0900

    use method cache on Object#respond_to?

    rb_method_boundp (method_boundp) searches method_entry, but this
    search did not use pCMC, so change to use it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3899

commit 0362b4c689e319e233691ee052cd703bf8d2baa1
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-14 10:50:22 +0900

    add tests for method cache.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3892

commit a8aa169b8f1f89660037c874e8fc2feaf596a43a
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-14 10:49:07 +0900

    add cc_invalidate_negative debug counter

    counts for invalidating negative cache.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3892

commit 967040ba59799e6b7891168ffbf37cc646988d84
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-13 05:55:18 +0900

    Introduce negative method cache

    pCMC doesn't have negative method cache so this patch  implements it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3892

commit fa63052be19b26d39b22689ad9969aa83909809e
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-13 01:32:17 +0900

    create ccs with 0 capa

    ccs is created with default 4 capa, but it is too much, so start
    with 0 and extend to 1, 2, 4, 8, ...

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3892

commit 85a7f723c300c45c8fff40c2595422e13a8d9237
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-12-14 10:26:04 +0900

    Fix a typo [ci skip]

commit 66756c6d4234c5908213ada7934f8773fa7bebc6
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-14 08:17:34 +0900

    * 2020-12-14 [ci skip]

commit ea6856dcdf9e5909d12e6c4960d4a39fabaac85b
  Author: Junichi Ito <jit@sonicgarden.jp>
  Date:   2020-12-14 07:34:10 +0900

    Remove "2.8" from NEWS.md

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3897

commit 6e84af2fa9c5986d9717bfdfe70c88f402742f5c
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-12-13 20:26:22 +0900

    `ulimit` does not affect another shell

commit 12eb5734b3ca1dabfd8286de1d0841d80286fe02
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-13 19:26:47 +0900

    Sorted links by URLs and issue numbers [ci skip]

    ```
    ruby -e 'puts readlines.sort_by {[_1[%r[(https?://.*?)(?:/\d+)?$],1], _1[/\d+$/].to_i]}'
    ```

commit a3adb10aacb48efe0ecb059f012969dc08145360
  Author: Junichi Ito <jit@sonicgarden.jp>
  Date:   2020-12-13 17:15:34 +0900

    Add NEWS about open-uri and Kernel#open

    There might be a lot of codes using redefined Kernel#open via open-uri, so it's worth mentioning that.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3894

commit c7530f0d568e9772bef22a93907f92d8cd872995
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-13 13:39:57 +0900

    Wait testing/helper threads to terminate

commit 416e402cf3d756dcf9c5b10dc7042adf686efacf
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-13 13:12:18 +0900

    Fixed a suspicious comparison

commit 97e6c28db4cfb2b383870769940ade08cbe1a6bf
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-13 11:34:57 +0900

    Narrowed down unaligned member access region in RB_OBJ_WRITE

    Since UNALIGNED_MEMBER_ACCESS assigns to an intermediate variable,
    it can cause unused-value warnings.

commit 88f3ce12d32ffbef983b0950743c20253ea2d0c6
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-12-13 11:50:14 +0900

    Reintroduce `expr in pat` [Feature #17371]

commit a8cf526ae99c9e0823cd8c7c5ac96e43061fafa6
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-12-13 11:47:02 +0900

    Don't emit warning when the pattern of one-line pattern matching is just a variable pattern

    https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20201210Japan.md#feature-17371-reintroduce-expr-in-pat-ktsj

commit 1b45174aeaad4ab0e14b37f70d60a1d43ae21adc
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-13 11:47:48 +0900

    Allow dumping a core file on Actions

    to see a C backtrace.

commit 246d7e4f1d92851356d459f424cbc3491135d1ac
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-13 11:46:13 +0900

    Dump a backtrace with gdb

    Because Ruby often fails to dump a C backtrace.

commit 92dfe9aefb62e526bf30b42168ecd4fc9a9db1cf
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-13 01:30:32 +0900

    * 2020-12-13 [ci skip]

commit 3b7c05ef8dc15371316e5254d33af12928183971
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-13 01:10:49 +0900

    Fixed RUBY_RM_RECURSIVE when autoconf met the required version

    Before 9189cf5793cd527a86b711d15d5fd0633ec082e1 the result of
    `m4_version_compare` was compared to -1, however the `$2` of
    `m4_version_prereq` has different meaning and is expanded when
    the required version met.

commit 7ef5226520cbd13bdbc65a7f3c60188e002b133c
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-12 23:25:15 +0900

    spec: suppress deprecations of "lambda(&proc_block)" pattern

commit efbef729b2aee13241e6f7606f90d407f4530df8
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-12 23:11:47 +0900

    test/ruby/test_lambda.rb: prevent lambda(&proc_block) warnings

commit 248f1ef2821325987b7525fc6c839145d66c65e4
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-12 23:09:11 +0900

    tool/mk_builtin_loader.rb: prevent "assigned but unused variable"

commit 4d2ad8d737c55c3efd4c75131687dd1c8db7441b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-12 17:20:58 +0900

    Removed obsolete autoconf checks

    Use regular `AC_CHECK_MEMBERS` instead of:
    * `AC_STRUCT_ST_BLKSIZE`
    * `AC_STRUCT_ST_BLOCKS`
    * `AC_STRUCT_ST_RDEV`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3890

commit 0df67a469561fab80b78478b99703ed893c4db07
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-12 16:06:19 +0900

    Signal handler type should be void

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3889

commit 21c5726418136d6efa98cbf205860a8bee328907
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-12 16:01:10 +0900

    Omit checks for C89 standard or later

    Now we require C99, these features available of course.

    * prototypes
    * stdarg prototypes
    * token pasting
    * stringization
    * string literal concatenation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3889

commit e53c0bc906c514ca6f0d40e2140dee1e23b4591e
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-12 15:52:15 +0900

    Add some JIT options to MJIT Actions

    hoping to improve C backtrace outputs

commit 68af5235292f82145c599038b4bff7d9225e62d7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-12 14:22:59 +0900

    Added parentheses to silence sizeof-array-div warnings [Bug #17385]

    As well as 2366c681166a1dab95de6b9ca8ffcaae18aadd39.

commit 52bca75cde2d888e636301fc43f6371808118154
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-12-11 14:20:43 +0900

    Remove unused function declarations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3886

commit 3e2399134509930f3fe4d98787264f3a2c96af4c
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-12 12:58:45 +0900

    Lock GC while searching the best iseq

    To fix
    http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3286265

commit 4e5156621e3557af98d3d91aff243278e1d8dbef
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-12 11:44:25 +0900

    [DOC] Process::Status.wait return nil if no child processes [ci skip]

commit 70a311fdeb66ce80b562ccc4459c409cea64b74c
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-12 06:54:46 +0900

    trap on non-main ractor

    trap can accept blopck/Proc and it can violate Rator isolation,
    so the Proc should be isolatable when trap is used on non-main ractor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3888

commit 124321e0c7ab8dac1ffce78c653cc677f878d5b0
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-12 06:29:11 +0900

    fix lambda's warning and tests

    There are warning condition bugs and test bugs.
    b53ccb9c69abd24e3bdad66cbe4c7e7480eaef16

commit d741c77b5fd976300815c1ea987e76e92b71122f
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-11 16:37:20 +0900

    fix ivar with shareable objects issue

    Instance variables of sharable objects are accessible only from
    main ractor, so we need to check it correctly.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3887

commit 31e8de2920935d500105949bda931f3ca22cdbff
  Author: nicholas a. evans <nicholas.evans@gmail.com>
  Date:   2020-11-18 09:23:51 +0900

    Let Fiber#raise work with transferring fibers

    This automatically choosess whether to use transfer on a transferring
    fiber or resume on a yielding fiber.  If the fiber is resuming, it
    raises a FiberError.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3795

commit e795b632467317cdea07d0599bf2c5d08b403f00
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-12 00:29:02 +0900

    * 2020-12-12 [ci skip]

commit abbc43413c5cc2a2c26520d22856e316041ea3d1
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-12-12 00:28:08 +0900

    Remove unused link [ci skip]

commit eea756ac861dc7d4a1de67741c8730cb3ca868ca
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-11 23:14:36 +0900

    Strip trailing spaces [ci skip]

commit 68d3952c52de3b7cf4aba10d61085244f1bf449b
  Author: ima1zumi <mariimaizumi5@gmail.com>
  Date:   2020-12-11 22:18:36 +0900

    [ruby/reline] Fix breaking to input Emoji with ZWJ.

    https://github.com/ruby/reline/commit/f21dfdbb11

commit ed343c76fbd94dfcd429668b72844e0db87a0b46
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-11 19:54:14 +0900

    RDoc states that Process::Status.wait returns nil if cannot wait

commit 1728eba48a163c09c0e2a918c13d5c08961bf9a9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-11 19:40:25 +0900

    [DOC] Fixed the RDoc location of Process::Status.wait [ci skip]

commit 885135f84cd609fb1c7be3fa0a20ae77969eae9d
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-11 14:56:48 +0900

    Allow an MJIT worker to show a backtrace on SEGV

    An MJIT worker thread doesn't have ec, and it's required for SDR() and
    rb_backtrace_print_as_bugreport(). Therefore it must be checked.

commit 4439b783366aa8d7dddbb39673f4074bb062f3d6
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-11 14:36:42 +0900

    Save a core file from bootstraptest

commit a6a68bae3ced278bb41a42d363a0eaee86fa31bd
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-11 14:16:35 +0900

    Removed needless gemspec of webrick

commit 947a5505e50de1321fd26bf9a5b016be33ae189c
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-11 14:15:52 +0900

    Bump webrick-1.7.0 for version management with ruby/webrick.

commit bca57b911a185ab3d0fe19f6f739f6b27bfd48c5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-11 14:09:34 +0900

    [DOC] Moved RDoc of abort [ci skip]

commit c718c300079573392d4de6f51fbb28b3a34c5341
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-04 00:07:37 +0900

    addr2line.c: support debuglink by build_id

    Currently, addr2line.c supports only one path format of debuglink:
    "/usr/lib/debug/usr/bin/ruby.debug".

    However, recent debian packages seem to use another format by build_id:
    "/usr/lib/debug/.build-id/ab/cdef1234.debug".

    https://github.com/Debian/debhelper/blob/5d1bb29841043d8e47ebbdd043e6cd086cad508e/dh_strip#L292
    https://github.com/Debian/debhelper/blob/5d1bb29841043d8e47ebbdd043e6cd086cad508e/dh_strip#L353

    This changeset makes ruby backtrace support the second format.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3627

commit 8c5ec10038a9bbc328eeb3756da207ba5976072d
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-11 10:54:06 +0900

    Link zlib always if available

    Major Linux distribution packages including Debian, Ubuntu, and Fedora
    use `--compress-debug-sections=no` to build ruby, and then extract and
    compress debug symbols as separate files. However, the configure option
    makes ruby not link zlib, thus the generated binary cannot uncompress
    the compressed separate debug symbol files, and fails to show C level
    backtrace when a critical error like segfault occurs.

    This change makes ruby always link zlib if it is available so that it
    can show C level backtrace correctly.

    Related: Debian packages require https://github.com/ruby/ruby/pull/3627
    to load debug symbol files.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3884

commit 288e93bea872e99ccf706294dc63b8a2b139ea2c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-11 13:40:03 +0900

    Exclude parenthesized function declarations such as NORETURN

    Fixes https://github.com/ruby/ruby/pull/3883

commit b53ccb9c69abd24e3bdad66cbe4c7e7480eaef16
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-11 11:54:50 +0900

    show deprecation warning correctly for lambda(&b)

    lambda(&b) where b is given block of method (like: def foo(&b))
    should warn correctly.
    [Feature #17361]

    Also labmda(&labmda_block) or lambda(&:to_s) (Symbol#to_proc)
    should not warn (but I'm not sure who cares about it).

commit ad6573163f4a7b7eedb904f2f6f730c3cd2669e3
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-11 11:52:19 +0900

    add RUNOPT and RUNOPT0 for dev rules.

    run, runruby, ... accept RUNOPT and RUNOPT0 configuration to pass
    some commandline argument like that:

      $(BTESTRUBY) $(RUNOPT0) $(TESTRUN_SCRIPT) $(RUNOPT)

    RUNOPT0 is options for ruby interpreter (-w, -v, ...)
    RUNOPT is options for the script (ARGV/ARGF)

commit 56918578ea48ef3bc6a5f27f884fb2cccbe02c06
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-12-11 11:13:13 +0900

    Remove unimplemented parameter from comment

    :resolv_timeout of TCPSocket.new is not implemented for now.

commit 974e89ae0743e591f0034de6c8dfc41a81d6429d
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-11 09:54:34 +0900

    revert da3bca513f437b05b3953c3712ff48621fc5e008

    It seems introduce critical problems. Now I could not find
    out the issue.

    http://ci.rvm.jp/results/trunk-test@ruby-sky1/3286048

commit 9b0c36b39032cffff3c62a2b0e1fc38fa429f5ea
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-12-11 09:41:12 +0900

    Import fiddle-1.0.4 (#3860)

    I don't use tool/sync_default_gem.rb because the last sync was incomplete.

    Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
    Co-authored-by: sinisterchipmunk <sinisterchipmunk@gmail.com>
    Co-authored-by: Sutou Kouhei <kou@clear-code.com>

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 6b1d2de6cc2e85fda7885fe77dbd7c99c4eb1ef2
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-11 07:40:22 +0900

    Unfortunately getinstancevariable was still not leaf

    https://github.com/ruby/ruby/runs/1533401436

commit 97868f16ff764e60176e817db101e65c9d58eff3
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-11 06:00:02 +0900

    Reintroduce the fix again

commit 4474aadae8d6610cc5b1c62156739d4245a1a38c
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-11 04:48:54 +0900

    Fix the path properly

    :disappointed:

commit f56ab7a4764131e5c01e279623e2a141442426a8
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-11 04:18:23 +0900

    Try fixing the -I position

    https://github.com/ruby/ruby/runs/1532260149
    :thinking:

commit dca13e2bf7b7efeb2841a039e3cfd7b5cd650a7b
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-12-09 02:00:04 +0900

    Make ruby -We the same as ruby -W -e

    This changes the behavior, which I'm not sure is acceptable.
    However, it's odd to allow an option to be combined, but change
    the behavior of the option when combined.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3867

commit 699608487d2ff09bb5c610a9d1e6e13f5bd2a25e
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-12-11 00:36:55 +0900

    Make getinstancevariable a leaf instruction

    It can no longer issue a warning.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3879

commit 01b7d5acc702df22d306ae95f1a9c3096e63e624
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-12-10 13:53:02 +0900

    Remove the uninitialized instance variable verbose mode warning

    This speeds up all instance variable access, even when not in
    verbose mode.  Uninitialized instance variable warnings were
    rarely helpful, and resulted in slower code if you wanted to
    avoid warnings when run in verbose mode.

    Implements [Feature #17055]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3879

commit 4a559aa22537bbd2f17c7babb1aca48d1a3a4647
  Author: MSP-Greg <MSP-Greg@users.noreply.github.com>
  Date:   2020-12-11 02:27:02 +0900

    Actions mingw - add tool/test for WEBrick in spec tests (#3882)

    Some spec tests require WEBrick, and the spec tests are run from install with the MinGW CI.

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit f3c19ddfbcfde63505a34b7a5b3a640f23b22dc0
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-11 00:09:09 +0900

    Show C backtrace appropriately at core dump for GCC 8 or later

    When ruby is compiled by GCC 8 or later, some frames of C level
    backtrace information lacks.

    ```
    $ ./miniruby -e '1.times { Process.kill(:SEGV, $$) }'

    ...

    -- C level backtrace information
    -------------------------------------------
    /home/mame/work/ruby-gcc-9/miniruby(rb_vm_bugreport+0x611) [0x558a5fdcbc21] ../ruby/vm_dump.c:758
    [0x558a5fbc789a]
    /home/mame/work/ruby-gcc-9/miniruby(sigsegv+0x4d) [0x558a5fd1eaed] ../ruby/signal.c:959
    /lib/x86_64-linux-gnu/libpthread.so.0(__restore_rt+0x0) [0x7f687e6713c0]
    /lib/x86_64-linux-gnu/libc.so.6(kill+0xb) [0x7f687e31355b] ../sysdeps/unix/syscall-template.S:78
    /home/mame/work/ruby-gcc-9/miniruby(rb_f_kill+0x350) [0x558a5fd1fe60] ../ruby/signal.c:480
    [0x558a5fda50d3]
    [0x558a5fdb085c]
    [0x558a5fdb0fe7]
    [0x558a5fdbae1a]
    [0x558a5fdaf484]
    /home/mame/work/ruby-gcc-9/miniruby(rb_yield_1+0x29f) [0x558a5fdb2fbf] ../ruby/vm.c:1265
    /home/mame/work/ruby-gcc-9/miniruby(int_dotimes+0x5c) [0x558a5fc72f2c] ../ruby/numeric.c:5198
    [0x558a5fda50d3]
    [0x558a5fdb085c]
    [0x558a5fdb0fe7]
    [0x558a5fdbaf21]
    [0x558a5fdaf484]
    /home/mame/work/ruby-gcc-9/miniruby(rb_ec_exec_node+0xed) [0x558a5fbcc4fd] ../ruby/eval.c:317
    /home/mame/work/ruby-gcc-9/miniruby(ruby_run_node+0x4f) [0x558a5fbd110f] ../ruby/eval.c:375
    /home/mame/work/ruby-gcc-9/miniruby(main+0x73) [0x558a5fb2c083] ../ruby/main.c:50
    ```

    By this one-line change, it shows all locations.

    ```
    $ ./miniruby -e '1.times { Process.kill(:SEGV, $$) }'

    ...

    -- C level backtrace information -------------------------------------------
    /home/mame/work/ruby-gcc-9/miniruby(rb_print_backtrace+0x11) [0x558247adec21] ../ruby/vm_dump.c:758
    /home/mame/work/ruby-gcc-9/miniruby(rb_vm_bugreport) ../ruby/vm_dump.c:956
    /home/mame/work/ruby-gcc-9/miniruby(rb_bug_for_fatal_signal+0x15a) [0x5582478da89a] ../ruby/error.c:773
    /home/mame/work/ruby-gcc-9/miniruby(sigsegv+0x4d) [0x558247a31aed] ../ruby/signal.c:959
    /lib/x86_64-linux-gnu/libpthread.so.0(__restore_rt+0x0) [0x7f82202f73c0]
    /lib/x86_64-linux-gnu/libc.so.6(kill+0xb) [0x7f821ff9955b] ../sysdeps/unix/syscall-template.S:78
    /home/mame/work/ruby-gcc-9/miniruby(rb_f_kill+0x350) [0x558247a32e60] ../ruby/signal.c:480
    /home/mame/work/ruby-gcc-9/miniruby(vm_call_cfunc_with_frame+0x123) [0x558247ab80d3] ../ruby/vm_insnhelper.c:2821
    /home/mame/work/ruby-gcc-9/miniruby(vm_call_method_each_type+0x7c) [0x558247ac385c] ../ruby/vm_insnhelper.c:3324
    /home/mame/work/ruby-gcc-9/miniruby(vm_call_method+0xc7) [0x558247ac3fe7] ../ruby/vm_insnhelper.c:3428
    /home/mame/work/ruby-gcc-9/miniruby(vm_sendish+0x14) [0x558247acde1a] ../ruby/vm_insnhelper.c:4412
    /home/mame/work/ruby-gcc-9/miniruby(vm_exec_core) ../ruby/insns.def:789
    /home/mame/work/ruby-gcc-9/miniruby(rb_vm_exec+0x1a4) [0x558247ac2484] ../ruby/vm.c:2165
    /home/mame/work/ruby-gcc-9/miniruby(rb_yield_1+0x29f) [0x558247ac5fbf] ../ruby/vm.c:1265
    /home/mame/work/ruby-gcc-9/miniruby(int_dotimes+0x5c) [0x558247985f2c] ../ruby/numeric.c:5198
    /home/mame/work/ruby-gcc-9/miniruby(vm_call_cfunc_with_frame+0x123) [0x558247ab80d3] ../ruby/vm_insnhelper.c:2821
    /home/mame/work/ruby-gcc-9/miniruby(vm_call_method_each_type+0x7c) [0x558247ac385c] ../ruby/vm_insnhelper.c:3324
    /home/mame/work/ruby-gcc-9/miniruby(vm_call_method+0xc7) [0x558247ac3fe7] ../ruby/vm_insnhelper.c:3428
    /home/mame/work/ruby-gcc-9/miniruby(vm_sendish+0x14) [0x558247acdf21] ../ruby/vm_insnhelper.c:4412
    /home/mame/work/ruby-gcc-9/miniruby(vm_exec_core) ../ruby/insns.def:770
    /home/mame/work/ruby-gcc-9/miniruby(rb_vm_exec+0x1a4) [0x558247ac2484] ../ruby/vm.c:2165
    /home/mame/work/ruby-gcc-9/miniruby(rb_ec_exec_node+0xed) [0x5582478df4fd] ../ruby/eval.c:317
    /home/mame/work/ruby-gcc-9/miniruby(ruby_run_node+0x4f) [0x5582478e410f] ../ruby/eval.c:375
    /home/mame/work/ruby-gcc-9/miniruby(main+0x73) [0x55824783f083] ../ruby/main.c:50
    ```

    Details:

    In short, it is an uninitialized variable bug.

    Until GCC 7, all function locations are represented by a pair of
    DW_AT_low_pc and DW_AT_high_pc in DWARF information.
    But since GCC 8, some functions are split to multiple chunks, which are
    represented by DW_AT_ranges.
    DW_AT_ranges are represented as offsets from a base address.
    According to DWARF specification, it is the base address of the
    compilation unit, but GCC seems to use zero as default.
    The function "di_read_cu" in addr2line.c had a comment about the fact.
    However, the base address wasn't initialized as zero.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3881

commit 7f4c31d6a38f11046bb9e5a9aa1139d91c0eb289
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-11 01:19:47 +0900

    * 2020-12-11 [ci skip]

commit b72f613210de7b80ce76edb9beef2101d4311d68
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-11 00:56:06 +0900

    Suppress a "clobbered" warning by gcc on macOS

commit 673fcb7e9a31b0021783dfe73b41eeb5210b6b28
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-12-10 21:48:04 +0900

    Fix a link [ci skip]

commit 73db60bdda64fab43f6ba4d1902337a39715fd91
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-10 21:41:47 +0900

    include/ruby/memory_view.h: fix the return type of rb_memory_view_prepare_item_desc

commit 0fcd478a4e50af309ad8a1a7afc3e121609ebbf3
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-10 21:35:53 +0900

    include/ruby/memory_view.h: fix typo

commit d5dfc3f2c833d62e4e0fb3145ed729f48b8e2a66
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-12-10 21:04:57 +0900

    Use `abort(message)` instead of `puts` and `exit`

commit 78f188524f551c97b1a7a44ae13514729f1a21c7
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-09-25 16:20:18 +0900

    Add connect_timeout to TCPSocket

    Add connect_timeout to TCPSocket.new in the same way as Socket.tcp.

    Closes [Feature #17187]

commit 658b4ff60934b9fb6845e214fda83229e631e366
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-10 18:55:03 +0900

    Fixed the test failures called WEBrick.new directly

commit 72f1c43584df714a011864ca9fafc6e15ace392c
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-10 13:27:08 +0900

    ObjectSpace._id2ref should not support unshareable

    ObjectSpace._id2ref(id) can return any objects even if they are
    unshareable, so this patch raises RangeError if it runs on multi-ractor
    mode and the found object is unshareable.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3878

commit 7856da5fe75a76bec909778e411270c10a04ca3a
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-12-09 17:41:21 +0900

    remove bz2

commit 142f154a0a0863dc48cf767b2d1b5acec0371999
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-10 18:16:15 +0900

    Unpoison freelist to chain

commit 9a17437558e42aa1da372b515ba8bc18067d578c
  Author: Lourens Naudé <lourens@bearmetal.eu>
  Date:   2019-11-26 22:07:49 +0900

    Right size literal regular expression buffers on compile

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2696

commit e7433a3288b48f90447bc8ebb1531f57be17392c
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-10 16:20:21 +0900

    Added help message for gem i webrick in rdoc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3729

commit 4ccc66265cdef0480eb6ff46f6be9f8de1a01891
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-03 07:14:36 +0900

    Added help message for gem i webrick in gem server command

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3729

commit b084f8abcf5b7310ce8f08d48a1a3f3e56876123
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-03 07:11:40 +0900

    Completely removed webrick

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3729

commit 880727f037ee7dfeeb3dbc9027622798d46fdbac
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-02 20:02:12 +0900

    Added help message for gem i webrick in un.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3729

commit 05cc58c2ebc467ebc18897b1aef2c2089b26adf3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-02 19:58:57 +0900

    webrick was removed from ruby repo

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3729

commit 0e73b49b4c35a3ae8fd5530a730556b4e4ef4377
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-02 19:57:27 +0900

    Promote webrick to bundled gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3729

commit 087ac34fb2f6fa74bd84a290d511f4d47a286119
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-02 16:48:20 +0900

    Added tool/lib into test-spec loadpath

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3729

commit 5dc786bf86bb6e0da2639f88659598ec8b9db30d
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-02 13:44:28 +0900

    Move webrick library into internal test toolchain

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3729

commit 46d3ea2c2569e2e5a9ee3e7e206f07f0f8b693f5
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-12-10 17:41:39 +0900

    .github: reduce (#3876)

    Comment out some 50-ish tests.
    fix https://bugs.ruby-lang.org/issues/17376

commit 9e8f732f397ec73ebcab2d121f02c909c8f06755
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-10 17:21:59 +0900

    Revert "Revert some recent JIT changes"

    This reverts commit b7dc04e51823f9fe8b5355c30a304ecdb11fe5ed.

    This should be fine, rather necessary, too.

commit 12a1a2518161bda1d893920f70e936c82925e758
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-10 17:21:33 +0900

    Revert "Revert "Have list_node at the top of rb_mjit_unit""

    This reverts commit 73b07c437e24711c23dd2dd01d3ffc5f1012e046.

    This was, of course, innocent.

commit 16c765990ceaf5fb1efaeba2850083cfec7c137e
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-10 17:17:59 +0900

    Use list_for_each_safe when list_del is used inside

    list_for_each seems to cause all the SEGVs we've seen.

commit da3bca513f437b05b3953c3712ff48621fc5e008
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-10 10:58:25 +0900

    cache free pages per ractor

    Per ractor method cache (GH-#3842) only cached 1 page and this patch
    caches several pages to keep at least 512 free slots if available.
    If you increase the number of cached free slots, all cached slots
    will be collected when the GC is invoked.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3875

commit 554c0949777cd495e5a1296bd6719fcf508a70d0
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-10 10:38:30 +0900

    set min/maximum free slots relative to ractor cnt

    A program with multiple ractors can consume more objects per
    unit time, so this patch set minimum/maximum free_slots to
    relative to ractors count (upto 8).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3875

commit eafe000af3d363f6cb65be99edcfccedf35d801c
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-10 10:28:53 +0900

    lazy sweep tries to collect 2048 slots

    Lazy sweep tries to collect free (unused) slots incrementally, and
    it only collect a few pages. This patch makes lazy sweep collects
    more objects (at least 2048 objects) and GC overhead of multi-ractor
    execution will be reduced.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3875

commit 2544f7196ee7d157000244ca9cac55514e3b193d
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-10 00:58:44 +0900

    test/ruby/test_arithmetic_sequence.rb: restore test_last_bug17218

    And rename the existing `test_last_bug17218` to `test_to_a_bug17218`.

commit bb489aca5815acf3afd43ec9e3cdae008d882e3a
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-12-10 00:24:36 +0900

    memory_view.c: Add rb_memory_view_get_item and rb_memory_view_prepare_item_desc (#3871)

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 549118b3e29713835226d4088ba65f58eee7c054
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-10 00:17:44 +0900

    * 2020-12-10 [ci skip]

commit 3156fb0f2c3ebf8229f392c8502c08fe165ab181
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-10 00:16:49 +0900

    test/ruby/test_arithmetic_sequence.rb: remove a duplicated test

    There is another "test_last_bug17218"

commit fad3023e94c45e7f03478732f7641b6f39ba9d12
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-12-09 18:48:59 +0900

    Fix ArithmeticSequence#last and ArithmeticSequence#each for non-integer sequences (#3870)

    [Bug #17218]
    [ruby-core:100312]

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit cacdf2681dcc7c431973f33a18979b10566ec2f9
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-09 18:21:00 +0900

    [ruby/matrix] Disable Ractor test

commit 150dbb656dd8c479f32db3bc83ae9fc57fe48608
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-09 14:30:05 +0900

    [ruby/matrix] v0.3.1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3869

commit a7dccd08e7c9cf0e5d0c0fdbe659ccc921624e6f
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-27 04:49:43 +0900

    [ruby/matrix] Make frozen matrices Ractor shareable

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3869

commit 6b264e833f9b9c86819feff88048ffcdf8d67af8
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-09 15:24:16 +0900

    [ruby/prime] Fix gemspec

commit 45b29754cfba8435bc4980a87cd0d32c648f8a2e
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-09 14:49:06 +0900

    need the lock for debug checking.

    Checking code (RGENGC_CHECK_MODE > 0) need a VM lock because it
    refers objspace.

commit 47ff8de645b6791f961f2c971436f035534209a5
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-09 15:03:29 +0900

    Update maintainers list [doc] [ci skip]

commit b603085d2f4b997541247f8eab864f92f9b5f006
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-09 14:45:56 +0900

    [ruby/prime] v0.1.2

commit 1866d483dce614a02c5186bd0588b48a5041e55e
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-05 14:20:39 +0900

    [ruby/prime] Optimize `Integer#prime?`

    Miller Rabin algorithm can be used to test primality for integers smaller than a max value "MaxMR" (~3e24)

    It can be much faster than previous implementation: ~100x faster for numbers with 13 digits, at least 5 orders of magnitude for even larger numbers (previous implementation is so slow that it requires more patience than I have for more precise estimate).

    Miller Rabin test becomes faster than previous implementation at somewhere in the range 1e5-1e6. It seems that the range 62000..66000 is where Miller Rabin starts being always faster, so I picked 0xffff arbitrarily; before that, or above "MaxMR", the previous implementation remains.

    I compared the `faster_prime` gem too. It is slower than previous implementation up to ~1e4. After that it becomes faster and faster compared to previous implementation, but is still slower than Miller Rabin starting at ~1e5 and up to MaxMR. Thus, after this commit, builtin `Integer#prime?` will be similar or faster than `faster_prime` up to "MaxMR".

    Adapted from patch of Stephen Blackstone [Feature #16468]

    Benchmark results and code: https://gist.github.com/marcandre/b263bdae488e76dabdda84daf73733b9

    Co-authored-by: Stephen Blackstone <sblackstone@gmail.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3847

commit dea600046aa5895e745a8d655ff90616705e11a6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-09 13:10:28 +0900

    Ad-hoc fix of test-bundler

commit b419f90a8bc3e472635a813e56cc2153b3125b41
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-09 11:49:20 +0900

    Tweaked `Process::Status.wait`

    * revert `rb_last_status_set`
    * renamed the new function as `rb_process_status_new`
    * `rb_process_status_new` always freezes the return value
    * marked `Process::Status.wait` as EXPERIMENTAL, as it has not
      been discussed totally yet.

commit 4f907a80f04292e472d2eea660c4f5c0cb62e00f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-09 11:32:18 +0900

    Removed declaration of non-existent symbol

commit 27b6df9653e88e83c6a524149ef44070802770c5
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-10-24 06:42:48 +0900

    Add test that `Ractor.make_shareable` calls user defined `#freeze`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3694

commit 2553c5f94a5d51c2c5876b31e4c1521ad9be12f6
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-12-08 05:29:09 +0900

    Add support for non-blocking `Process.wait`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3853

commit a4a92ae6d99a75e11165ca09c44ccf47cf342047
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-09 01:41:06 +0900

    * 2020-12-09 [ci skip]

commit ee194af2aa170c0cb1bfd5fed4e84259a8150ece
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-08 00:42:20 +0900

    re-layout rb_ractor_t

    separate synchronization data and ractor local data.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3858

commit 2749123e213007e20d2f5e65ce941ff53feb4c76
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-08 19:33:43 +0900

    Supported category option in Warning#warn

commit d5ffa4e9a43ebdd451fb2c46529d301dec03f666
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-08 19:32:33 +0900

    [DOC] mentioned category option

commit 2427393b4d1ea0557362b106044e3aba3da32370
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-12-08 21:58:08 +0900

    Revert "test/fiddle/helper.rb: remove duplication (#3863)" (#3865)

    This reverts commit bd47a8d660ab33a20c5e28d0effcc29105c434e4.

    `libc_so` and `libm_so` are `nil` at line 124 because Big Sur doesn't have `/usr/lib/libSystem.B.dylib`.
    The reassignment at line 127 is necessary in this case.

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 30d4a7ad9a1f629d84b9b0e22db4ba146e63fd61
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-08 21:42:03 +0900

    Update rubygems.org links for published default gems.

commit 09229c71bcdc82b2e7c3138baa4cb2696b97ec5d
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-12-08 17:21:28 +0900

    Fix "Ruby is not properly fortified on armv7hl".


    See <https://bugs.ruby-lang.org/issues/16762> for more details.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3866

commit aeeaf90b7ee8230425e8c68cb9cfc962b0a186f4
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-08 18:38:25 +0900

    Added missing dependency of fileutils

commit d7a16670c30160cf7f0d57d2a970faefb331a024
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-08 17:49:51 +0900

    [DOC] Fixed RDoc directives [ci skip]

commit 86332cdce900ab5777962696c5dea676f731c8dc
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-08 16:43:48 +0900

    Bump version numbers of RubyGems and Bundler on NEWS

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3864

commit 473f9d2df0ddd7fdb5cc73fa3ad49b2f19f22b06
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-08 16:36:29 +0900

    Merge prepare version of Bundler 2.2.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3864

commit 4aca77edde91f826aa243e268bf1ef5214530583
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-08 16:33:39 +0900

    Merge prepare version of RubyGems 3.2.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3864

commit 6a6a24df9b72750d12f9b15192bdb7517e668efb
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-12-08 16:53:25 +0900

    Fix links [ci skip]

commit 4b583d4928d1797b35d99b7fc9666e0b4cbed136
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-12-08 16:46:14 +0900

    Add NEWS about UTF-8 on Windows

    * 94b6933d1c6f4c8698319fbcac9dcecc9033b4b9
    * ca76337a00244635faa331afd04f4b75161ce6fb

commit 509241b39f2569b2c3ee9bb9f6d217a1e9d419db
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-12-08 16:37:41 +0900

    Add NEWS about Net::SMTP [ci skip]

commit bd47a8d660ab33a20c5e28d0effcc29105c434e4
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-12-08 15:42:31 +0900

    test/fiddle/helper.rb: remove duplication (#3863)

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit b7dc04e51823f9fe8b5355c30a304ecdb11fe5ed
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-08 14:06:00 +0900

    Revert some recent JIT changes

    Revert "Lock the entire active_units loop"

    This reverts commit 5c2ff88be2e515613dfe54823e8429656f688e9f.

    Revert "Lock active_units references on compaction"

    This reverts commit 556a7285080c1344c75bb93a333c9bfc5d631c61.

    Revert "Wait for GC before unload_units"

    This reverts commit a8f16df615daa55901bb351efe038e86b61fbb92.

    Well, the previous revert actually didn't fix it, but this series of
    reverts seems to rollback the situation a little.

commit 73b07c437e24711c23dd2dd01d3ffc5f1012e046
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-08 14:02:21 +0900

    Revert "Have list_node at the top of rb_mjit_unit"

    This reverts commit 3319ce37651aa7e50c31b5fba14871938318b37a.

    I still haven't figured out why, but this seems to have increased the
    failure rate.

commit a8f16df615daa55901bb351efe038e86b61fbb92
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-08 12:57:15 +0900

    Wait for GC before unload_units

commit ea18c8bb96c019a609b37671ceec5f51d61476cd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-08 11:43:42 +0900

    Made method-local instance variables local variables

commit 5c2ff88be2e515613dfe54823e8429656f688e9f
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-08 08:33:29 +0900

    Lock the entire active_units loop

    The previous fix seems not working. Let me test if this works.

commit 41fafd9dd29717cfa9fcf6331d9da88f49da4916
  Author: MSP-Greg <MSP-Greg@users.noreply.github.com>
  Date:   2020-12-08 07:47:42 +0900

    Remove BUNLDER_VERSION in Windows (#3859)

    [Bug #17372]

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 2580093d5deb9940700aa5faa5bed3af405d989f
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-08 07:21:21 +0900

    Pass the flag as $TESTOPTS

    Fixing the failure of a4f292426b40f9d6c8f3d646e4b7c667313074f2 like
    https://github.com/ruby/ruby/runs/1513663542

commit 3319ce37651aa7e50c31b5fba14871938318b37a
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-08 06:54:04 +0900

    Have list_node at the top of rb_mjit_unit

    to convert list_node to rb_mjit_unit easily in gdb.

commit a4f292426b40f9d6c8f3d646e4b7c667313074f2
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-12-08 05:45:22 +0900

    skip failing tests in test-all on mingw

    https://bugs.ruby-lang.org/issues/17372

commit 146b3695c0e1ea0d6cf00442d5524f97d8a75296
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-08 02:09:53 +0900

    ruby.c: remove needless substitution of uenc

    uenc has already been initialized the top of the function.

commit 7e69296a2be8db8814aa0cd0ce6471b80d55b464
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-12-08 02:01:31 +0900

    memory_view.c: Add rb_memory_view_extract_item_members (#3855)

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit ca76337a00244635faa331afd04f4b75161ce6fb
  Author: Lars Kanis <kanis@comcard.de>
  Date:   2020-12-08 02:00:39 +0900

    Windows: Read ENV names and values as UTF-8 encoded Strings (#3818)

    * Windows: Read ENV names and values as UTF-8 encoded Strings

    Implements issue #12650: fix https://bugs.ruby-lang.org/issues/12650

    This also removes the special encoding for ENV['PATH'] and some
    complexity in the code that is unnecessary now.

    * Windows: Improve readablity of getenv() encoding

    getenv() did use the expected codepage as an implicit parameter of the macro.
    This is mis-leading since include/ruby/win32.h has a different definition.
    Using the "cp" variable explicit (like the other function calls) makes it
    more readable and consistent.

    * Windows: Change external C-API macros getenv() and execv() to use UTF-8

    They used to process and return strings with locale encoding,
    but since all ruby-internal spawn and environment functions use UTF-8,
    it makes sense to change the C-API equally.

  Notes:
    Merged-By: nurse <naruse@airemix.jp>

commit 94b6933d1c6f4c8698319fbcac9dcecc9033b4b9
  Author: Lars Kanis <kanis@comcard.de>
  Date:   2020-12-08 01:48:37 +0900

    Set default for Encoding.default_external to UTF-8 on Windows (#2877)

    * Use UTF-8 as default for Encoding.default_external on Windows
    * Document UTF-8 change on Windows to Encoding.default_external

    fix https://bugs.ruby-lang.org/issues/16604

  Notes:
    Merged-By: nurse <naruse@airemix.jp>

commit 3bf7b999e503199e2e9fe68ade25ee6830b3e57e
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-12-06 17:45:05 +0900

    [ruby/reline] Editing to initial content is not just cursor moving

    https://github.com/ruby/reline/commit/0a4f175b0a

commit b5ef4ad3120eabd0a6107524ca9503c19afdc8a5
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-08 00:01:43 +0900

    * 2020-12-08 [ci skip]

commit 05e1d87e625d9903d53e13049d69848924aecd28
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-07 23:57:31 +0900

    rbinstall.rb: do not install useless files after installed

commit 91f831ac17c8ff58d536ce1fa320294bb477d2ae
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-07 23:47:37 +0900

    Extract gemspec to versioned file

    Not to be overwritten by test-bundler-prepare.  gem files often
    contain useless gemspec files which have not been processed.

commit e025113d71ca208255203f78cc85e9efa25bb23f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-07 22:40:46 +0900

    rbinstall.rb: relaxed split argument

    did_you_mean splits the output by `$/`.

commit 5894ea5954db119fc818bb7030ed56cf46830c6d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-07 22:27:29 +0900

    rbinstall.rb: fix the position to expand files

    As `spec.files` is used for `executables` and so on, the expanded
    list needs to be located at the same place.

commit c6b37cb169f190bac46c76a643350ee4ffc3dfca
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-12-07 21:32:25 +0900

    Remove resolv_timeout of TCPSocket.new from NEWS

    We couldn't support it for now, because getaddrinfo_a(3)
    was reverted in 5d8bcc4870. `resolv_timeout` will be just ignored.

commit 29dee10af28e5766916ad3aa93401508508d53e2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-07 19:09:23 +0900

    rbinstall.rb: install files expanded from bundled gems

    Although gemspec file (e.g., power_assert and rake) often uses
    `git ls-files`, as it does not make sense in other than its own
    repository, it has been ignored now.  Gather all files expanded
    from the bundled gem to install, instead.

commit 7817a438eb1803e7b3358f43bd1f38479badfbdc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-02 15:50:01 +0900

    Removed deprecated Time#succ

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3841

commit 20d53dad47064b28721d81ad0a98a25dcb0731c6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-06 23:37:21 +0900

    Update the version guard to 3.0

commit 547c71dec47561571b4862dda0395fb0b08d6c1c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-27 10:19:58 +0900

    Hash#index: delete

    Has been deprecated since 0c97c8e33584e6203bb09c08f92b63bd2cca8ae7.

commit 53ce71b5af09843e1f6dfac7d2f39fa4cf682b12
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-05 14:04:48 +0900

    Ractor.select requires an argument or yield_value

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3848

commit c2fa024e0220aca6e2437e56df2abf1a2368cbdf
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-07 16:01:35 +0900

    fix Thread's interrupt and Ractor#take issue

    Thread's interrupt set Ractor's wakeup_status as interrupted, but
    the status remains next Ractor communication API. This patch makes
    to ignore the previous interrupt state.
    [Bug #17366]

    Also this patch solves the Thread#kill and Ractor#take issues.

commit cc36e499f9403c2e3dd0514fc8f13ff485c10b82
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-12-07 12:37:18 +0900

    Doxygen terminology update [ci skip]

    Follow N2328 http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2328.pdf

commit 5d8bcc4870601ab1ee05346346f241d4a805aac9
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-12-07 12:49:44 +0900

    Revert getaddrinfo_a()

    getaddrinfo_a() gets stuck after fork().
    To avoid this, we need 1 second sleep to wait for internal
    worker threads of getaddrinfo_a() to be finished, but that is unacceptable.

    [Bug #17220] [Feature #17134] [Feature #17187]

commit 1ba05f5b2d7b1701242023b5ac156b169f1ded90
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-07 13:32:20 +0900

    need more lock in finalize_list()

    Some data should be accessed in parallel so they should be protected
    by the lock.

commit 556a7285080c1344c75bb93a333c9bfc5d631c61
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-07 13:23:19 +0900

    Lock active_units references on compaction

    This might race with mjit_recompile.

commit 4b4af40f5577263ae48813fed1593ba81c89c7e7
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-07 11:57:27 +0900

    Update TypeProf to 0.9.0 (#3856)

    * Update TypeProf to 0.9.0

  Notes:
    Merged-By: mame <mame@ruby-lang.org>

commit 0ebf6bd0a26b637f019d480ecd7f00a73c416b58
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-07 11:27:25 +0900

    RB_VM_LOCK_ENTER_NO_BARRIER

    Write barrier requires VM lock because it accesses VM global bitmap
    but RB_VM_LOCK_ENTER() can invoke GC because another ractor can wait
    to invoke GC and RB_VM_LOCK_ENTER() is barrier point. This means that
    before protecting by a write barrier, GC can invoke.
    To prevent such situation, RB_VM_LOCK_ENTER_NO_BARRIER() is introduced.
    This lock primitive does not become GC barrier points.

commit 8dd03e5cf0d583ffb836cf27be5645a7d88ac736
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-07 11:10:18 +0900

    skip assertion on multi-ractor

    This assertion is not considerred on multi-ractor mdoe.

commit bef3eb544025cc4bd4c9c7b87a8ffe4966db6faa
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-07 00:07:30 +0900

    fix decl of ruby_single_main_ractor

    On windows, MJIT doesn't work without this patch because of
    the declaration of ruby_single_main_ractor. This patch fix this
    issue and move the definition of it from ractor.c to vm.c to locate
    near place of ruby_current_vm_ptr.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3842

commit 344ec26a99e09c2d2f756fa6384e75ffa48f415f
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-06 15:41:21 +0900

    tuning trial: newobj with current ec

    Passing current ec can improve performance of newobj. This patch
    tries it for Array and String literals ([] and '').

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3842

commit 59ddb88da6bf483eeec7b85b8a85cf3719edf440
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-06 15:40:16 +0900

    RB_EC_NEWOBJ_OF

    NEWOBJ with current ec.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3842

commit 91d99025e4776885ceea809123a129cb31cd1db6
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-03 15:57:39 +0900

    per-ractor object allocation

    Now object allocation requires VM global lock to synchronize objspace.
    However, of course, it introduces huge overhead.
    This patch caches some slots (in a page) by each ractor and use cached
    slots for object allocation. If there is no cached slots, acquire the global lock
    and get new cached slots, or start GC (marking or lazy sweeping).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3842

commit 1d0bf3d8dd8de40d498a7c2784a84aa566d290b9
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-05 05:42:44 +0900

    log for the beginning of vm_lock_enter

    Before this patch, there is no information to start locking.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3842

commit 554a7180a0aad85bee5cb8ed41d99d16dab304e7
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-02 04:10:05 +0900

    RB_VM_LOCK_ENTER_CR_LEV

    This is variant of RB_VM_LOCK_ENTER_LEV, but accept current racotr's
    pointer.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3842

commit 23f9447429a1bbb262aa19afd9a2a1ad0eba8ca6
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-05 05:38:50 +0900

    show ractor info on non-single ractor mode

    Without this patch, Ruby doesn't show ractor's information when
    there is only 1 ractor. However it is hard to read the log when
    some ractors are created and terminated. This patch makes to keep
    showing ractor's information on multi-ractor mode.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3842

commit 307732ccee7f9f28f8422bab2f839da021d8cdec
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-05 06:15:17 +0900

    cancel theap on multi-ractors

    accessing theap needs complicating synchronization but it reduce
    performance on multi-ractor mode. So simply stop using theap
    on multi-ractor mode. In future, theap should be replaced with
    more cleaver memory strategy.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3842

commit b67b24d0f5e78481e6a306881b6858f0dec996ba
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-02 03:37:56 +0900

    ruby_single_main_ractor for single ractor mode

    ruby_multi_ractor was a flag that indicates the interpreter doesn't
    make any additional ractors (single ractor mode).
    Instead of boolean flag, ruby_single_main_ractor pointer is introduced
    which keeps main ractor's pointer if single ractor mode. If additional
    ractors are created, ruby_single_main_ractor becomes NULL.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3842

commit 60eabb1aa7d1d8ab83c49916bd8c3536daf5d03b
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-07 00:32:29 +0900

    Revert "memory_view.c: Add rb_memory_view_extract_item_members"

    This reverts the following three commits.

    - ce707079c153f389d861c91a8dccc510fab0e245
    - 1a76bb56b0ba99a19d1373c4c8ebac42e7b6f27c
    - 51500eedefa492699668ced3e07e330a9a4d53ee

commit f9fd99e601377b114e924fc1697f18098b520fdf
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-07 00:19:45 +0900

    * 2020-12-07 [ci skip]

commit ce707079c153f389d861c91a8dccc510fab0e245
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-07 00:18:55 +0900

    memory_view.c: suppress uninitialized warning

commit e427c5cc2a8cc1163bfef7fb84f06a3e709a93b5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-06 23:47:49 +0900

    Update rbs

commit 1a76bb56b0ba99a19d1373c4c8ebac42e7b6f27c
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-06 23:24:45 +0900

    memory_view.c: Fix the argument type of rb_memory_view_extract_item_members

commit 51500eedefa492699668ced3e07e330a9a4d53ee
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-04 15:50:13 +0900

    memory_view.c: Add rb_memory_view_extract_item_members

commit 14580ebef9ab72fe542e8b1276604c69751c9057
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-06 22:19:36 +0900

    Update rbs

commit 3184cd85c7a539200665e47ef4dfbbac84224748
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-06 16:10:52 +0900

    Updated bundled gems

commit e4e2a33560ca1ec4543fd593b344a29d452f251f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-06 15:59:46 +0900

    update-bundled_gems: support recent format, keep the tag to test

commit ea9f16a27fab68388532cf681e5f1dd79ef973c3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-06 16:00:51 +0900

    update-bundled_gems: chomp ".git" suffix from the source code URI

commit 967ed35bbb2c42646b764ce9f72d69e609e2eafd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-06 15:56:44 +0900

    Moved update-bundled_gems code to a tool

commit 18b2ce11b5b0736723aa321e77c67be4395c3297
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-12-06 15:31:52 +0900

    Mentioned numbered parameter assignment is a SyntaxError in NEWS [ci skip]

    Requested by Junichi Ito.

commit 5d07a21ccd50f4e966749bf5de70e343eed232ac
  Author: MSP-Greg <Greg.mpls@gmail.com>
  Date:   2020-12-06 04:59:07 +0900

    RubyGems certs - remove AddTrust, add GlobalSign Root R3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3854

commit 76439eee68d2f1e56ac7a6ab38aceacf0b4b40c8
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-12-06 01:16:33 +0900

    Call cleanup function for getaddrinfo_a(3) only before fork()

    Previously, rb_getaddrinfo_a_before_exec() is called from before_exec().
    However, the function needs to be called only before fork().
    The change moves it to before_fork().

commit a38d4473564c5620d272305e91c4133f08034138
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-06 01:05:14 +0900

    * 2020-12-06 [ci skip]

commit c56a1c1953bf25581a6a0cd4ade22d2691a920e0
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-12-05 18:05:09 +0900

    Extend sleep time to 1.5 second in rb_getaddrinfo_a_before_exec()

    After 94d49ed31c, TestSocket#test_getaddrinfo_after_fork fails in some
    platforms. To avoid this, the change extends sleep time to 1.5 second.

commit 9dbb2bfd73e66106ec75fb9fff3ac38d85e40395
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-12-05 19:40:00 +0900

    Wrap SortedSet with `ruby_version_is ""..."3.0"`

    * Using $ spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.0"' spec/ruby/library/set/sortedset/**/*_spec.rb

commit bb3d70581972969a01c8ba7f2f3477ec92224f97
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-12-05 19:36:22 +0900

    Add MSpec tool to automatically wrap spec files with a guard

commit d0bd43c332f95e5f227ffcd4eb0e6f7bfa942b2a
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-12-05 19:16:32 +0900

    Revert "SortedSet was removed at a3db08d7b6ff119223f77e3df00b4f6deac971e2"

    * This reverts commit b06ffce4aef002dc47c3c5968181230e7ab8d7cc.
    * Do not revert specs, wrap them with `ruby_version_is` (tool for that in next commit).

commit 5e58a9033fa795b73c76a5bb6a2fb7782335acbd
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-12-05 17:43:03 +0900

    Reduce timeout of test_getaddrinfo_after_fork

commit d2b7e1e4b24633608aba8ef1e00189b00ea2a1d8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-05 14:46:34 +0900

    Protoized old pre-ANSI K&R style definitions

commit a83a51932dbc31b549e11b9da8967f2f52a8b07c
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-04 15:57:40 +0900

    [ruby/matrix] Optimize **

    Avoiding recursive call would imply iterating bits starting from
    most significant, which is not easy to do efficiently.
    Any saving would be dwarfed by the multiplications anyways.
    [Feature #15233]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3844

commit 3b5b309b7b3724849c27dc1c836b5348a8a82e23
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-11-10 06:21:14 +0900

    Proposed method for dealing with stack locals which have non-local lifetime.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3624

commit 15e23312f6abcbf1afc6fbbf7917a57a0637f680
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-10-03 14:42:04 +0900

    Rework the order of operations to avoid stack smashing.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3624

commit f4386413f16f9e492a74f6b65e981e20e22c4849
  Author: Robert Schulze <robert@dotless.de>
  Date:   2020-02-05 18:59:13 +0900

    Cope with frozen-string-literal

    When running irb 1.2.1 (2019-12-24) with frozen-string-literal enabled, it crashes in reline with `can't modify frozen String (FrozenError)`

    Steps to reproduce:

    `RUBYOPT="--enable-frozen-string-literal" irb`

commit 0cf073088ef1a0a3c7d49038ba2d67547b5ed16b
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-27 23:11:46 +0900

    [ruby/reline] Process insertion buffer forcibly

    https://github.com/ruby/reline/commit/89d49ec9e0

commit c2bd5b84d06f5e74afce72e4e4af06d7176453b2
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-26 19:13:34 +0900

    [ruby/reline] Support bracketed paste mode

    https://github.com/ruby/reline/commit/d1a6869322

commit 7624f5275713c3dd2d551058355d9a4544c2ef53
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-21 13:08:53 +0900

    [ruby/reline] Forced newline insertion is not just cursor moving

    https://github.com/ruby/reline/commit/0e30a49d03

commit 37a574b527f2c612be46ec8038ff52bf861bf82f
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-21 02:59:38 +0900

    [ruby/reline] Drop prompt list cache when num of lines is changed

    https://github.com/ruby/reline/commit/1959e22043

commit 2910684c45399eed4dcebda72637a37858b74a62
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-21 00:30:11 +0900

    [ruby/reline] Cache dynamic prompt for 0.5sec

    https://github.com/ruby/reline/commit/06b89d0e61

commit b763c5cdf09fab247a7ca9526bb27a63cf03a81d
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-20 17:13:15 +0900

    [ruby/reline] Stop rerendering if the cursor is only moved

    https://github.com/ruby/reline/commit/30e8eaf855

commit a297565a4e873b9de079510bca011dc3bb2fdf78
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-20 06:00:25 +0900

    [ruby/reline] Split #rerender method that is too huge

    https://github.com/ruby/reline/commit/d0fbc89253

commit 493f381c327d129cfc8329c20cdb13413710ac2f
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-20 04:14:44 +0900

    [ruby/reline] Version 0.1.9

    https://github.com/ruby/reline/commit/0b1b5e77ce

commit b545ab219b40323373596eb45b43f2599a7a3c61
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-19 22:59:16 +0900

    [ruby/reline] Stop rerendering whole screen when adding newline at end of buffer

    The rendering time in IRB has been reduced as follows:

      start = Time.now

      def each_top_level_statement
        initialize_input
        catch(:TERM_INPUT) do
          loop do
            begin
              prompt
              unless l = lex
                throw :TERM_INPUT if @line == ''
              else
                @line_no += l.count("\n")
                next if l == "\n"
                @line.concat l
                if @code_block_open or @ltype or @continue or @indent > 0
                  next
                end
              end
              if @line != "\n"
                @line.force_encoding(@io.encoding)
                yield @line, @exp_line_no
              end
              break if @io.eof?
              @line = ''
              @exp_line_no = @line_no

              @indent = 0
            rescue TerminateLineInput
              initialize_input
              prompt
            end
          end
        end
      end

      puts "Duration: #{Time.now - start} seconds"

    0.33sec -> 0.22sec

    https://github.com/ruby/reline/commit/496c6a1892

commit fb2fda9a27ed96d5100897e93cc31e155b9c41a8
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-18 15:21:57 +0900

    [ruby/reline] Optimize regexp handling for width

    The rendering time in IRB has been reduced as follows:

      start = Time.now

      [{"_id"=>"5f9072a4589a06d2d74b6028",
        "index"=>0,
        "guid"=>"6b3051e2-dbc7-4537-bdb9-6cd7bb5358a7",
        "isActive"=>true,
        "balance"=>"$1,442.84",
        "picture"=>"http://placehold.it/32x32",
        "age"=>34,
        "eyeColor"=>"blue",
        "name"=>{"first"=>"Ward", "last"=>"Levy"},
        "company"=>"HYPLEX",
        "email"=>"ward.levy@hyplex.us",
        "phone"=>"+1 (867) 568-3319",
        "address"=>"867 Cobek Court, Clara, Maryland, 3254",
        "about"=>
         "Exercitation eu ex aliqua sit. Pariatur aliquip incididunt sint id non consectetur ullamco Lorem ea mollit duis amet sint labore. Commodo laborum labore commodo officia in cillum adipisicing esse excepteur cupidatat adipisicing ut. Non esse incididunt voluptate aliquip cillum eu aute duis laboris sit et. Amet enim quis tempor occaecat excepteur exercitation excepteur deserunt amet cillum adipisicing.",
        "registered"=>"Monday, May 25, 2015 6:51 AM",
        "latitude"=>"16.001127",
        "longitude"=>"-72.377848",
        "tags"=>["dolore", "nostrud", "occaecat", "cillum", "nisi"],
        "range"=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
        "friends"=>
         [{"id"=>0, "name"=>"Alison Bryant"},
          {"id"=>1, "name"=>"Ester Espinoza"},
          {"id"=>2, "name"=>"Sullivan Kane"}],
        "greeting"=>"Hello, Ward! You have 7 unread messages.",
        "favoriteFruit"=>"apple"}]

      puts "Duration: #{Time.now - start} seconds"

    0.47sec -> 0.34sec

      start = Time.now

      "Exercitation eu ex aliqua sit. Pariatur aliquip incididunt sint id non consectetur ullamco Lorem ea mollit duis amet sint labore. Commodo laborum labore commodo officia in cillum adipisicing esse excepteur cupidatat adipisicing ut. Non esse incididunt voluptate aliquip cillum eu aute duis laboris sit et. Amet enim quis tempor occaecat excepteur exercitation excepteur deserunt amet cillum adipisicing."

      puts "Duration: #{Time.now - start} seconds"

    0.11sec -> 0.08sec

      start = Time.now

      def each_top_level_statement
        initialize_input
        catch(:TERM_INPUT) do
          loop do
            begin
              prompt
              unless l = lex
                throw :TERM_INPUT if @line == ''
              else
                @line_no += l.count("\n")
                next if l == "\n"
                @line.concat l
                if @code_block_open or @ltype or @continue or @indent > 0
                  next
                end
              end
              if @line != "\n"
                @line.force_encoding(@io.encoding)
                yield @line, @exp_line_no
              end
              break if @io.eof?
              @line = ''
              @exp_line_no = @line_no

              @indent = 0
            rescue TerminateLineInput
              initialize_input
              prompt
            end
          end
        end
      end

      puts "Duration: #{Time.now - start} seconds"

    0.40sec -> 0.33sec

    Co-authored-by: NARUSE, Yui <naruse@airemix.jp>

    https://github.com/ruby/reline/commit/a9e39ddcc4

commit 3d0bcf1cc28041454de90de76ac755f20ccd7658
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-17 11:55:52 +0900

    [ruby/reline] Optimize ASCII character width calculation

    The rendering time in IRB has been reduced as follows:

      start = Time.now

      [{"_id"=>"5f9072a4589a06d2d74b6028",
        "index"=>0,
        "guid"=>"6b3051e2-dbc7-4537-bdb9-6cd7bb5358a7",
        "isActive"=>true,
        "balance"=>"$1,442.84",
        "picture"=>"http://placehold.it/32x32",
        "age"=>34,
        "eyeColor"=>"blue",
        "name"=>{"first"=>"Ward", "last"=>"Levy"},
        "company"=>"HYPLEX",
        "email"=>"ward.levy@hyplex.us",
        "phone"=>"+1 (867) 568-3319",
        "address"=>"867 Cobek Court, Clara, Maryland, 3254",
        "about"=>
         "Exercitation eu ex aliqua sit. Pariatur aliquip incididunt sint id non consectetur ullamco Lorem ea mollit duis amet sint labore. Commodo laborum labore commodo officia in cillum adipisicing esse excepteur cupidatat adipisicing ut. Non esse incididunt voluptate aliquip cillum eu aute duis laboris sit et. Amet enim quis tempor occaecat excepteur exercitation excepteur deserunt amet cillum adipisicing.",
        "registered"=>"Monday, May 25, 2015 6:51 AM",
        "latitude"=>"16.001127",
        "longitude"=>"-72.377848",
        "tags"=>["dolore", "nostrud", "occaecat", "cillum", "nisi"],
        "range"=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
        "friends"=>
         [{"id"=>0, "name"=>"Alison Bryant"},
          {"id"=>1, "name"=>"Ester Espinoza"},
          {"id"=>2, "name"=>"Sullivan Kane"}],
        "greeting"=>"Hello, Ward! You have 7 unread messages.",
        "favoriteFruit"=>"apple"}]

      puts "Duration: #{Time.now - start} seconds"

    0.73sec -> 0.43sec

      start = Time.now

      "Exercitation eu ex aliqua sit. Pariatur aliquip incididunt sint id non consectetur ullamco Lorem ea mollit duis amet sint labore. Commodo laborum labore commodo officia in cillum adipisicing esse excepteur cupidatat adipisicing ut. Non esse incididunt voluptate aliquip cillum eu aute duis laboris sit et. Amet enim quis tempor occaecat excepteur exercitation excepteur deserunt amet cillum adipisicing."

      puts "Duration: #{Time.now - start} seconds"

    0.15sec -> 0.10sec

      start = Time.now

      def each_top_level_statement
        initialize_input
        catch(:TERM_INPUT) do
          loop do
            begin
              prompt
              unless l = lex
                throw :TERM_INPUT if @line == ''
              else
                @line_no += l.count("\n")
                next if l == "\n"
                @line.concat l
                if @code_block_open or @ltype or @continue or @indent > 0
                  next
                end
              end
              if @line != "\n"
                @line.force_encoding(@io.encoding)
                yield @line, @exp_line_no
              end
              break if @io.eof?
              @line = ''
              @exp_line_no = @line_no

              @indent = 0
            rescue TerminateLineInput
              initialize_input
              prompt
            end
          end
        end
      end

      puts "Duration: #{Time.now - start} seconds"

    0.59sec -> 0.38sec

    Co-authored-by: NARUSE, Yui <naruse@airemix.jp>

    https://github.com/ruby/reline/commit/36bc9e3abb

commit c85035363feb79d283a753db1fe795fff0067213
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-14 22:52:38 +0900

    [ruby/reline] Key strokes like 2dl should behave d2l

    Key strokes, vi arg, operator, and motion should be treated as operator, vi
    arg, and motion.

    https://github.com/ruby/reline/commit/d1a7e74aa4

commit 21f26018d253bf1320432a956a9ce7dfa8ab7adb
  Author: manga_osyo <manga.osyo@gmail.com>
  Date:   2020-11-12 13:42:29 +0900

    [ruby/reline] Add test `Reline::Unicode.test_get_mbchar_width`.

    https://github.com/ruby/reline/commit/301e9048fc

commit e47e5db88943b7421f802f1fdfd34ba2224ec057
  Author: manga_osyo <manga.osyo@gmail.com>
  Date:   2020-11-12 12:36:48 +0900

    [ruby/reline] Fix crash to input `é`. refs #174

    https://github.com/ruby/reline/commit/ba5e267e5f

commit ff4656ee64f0dc7ea7eb0f87d90dd718948f4de3
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-09 16:09:42 +0900

    [ruby/reline] Version 0.1.8

    https://github.com/ruby/reline/commit/e79e402c01

commit dbfc1f30d59e595793aaf19fe2b774c103def087
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-09 15:59:52 +0900

    [ruby/reline] Add alias vi-movement-mode to vi-command-mode for compatibility

    https://github.com/ruby/reline/commit/a79c297567

commit 48742614df2f68a682226613dcaefe3dea2b1cab
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-09 15:55:53 +0900

    [ruby/reline] Move alias_method to right after original definition

    https://github.com/ruby/reline/commit/b7c8b93fa9

commit 9750c27afc99034960b74e8951718ca07cc353a8
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-08 21:56:27 +0900

    [ruby/reline] Call process_insert when the end of pasting plural fullwidth chars

    https://github.com/ruby/reline/commit/594484d9f9

commit ba8e5f77eb2562cc0605f1414426a34c7e844964
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-07 12:05:43 +0900

    [ruby/reline] Motions e, E, t, f should include a char on cursor if follows operator

    https://github.com/ruby/reline/commit/86e9a76499

commit 6be3b2da19a45e21c63ed0a9c51fa4e1a0d1bd08
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-02 21:57:54 +0900

    [ruby/reline] Implement vi_yank

    https://github.com/ruby/reline/commit/164aaf9a5f

commit 2dc4aca8d18ae8b5159da22c5d02b3052a7ac4ec
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-02 14:55:15 +0900

    [ruby/reline] Operator with arg need to make sure that they take arg to avoid crashing

    https://github.com/ruby/reline/commit/1c0c06de1f

commit 92b22db6a7d943328ef2776fb3b6a6924fc8b496
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-02 15:22:11 +0900

    [ruby/reline] Unimplemented vi command should be no-op

    https://github.com/ruby/reline/commit/abc90e6867

commit faf8f216be034a575350c7f3387992930b224bfc
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-02 14:48:44 +0900

    [ruby/reline] Keep operator proc as a local variable in the scope

    The proc variable will be used later so the instance variable will be changes.

    https://github.com/ruby/reline/commit/496c4361f6

commit 564aadce626ff8dc94784d909d2a9c7bcd27b427
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-01 22:59:03 +0900

    [ruby/reline] Skip em_exchange_mark without mark

    https://github.com/ruby/reline/commit/abb56e5ec3

commit e6429ad047a46e19739fceb8fa1a64380cb6ae12
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-01 20:39:26 +0900

    [ruby/reline] Backspace and C-h should be unassigned on vi command mode

    https://github.com/ruby/reline/commit/28f4dae020

commit 853c176ea7b36c498045b60359431afe06bd9e3f
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-01 20:04:20 +0900

    [ruby/reline] Version 0.1.7

    https://github.com/ruby/reline/commit/710ca23427

commit 266ffdde8eeb9b6626030653a927f033d7464cdf
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-10-31 16:45:15 +0900

    [ruby/reline] Continuous insertion buffering

    The rendering time in IRB has been reduced as follows:

      start = Time.now

      [{"_id"=>"5f9072a4589a06d2d74b6028",
        "index"=>0,
        "guid"=>"6b3051e2-dbc7-4537-bdb9-6cd7bb5358a7",
        "isActive"=>true,
        "balance"=>"$1,442.84",
        "picture"=>"http://placehold.it/32x32",
        "age"=>34,
        "eyeColor"=>"blue",
        "name"=>{"first"=>"Ward", "last"=>"Levy"},
        "company"=>"HYPLEX",
        "email"=>"ward.levy@hyplex.us",
        "phone"=>"+1 (867) 568-3319",
        "address"=>"867 Cobek Court, Clara, Maryland, 3254",
        "about"=>
         "Exercitation eu ex aliqua sit. Pariatur aliquip incididunt sint id non consectetur ullamco Lorem ea mollit duis amet sint labore. Commodo laborum labore commodo officia in cillum adipisicing esse excepteur cupidatat adipisicing ut. Non esse incididunt voluptate aliquip cillum eu aute duis laboris sit et. Amet enim quis tempor occaecat excepteur exercitation excepteur deserunt amet cillum adipisicing.",
        "registered"=>"Monday, May 25, 2015 6:51 AM",
        "latitude"=>"16.001127",
        "longitude"=>"-72.377848",
        "tags"=>["dolore", "nostrud", "occaecat", "cillum", "nisi"],
        "range"=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
        "friends"=>
         [{"id"=>0, "name"=>"Alison Bryant"},
          {"id"=>1, "name"=>"Ester Espinoza"},
          {"id"=>2, "name"=>"Sullivan Kane"}],
        "greeting"=>"Hello, Ward! You have 7 unread messages.",
        "favoriteFruit"=>"apple"}]

      puts "Duration: #{Time.now - start} seconds"

    2.17sec -> 0.92sec

      start = Time.now

      "Exercitation eu ex aliqua sit. Pariatur aliquip incididunt sint id non consectetur ullamco Lorem ea mollit duis amet sint labore. Commodo laborum labore commodo officia in cillum adipisicing esse excepteur cupidatat adipisicing ut. Non esse incididunt voluptate aliquip cillum eu aute duis laboris sit et. Amet enim quis tempor occaecat excepteur exercitation excepteur deserunt amet cillum adipisicing."

      puts "Duration: #{Time.now - start} seconds"

    1.57sec -> 0.22sec

      start = Time.now

      def each_top_level_statement
        initialize_input
        catch(:TERM_INPUT) do
          loop do
            begin
              prompt
              unless l = lex
                throw :TERM_INPUT if @line == ''
              else
                @line_no += l.count("\n")
                next if l == "\n"
                @line.concat l
                if @code_block_open or @ltype or @continue or @indent > 0
                  next
                end
              end
              if @line != "\n"
                @line.force_encoding(@io.encoding)
                yield @line, @exp_line_no
              end
              break if @io.eof?
              @line = ''
              @exp_line_no = @line_no

              @indent = 0
            rescue TerminateLineInput
              initialize_input
              prompt
            end
          end
        end
      end

      puts "Duration: #{Time.now - start} seconds"

    0.88sec -> 0.77sec

    https://github.com/ruby/reline/commit/7d87ac5a12

commit 76cac4c05a7be61a94a709b8b850118ad0bfa684
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-21 13:29:19 +0900

    [ruby/reline] Improve the performance of `get_mbchar_width`

    It is about three times faster to use one big regexp instead of
    sequential matching.

    https://github.com/ruby/reline/commit/e36f6c0707

commit b3e0db80606614f11412604f1657a135002326e9
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-10-21 07:14:45 +0900

    [ruby/reline] Version 0.1.6

    https://github.com/ruby/reline/commit/20a7806815

commit 9461cceb8aa111bf17c70ffb2e85e1c32315647f
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-20 10:49:18 +0900

    [ruby/reline] Update the generator script too

    https://github.com/ruby/reline/commit/8b0926820a

commit 55cc397a87dbfaa5d95168ce05f9a0d20339c657
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-10-20 08:39:12 +0900

    [ruby/reline] Suppress callbacks in pasting

    IRB uses Reline's 3 dynamic real-time callbacks with calling Ripper;
    output_modifier_proc, prompt_proc, and auto_indent_proc. These processing
    times make the paste time too long.

    https://github.com/ruby/reline/commit/beec3399a8

commit 4291ff370f88c9cbb83913b1d18e3f6206758b14
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-10-20 08:32:42 +0900

    [ruby/reline] Bypass newline insertion at eol on command prompt

    A newline is automatically inserted if a character is rendered at eol on
    command prompt.

    https://github.com/ruby/reline/commit/2dfd5d0df8

commit 6a51d393ca834984737a2fa60e9a37bc9dec2a03
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-19 23:22:47 +0900

    [ruby/reline] Improve the regexps for EastAsianWidth

    A character class is about three times faster than Regexp alternatives

    https://github.com/ruby/reline/commit/57c7955c55

commit 4af2e4111b0e351464a62c73e4ea0ef8b27c43f5
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-10-14 23:29:17 +0900

    [ruby/reline] Deduplicate completed items

    https://github.com/ruby/reline/commit/2dabf0c786

commit e16e481385743666443e162141116b46416cb10d
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-10-14 23:16:23 +0900

    [ruby/reline] Use yamatanooroti 0.0.6 for supporting startup_message on Windows

    https://github.com/ruby/reline/commit/167423b664

commit da59f6517865189281986edf9ffbf4f356c1b021
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-10-10 03:00:04 +0900

    [ruby/reline] Add tests about complicated rendering

    https://github.com/ruby/reline/commit/f4683b72eb

commit dd87d639e9ce71be474a9a5eb014875c88e2ae6b
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-10-09 21:46:22 +0900

    [ruby/reline] Test prompt with escape sequence

    https://github.com/ruby/reline/commit/c7c1d5f5d1

commit 87f51c7e66f9e92242621dda526c668071c315be
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-10-09 21:30:57 +0900

    [ruby/reline] Use startup_option instead of startup wait

    https://github.com/ruby/reline/commit/a63ce6371c

commit 092c253bff2e81ddae6e8c85b3a94af45129bdab
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-12 07:37:46 +0900

    [ruby/reline] Wait for the process to be started in start_terminal

    https://github.com/ruby/reline/commit/d29d33dcf5

commit 62666a6bbdab7a066c761283e448132215ca2e7d
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-10-06 23:55:33 +0900

    [ruby/reline] Add write_inputrc

    https://github.com/ruby/reline/commit/70536d8c9a

commit d5cf3fcd68348ac047094dc24a54e0ea055de844
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-10-05 01:07:24 +0900

    [ruby/reline] Update to Unicode 13.0.0

    https://github.com/ruby/reline/commit/d49bb0aa34

commit d7cda3b0024d82d9c921382b7095a31c866fa857
  Author: Peter Zhu <peter@peterzhu.ca>
  Date:   2020-12-05 00:49:33 +0900

    Add T_MOVED to rp command of GDB

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3846

commit b4ec4a41c24105efbb43f9b70ca7f36d22f98294
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-12-05 00:40:02 +0900

    Guard all accesses to RubyVM::MJIT with defined?(RubyVM::MJIT) &&

    * Otherwise those tests, etc cannot run on alternative Ruby implementations.

commit 83e983ab61b532d17a1177c66e3e43a5042edc1f
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-05 00:32:51 +0900

    * 2020-12-05 [ci skip]

commit 9ea1055eabcb0e498f387953a28747dea9bf2308
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-12-05 00:32:14 +0900

    2.8 -> 3.0 in specs

commit 94d49ed31c39002335eeee65d42463139f561954
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-11-26 16:07:28 +0900

    Add a hook before fork() for getaddrinfo_a()

    We need stop worker threads in getaddrinfo_a() before fork().
    This change adds a hook before fork() that cancel all outstanding requests
    and wait for all ongoing requests. Then, it waits for all worker
    threads to be finished.

    Fixes [Bug #17220]

commit 1cfc6e7b7a92c1a624182392ba702d3dcb2eba98
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-04 20:21:41 +0900

    Added dependencies for rinda

commit 6f14a30022e284398017b47d37f3f717f384f985
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-23 03:22:04 +0900

    [ruby/logger] Consider cygwin a Windows platform

    This should fix Ruby Bug 12468.

    https://github.com/ruby/logger/commit/49de53d1fc

commit 60b57866ac64ef8a21951c7d5ff7b7f98e1ce15f
  Author: Masataka Pocke Kuwabara <p.ck.t22@gmail.com>
  Date:   2020-11-24 00:37:13 +0900

    [ruby/mutex_m] Fix `Mutex_m#initialize` when the super's initialize has kwargs

    Co-authored-by: Ryuta Kamizono <kamipo@gmail.com>

    https://github.com/ruby/mutex_m/commit/84ca1fc108

commit da126250ba31cd341b434b86047cf4ebde4e2539
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-10-28 03:05:54 +0900

    [ruby/fileutils] Make mkdir_p only attempt to create necessary directories

    Previously, if creating the directory directly didn't work
    and the directory didn't exist, mkdir_p would create all
    directories from the root.  This modifies the approach to
    check whether the directory exists when walking up the
    directory tree from the argument, and once you have found an
    intermediate directory that exists, you only need to create
    directories under it.

    This approach has a couple advantages:

    1) It performs better when most directories in path already exist,
    and that will be true for most usage of mkdir_p, as mkdir_p is
    usually called with paths where the first few directories exist
    and only the last directory or last few directories do not.

    2) It works in file-system access limited environments such as
    when unveil(2) is used on OpenBSD.  In these environments, if
    /foo/bar/baz exists and is unveiled, you can do
    `mkdir /foo/bar/baz/xyz` but `mkdir /foo` and `mkdir /foo/bar` raise
    Errno::ENOENT.

    https://github.com/ruby/fileutils/commit/ec0c229e78

commit e666bd1c5a595ab64faee00b3744b3bfa591acb1
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-04 19:36:30 +0900

    Skip subclass spec with SortedSet

commit b06ffce4aef002dc47c3c5968181230e7ab8d7cc
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-04 19:34:06 +0900

    SortedSet was removed at a3db08d7b6ff119223f77e3df00b4f6deac971e2

commit 1804c3368cf4a94791fafa9701f79a2e6f76d5d8
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-10-02 12:55:46 +0900

    [ruby/set] Add `Set#<=>`

    https://github.com/ruby/set/commit/447974a374

commit a3db08d7b6ff119223f77e3df00b4f6deac971e2
  Author: Akinori MUSHA <knu@idaemons.org>
  Date:   2020-09-20 22:03:33 +0900

    [ruby/set] Remove SortedSet implementations

    It required RBTree to perform decently and the external dependency was
    not suitable for a standard library.  The pure ruby fallback
    implementation was originally meant to be an example of how to write a
    subclass of Set, and its poor performance was not suitable for use in
    production.

    I decided it should be distributed as an external library instead of
    bundling it with Set.

    https://github.com/ruby/set/commit/dfcc8e568b

commit 46fc8d78a5d23d3c9a24e1bcc3c5cde4bce888de
  Author: Akinori MUSHA <knu@idaemons.org>
  Date:   2020-09-20 23:23:13 +0900

    [ruby/set] Resurrect support for Ruby 2.x

    In Ruby 2.x, initialize_copy does not take a freeze option.

    https://github.com/ruby/set/commit/3da6c309df

commit 0adc426ca5cf83e57f5e8433a2f7b55fb7a1fad6
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-10-30 04:28:09 +0900

    [ruby/zlib] Add Zlib::Inflate#inflate :buffer keyword argument

    If a buffer keyword argument is given, it is used as the buffer,
    instead of creating new strings.  This can result in significantly
    lower memory usage during inflation.

    Implements #19

    https://github.com/ruby/zlib/commit/dac9a9b57d

commit bc63ec57e7f965796479f68f6f687187c089bd40
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-10-29 02:58:28 +0900

    [ruby/zlib] Allow Zlib.crc32 and .adler32 to accept IO instance

    This reads from the IO in 8192 byte chunks, so you don't need to
    have the entire string in memory.

    Fixes #16

    https://github.com/ruby/zlib/commit/ba9793c550

commit a60dfff43470583bbb4474594efde8607f889e8b
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-12 05:15:08 +0900

    [ruby/zlib] Document that gets can return nil when eof? returns false

    This behavior differs from File#gets.

    Fixes [Bug #13904]

    https://github.com/ruby/zlib/commit/448e41efdd

commit cf582aa6ee9d8326f930799a4045979a924ffa5e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-04 12:59:19 +0900

    Fixed a code block in NEWS [ci skip]

    A code block needs to be separated from the previous paragraph by
    an empty line.

commit c0de997eddfccd0a9d398a91ef122b16af1686d4
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-04 14:23:24 +0900

    memory_view.c: Fix endianness of n, N, v, V

commit e8cee4915b280dab57ca4f916f36bea4eb7ebdf1
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-04 14:59:12 +0900

    fix initialize order

    `captured->code.val` should be initialize before because it can be
    a GC point by another ractor because `RB_OBJ_WRITE` can issue
    VM locking.

commit 82bbce826f7f170270856bec8ef852667028d143
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-04 14:39:03 +0900

    fix index

    `i` should not be used here because `i` will be `alen` when
    jumped here by "goto restart".

commit f1757a88a4c8e2a50481de020787b37d926463df
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-04 14:33:31 +0900

    Avoid leaving too many core files in /tmp

    for CIs like ci.rvm.jp.

commit 30fba5f37d9058cc7e4d852ff211313f13ded3a1
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-04 14:24:35 +0900

    Do not require time and fileutils by default

    I have no idea what I'm doing, but the previous commit caused lots of CI
    failures like https://github.com/ruby/ruby/runs/1496949568 and this
    place is the most suspicious.

commit 067f45ecd379ea44f294084c8f342c69f735c018
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-04 14:01:24 +0900

    Save a core file on a worker crash

    CI failures like
    http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker/3280458 doesn't
    provide any useful information, and it doesn't leave a core file in a CI
    environment because a test like `Process.kill(:TRAP, $$)` overwrites in
    a next run very quickly.

    Thus I'd like to keep core files in /tmp.

commit 0734a6cd59e6fb1d59180ee73113709ec238b045
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-04 13:55:29 +0900

    Revert "Report a full_message on a worker crash"

    This reverts commit 00f046ef57f9da7f5248f9ef9d55702ddc407bf1.
    It was not helpful for an issue I was debugging.

commit 95118e0250e2255811cc18694b97af1a920cffaf
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-04 12:02:20 +0900

    Fixed links in NEWS [ci skip]

    * added a missing link
    * removed a duplicated link

commit ee4373c81d12efce167b22f521925748728ae92d
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-12-04 11:32:32 +0900

    Remove backticks from method names in NEWS [ci skip]

    nobu pointed out this prevents automatic linking to the methods.

commit 94b2323a68eaac272374b42399f24ea62445f35b
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-12-04 10:37:17 +0900

    Fix typos [ci skip]

commit a9d773a2888d37993db172023769822574f1c8e8
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-12-04 10:19:15 +0900

    Revert "Skip repeated scan of object during compaction"

    This seems to be breaking the build for some reason.

    This command can reproduce it:

    `make yes-test-all TESTS=--repeat-count=20`

    This reverts commit 88bb1a672c49746972f4b15410fa92e9d237c43d.

commit 9195310168fa43186b1918fb0432a54b000fcbba
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-12-04 05:47:34 +0900

    Update documentation for String#encode{,!} [ci skip]

    These methods take keywords, not a hash.

    From tjschuck (T.J. Schuck)

    Fixes [Bug #17364]

commit 88bb1a672c49746972f4b15410fa92e9d237c43d
  Author: Peter Zhu <peter@peterzhu.ca>
  Date:   2020-12-04 04:09:18 +0900

    Skip repeated scan of object during compaction

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3843

commit 04b96fc322fe6547d2587f5ccbe0a835af93e48d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-04 02:08:21 +0900

    * 2020-12-04 [ci skip]

commit b60eaea8e54fb003a79a5a165c6ee55d653322f6
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-12-04 02:02:42 +0900

    Update NEWS [ci skip]

    Make core class updates section use a consistent format. Alphabetize
    core class updates section by class name, and stdlib updates section
    by library name.  Minor formatting changes while here.

commit bc4ca06f90c0da09fe3a6d2ab29e260b9b9cfe1b
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-12-03 23:34:46 +0900

    test/ruby/test_io.rb: some test methods had been overwritten

    http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20201203T123002Z.log.html.gz
    ```
    /home/chkbuild/chkbuild/tmp/build/20201203T123002Z/ruby/test/ruby/test_io.rb:1830:
    warning: method redefined; discarding old test_each_byte
    /home/chkbuild/chkbuild/tmp/build/20201203T123002Z/ruby/test/ruby/test_io.rb:376:
    warning: previous definition of test_each_byte was here
    test/unit warning: method TestIO#test_each_byte is redefined
    /home/chkbuild/chkbuild/tmp/build/20201203T123002Z/ruby/test/ruby/test_io.rb:1849:
    warning: method redefined; discarding old test_each_char
    /home/chkbuild/chkbuild/tmp/build/20201203T123002Z/ruby/test/ruby/test_io.rb:1799:
    warning: previous definition of test_each_char was here
    test/unit warning: method TestIO#test_each_char is redefined
    ```

commit 2a99fea89e6a9510f2f2b378cfa661264bcffd5e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-03 21:31:44 +0900

    test-bundled-gems.rb: show failed gems at last

commit d3c685f0b5b1aedfdeb7660b374ab033bcd27147
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-03 19:17:29 +0900

    digest gem is available now

commit 1af8a0a95ecc606cb57f8bce82288b6c263d9631
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-03 17:39:15 +0900

    [ruby/ipaddr] fixup 90b46678a5b09ed32612b0629b7c51c6d39a0444

    https://github.com/ruby/ipaddr/commit/d2ec7cc3ee

commit e62eb9a3fa627b42eb4445688afc46bd28c0def4
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-03 17:33:34 +0900

    [ruby/ipaddr] Relaxed Ruby version for 3.0

    https://github.com/ruby/ipaddr/commit/90b46678a5

commit d65621b636e1eb89696f13f4076e53d54710cb3f
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2019-07-09 20:16:23 +0900

    Specify minimum version.

commit ca024beeba93340aefff6dde6ee3ac35d9b03352
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-07-16 18:03:28 +0900

    Use Gemfile instead of Gem::Specification#add_development_dependency.

commit 7b126a82a921c991f8121f62e094a62a5f0edb30
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2019-07-09 20:16:13 +0900

    Simplify `ipaddr.gemspec`.

commit ab524dfdd90078b48cc41354a8e9a472ef466a2f
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-08-24 23:07:15 +0900

    [ruby/forwardable] Specify minimum Ruby version.

    Remove jruby-9.1.17.0 from CI

    https://github.com/ruby/forwardable/commit/08d92a9c39

commit 5b1ebb8ead87e7b3b35c6e43959b6b8687ac3be3
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-26 11:02:58 +0900

    [ruby/readline-ext] Rename depend.gem with depend-gem

    https://github.com/ruby/readline-ext/commit/897ffe26a6

commit b526db85fe96f906beea6500f7029013a16f9349
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-26 01:47:28 +0900

    [ruby/readline-ext] Version 0.1.1

    https://github.com/ruby/readline-ext/commit/6d55854434

commit b619197dfad4767ee779822047ca0b03ffe1fb05
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-26 01:43:25 +0900

    Use gemified depend

commit eab4aa4178e9fb55f7c9abfeb631bbe44a665d6e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-11 15:41:08 +0900

    [ruby/io-wait] Added extensions

    https://github.com/ruby/io-wait/commit/664c93b2ff

commit 09266eccf46540e1cd8170800e3b52a6565254d3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-11 15:27:45 +0900

    [ruby/io-wait] Fixed regexp to reject .travis* at the toplevel only

    https://github.com/ruby/io-wait/commit/4434b10e46

commit 7fcbe07d612a967d1904a52617903007c28ffb86
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-11 15:25:15 +0900

    [ruby/io-wait] Exclude dot-files for CIs

    https://github.com/ruby/io-wait/commit/12cce69ddf

commit 09bcb935ec5467e44bab7426446c6e7ce2bbf983
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-11 15:19:23 +0900

    [ruby/io-wait] Fix ls-files matching regexp

    See rubygems/rubygems@8a81183236c4475152798db99734e89779287331.

    https://github.com/ruby/io-wait/commit/04857e0cf5

commit 2800e9f347dc9110d2be33d5abab94a1957c71a6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-12 14:56:27 +0900

    [ruby/io-nonblock] Added extensions

    https://github.com/ruby/io-nonblock/commit/8b7abbd1b5

commit 7820162018869f8931e7abd5d153d5d26c6ae411
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-12 14:55:48 +0900

    [ruby/io-nonblock] Exclude dot-files for CIs

    https://github.com/ruby/io-nonblock/commit/9fa3ad9c7a

commit 7d0a6e28f2260ec2ba487c174e35a9dc614e2e60
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-12 14:53:29 +0900

    [ruby/io-nonblock] Fix ls-files matching regexp

    See rubygems/rubygems@8a81183236c4475152798db99734e89779287331.

    https://github.com/ruby/io-nonblock/commit/e14f7952c1

commit 412a0f52406b2e215eaa77dd601c456dd5c23fce
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-03 16:31:14 +0900

    [ruby/digest] LICENSE

    https://github.com/ruby/digest/commit/aa048ce345

commit 7324d76da40de79cd1a25d023b1a0629002929a7
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-03 16:30:57 +0900

    [ruby/digest] Fixup d981714348f71177132426e3ac19598e1b2e8f5d

    https://github.com/ruby/digest/commit/502a12587c

commit 541e4340dd70de75d44c8ac3b5a4a69943042737
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-03 17:01:10 +0900

    Assert unit->iseq null out happens under the JIT/GC guard

commit 58c3c75fee775abb9a145e7b106320a55f2c8be1
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-12-03 16:38:40 +0900

    Skip checking Ractor recursive locking

    for an MJIT worker thread. We can't do it because its GET_EC() returns
    NULL.

commit 29c9588e7ec4fcc36c91b3783dfbfe86a4d104bf
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-12-03 15:27:54 +0900

    Add Proc#{==,eql?} addition to NEWS [ci skip]

commit 43b95bafd57d04c8fb401d3a9b52aca3f5b4b0be
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-27 11:15:50 +0900

    delete 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.

commit 84eb2bfab940fc9c6962c10ede7f72cee3fb9899
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-12-03 11:53:56 +0900

    include/ruby/internal/xmalloc.h: add doxygen

    Thought it was not a bad idea to document these CAPI. [ci skip]

commit 1f71c7dc81628bfd141bb91ee10bd8ca44ccaf07
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-03 06:49:52 +0900

    add GC guard

    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.

commit 51268be7feace6a6547f8be72d6baf9023b08f2b
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-10-24 08:13:11 +0900

    When allocating new pages, add them to the end of the linked list

    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: https://github.com/ruby/ruby/pull/3814

commit 9e73177d5362c1986814f411961b712967dc5f97
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-11-24 07:40:59 +0900

    Do not reduce quantifiers if it affects which text will be matched

    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: https://github.com/ruby/ruby/pull/3808

commit 7546be2ca0de45bcc2a72d9b4ae0cd44a1322031
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-03 01:23:57 +0900

    * 2020-12-03 [ci skip]

commit 0bebea985dd1b759973e285e87ed9dfa8610d253
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-12-02 08:15:14 +0900

    Incremental sweeping should not require page allocation

    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 <john@hawthorn.email>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3837

commit 12a121cc0f7f5b438388288383a7b8b9baf3e2fe
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-27 10:25:27 +0900

    ENV.index: delete

    Has been deprecated since 373282f6656d3d3d989d261e7a95f8e81b5c9712.

commit 28001e55b3eb65e210484bc2b6f42e89c2903d49
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-02 15:58:37 +0900

    Added dependencies for net-pop

commit 1fa3f9a1b5d237d4d9d6ad87e1d56ea5c1e98717
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-02 15:57:28 +0900

    Added dependencies for net-imap

commit 4e01ab342a4b1478255eee09ddbb5e9fe46a88b9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-02 19:11:01 +0900

    Revert "Removed deprecated Dir.exists? and File.exists?"

    This reverts commit 1a5205536f0c0d6021450b11722919211847df86.

commit 1a5205536f0c0d6021450b11722919211847df86
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-30 23:33:20 +0900

    Removed deprecated Dir.exists? and File.exists?

commit 9e94cd18fcf193a9f87b908b7130123602a7d800
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-02 17:06:09 +0900

    test-bundled-gems: select bundled gems to test by BUNDLED_GEMS

commit 44f038bd7f8371011722ef3531a13d054e541fa2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-02 17:04:33 +0900

    gmake.mk: renamed BUNDLED_GEMS as bundled-gems

    Hyphenated names are safe in GNU make.

commit 30ded41fc3237f83470d0f6b64103f18bc92a78d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-02 16:16:27 +0900

    Loaded script is unset yet when crashed in the initialization phase

commit 98c9120cc00ba691b4abcc13a49a30fa54638535
  Author: Soutaro Matsumoto <matsumoto@soutaro.com>
  Date:   2020-12-02 13:45:00 +0900

    Bundle rbs 0.19.0 (#3838)

  Notes:
    Merged-By: soutaro <matsumoto@soutaro.com>

commit c461b2405ca2b86b6d1328a51374bda8a2fdf332
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-02 13:32:43 +0900

    Removed needless .rb

commit 4bbb61001187a285ba8e504ef2fdce9a4835966f
  Author: Vít Ondruch <vondruch@redhat.com>
  Date:   2019-12-18 23:03:38 +0900

    Emit warning when 'RubyGems' were not properly loaded.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2764

commit fbe37ff37a291f138d9a1119df257174005e7086
  Author: Vít Ondruch <vondruch@redhat.com>
  Date:   2019-12-18 23:02:31 +0900

    Emit warning when 'did_you_mean' was not properly loaded.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2764

commit 0ad7f2dd19c84e44b8fd8d314de33c3e2255feb6
  Author: Vít Ondruch <vondruch@redhat.com>
  Date:   2019-12-18 22:55:25 +0900

    Don't fail when 'RubyGems' are not available.

    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

commit 55c9a95ac8ed1a44645cc8d7d80f2e5ebee6ec8f
  Author: Vít Ondruch <vondruch@redhat.com>
  Date:   2019-12-18 22:29:17 +0900

    Don't fail when 'did_you_mean' is not available.

    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

commit 2e601c284c9b61c286aa031d91e5198c17b44f00
  Author: Kazuki Yamaguchi <k@rhe.jp>
  Date:   2020-05-28 00:53:41 +0900

    digest: remove OpenSSL engine

    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

commit 95bb49d42568802e36b213a7139176dbf9f58672
  Author: Cristian Greco <cristian@regolo.cc>
  Date:   2020-10-22 23:34:53 +0900

    Fix code example in Readline::HISTORY documentation.

    Wrapping the example into a <code> block to avoid it being rendered as a link.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3686

commit 82dc0c6aa380ea736adcd5ea54ec8f77a9269007
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-12-02 09:42:05 +0900

    memory_view.c: Check availability in rb_memory_view_get

commit 7172272c4ca290b0b8d5bed4dd9de84eb1561303
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-01 21:42:02 +0900

    Added dependencies for net-ftp

commit afba96f9f5cc94ecbd717e792c568511ed0729fe
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-01 21:41:24 +0900

    Added dependencies for net-http

commit 48149d8fe7634a521a41be7bc1b9c49a39104d65
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-01 21:39:59 +0900

    Added dependencies for net-smtp

commit b0f4cccfaea3fcd65cf22931b481c405bc759b64
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-01 21:38:52 +0900

    Added dependencies for net-protocol

commit f8435f424bd634cfafef137d2a18b6d3e8f4dddf
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-01 21:23:04 +0900

    Added dependencies for tmpdir

commit 10d6a2733415e3184bf87534969a531e19416faa
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-01 21:21:33 +0900

    Added dependencies for erb

commit c364865bdf2bafbdb7cd1338ddda25d32ce0db5e
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-01 21:19:39 +0900

    Added dependencies for pp

commit 56141d38a3f3910d883e1dde754998ce10b79a58
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-11-26 07:33:09 +0900

    Fix docs about movement for rb_gc_register_mark_object()

    This API in fact pins objects passed to it. See vm.c:2546.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3815

commit 984ba8de75ab306bb87c8f4767dd179bb81ee308
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-02 00:40:39 +0900

    * 2020-12-02 [ci skip]

commit 21bc330e5f190d9b40c3e0fd4945247bdd68d5ab
  Author: Soutaro Matsumoto <matsumoto@soutaro.com>
  Date:   2020-12-02 00:40:09 +0900

    Bundle rbs 0.18.1 (#3825)

  Notes:
    Merged-By: soutaro <matsumoto@soutaro.com>

commit 0c57438ccfe394050142171c4d5bba3ae1885534
  Author: jacopo <1753245+intrip@users.noreply.github.com>
  Date:   2020-12-01 20:19:05 +0900

    Update fixnum.h

    Fix a typo: "nevative" => "negative" in `rb_fix_plus_fix`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3834

commit ad0c2232b1743f329b882977f068aecdbd6e0d8f
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-01 19:14:36 +0900

    Added dependencies for open-uri

commit ac29c405f6816fbb3c52d4d10d85e224ed9dc455
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-01 19:14:07 +0900

    Added dependencies for time

commit 0115ae5ffcf88c5e49ad291ce7be9eefca3f2575
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-01 19:09:06 +0900

    Added dependencies for prime

commit 6ac5e3c06a29dd51b8c8ab7bee21c29c50f779e0
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-12-01 18:32:20 +0900

    Added dependencies for weakref

commit 764de7566ffa3fe828abf13ec93d76515ba27dd1
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-01 16:34:59 +0900

    should not use rb_str_modify(), too

    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

commit d5e16161f6871793bf2f148b5a6901a1a3f6d326
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-12-01 17:35:28 +0900

    Update ext/.document

commit 1ca9facab6c85264168b4c0a18c24f489cabcc9f
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-12-01 16:07:14 +0900

    Add monitor to document files

commit 182fb73c40351f917bf44626c44c1adb6cb1aa5a
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-30 16:18:43 +0900

    rb_ext_ractor_safe() to declare ractor-safe ext

    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

commit 8247b8eddeb2a504a5c9776d1f77d413c8146897
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-01 11:14:36 +0900

    should not use rb_ary_modify()

    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

commit d2cfb5228a89678a712efd381e049391800373e1
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-01 11:10:19 +0900

    show with sharing info

commit a67cd8a8886eed7579c3ffbaf84beecda7ab7d2f
  Author: James Koenig <Koenig.James@Live.com>
  Date:   2020-12-01 05:48:31 +0900

    -> creates a lambda so this updates the documentation to reflect that

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3828

commit 67693d8d806e67d6e50b303dd0be6ec06b81c853
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-28 04:39:09 +0900

    ractor local storage C-API

    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

commit e79f1941b29738d95b42f8cb5bdb159e7138cf49
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-12-01 01:27:04 +0900

    tune parallel test

    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

commit e25165b3fc72166a85ed10e49609153d72333388
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-12-01 05:51:30 +0900

    Fix `Ractor.make_shareable` for recursive structures with unfreezable components

    Followup to #3823

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3827

commit 750e2d9e5ef40f3d69cee957c263a925ff3a3ad6
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-12-01 07:45:56 +0900

    * 2020-12-01 [ci skip]

commit 56bb6e7d582f2e73c23f05594cd89d6deea9c318
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-12-01 06:28:24 +0900

    Only check if the current ep is a local or not, then mark

    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

commit 89774a938a5681193297c5346eeab4ee1dac563b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-30 19:06:25 +0900

    [DOC] Update -l option [ci skip]

    `-l` option has used `chomp!` since Ruby 2.5.  [Bug #12926]

commit b4e21ce25cfa6bf8a04cdeba8875215c5aabfaf1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-30 16:55:47 +0900

    Clean temproray directory created by test-spec

commit d92f427d5ae71da27028770d5c1bd6747d64b6ec
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-30 16:54:07 +0900

    Clean static-ruby

commit 6bef49427ab2a9d3bc338f1cffcd086153a59f44
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-11-18 21:57:01 +0900

    Fix rb_interned_str_* functions to not assume static strings

    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

commit 930a135524382ddd80c0608a7593b6cdfceee846
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-30 16:07:36 +0900

    Fixed Ractor.shareable? on cross-recursive objects [Bug #17344]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3823

    Merged-By: nobu <nobu@ruby-lang.org>

commit 555bd83a8e8b1e859f698089cbbd9ad938159a0e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-30 15:19:49 +0900

    Raise when loading unprovided builtin function [Bug #17192]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3622

    Merged-By: nobu <nobu@ruby-lang.org>

commit 73a337e21461469290005f169c05bc1791112d67
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-11-30 14:53:13 +0900

    Keep references of memory-view-exported objects (#3816)

    * 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>

commit 7e1dbe59759247ae0df26ef3f669009f00e058fd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-30 12:18:21 +0900

    [DOC] Fixed st_udpate comment [ci skip]

    Clarified that the first and second arguments to the callback
    function are pointers to the KEY and the VALUE, but not those
    values themselves.

commit b408d32bf2f8c7f952691388ad1307cf99019882
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-30 05:12:18 +0900

    * 2020-11-30 [ci skip]

commit 77936ad679d63a6d0e7b585db4c31db5507f5586
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-30 05:07:28 +0900

    support SIGSEGV/BUS while read_barrier_handler()

    read_barrier_handler() can cause SIGSEGV/BUS so it should show
    the errors.

commit 02c32b2e9299726e20bb4499fa7c1f5430ce0b6d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-29 15:01:41 +0900

    Get rid of allocation when the capacity is small

commit 9c5d1a2964fb310f7ac024d74fa286e36f24ad49
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-29 11:50:48 +0900

    * 2020-11-29 [ci skip]

commit dbdeb92b6832867ef208130d9a8e7d01df0ccb93
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-29 11:49:45 +0900

    Do not throttle the workaround for --jit-wait

    --jit-wait CI can be stuck when the workaround is throttled
    http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3274091

commit fd329e24c511ce3ff0ed81fd9c88de6cfd5676a9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-28 18:52:22 +0900

    NEWS for [Feature #17136] [ci skip]

commit 85aabef023e1a2e81c308ad98741137c73d4d80b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-31 22:13:34 +0900

    [Feature #17136] Remove special behavior from $KCODE

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3483

commit 3db21cf25f9c0830fafd9f72f228826515a5b566
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-28 18:39:57 +0900

    Revived the getenv macro for dln_find.c

    This partially reverts commit "Windows: Improve readablity of
    getenv() encoding" 14453a256d58b11b06d432e2a4388d95aac298d6.

    The `getenv` macro defined here is to also substitute the function
    in dln_find.c, not only in this file.

commit 14453a256d58b11b06d432e2a4388d95aac298d6
  Author: Lars Kanis <kanis@comcard.de>
  Date:   2020-11-26 19:15:37 +0900

    Windows: Improve readablity of getenv() encoding

    getenv() did use the expected codepage as an implicit parameter of the macro.
    This is mis-leading since include/ruby/win32.h has a different definition.
    Using the "cp" variable explicit (like the other function calls) makes it
    more readable and consistent.

commit 95edb3ec107c89a04d2a7e2395841cc228e91a81
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-28 17:17:55 +0900

    Increase timeout for MJIT Actions

    It's too short for --jit-wait
    https://github.com/ruby/ruby/runs/1466690076?check_suite_focus=true

commit 3378a1ccef8fe867c58b0df37a366c31d0a075a8
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-28 16:46:10 +0900

    Fix compactions.size for throttling

    096f54428d changes the behavior for this kind of cases.

commit 096f54428d8000cccce430022784cb0e7cd31cb4
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-28 16:25:31 +0900

    Throttle JIT compaction

    The compilation for JIT compaction is very heavy. Triggering a second
    compaction to include one more new method is probably not worth it. So
    this triggers JIT compaction for ten more new methods after each
    compaction.

commit 2a7e85861751fff05010099a985902f997cbf3a0
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-28 16:13:17 +0900

    Try to fix the mswin CI failure

    Sorry, I forgot to add this in 122cd35939 while I said I did something
    for it.

commit 122cd35939ddf8ef7bfa17ad75570c01d0cf06ab
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-28 15:46:01 +0900

    Throttle unload_units

    Because d80226e7bd often reduces the number of unloaded units, it
    increases the number of unload_units calls, which are heavy.

    To mitigate that, this throttles unload_units per `max_cache_size / 10`.

    Also hoping to fix
    https://ci.appveyor.com/project/ruby/ruby/builds/36552382/job/kjmjgw9cjyf2ksd7

commit 95bef7b69a6fb42687a6200b338060be307259f5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-27 16:13:42 +0900

    Subsecond of Time::tm should be 0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3821

commit 276f6a225d18561cbe5282b798cb4e416c66079f
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-11-27 14:16:19 +0900

    Don't double fractional seconds when passing timezone object to Time.new

    I found that fractional seconds were doubled when using the timezone
    feature of Time in Sequel's named_timezones extension (which uses
    TZInfo for the timezone object), and traced the problem to this code.

    There is no subsecx being modified in the utc_to_local call below
    this, and I'm not sure why you would want to add in the fractional
    seconds unless you assumed the timezone conversion would drop the
    existing fractional seconds (TZInfo doesn't drop fractional seconds).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3821

commit d80226e7bd801fcbccf71f19ba373b7baf71a49e
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-28 15:07:02 +0900

    Avoid unloading units which have enough total_calls

    instead of just unloading worst 10% methods.

commit 12866b0d31755dc045d7c5fce0a61572a41891c7
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-28 14:52:22 +0900

    Log when JIT compaction is skipped due to ISeq GC

commit 46a49536e397832b96f9b78df547cbe886d0c9f5
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-28 14:39:27 +0900

    * 2020-11-28 [ci skip]

commit 16dab6b69263ed9c816bc0283c8c1f2f95dc1027
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-28 14:28:57 +0900

    Run unload_units in the JIT worker thread

    to avoid "Too many JIT code, but skipped unloading units for JIT compaction".
    Now we can forget the `in_compact` locking.

    Moving some functions from mjit.c to mjit_worker.c because mjit_worker.c
    should have functions executed in the JIT worker.

commit ddb1736bfc0cc65351bc52c150b85baf45871870
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-11-27 23:47:17 +0900

    Update to ruby/spec@c4170a3

commit f02d2f82bf10351f480ea312f40cb840e2437f93
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-11-27 22:55:31 +0900

    Update to ruby/spec@ac878ad

commit f0bfa266d70651dc295a63b026938b246693499b
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-11-27 22:55:29 +0900

    Update to ruby/mspec@b58e665

commit 039ba387aa3c94600c60bbc2d7a9cf448f843ca5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-27 21:36:12 +0900

    Use opaque struct pointer than void

commit 5d8fe1267d2d4e60943e7b41f6dad990a53e077b
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-11-27 17:51:07 +0900

    configure.ac: Check x86intrin.h only when the target CPU is x86

    The check output a warning on M1 Mac mini

    http://rubyci.s3.amazonaws.com/osx1100arm/ruby-master/log/20201127T074507Z.log.html.gz
    ```
    checking x86intrin.h usability... no
    checking x86intrin.h presence... yes
    configure: WARNING: x86intrin.h: present but cannot be compiled
    configure: WARNING: x86intrin.h:     check for missing prerequisite headers?
    configure: WARNING: x86intrin.h: see the Autoconf documentation
    configure: WARNING: x86intrin.h:     section "Present But Cannot Be Compiled"
    configure: WARNING: x86intrin.h: proceeding with the compiler's result
    checking for x86intrin.h... no
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3820

commit f0e2ea2859f9a51260f22b38fae1719a2eab59d9
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-11-27 18:29:39 +0900

    Clarify spec and change of behavior for Random::DEFAULT

commit d40983772966938828a28c6e89752a3e76447b9e
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-27 17:36:02 +0900

    Cache access to reg_cfp->self on JIT

    ```
    $ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
    before --jit: ruby 3.0.0dev (2020-11-27T06:41:15Z master 8ce1711c25) +JIT [x86_64-linux]
    after --jit: ruby 3.0.0dev (2020-11-27T08:36:02Z master 2c592126b9) +JIT [x86_64-linux]
    last_commit=Cache access to reg_cfp->self on JIT
    Calculating -------------------------------------
                                     before --jit           after --jit
    Optcarrot Lan_Master.nes    82.40522392468650     82.66023870551237 fps
                                82.67998539899482     83.08660305312587
                                85.51280693947453     87.09311989553235
                                86.32925337181406     87.16115255191410
                                87.35617494926235     87.30699391518075
                                87.91865339426212     88.47590342996875
                                88.11573661006648     88.64778616696353
                                88.16060826662158     88.67015079203991
                                88.21639244865058     89.19630739497482
                                88.47241577897603     89.23443637947730
                                89.37087287229809     89.57052723997015
                                89.46969964699964     89.97803363889025
    ```

commit 5496415d3165e57e3ade16238a4cc9ec2c3a81f6
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-27 17:36:02 +0900

    mark default_rand

    default_rand can points a Bignum seed, so it should be marked.

commit 2db2fb9f6c742d5bd0019ccd11c7a375e1b12c0b
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-26 04:25:42 +0900

    per-ractor Random::DEFAULT

    Random generators are not Ractor-safe, so we need to prepare
    per-ractor default random genearators. This patch set
    `Random::DEFAULT = Random` (not a Random instance, but the Random
    class) and singleton methods like `Random.rand()` use a per-ractor
    random generator.

    [Feature #17322]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3813

commit 8ce1711c255679d38b6a2405ff694eb5b5b2eae5
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-27 15:41:15 +0900

    Revert "Set VM_FRAME_FLAG_FINISH at once on MJIT"

    This reverts commit 4d2c8edca69884a41d2f843d36023e3decdb9872.

    Unfortunately this seems to cause several issues:
    https://github.com/ruby/ruby/runs/1462188376?check_suite_focus=true
    http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3272802

commit 4d2c8edca69884a41d2f843d36023e3decdb9872
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-27 14:25:09 +0900

    Set VM_FRAME_FLAG_FINISH at once on MJIT

    Performance is probably improved?

    $ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
    before --jit: ruby 3.0.0dev (2020-11-27T04:37:47Z master 69e77e81dc) +JIT [x86_64-linux]
    after --jit: ruby 3.0.0dev (2020-11-27T05:28:19Z master df6b05c6dd) +JIT [x86_64-linux]
    last_commit=Set VM_FRAME_FLAG_FINISH at once
    Calculating -------------------------------------
                                     before --jit           after --jit
    Optcarrot Lan_Master.nes    80.89292998533379     82.19497327502751 fps
                                80.93130641142331     85.13943315260148
                                81.06214830270119     87.43757879797808
                                82.29172808453910     87.89942441487113
                                84.61206450455929     87.91309779491075
                                85.44545883567997     87.98026086648694
                                86.02923132404449     88.03081060383973
                                86.07411817365879     88.14650206137341
                                86.34348799602836     88.32791633649961
                                87.90257338977324     88.57599644892220
                                88.58006509876580     88.67426384743277
                                89.26611118140011     88.81669430874207

    This should have no bad impact on VM because this function is ALWAYS_INLINE.

commit 69e77e81dc10945ac6327717bd480db78004f65a
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-27 13:35:24 +0900

    Run rb_print_backtrace first on ruby_on_ci

    Unfortunately we couldn't see a C backtrace with the previous commit
    http://ci.rvm.jp/results/trunk-random2@phosphorus-docker/3272697.

commit 4dbf6f1e515bd6a3b03ba9edccabccb780c3f789
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-27 13:08:20 +0900

    Call rb_bug_without_die on CI

    when GC.compact's SEGV handler is installed

commit 82541df081393198dd9265ed12d6cc7cc32915a0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-31 22:06:06 +0900

    Separated tests for $KCODE and $=

commit eca854041f86f2171e37ab876bf108d9e13b8188
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-27 12:44:45 +0900

    [DOC] Mersenne Twister isn't cryptographically secure [ci skip]

commit ead32e6e6496fa340e38ecaf62e868f37d344968
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-27 12:25:32 +0900

    * 2020-11-27 [ci skip]

commit 1898e9558a55fa2558fb52d63bbb30bd8c513e50
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-27 12:23:34 +0900

    Always clean up leftovers at ci.rvm.jp

    to prevent failures like
    http://ci.rvm.jp/logfiles/brlog.trunk-mjit.20201126-182515.

    Since fa1250a506e9b6a1bcbf664f6b7b9c06e045d9b9, it should be safe to do
    this.

commit f5ca3ff4dbcf5c140a77d1de5ff3fe3eed2d558d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-26 20:14:34 +0900

    Store all kinds of syntax errors [Bug #17345]

commit 1df3896382a8e2ed86e2edbb5ba80424da0ab5b9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-26 20:03:38 +0900

    Removed a duplicate assertion

commit 6be9d18a4d13f96ebe08384f6b45e4202516a733
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-11-26 00:38:38 +0900

    Update TypeProf to 0.7.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3812

commit af80df18208232368529af45fd7a77c87e16b35f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-25 21:01:57 +0900

    Keep patched zlib files

commit e0944bde9178fda7281717a159d0ffbfd3154f47
  Author: Alan Wu <alanwu@ruby-lang.org>
  Date:   2020-11-26 07:05:06 +0900

    Prefer rb_module_new() over rb_define_module_id()

    rb_define_module_id() doesn't do anything with its parameter so
    it's a bit confusing.

commit 526d0f46f3c6de931ecb1d7c3d5f089a9e2c8074
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-26 04:29:50 +0900

    * 2020-11-26 [ci skip]

commit c32218de1ba094223420a4ea017707f48d0009c5
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-26 02:24:50 +0900

    Disable auto compaction on platforms that can't support it

    Both explicit compaction routines (gc_compact and the verify references form)
    need to clear the heap before executing compaction.  Otherwise some
    objects may not be alive, and we'll need the read barrier.  The heap
    must only contain *live* objects if we want to disable the read barrier
    during explicit compaction.

    The previous commit was missing the "clear the heap" phase from the
    "verify references" explicit compaction function.

    Fixes [Bug #17306]

commit 7aaf6676c416e773b0b3053de2e250a73c2b2e77
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-25 16:14:01 +0900

    should stop other ractors on transient_heap_evacuate

    transient_heap_evacuate() evacuates all living objects from theap
    to malloc managed memory. This evacuation can run in any ractors
    in parallel with other ractor's execution and it is danger.

    To stop such danger parallel execution, use rb_vm_barrier() to
    stop all other ractors.

commit d43d4acf2638ed50ab1542769c5d032c1aa8fb31
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-25 15:51:31 +0900

    fix error message

commit a79fe07db6c2de7a477613f8cd5c9c51322367bf
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-25 15:00:26 +0900

    show the error message before Ractor.yield

    Ractor's error will be printed if Thread#report_on_exception
    is true (default), and error message is used. Without this patch,
    the exception object is sent by Ractor.yield and it can be shared
    with another ractor.

    http://ci.rvm.jp/results/trunk-random3@phosphorus-docker/3269368

    To prevent such sharing, show errors befor Ractor.yield().

commit fed67fe6b277361940e3357c8b1ffa455d7f2339
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-25 14:29:45 +0900

    Revert "Disable auto compaction on platforms that can't support it"

    This reverts commit 63ad55cd882e4010fe313d271af006a430b5ffa8.

    Revert "Disable read barrier on explicit compaction request"

    This reverts commit 490b57783d80f0c5f7882c66d9fb6aa02713c9a5.

commit 00f046ef57f9da7f5248f9ef9d55702ddc407bf1
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-25 13:36:25 +0900

    Report a full_message on a worker crash

    A worker crash happens very often, but we're not sure why.
    I'd like to know a backtrace if it's available.

commit eaa87be5f620a709eb38695f995de405ac42490b
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-25 13:18:04 +0900

    Skip test_ractor.rb:137 for --jit-min-calls=5

    It's failing like
    http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3270373 but I
    have no bandwidth to fix it for now.

    We're still checking --jit-wait (without --jit-min-calls=5) on GitHub
    Actions.

commit c6b7b4f6f429d2cd3ea7a5ba38d2fc9f9037b91f
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-25 12:50:41 +0900

    Report a more detailed situation of test_ractor.rb:137

    This test has been very unstable. I'd like to instantly know whether
    it's always failing or random when I look at a CI failure output.

commit 26e3aea94f2897ae5079d9f9e5549c58de515a54
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-25 12:26:40 +0900

    Overwrite all existing files when extracting zlib

    To prevent CI failure like
    https://ci.appveyor.com/project/ruby/ruby/builds/36494552/job/a3ow8atl19786tep

commit 63ad55cd882e4010fe313d271af006a430b5ffa8
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-25 07:33:12 +0900

    Disable auto compaction on platforms that can't support it

    Auto Compaction uses mprotect to implement a read barrier.  mprotect can
    only work on regions of memory that are a multiple of the OS page size.
    Ruby's pages are a multiple of 4kb, but some platforms (like ppc64le)
    don't have 4kb page sizes.  This commit disables the features on those
    platforms.

    Fixes [Bug #17306]

commit 87d21ee996869cecdcd2afa25553654af847fe39
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-25 06:30:12 +0900

    add HEAP_PAGE_SIZE to internal constants

commit 490b57783d80f0c5f7882c66d9fb6aa02713c9a5
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-25 03:45:12 +0900

    Disable read barrier on explicit compaction request

    We don't need a read barrier when the user calls `GC.compact` because we
    don't allow allocations during GC, and all references should be "live"

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3809

commit b4dd7310ca94982f5ddbe21d498a7d5fbecb1f18
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-25 00:01:57 +0900

    * 2020-11-25 [ci skip]

commit b26d6c70e0f08050ca23388bb0e8442f73269c73
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-11-24 04:03:15 +0900

    Detect the premature end of char property in regexp

    Default to ONIGERR_INVALID_CHAR_PROPERTY_NAME in
    fetch_char_property_to_ctype and only set otherwise if an ending
    } is found.

    Fixes [Bug #17340]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3807

commit 237cb94cf5676e8cfc81ca9f5e8d29e04e61fc4d
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-24 17:02:48 +0900

    Handle calloc failure

    for cfd8c7e6ca9f923cee3a062b548d0824fc67e9a5.

commit cfd8c7e6ca9f923cee3a062b548d0824fc67e9a5
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-24 16:47:58 +0900

    Prefer calloc/free over ZALLOC/xfree

    To avoid SEGV like
    http://ci.rvm.jp/logfiles/brlog.trunk-mjit.20201124-061530

commit 0deb06bfa41ff63a8ed732a690605d487b216378
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-11-23 06:03:49 +0900

    Add CSV 3.1.9 to NEWS

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 832b7f3c547377621e920704c3e4dd839d21f0af
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-11-23 05:54:04 +0900

    [ruby/csv] Add support for \r\n with skip_lines: /...$/ again

    GitHub: fix GH-194

    Reported by Josef Šimánek. Thanks!!!

    https://github.com/ruby/csv/commit/fd86afe081

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit f9935205acc6ee1c737c2c132e547747c21d3ead
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-11-18 05:29:33 +0900

    [ruby/csv] Bump version

    https://github.com/ruby/csv/commit/e1b430d965

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit f9d6d762dc5f86511e349e7f0a59ebb89a7b0764
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-13 02:18:53 +0900

    [ruby/csv] Removed needless editorconfig file (#192)


    https://github.com/ruby/csv/commit/5623dee00e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 20a9131270c3bbb2216fedc6d5e4467b75cf560b
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-10-23 10:51:44 +0900

    [ruby/csv] RDoc recipes for RFC-compliant generation (#187)


    https://github.com/ruby/csv/commit/5adeaff91f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit d48e688f64b8a1913ff9bf44202395bb453de291
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-10-21 16:36:16 +0900

    [ruby/csv] RDoc recipes for diagnostics (#186)


    https://github.com/ruby/csv/commit/d9e67918e2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 9266410c7afbc1b43ff9b2cab31ebd5f0ad14866
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-10-19 10:34:34 +0900

    [ruby/csv] RDoc Recipes for write converters and RFC 4180 compliance (#185)


    https://github.com/ruby/csv/commit/bee48b04c4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit c5fcafd2fd82ddbae38739a874bf84a19b4ef402
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-10-14 10:06:41 +0900

    [ruby/csv] Split recipes into three pages: parsing, generating, filtering (#184)

    Co-authored-by: Sutou Kouhei <kou@clear-code.com>

    https://github.com/ruby/csv/commit/f0bab6a592

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 3cfb63fcd864e6114138a9ba4e972bd616034bc2
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-10-10 07:36:03 +0900

    [ruby/csv] More on Recipes headers (#183)


    https://github.com/ruby/csv/commit/d7ae3df801

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 15e457d6a39c146f9bfa9813fd1c8ab7f2a37f16
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-10-09 06:27:53 +0900

    [ruby/csv] Refine RDoc for headers recipes (#182)


    https://github.com/ruby/csv/commit/bd8085e126

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 6e28ec06c15acd5427629873b9d129c37ecadd51
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-10-06 08:53:10 +0900

    [ruby/csv] RDoc recipes: add introductory texts to code recipes (#181)


    https://github.com/ruby/csv/commit/c52d53761e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 4641a9a92b449e2e9d4cbc91a93de27f98396a96
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-10-02 07:00:24 +0900

    [ruby/csv] Emphasize with-headers over without-headers in recipes (#180)


    https://github.com/ruby/csv/commit/c7bbedd28a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 76e5e5aaec9eb0ec83eb32831a4df4203c24a0a9
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-24 06:43:41 +0900

    [ruby/csv] More RDoc for field converters (#179)


    https://github.com/ruby/csv/commit/2a4ef5d86a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 5a0c8068c8b370c2ce2ba411c146a80194eb3516
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-22 07:11:33 +0900

    [ruby/csv] Clarify and correct RDoc for converters (#178)


    https://github.com/ruby/csv/commit/f3e9586b34

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 4be336b1b70168285455bb65f36268555dd5cc20
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-21 06:38:40 +0900

    [ruby/csv] Recipes for field converters (#177)


    https://github.com/ruby/csv/commit/aea896f030

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 98d52d873ef17414a83b3bc27f8d7e10163ccba2
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-19 07:00:06 +0900

    [ruby/csv] Organize page Recipes better (#176)


    https://github.com/ruby/csv/commit/338b7f0d57

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 8ea293b79c63d76443dd1fb352818c133302584d
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-18 06:52:44 +0900

    [ruby/csv] Experimenting with recipes in CSV RDoc (#175)


    https://github.com/ruby/csv/commit/01ffd0d2de

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 614afb1647d9c9eb170262c8b033f000c5beb6f0
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-12 06:36:01 +0900

    [ruby/csv] Fix CSV.filter to preserve headers (#174)

    Co-authored-by: Sutou Kouhei <kou@clear-code.com>

    https://github.com/ruby/csv/commit/203c5e0574

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 207f2acc1355dea1fc1f483e4d8ff3e571a0ad89
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-07 09:38:33 +0900

    [ruby/csv] Enhanced RDoc for CSV::Row (#173)


    https://github.com/ruby/csv/commit/99956c671d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit e8954fa13b3d2cf11f425897f9d12397fc4a9ecb
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-06 07:03:37 +0900

    [ruby/csv] Enhanced RDoc for CSV::Row (#171)


    https://github.com/ruby/csv/commit/cced8d8de9

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 31ccc233b1789f97dbf741c9e84b674af4a452d5
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-26 11:23:07 +0900

    [ruby/csv] Enhanced RDoc for Row#[]= (#170)


    https://github.com/ruby/csv/commit/744e83043f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit d99bca9012dfa9ed0a18d4e36e1adfe27f499d93
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-24 06:25:25 +0900

    [ruby/csv] Enhanced RDoc for Table::Row (#169)


    https://github.com/ruby/csv/commit/70ed12c1aa

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 0543db40d8a340c253fb5100ee0627b7d5f62448
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-08-23 06:28:12 +0900

    [ruby/csv] Don't change initialize_copy's return value

    https://github.com/ruby/csv/commit/cf3b60db1c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit d2913f912fbcfd2265ce18b942a9600c86f43273
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-21 06:21:36 +0900

    [ruby/csv] Add link to Wikipedia article Table (#167)


    https://github.com/ruby/csv/commit/fe975c41d2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 7deff8880f21250d7d89ded2cdc2f820cfac4aca
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-18 05:55:27 +0900

    [ruby/csv] Enhanced RDoc for CSV::Table (#165)


    https://github.com/ruby/csv/commit/bce4b696a7

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 72997f48672648d65ffad44607b9471814156253
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-12 09:48:00 +0900

    [ruby/csv] Enhanced RDoc for values_at, <<, and push (#164)


    https://github.com/ruby/csv/commit/bb3eb242f2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 3283ef1a7e7b1e2f7063c3078be0a868a37aa710
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-05 06:34:02 +0900

    [ruby/csv] Enhanced RDoc for Table#[] (#162)

    * Enhanced RDoc for Table#[]

    * Enhanced RDoc for Table#[]

    https://github.com/ruby/csv/commit/5575ffc82e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 067b2175e8c55200ba22d395e1fe8255e8dcb383
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-08-04 10:33:35 +0900

    [ruby/csv] Bump version

    https://github.com/ruby/csv/commit/e7628e6930

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 62d123dfa0abac99a776b5c8f703afd582cccc5a
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-08-04 10:30:20 +0900

    [ruby/csv] Disable stringio >= 0.1.3 dependency

    If we have it, we can use the csv gem with a Rack application on
    Passenger.

    https://github.com/ruby/csv/commit/e0c7074a82

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3804

commit 3a7ea6a0135159983fd9dae80b74b74b4b734df0
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-24 08:40:05 +0900

    * 2020-11-24 [ci skip]

commit 3ce5434fece70d267030f78f195c01afa32be866
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-24 08:35:55 +0900

    Ignore static-ruby [ci skip]

    static-ruby is statically linked against libruby, even when
    configured with --enable-shared.

commit 48d1e8682c343bca9d40e81200876eae3af01def
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-24 08:27:08 +0900

    zlib: patches for mswin64

    * cast to suppress C4267 warnings; no possible loss of data as
      following the comparison.

    * shift base address to suppress LNK4281; although /DYNAMICBASE is
      preferable, not sure from which version of link.exe supports it.

commit 78c40e658848e762b20f069042b5ec4eb853d330
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-24 08:22:54 +0900

    zlib: extlibs to download zlib-1.2.11

commit abb672e14f643063de65f6b3dcaa1b23fcaf40e4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-23 18:31:51 +0900

    Suppress a format-overflow warning

commit 2939c57ca7aa80df126332e04de8a33a56978b42
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-23 17:51:52 +0900

    Check if _FORTIFY_SOURCE really works

    i686-pc-cygwin gcc 6.4.0 seems broken around ssp.h, when compiling
    with both of optimization and _FORTIFY_SOURCE.

commit 53e352fd718cd2cae6d77298e6e92736dddcfeeb
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-23 17:06:37 +0900

    Increase the # of downloader.rb's retry attempts

    Apparently 9 was not enough either.
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20201123T063303Z.fail.html.gz

commit 1fea0367d2a09130af71a8304601b4006e552dee
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-23 15:09:41 +0900

    Clarify the intention of `false &&`

commit 2700df3c9d0c163bdc5513bd0a86a783efb3c4cf
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-23 14:02:01 +0900

    ruby/internal/config.h needs to be included first

    to define USE_MJIT.

commit 0a2b9876968dcfd7015dff09d5e44dcbf5668244
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-23 13:54:32 +0900

    Make --disable-jit-support compile

    vm_core.h needs to be included to know rb_execution_context_t, etc.
    I also added a trivial refactoring in mjit.c and missing dependency for
    process.c.

commit 01f38693aa50bce2ce27337bdf5991d08cb41eb4
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-23 13:28:08 +0900

    Remove obsoleted internal/mjit.h inclusion

    :bow:

commit 8646f902633dd7bfc3e7de453af223ef4ad51729
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-23 13:23:49 +0900

    Remove obsoleted internal/mjit.h

    Sorry, I forgot to delete this at 55866565c24765a1722e2c415a6776f3f77e89d0.

commit 55866565c24765a1722e2c415a6776f3f77e89d0
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-23 13:09:42 +0900

    Combine mjit.h and internal/mjit.h

    It's very hard to remember which mjit.h has what.

commit afd765f2ee1d7f0a34ad747d6103926ca100b120
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-23 09:16:16 +0900

    Initialize UTF-8 encoding first as it is used always now

commit d83aa3c2f56a082a692573270002a4574cf9b2f3
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-23 00:11:08 +0900

    * 2020-11-23 [ci skip]

commit fa1250a506e9b6a1bcbf664f6b7b9c06e045d9b9
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-23 00:10:44 +0900

    Stop leaving .c files for JIT compaction in /tmp (#3802)

    * Re-generate C files for JIT compaction every time

    * Refactor in_jit return logic

    * Just write code in a single file

    * Add a TODO comment [ci skip]

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 175952bf0779f236be643880f8a04b9d46dcd083
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-22 23:08:38 +0900

    NEWS for [Feature #16233] [ci skip]

commit 82e836dc7d2aa8cf13d7bc6d671f64b26ea12091
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-22 22:51:00 +0900

    Use hex-encoded binaries instead of UTF-8

    Which UTF-8 char corresponds to the binary representation is
    nonsense for other encodings, and just confusing.

commit d403591b34e204a5937241025c62c877e579fbaf
  Author: Lars Kanis <lars@greiz-reinsdorf.de>
  Date:   2020-11-22 22:23:40 +0900

    Add string encoding IBM720 alias CP720 (#3803)

    The mapping table is generated from the ICU project:
      https://github.com/unicode-org/icu/blob/master/icu4c/source/data/mappings/ibm-720_P100-1997.ucm

    Fixes [Feature #16233] : https://bugs.ruby-lang.org/issues/16233

  Notes:
    Merged-By: nurse <naruse@airemix.jp>

commit 2d112c346a7a1369af1236928538a3b3a833f781
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-11-11 00:05:33 +0900

    [ruby/irb] Stop using bang version for #inspect of result

    https://github.com/ruby/irb/commit/fc1426d34e

commit afb8aba4af923350cfe0a0ae4b4895d5a837e799
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-11-06 02:08:04 +0900

    [ruby/irb] Add a fallback for check_code_block that does not depend on implementation-private APIs

    * Fixes https://github.com/ruby/irb/issues/133

    https://github.com/ruby/irb/commit/5eb3ef3293

commit 5218f17737594867ffe5c2cd9c90b19c7378af05
  Author: Nobuhiro IMAI <nov@yo.rim.or.jp>
  Date:   2020-09-22 09:06:43 +0900

    [ruby/irb] support more body argument for oneliner method definition

    https://github.com/ruby/irb/commit/2ff1295533

commit 7c879cbb3f24c742e0d3226c39d413abe7519205
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-22 19:10:58 +0900

    Suppress an unused-variable warning

commit 75d48a533d01eeb1bb5e6761484a4dece9408fc1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-22 19:09:58 +0900

    rubyspec-capiext: Use plain DLDFLAGS without flags for libruby

commit 7ade7a8603c2bb3cbf3bbfb9c43fd7acde721802
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-22 16:44:48 +0900

    Clarify the intention of the include guard

    This was a leftover of 27d5af59a359909e0d434459c30cfc0940f60a5b.

commit 9eb34c2c9e4ce4005e04dcc85dd7705fb92ca45a
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-22 15:37:07 +0900

    Make c_file / so_file construction consistent

    convert_unit_to_func's c_func / so_func construction is unnecessarily
    complicated while it's not really safer than what compact_all_jit_code
    does. So I changed convert_unit_to_func to be consistent with
    compact_all_jit_code.

commit e0156bd39656e26971e4236747e9cd4f45f8b35f
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-22 12:24:59 +0900

    Make sure all threads are scanned on unload_units

    This has been a TODO since 79df14c04b. While adcf0316d1 covered the
    root_fiber of the initial thread, it didn't cover root_fibers of other
    threads. Now it's hooked properly in rb_threadptr_root_fiber_setup.

    With regards to "XXX: Is this mjit_cont `mjit_cont_free`d?", when
    rb_threadptr_root_fiber_release is called, although I'm not sure when
    th->root_fiber is truthy, fiber_free seems to call cont_free and
    mjit_cont_free. So mjit_conts of root_fibers seem to be freed properly.

commit eb3906c6b8ea3d88c5c53cb420e18dcda4d7081e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-22 11:30:54 +0900

    dist: added DISTOPTS and PKGSDIR

commit e9c3de47649c2c25eef2c610d79629fdc235bcc4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-22 11:30:02 +0900

    make-snapshot: don't store symlinks by 7z for reproduceable pacakges

commit 0f51105ece36739f2d4329089e0cff7a925ea2ff
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-22 11:01:17 +0900

    make-snapshot: measure archiving times

commit 821aa35c8bdccebaa373e68f929b681001e6a772
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-22 10:59:32 +0900

    make-snapshot: suppress messages copying cached files unless verbose

commit 11cd9339a8fbbfd1f4d12c824eee8e3f8dd53bf3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-22 10:49:02 +0900

    make-snapshot: clean autoconf caches for reproduceable packages

commit 5512de76033773a77f686f3cb2adc849356f7674
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-22 09:10:35 +0900

    * 2020-11-22 [ci skip]

commit 43a9a974e276dc49b03ec81ccace0adb534a3d20
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-21 23:21:52 +0900

    [Bug #17021] Make host_* values consistent with target_*

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3800

commit ece917bab38248e1fd1974e597d66df8e33d862e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-21 23:15:26 +0900

    Added rubyspec-capiext target

    This target builds extensions for rubyspec optional C-API tests.

commit a6db9e8d7bfbaa6b2880e06b68c60821217b2395
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-21 17:29:51 +0900

    Remove the unused o_file definition

    It's calculated inside compile_c_to_so again.

commit 8750d001c2d02894d0014c1f61009e2bccb8d428
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-21 16:48:39 +0900

    Fix wrong #ifdef usages with #if

    Apparently #ifdef is always true

commit 27d5af59a359909e0d434459c30cfc0940f60a5b
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-21 16:31:23 +0900

    Unify some confusing macro usages

    _MSC_VER used to be the macro to switch JIT compaction. However, since
    d4381d2ceb, the correct macro to switch it was changed from _MSC_VER
    to _WIN32. As I didn't properly replace all relevant _MSC_VER usages
    to _WIN32, these macros have been used inconsistently.

    nobu replaced _WIN32 with USE_HEADER_TRANSFORMATION in 5eb446d12f3.
    Therefore we had USE_HEADER_TRANSFORMATION and _MSC_VER. This commit
    makes sure such inconsistent _MSC_VER usages will be unified to the new
    header, also renaming it to USE_JIT_COMPACTION to be more precise about
    the requirements. The header transformation itself is not quite relevant
    to places changed in this commit.

commit d645f18f0fd6b9bd5373ef99b95b04b29f73472b
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-11-21 16:36:46 +0900

    Minor fixes to NEWS for String subclass method change [ci skip]

commit ed8e552d4d2c825a3f780ac8bd898eaaca7c21e7
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-21 15:41:55 +0900

    Shrink the blocking region for compile_compact_jit_code

    Isn't setting `in_compact = true` enough to avoid a race condition
    between JIT compaction and unload_units? Now I think it is.

    This change will make it easier to spend more time on compile_compact_jit_code.
    For now it seems to take only 0.0723ms though.

commit 3f8c60cf09da72d1d538e39aee890f511b498fea
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-21 15:22:28 +0900

    Remove obsoleted str_new_empty

    since 58325daae3beefda13ed100782cd19a89cc68771.

    ../string.c:1339:1: warning: ‘str_new_empty’ defined but not used [-Wunused-function]
     1339 | str_new_empty(VALUE str)
          | ^~~~~~~~~~~~~

commit 0960f56a1d773c5417e9de729e159d346aec17ca
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-11-21 15:18:37 +0900

    Eliminate IVC sync between JIT and Ruby threads (#3799)

    Thanks to Ractor (https://github.com/ruby/ruby/pull/2888 and https://github.com/ruby/ruby/pull/3662),
    inline caches support parallel access now.

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 4988758e3a9a2e70ce1b605a88c32010ebe50208
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-11-21 09:42:38 +0900

    Update NEWS for String subclass method change [ci skip]

commit 58325daae3beefda13ed100782cd19a89cc68771
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-10-25 03:52:30 +0900

    Make String methods return String instances when called on a subclass instance

    This modifies the following String methods to return String instances
    instead of subclass instances:

    * String#*
    * String#capitalize
    * String#center
    * String#chomp
    * String#chop
    * String#delete
    * String#delete_prefix
    * String#delete_suffix
    * String#downcase
    * String#dump
    * String#each/#each_line
    * String#gsub
    * String#ljust
    * String#lstrip
    * String#partition
    * String#reverse
    * String#rjust
    * String#rpartition
    * String#rstrip
    * String#scrub
    * String#slice!
    * String#slice/#[]
    * String#split
    * String#squeeze
    * String#strip
    * String#sub
    * String#succ/#next
    * String#swapcase
    * String#tr
    * String#tr_s
    * String#upcase

    This also fixes a bug in String#swapcase where it would return the
    receiver instead of a copy of the receiver if the receiver was the
    empty string.

    Some string methods were left to return subclass instances:

    * String#+@
    * String#-@

    Both of these methods will return the receiver (subclass instance)
    in some cases, so it is best to keep the returned class consistent.

    Fixes [#10845]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3701

commit 4f5d14eb8cb7fba1c583d516d597c5e28d7a5540
  Author: Nobuhiro IMAI <nov@yo.rim.or.jp>
  Date:   2020-11-21 08:34:38 +0900

    [DOC] Ripper.{lex,tokenize} now always return full tokens. [ci skip]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3797

commit 18599b5749f1dc5cc756359dad81b78eb5b3efa0
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-21 08:27:10 +0900

    * 2020-11-21 [ci skip]

commit 08686e71d5c48325ee1bd41c8d7ebcd6c37fa496
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-08-09 01:55:33 +0900

    Do not allow Module#include to insert modules before the origin in the lookup chain

    Module#include should only be able to insert modules after the origin,
    otherwise it ends up working like Module#prepend.

    This fixes the case where one of the modules in the included module
    chain is included in a module that is already prepended to the receiver.

    Fixes [Bug #7844]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3796

commit 1f7b557890c41e59b461d42a5fb9e1f25da9b33d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-20 18:30:05 +0900

    Update expected IRB result

commit 69d871eeeb20e63d5e1110812c89013d1dfae203
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-20 12:25:24 +0900

    [Feature #17276] Moved raise_errors support to Ripper::Lexer#parse

commit fac2498e0299f13dffe4f09a7dd7657fb49bf643
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-17 21:17:19 +0900

    [Bug #11213] let defined?(super) call respond_to_missing?

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3777

commit 4b899f91647b7da1174492f891de3d6ee8128458
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-11-20 13:11:05 +0900

    Try to fix download error

    https://github.com/ruby/ruby/runs/1428320660?check_suite_focus=true#step:9:10
    ```
    tool/downloader.rb:243:in `rescue in download': failed to download config.guess (RuntimeError)
    OpenURI::HTTPError: 403 Forbidden: https://cdn.jsdelivr.net/gh/gcc-mirror/gcc@master/config.guess
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3794

commit 8cbd5f218ba126591a2248dafda66883b260d58d
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-11-17 22:53:41 +0900

    rename

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3769

commit c11c25baefa996fd16ac6b03e2c4cbe8a98b7237
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-11-17 18:41:21 +0900

    fix code

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3769

commit d79cdcb113ed63705f857ac2a7c323db398c4256
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-11-16 13:22:47 +0900

    add flo_prev_or_next func

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3769

commit 1800f3fa5c29515113ecdcc5695e8a96f462b74c
  Author: Nobuhiro IMAI <nov@yo.rim.or.jp>
  Date:   2020-11-19 23:19:08 +0900

    Ripper.{lex,tokenize} return full tokens even if syntax error

    yet another implements [Feature #17276]

commit 80d3f21994653186bc1bb2401b16cacebd8f9efb
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-20 09:25:12 +0900

    * 2020-11-20 [ci skip]

commit 0026f644d739efed0d69911b434a1012ad55c393
  Author: Kevin Murphy <murphy.kevin.mail@gmail.com>
  Date:   2020-11-20 06:38:43 +0900

    Document Different Coverage Modes

    This commits adds in documentation to illustrate the different modes you
    can start coverage with. Examples are provided to show how to start each
    of these modes, along with an explanation of the mode and a description
    of the output.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3792

commit 44ad72fa2113d0e111a1cf76327bcc13de8393e1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-19 15:41:38 +0900

    Added assertions

commit 9c1e2a99fcf69c52fa1d8edcd5fe3961353233ab
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-19 15:36:21 +0900

    Update the default gems section in NEWS.md

commit 4a5c42db88d30532bd4fbcdff89615ebf961d2a2
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-11-19 04:39:59 +0900

    Make RubyVM::InstructionSequence.compile_file use same encoding as load

    This switches the internal function from rb_parser_compile_file_path
    to rb_parser_load_file, which is the same internal method that
    Kernel#load uses.

    Fixes [Bug #17308]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3788

commit fee0073726655827b7b7dcd0481b2119fdbf89f5
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-19 07:11:57 +0900

    * 2020-11-19 [ci skip]

commit ce3c9a34379015473ad6559e75c59e93159894e5
  Author: Cristian Greco <cristian@regolo.cc>
  Date:   2020-11-19 03:04:09 +0900

    Fix USE_TRANSIENT_HEAP macro usage in hash.c

    Additionally fix some typos in transient heap.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3787

commit dc3a65bd99a5d086906bdf299fced99be4d862ac
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-18 15:43:46 +0900

    [ruby/net-smtp] Bump version to 0.2.1

    https://github.com/ruby/net-smtp/commit/6e5c09dcc4

commit 6e487719b4a40aff13128a58012b4e8f12d491b0
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-11-18 14:47:37 +0900

    Update TypeProf to 0.6.1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3784

commit 1301bd8ca93c4e5035f3d52681d63a8966f005c4
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-11-18 14:26:24 +0900

    Update documentation for Ripper.{lex,tokenize,sexp,sexp_raw} [ci skip]

commit cd0877a93e91fecb3066984b3fa2a762e6977caf
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-11-18 14:15:50 +0900

    Support raise_errors keyword for Ripper.{lex,tokenize,sexp,sexp_raw}

    Implements [Feature #17276]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3774

    Merged-By: jeremyevans <code@jeremyevans.net>

commit a776032ef183d6bc1236b2306ada5611b4d6849f
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-11-18 10:52:56 +0900

    Move the declaration into the function

    instead of 'do not call it directly.' comment.

commit 519062b3501a128d917cc599184f2b72f38e9c0c
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-11-18 05:26:35 +0900

    Add Fiddle 1.0.2 to NEWS

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3780

commit 0915a02068c885eaf15d1b2ebc7512d0191c7c45
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-11-18 05:26:15 +0900

    Update Fiddle's dependencies

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3780

commit fcd680fbf0e664d47f3b1984694b880110962364
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-11-18 05:18:55 +0900

    [ruby/fiddle] Remove needless return

    https://github.com/ruby/fiddle/commit/50e02f9445

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3780

commit aa22b6658ae80a6e9a5404c2e38a80f6a8ab446f
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-11-17 11:57:12 +0900

    [ruby/fiddle] Bump version

    https://github.com/ruby/fiddle/commit/74b65cb858

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3780

commit 5c7ef89db4eb97b65ca1601babf76b9396ce75bc
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-11-17 11:12:09 +0900

    [ruby/fiddle] test: suppress shadowing outer local variable warning

    https://github.com/ruby/fiddle/commit/cf168680a2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3780

commit ceccc16589f97c4e2e95c7ae655551c1e54f5f8b
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-11-17 08:51:36 +0900

    [ruby/fiddle] Remove needless workaround

    It's fixed in upstream.
    https://github.com/MSP-Greg/ruby-loco/issues/4

    https://github.com/ruby/fiddle/commit/2ae0ff4934

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3780

commit 3b385c33b840218a51736946624de5b0226d52c8
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-11-17 06:54:18 +0900

    [ruby/fiddle] Add workaround for ruby head for mingw

    https://github.com/ruby/fiddle/commit/bb227c206d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3780

commit 821cfa74cb6c5b778928e880c08d61265e539c60
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-11-17 06:44:04 +0900

    [ruby/fiddle] Use msys2_mingw_dependencies

    https://github.com/ruby/fiddle/commit/fee175a8ff

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3780

commit e27701291a48ee939e0d4713f122d30d07c95773
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-11-17 06:04:00 +0900

    [ruby/fiddle] Use ruby_xcalloc() instead of ruby_xmalloc() and memset()

    https://github.com/ruby/fiddle/commit/6d24fb5438

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3780

commit 1867088d90f6d9116c4c82e875a8e0ed7196bc02
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-09-28 07:06:27 +0900

    [ruby/fiddle] Remove needless rescue

    GitHub: fix GH-15

    Reported by Eneroth3. Thanks!!!

    https://github.com/ruby/fiddle/commit/f3d70b81ec

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3780

commit aff5eaced4ca458bebc59b62502c2addc3d7364a
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-08-15 13:19:23 +0900

    [ruby/fiddle] Add workaround for RubyInstaller for Windows

    See comment for details.

    https://github.com/ruby/fiddle/commit/0c76f03dc4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3780

commit 307388ea19f5c9d1c8c417d1979c40d970b420a2
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-08-03 06:26:40 +0900

    [ruby/fiddle] Add a "pinning" reference (#44)

    * Add a "pinning" reference

    A `Fiddle::Pinned` objects will prevent the objects they point to from
    moving.  This is useful in the case where you need to pass a reference
    to a C extension that keeps the address in a global and needs the
    address to be stable.

    For example:

    ```ruby
    class Foo
      A = "hi" # this is an embedded string

      some_c_function A # A might move!
    end
    ```

    If `A` moves, then the underlying string buffer may also move.
    `Fiddle::Pinned` will prevent the object from moving:

    ```ruby
    class Foo
      A = "hi" # this is an embedded string

      A_pinner = Fiddle::Pinned.new(A) # :nodoc:

      some_c_function A # A can't move because of `Fiddle::Pinned`
    end
    ```

    This is a similar strategy to what Graal uses:

      https://www.graalvm.org/sdk/javadoc/org/graalvm/nativeimage/PinnedObject.html#getObject--

    * rename global to match exception name

    * Introduce generic Fiddle::Error and rearrange error classes

    Fiddle::Error is the generic exception base class for Fiddle exceptions.
    This commit introduces the class and rearranges Fiddle exceptions to
    inherit from it.

    https://github.com/ruby/fiddle/commit/ac52d00223

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3780

commit e2dfc0c26b1f3d3517002ca2645d1b67847fe518
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-07-09 21:39:51 +0900

    [ruby/fiddle] Add support for specifying types by name as String or Symbol

    For example, :voidp equals to Fiddle::TYPE_VOID_P.

    https://github.com/ruby/fiddle/commit/3b4de54899

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3780

commit ae7b53546ca18b56c23f612b6935e98268a07602
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-07-09 20:19:20 +0900

    [ruby/fiddle] Add TYPE_CONST_STRING and SIZEOF_CONST_STRING for "const char *"

    Add rb_fiddle_ prefix to conversion functions.h to keep backward
    compatibility but value_to_generic() isn't safe for TYPE_CONST_STRING
    and not String src. Use rb_fiddle_value_to_generic() instead.

    https://github.com/ruby/fiddle/commit/0ffcaa39e5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3780

commit 64926d500782cadf578724c3d1e7f59e7aaf200f
  Author: MSP-Greg <Greg.mpls@gmail.com>
  Date:   2020-11-17 23:24:34 +0900

    test/net/smtp - use TCPSocket when UNIXSocket unavailable

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3778

commit 2ef3b979bd2916d8a1b4687290a2e65d5e495d6b
  Author: Junichi Ito <jit@sonicgarden.jp>
  Date:   2020-11-18 07:09:00 +0900

    NEWS: Add --backtrace-limit option [ci skip]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3782

commit 898aff954e6b132397a68703148634f326d2c7c8
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-11-18 06:58:27 +0900

    Remove NEWS entry about taint deprecation warnings [ci skip]

    JunichiIto on GitHub correctly pointed out this is no longer
    accurate due to the change to not display deprecation warnings by
    default.

commit 0829f1470469e2c8b74df97d44514b49f4c5f39e
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-18 03:53:08 +0900

    * 2020-11-18 [ci skip]

commit 5e3259ea7490a2542d78c433eb8c9d44c7819e61
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-17 16:40:47 +0900

    fix public interface

    To make some kind of Ractor related extensions, some functions
    should be exposed.

    * include/ruby/thread_native.h
      * rb_native_mutex_*
      * rb_native_cond_*
    * include/ruby/ractor.h
      * RB_OBJ_SHAREABLE_P(obj)
      * rb_ractor_shareable_p(obj)
      * rb_ractor_std*()
      * rb_cRactor

    and rm ractor_pub.h
    and rename srcdir/ractor.h to srcdir/ractor_core.h
        (to avoid conflict with include/ruby/ractor.h)

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3775

commit 0683912db888b0421ce4c40ad450ccf75ad7e3f4
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-17 17:06:06 +0900

    Skip tests related TLS with Windows platform.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3776

commit cada6d85d0c1402463fa6066011169898933dd4e
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-17 14:17:45 +0900

    Import net-smtp-0.2.0 from https://github.com/ruby/net-smtp

commit fcc88da5eb162043adcba552646677d2ab5adf55
  Author: Sergei Trofimovich <slyfox@gentoo.org>
  Date:   2020-11-16 17:42:15 +0900

    configure.ac: fix for upcoming autoconf-2.70

    The failure initially noticed on `autoconf-2.69d` (soon to become 2.70):

    ```
    $ ./configure
    ./configure: line 8720: syntax error near unexpected token `fi'
    ./configure: line 8720: `fi'
    ```

    Before the change generated `./configure ` snippet looked like:

    ```
        if ! $CC -E -xc - <<SRC >/dev/null
    then :

            #if defined __APPLE_CC__ && defined __clang_major__ && __clang_major__ < 3
            #error premature clang
            #endif
    SRC
            as_fn_error $? "clang version 3.0 or later is required" "$LINENO" 5
    fi
    ```

    Note the newline that breaks here-document syntax.

    After the change the snippet does not use here-document.

    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3773

commit ef19fb111a8c8bf1a71d46e6fcf34b227e086845
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-09-25 21:46:59 +0900

    Expose the rb_interned_str_* family of functions

    Fixes [Feature #13381]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3586

commit 68ffc8db088a7b29613a3746be5cc996be9f66fe
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-11-13 05:15:30 +0900

    Set allocator on class creation

    Allocating an instance of a class uses the allocator for the class. When
    the class has no allocator set, Ruby looks for it in the super class
    (see rb_get_alloc_func()).

    It's uncommon for classes created from Ruby code to ever have an
    allocator set, so it's common during the allocation process to search
    all the way to BasicObject from the class with which the allocation is
    being performed. This makes creating instances of classes that have
    long ancestry chains more expensive than creating instances of classes
    have that shorter ancestry chains.

    Setting the allocator at class creation time removes the need to perform
    a search for the alloctor during allocation.

    This is a breaking change for C-extensions that assume that classes
    created from Ruby code have no allocator set. Libraries that setup a
    class hierarchy in Ruby code and then set the allocator on some parent
    class, for example, can experience breakage. This seems like an unusual
    use case and hopefully it is rare or non-existent in practice.

    Rails has many classes that have upwards of 60 elements in the ancestry
    chain and benchmark shows a significant improvement for allocating with
    a class that includes 64 modules.

    ```
    pre: ruby 3.0.0dev (2020-11-12T14:39:27Z master 6325866421)
    post: ruby 3.0.0dev (2020-11-12T20:15:30Z cut-allocator-lookup)

    Comparison:
                      allocate_8_deep
                    post:  10336985.6 i/s
                     pre:   8691873.1 i/s - 1.19x  slower

                     allocate_32_deep
                    post:  10423181.2 i/s
                     pre:   6264879.1 i/s - 1.66x  slower

                     allocate_64_deep
                    post:  10541851.2 i/s
                     pre:   4936321.5 i/s - 2.14x  slower

                    allocate_128_deep
                    post:  10451505.0 i/s
                     pre:   3031313.5 i/s - 3.45x  slower
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3764

commit ebb96fa8808317ad53a4977bff26cf755d68077e
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-11-12 06:38:03 +0900

    Fix singleton class cloning

    Before this commit, `clone` gave different results depending on whether the original object
    had an attached singleton class or not.

    Consider the following setup:
    ```
    class Foo; end
    Foo.singleton_class.define_method(:foo) {}

    obj = Foo.new

    obj.singleton_class if $call_singleton

    clone = obj.clone
    ```

    When `$call_singleton = false`, neither `obj.singleton_class.singleton_class` nor
    `clone.singleton_class.singleton_class` own any methods.

    However, when `$call_singleton = true`, `clone.singleton_class.singleton_class` would own a copy of
    `foo` from `Foo.singleton_class`, even though `obj.singleton_class.singleton_class` does not.

    The latter case is unexpected and results in a visibly different clone, depending on if the original object
    had an attached class or not.

    Co-authored-by: Ufuk Kayserilioglu <ufuk.kayserilioglu@shopify.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3761

commit 084e7e31b257f6ac859769553b4c1c6ca2930152
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-16 16:40:04 +0900

    remain enabled and line specified trace points

    If two or more tracepoints enabled with the same target and with
    different target lines, the only last line is activated.
    This patch fixes this issue by remaining existing trace instructions.
    [Bug #17302]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3770

commit 1271782f9d2d8fe7c67fe57a3ca0464f4acfcaa2
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-17 02:38:31 +0900

    * 2020-11-17 [ci skip]

commit 1ee8d4b0ac5f9512fc507ae4fb861c60faaadaf6
  Author: Tomás Coêlho <36938811+tomascco@users.noreply.github.com>
  Date:   2020-11-17 02:30:48 +0900

    Fix typo on Proc docs

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3772

commit 0f37f384d40fda88111d6a8a573da09423543549
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-16 22:14:37 +0900

    [DOC] Fixed a typo [ci skip]

commit 8985add9eb9d2f1f7bc8213e0f02baeed4e408e6
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-11-16 17:44:52 +0900

    Update TypeProf to 0.5.2

commit bcd29fed695ba106d1074c0671a4ff47d0fdd5db
  Author: Soutaro Matsumoto <matsumoto@soutaro.com>
  Date:   2020-11-15 00:00:21 +0900

    Update TypeProf to 0.5.1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3765

commit 57ab779a9c2cc4acf7f3733a2100d1204b1e0c43
  Author: Soutaro Matsumoto <matsumoto@soutaro.com>
  Date:   2020-11-14 22:36:49 +0900

    Update RBS to 0.17.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3765

commit 0ba096df173c7dbb204698bd0f258f9f3d0d838f
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-11-16 11:01:21 +0900

    Fix a link [ci skip]

commit ef82a0efa3427e5c685cce30c36876825a823927
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-11-16 10:59:58 +0900

    Fix links [ci skip]

commit f5bb9115a7f69c32089b9b970933c3507fb9f82b
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-11-15 15:14:35 +0900

    Use more specific warning for ambiguous slash

    Fixes [Bug #17124]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3767

commit 45fd53e0a22a2e3a870181cc2bfc74abcc5cac79
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-16 07:45:16 +0900

    * 2020-11-16 [ci skip]

commit fd46ff9d421dd1ad20bf3275f3289477e836ce8c
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-11-16 07:44:48 +0900

    NEWS: merge Range and Regexp being frozen [doc]

commit cd50ff8082edd6d7e3248b94d3a6a0194927302f
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-15 10:04:28 +0900

    * 2020-11-15 [ci skip]

commit 0433f5ae4d14ca433b6f6d5e855d6ef8cd4c8021
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-15 09:56:16 +0900

    Functions defined in headers should be static inline

commit 311a66b7f5de767b4e41da06c9b043bdc92f1b6c
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-11-14 19:22:38 +0900

    Update TypeProf to 0.5.0

commit 782621054178c5518b76cd5a1ee3588daf69854f
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-11-13 03:19:41 +0900

    Use rb_attr_get() for hidden ivar

    rb_ivar_get() can issue an uninitialized ivar warning. We never want to
    issue warnings about hidden ivars as they are not actionable for users.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3763

commit 1bd98ee295ee339ce36def71d8b031bdb816dc80
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-14 00:06:43 +0900

    * 2020-11-14 [ci skip]

commit ce9beb9d20187c861462282460b998684759e5e7
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-19 00:18:39 +0900

    Improve error message when subclassing non-Class

    Fixes [Bug #14726]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3330

commit 6d05967468ea58ba481259718f07b3cb5a386945
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-11-13 21:17:24 +0900

    Update to ruby/spec@b0b7f53

commit acbe7aa19705905e7ad1952395e98e8bfe583a97
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-11-13 21:17:22 +0900

    Update to ruby/mspec@f8b0618

commit 69c5474e108a849a2bf71ff38f81efa433f2065f
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-13 13:19:38 +0900

    Fixup 957efa95cc12c608705a5663256226f022ea6c7f

commit e70a1d9b7f71b0ed4a5808e24447dfef445c56ad
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-13 12:02:27 +0900

    Revert https://github.com/ruby/webrick/pull/44

      Because the test for this change was still broken.

commit c046cc1d1cab14088f38f9d32353c43a1f939265
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-13 11:38:58 +0900

    * 2020-11-13 [ci skip]

commit 37e5b367c1925fe04855713c8ec1ad963285e938
  Author: hisanori <hisary@gmail.com>
  Date:   2020-09-26 21:04:19 +0900

    [ruby/webrick] add mime type of extension .mjs

    https://github.com/ruby/webrick/commit/45d68f9eba

commit 957efa95cc12c608705a5663256226f022ea6c7f
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-16 00:38:44 +0900

    [ruby/webrick] Allow empty POST and PUT requests without content length

    RFC 7230 section 3.3.3 allows for this.

    Fixes #30

    https://github.com/ruby/webrick/commit/069e9b1908

commit 6325866421d552c43ecc0f631fc9e848f9a2862f
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-11-12 23:36:47 +0900

    spec/ruby/core/file/utime_spec.rb: XFS seems to have Year 2038 problem

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20201112T123004Z.fail.html.gz
    ```
    1)
    File.utime allows Time instances in the far future to set mtime and
    atime (but some filesystems limit it up to 2446-05-10) FAILED
    Expected [559444, 2446].include? 2038
    to be truthy but was false
    /home/chkbuild/chkbuild/tmp/build/20201112T123004Z/ruby/spec/ruby/core/file/utime_spec.rb:80:in
    `block (4 levels) in <top (required)>'
    /home/chkbuild/chkbuild/tmp/build/20201112T123004Z/ruby/spec/ruby/core/file/utime_spec.rb:3:in
    `<top (required)>'
    ```

    ```
    $ touch foo
    $ ./miniruby -e 'time = Time.at(1<<44); File.utime(time, time, "foo")'
    $ ls -l foo
    -rw-r--r--. 1 mame wheel 0 Jan 19  2038 foo
    ```

commit 028d52bb940d03c120bf274748f52794d001af47
  Author: Akira Matsuda <ronnie@dio.jp>
  Date:   2020-11-04 21:30:25 +0900

    [ruby/date] Numeric already includes Comparable

    https://github.com/ruby/date/commit/f6140df0ad

commit 33574d57f19a19bab1d7ce70d3020150056624bf
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-29 23:52:58 +0900

    [ruby/date] Updated timezones from timeanddate.com

    https://github.com/ruby/date/commit/f08175e34d

commit 81dece54d621c8dd10bb990de487d46a306cedb2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-29 23:52:51 +0900

    [ruby/date] Honor timezones from timeanddate.com

    https://github.com/ruby/date/commit/d20380fc55

commit d65f1140b94e4817fba4a37efd512c0653a0baf1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-29 23:38:07 +0900

    [ruby/date] Fixed the script file name to update zonetab.list

    https://github.com/ruby/date/commit/3c002b1daa

commit 0fdcb947e8c3aa3596ce2274cda111e409272430
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-09-25 21:24:43 +0900

    [ruby/date] [DOC] declate DateTime class is deprecated

    https://github.com/ruby/date/commit/58ca6e6a3e

commit e8f8e63f0aa980d90ee3135376035e3cf006a419
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-12 21:05:59 +0900

    Backport cosmetic changes from upstream repo that is ruby/rdoc

commit ffc8cf12e203275a34a710f392e99cb0d2001a2f
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-12 21:05:33 +0900

    Fixed typo

commit 0d52dce3a35c81df5129bc796eace5048827daf0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-12 19:27:20 +0900

    strip trailing spaces and adjusted indents [ci skip]

commit 98de98fb70ba4a6f62488e9a73d9661d4f710d6e
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-12 17:00:25 +0900

    * 2020-11-12 [ci skip]

commit a237617a5b75b8d541ddbec02363bd99b8adeb49
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-11-12 16:58:10 +0900

    array.rb: Remove unnecessary phrase from rdoc

    A fix to 54fb8fb62a30c7b60ab6443a62821f6f8bc479c4

commit a02ba60466500639af80e560fbf2311c6db70d8c
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-11-12 16:56:15 +0900

    array.rb: show examples whether `Array#shuffle!` has side effect or not

    Partially revert 54fb8fb62a30c7b60ab6443a62821f6f8bc479c4

commit fa3670e6e48a8553ad1f37bbfbd112911da497d1
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-11 16:15:04 +0900

    remove Ractor#close

    close_incoming by antoher ractor means there is no other messages
    will be sent to the ractor, so Ractor.receive will block forever,
    and it should raise and stop.

    close_outgoing by antoher ractor means, ... I don't have good idea
    to use it. It can be a private method.

    Ractor#close calls both, but it does not make sense to call
    different purpose methods, so I remove it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3759

commit deed21bb08170431891b65fda26f4a3557c9ffd4
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-11 01:55:28 +0900

    ignore yield_atexit if outgoing port is closed

    If outgoing_port is closed, Ractor.yield never successes.
    [Bug #17310]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3755

commit db31ace934e8b900e90853bd875f23195837b398
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-10 18:21:11 +0900

    Threads in a ractor will be killed with the ractor

    If a terminating ractor has child threads, then kill all child
    threads.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3754

commit 1e8abe5d03ae386af82e2c95ef05170cd9791889
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-11 14:37:31 +0900

    introduce USE_VM_CLOCK for windows.

    The timer function used on windows system set timer interrupt
    flag of current main ractor's executing ec and thread can detect
    the end of time slice. However, to set all ec->interrupt_flag for
    all running ractors, it is requires to synchronize with other ractors.
    However, timer thread can not acquire the ractor-wide lock because
    of some limitation.

    To solve this issue, this patch introduces USE_VM_CLOCK compile option
    to introduce rb_vm_t::clock. This clock will be incremented by the
    timer thread and each thread can check the incrementing by comparison
    with previous checked clock. At last, on windows platform this patch
    introduces some overhead, but I think there is no critical performance
    issue because of this modification.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3754

commit dd07354f2797473261f06159801e50dc6445ef76
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-10 16:59:59 +0900

    Use Fiddle::Importer directly

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3712

commit 5081bd96753d637d213315ccd8e5efdbf2222a03
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-10 15:39:12 +0900

    Removed win32/resolv.rb for 32bit env

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3712

commit ff67aac193eed4e5ea0a6801d0903ddc35f21be0
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-10 13:56:13 +0900

    Removed win32api

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3712

commit 6ddde162345dca54ae6621a6a2c1616f112c8ccd
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-11 03:24:28 +0900

    * 2020-11-11 [ci skip]

commit 4465099a2249796e1588e8903302b4d7f2b84d80
  Author: Fabio Sangiovanni <sjh+github@sanjioh.org>
  Date:   2020-11-11 02:15:57 +0900

    Fix some typos in NEWS.md.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3756

commit 0b19f33480a026d0ddd17933cbd947466dd58c82
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-10 21:26:45 +0900

    [ruby/racc] Bump version to 1.5.1

    https://github.com/ruby/racc/commit/2cb3055a73

commit 4a03df4507971e35732935cc2eb4a3bd9bf4a1a5
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-10 21:12:35 +0900

    [ruby/racc] skip the failing test with JRuby

    https://github.com/ruby/racc/commit/cf37713895

commit 5a19b492dad5a444826d18cf6d1a1261464a02c4
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-10 21:00:49 +0900

    [ruby/racc] Use the Ruby license. Fix #134

    https://github.com/ruby/racc/commit/7c881cd548

commit 9728cb730f29783f949ba2824f4e411c6abade18
  Author: NAKAMURA Usaku <usa@ruby-lang.org>
  Date:   2020-11-10 14:45:15 +0900

    Use fiddle (win32/importer) instead of Win32API

    - ext/win32/lib/win32/sspi.rb: Use fiddle (win32/importer) instead of Win32API

commit 17e7a819f71f156316a69f5e42dc7e0c077f3735
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-10 12:14:14 +0900

    Complex and Rational is embedded classes now

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3753

commit b958e2add835d62c0a62edaf9a23ecbbd70a3635
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-23 14:38:24 +0900

    Removed canonicalization for mathn

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3691

commit 8b3653b484a1130987c6b774c71e69a4a64a4f27
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-11-06 01:50:24 +0900

    Fix  links

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3738

commit b557c5768c7642d232a6a0268d6876651d40204b
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-10 10:44:45 +0900

    refactoring.

    iv_index_tbl_newsize() usually returns iv_index_tbl->num_entries
    because ivup->iv_extended is usually false.

commit 2fed5f0ad806869139d0e0b1ffc30c517e6baf20
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-11-09 19:49:04 +0900

    lib/racc/statetransitiontable.rb: Make the racc output stable

    Racc calls `Array#sort!` to build a state transition table. As
    `Array#sort!` is not a stable sort, the output may differ depending upon
    the environment.

    This changeset makes the sort stable manually, and updates all
    expectation files.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3749

commit d7581370fd7cef8743c317a1a119215cf064bb73
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-10 05:02:20 +0900

    Add a benchmark for polymorphic ivar setting

    This benchmark demonstrates the performance of setting an instance
    variable when the type of object is constantly changing.  This benchmark
    should give us an idea of the performance of ivar setting in a
    polymorphic environment

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3750

commit 4219cb7adb0240fa92cd044b2feebb66b7702ca1
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-10 04:59:18 +0900

    Add debug counter for ivar inline cache misses that could hit

    This commit adds a debug counter for the case where the inline cache
    *missed* but the ivar index table has an entry for that ivar.  This is a
    case where a polymorphic cache could help

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3750

commit f259906eabac6038bb7c79e426c17ae850c8e017
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-10 04:20:29 +0900

    Avoid slow path ivar setting

    If the ivar index table exists, we can avoid the slowest path for
    setting ivars.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3750

commit 6778ba48fddcab1bca56b9bccc7ea5f9583baba8
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-11-07 09:01:49 +0900

    Fix excessive GC rooting

    rb_vm_add_root_module() is enough to make sure the object become a GC
    root.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3741

commit 6817f4c6b1ab58d74bab989de984bd1d84be233c
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-11-10 00:27:31 +0900

    rb_vm_add_root_module(): Remove unused parameter

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3741

commit cbe869b3707feac4e3de22ab63c40fb881640c53
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-10 02:44:39 +0900

    * 2020-11-10 [ci skip]

commit f649946fb948165905fa10ed8d4707a7bcfbb78f
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-07 07:43:36 +0900

    remove unused debug counter

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3740

commit 2324584d465fc36bc5ae9d8a10235f35d308552c
  Author: Aaron Patterson <aaron.patterson@shopify.com>
  Date:   2020-11-07 05:51:13 +0900

    Update vm_insnhelper.c

    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3740

commit 5582c5a2327d824e872f7f5bd22330094f189d66
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-07 04:33:43 +0900

    Remove iv table size check

    iv tables cannot shrink.  If the inline cache was ever set, then there
    must be an entry for the instance variable in the iv table.  Just set
    the iv list on the object to be equal to the iv index table size, then
    set the iv.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3740

commit eb229994e5b53e201e776ea103970751d3b1725b
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-07 03:11:20 +0900

    eagerly initialize ivar table when index is small enough

    When the inline cache is written, the iv table will contain an entry for
    the instance variable.  If we get an inline cache hit, then we know the
    iv table must contain a value for the index written to the inline cache.

    If the index in the inline cache is larger than the list on the object,
    but *smaller* than the iv index table on the class, then we can just
    eagerly allocate the iv list to be the same size as the iv index table.

    This avoids duplicate work of checking frozen as well as looking up the
    index for the particular instance variable name.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3740

commit d14397bcc48b73070953c9fbd410ba435e5f4b8c
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-11-09 16:16:30 +0900

    `fe80` should be case insensitive too

commit ba1472f43a80b3d9b6853ad4c70c7b1692a4a20f
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-09 14:18:38 +0900

    Removed needless require for 'enumerator'

commit 66107cb162221a3c2334406c93943413a6667c46
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-09 00:50:04 +0900

    * 2020-11-09 [ci skip]

commit b8eb08e0963cff5f3963780b68514c365613609f
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-11-09 00:49:03 +0900

    Fix TestFiberMutex#test_condition_variable assertion

    * Now that it works correctly.

commit fcf8b9ef72aba39e10c5faa134a01ec37ec0bce6
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-11-08 23:32:44 +0900

    test/resolv/test_dns.rb: suppress "assigned but unused variable"

commit 54ac1d7717a96a27966130b17b75c59597649473
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-11-08 16:41:01 +0900

    Support s390 IPv6 link local addresses

commit bed4848661d4a0397b36f481c0c0940277cc31f8
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-11-08 15:55:27 +0900

    Urgent notification pipe has same lifetime as scheduler.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3743

commit 57b83dad4cd3c7d4b2a29829a1cb194c9b5ee9d1
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-11-08 12:19:39 +0900

    Defer `kernel_sleep` to `block` to avoid exiting the event loop when duration is nil.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3743

commit c39984ec5cc6dc94eb0c0e4169e7160f71e89240
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-11-08 12:17:04 +0900

    Tidy up book keeping for `thread->keeping_mutexes`.

    When a scheduler is present, it's entirely possible for
    `th->keeping_mutexes` to be updated while enumerating the waitq. Therefore
    it must be fetched only during the removal operation.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3743

commit f73135233b1437eb2cc6a5c8c732adca1dbd41f2
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-11-08 12:14:43 +0900

    Don't try to resume blocked fiber on dead thread.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3743

commit afe3cb782bbdb5ef38c865b1c857e6cd9083e978
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-11-08 12:12:55 +0900

    `Fiber.new(blocking: false)` is now the default.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3743

commit 2f12af42f7f26d570219b87a89294532a86a8ae2
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-08-25 04:39:08 +0900

    Add support for IPv6 link local addresses to resolv

    Now that it should work correctly, test that every address returned
    by Socket.ip_address_list is resolvable.

    Socket works with IPv6 link local addresses, and ipaddr now does
    as well, so I think resolv should support them.

    Fixes [Bug #17112]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3452

commit fcde1e0e626998d75beb561c016fd99bf64d3a79
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-08 06:12:48 +0900

    * 2020-11-08 [ci skip]

commit 9682db065158da5fa4ec8a3bc267da45b429b92c
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-12 06:28:20 +0900

    Remove sender/message_id pair after response received in resolv

    Once a response for a given DNS request has been received (which
    requires a matching message id), the [sender, message_id] pair
    should be removed from the list of valid senders.  This makes it
    so duplicate responses from the same sender are ignored.

    Fixes [Bug #12838]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3536

commit 5823f6c25b4382cbc156bb990f9c3ce94ff257ed
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-11-07 22:12:22 +0900

    Fix indentation

commit 640fd94effab28fa3d90ecb838d9702e1dea9b9c
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-11-07 22:05:20 +0900

    Fix and remove spec testing undefined behavior

commit 5b3572b5aec742a2a6355f0212a84759983a6b4e
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-11-07 17:37:36 +0900

    Update dependencies

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3742

commit a08ee8330d3d739467bfa34deeb797d83e59ed3c
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-10-16 10:25:58 +0900

    Rename to `Fiber#set_scheduler`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3742

commit 656d4cddaf2debd0c66b9bd980f51bcbf0849bd6
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-07 02:55:52 +0900

    * 2020-11-07 [ci skip]

commit f234f2740dc060ab565899f726101ebf79f5c71e
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-11-05 01:24:38 +0900

    Add docs for some C extension GC APIs

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3733

commit 037803e092e3a8deb07ebd44840ef5ce12843985
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-06 17:42:57 +0900

    Added dependency for net-protocol

commit 7718e9588b4d7d83c8f9a89dce10b06b9f97bddb
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-06 03:21:08 +0900

    a part of T_DATA object can Ractor#send

    T_DATA objects can refer unshareable objects and they should be
    copied recursively, however there is no way to replace with copied
    unshareable objects. However, if a T_DATA object refers only
    shareable objects, there is no need to replace. So this kind of
    T_DATA object (such as Time, Dir, File::Status and so on) can be
    sent by Ractor.send.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3739

commit 4948982b53ef18d367738ede6a32df46353cb9a7
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-11-06 13:28:58 +0900

    Update TypeProf to 0.4.2

commit 6d17c9fa5d6c578dd53e431c3fb4f288cce6248e
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-06 05:28:50 +0900

    gc_rest can change the total pages, so we need to do that first

commit d8da5c198348eac3d3d7a3e13dfb8a9351ed07ae
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-06 05:27:09 +0900

    add asserts to find crash

commit ab5f2fa4fb5b89a71080cd51e192a3882696fe04
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-06 04:13:04 +0900

    Refactor verification method

    Combine everything in to one C function

commit 68a3a2d90f96b46e5c20659ea3eef3f554fbf542
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-06 01:51:40 +0900

    take VM lock when mutating the heap

commit 193edbde912ef44d48dc5f652326d6b923a5ec3a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-06 00:12:16 +0900

    * 2020-11-06 [ci skip]

commit 8014ed9bd2279100de000a59f774bdd04945a20b
  Author: Soutaro Matsumoto <matsumoto@soutaro.com>
  Date:   2020-11-06 00:11:48 +0900

    Update RBS & TypeProf (#3732)

    * Bundle rbs 0.16.0

    * Bundle typeprof 0.4.1

  Notes:
    Merged-By: soutaro <matsumoto@soutaro.com>

commit 3407b7d8a620562d0584cd2968965317f331f8cc
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-11-05 20:54:34 +0900

    Revert "Prefer #send over #__send__ when it is clear there is no possible conflict"

    This reverts commit 4dba0c1a8e3cc08664872e637099c4e7d58d24d3.

    Matz's comment is "send is not deprecated. __send__ is safer".
    But "Prefer #send over #__send__" is not reasonable.

commit b29fe5eb2ded0363c631b2739676e631ed024d66
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-11-05 20:51:17 +0900

    Add description __send__ is safer

commit b2ca183cc94c3de89c68d81d086c7884d142fb17
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-05 20:21:02 +0900

    Promote un.rb to the default gems. It's preparation for 3.0.0-preview2.

commit 4dba0c1a8e3cc08664872e637099c4e7d58d24d3
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-11-05 19:23:27 +0900

    Prefer #send over #__send__ when it is clear there is no possible conflict

    * Reverts part of 3198e7abd70bd2af977f2bb6c967e9df8f91adb0.
    * If the rule is #send should be deprecated, that should be ruled by matz,
      there is no such rule currently and gems seem to prefer #send
      overwhelmingly.

commit 2aa9a50dcc88b876f8298adda737400973e8029f
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-11-05 06:11:56 +0900

    [ruby/ostruct] Update version

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3736

commit 015b0238204616d4c0612459ef91411fa79a9eb5
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-11-05 06:09:51 +0900

    [ruby/ostruct] Restore `ostruct` doc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3736

commit 6f24be856502aba8fa984e704c1e81aa12d96fc9
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-11-05 06:01:37 +0900

    Revert "Make `marshal_load` public"

    This reverts commit ee7cc6ac35cfb056b3946b1dcd6d4d5a140ccacf.

    I'm not sure I agree with the spec, but I just tweaked it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3736

commit 9232f9182736eeb0f12df5884d7297bea0c9f6fd
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-05 07:41:17 +0900

    * 2020-11-05 [ci skip]

commit 70680feeea9e9e2c13ab5e456c2d0ffe0142bb12
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-05 05:04:23 +0900

    Simplify setting instance variables

    Since T_OBJECT objects come to life as embedded objects, that means that
    ROBJECT_NUMIV will always return a _minimum_ of ROBJECT_EMBED_LEN_MAX.
    If ivup.index is *greater* than ROBJECT_NUMIV, then we know that the
    object *must not* be an embedded object. Thus we can skip the
    ROBJECT_EMBED_LEN_MAX check as well as initializing internals of
    embedded objects.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3734

commit a8581ce673e14ba5ff48d0a3cb71368daa82558b
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-05 04:33:59 +0900

    ensure T_OBJECT objects have internals initialized

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3734

commit 704fb0b815151504f731c9ddb52cad0b530b545f
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-11-04 18:45:48 +0900

    Suppress a warning

    ```
    transient_heap.c: In function ‘transient_heap_allocatable_header’:
    transient_heap.c:347:37: warning: comparison of integer expressions of different signedness: ‘int16_t’ {aka ‘short int’} and ‘long unsigned int’ [-Wsign-compare]
      347 |         TH_ASSERT(block->info.index <= TRANSIENT_HEAP_USABLE_SIZE);
          |                                     ^~
    ```

commit d42c68e912f04441cfa27188223e90ac44611bb6
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-11-04 17:07:01 +0900

    Bundle TypeProf 0.4.0

commit f211f9cda4b4817caf0f203a95b07cdab193d0b5
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-11-04 13:30:27 +0900

    use https

commit ae53fda013f669cde835c7ddb157c7c9d177a0f2
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-11-04 10:56:12 +0900

    .travis.yml: delete x86_64

    Is already covered by Github Actions.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3731

commit 4c6700964d92656f5fa4e6ae0b18f822b4870548
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-11-04 10:51:06 +0900

    .travis.yml: delete sanitizer tests

    They were not working.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3731

commit 8eca97c04945e7b252a411fefe80ce41bfc0a202
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-11-02 15:26:32 +0900

    .github/workflows/baseruby.yml: add

    Translate a part of .travis.yml into a Github Actions workflow.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3731

commit bf1047c7570a7544c39ebc819715e2810dd2c1c3
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-11-04 07:06:11 +0900

    Update NEWS for Array methods change

commit 2a294d499bf03211d02695f613f784a05943ea35
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-11-04 07:01:38 +0900

    Make Array methods return Array instances instead of subclass instances

    This changes the following methods to return Array instances instead
    of subclass instances:

    * Array#drop
    * Array#drop_while
    * Array#flatten
    * Array#slice!
    * Array#slice/#[]
    * Array#take
    * Array#take_while
    * Array#uniq
    * Array#*

    Fixes [Bug #6087]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3690

    Merged-By: jeremyevans <code@jeremyevans.net>

commit 7d6c72dc061ed5a180279731fc31321583c61e24
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-04 00:55:00 +0900

    * 2020-11-04 [ci skip]

commit 700637570ff63c0fa3b2373b6e5d7053b5fc35a2
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-11-04 00:51:44 +0900

    Rightward assignment is replaced by one-line pattern matching

commit c3e2dd072aa46be3d13faff9a5fed0ba64b2b680
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-11-03 23:32:40 +0900

    test/ruby/test_gc_compact.rb: suppress "assigned but unused variable"

commit fa7484019d4321f8c0775a4811574dccd29bcaea
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-11-03 10:25:52 +0900

    Add links to the tickets [ci skip]

commit 4f7d27a2103350e6897d33e5714c672652d74ab6
  Author: Luciano Sousa <ls@lucianosousa.net>
  Date:   2020-11-03 09:26:31 +0900

    Fix typo in the auto compact announcement [ci-skip]

    I'm sorry, but I think there is a typo here.

    This fix will help folks who are trying to translate this announcement to other languages. I hope this is not a joke and I didn't get it 🙏

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3730

commit 46f3b68fbf9f0ae3eb678de0fea1fef79ced4d9e
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-03 07:43:29 +0900

    * 2020-11-03 [ci skip]

commit 67b2c21c327c96d80b8a0fe02a96d417e85293e8
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-11-03 07:40:29 +0900

    Add `GC.auto_compact= true/false` and `GC.auto_compact`

    * `GC.auto_compact=`, `GC.auto_compact` can be used to control when
      compaction runs.  Setting `auto_compact=` to true will cause
      compaction to occur during major collections.  At the moment,
      compaction adds significant overhead to major collections, so please
      test first!

    [Feature #17176]

commit 79b242260bc0530503dde85eda8e79b1c2aa9a6e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-02 22:48:28 +0900

    ripper: Invalid pragma value warning

commit 539b89075a61f27c8b5b5cd749f66bda47bc78b0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-02 18:24:45 +0900

    Compare boolean values for parser pragma locale-insensitively

commit bdcfa70bbd06ee48c702b34a20ad5f2e18c479b8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-11-02 17:31:50 +0900

    strip trailing spaces [ci skip]

commit 5fefb532493bc0e80db78322d5fe0eb49b940e31
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-01 10:20:26 +0900

    Copy for Ractor.send() without marshal.

    Now copying objects do not need marshal protocol.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3728

commit 1581da99931ca43e0728697dcb21c7c20e530f4b
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-02 01:37:56 +0900

    * 2020-11-02 [ci skip]

commit db7a3b63bae810a03b19b5577ded1403bb789185
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-01 09:56:40 +0900

    suppport Ractor.send(move: true) for more deta

    This patch allows to move more data types.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3727

commit 963359a7622fb064331504a29a8bf65283d25551
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-11-01 18:58:52 +0900

    Use the suppress_warning helper instead of doing it manually

commit 7282f3113ddb117f5d4ea13a60c223a3911ea224
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-11-01 18:19:05 +0900

    Suppress "One-line pattern matching is experimental" warning

commit e0e2492cd30eb76f084f189060de9a79d619f16e
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-11-01 17:24:36 +0900

    Fix Rubyspec (ruby-2.7) failures

    https://github.com/ruby/ruby/runs/1337845174

commit e03e1982bdc2d815298b211d44534908d79aec4e
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-11-01 16:19:07 +0900

    Change NODE layout for pattern matching

    I prefer pconst to be the first element of NODE.

      Before:

           | ARYPTN | FNDPTN | HSHPTN
        ---+--------+--------+-----------
        u1 | imemo  | imemo  | pkwargs
        u2 | pconst | pconst | pconst
        u3 | apinfo | fpinfo | pkwrestarg

      After:

           | ARYPTN | FNDPTN | HSHPTN
        ---+--------+--------+-----------
        u1 | pconst | pconst | pconst
        u2 | imemo  | imemo  | pkwargs
        u3 | apinfo | fpinfo | pkwrestarg

commit 305c79af2f3358f3c330b00c6a883634894bc35c
  Author: Rei Odaira <rodaira@us.ibm.com>
  Date:   2020-11-01 14:12:01 +0900

    ext/socket/rubysocket.h: avoid the conflict of T_DATA definition in AIX

commit 0e33028d69a25c512df1a44f930652c9a5c5b153
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-11-01 13:55:54 +0900

    use one-line pattern matching for warning tests

commit b1e7c3a31f0a946a6a435acb983126cc6d7693be
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-11-01 13:36:02 +0900

    * 2020-11-01 [ci skip]

commit b60153241121297c94de976419d421683da4d51b
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-11-01 13:28:24 +0900

    Pattern matching is no longer experimental

commit 4f8d9b0db84c42c8d37f75de885de1c0a5cb542c
  Author: wanabe <s.wanabe@gmail.com>
  Date:   2020-10-31 11:53:20 +0900

    Revert "Use adjusted sp on `iseq_set_sequence()`" and "Delay `remove_unreachable_chunk()` after `iseq_set_sequence()`"

    This reverts commit 3685ed7303fc08bf68cd3cc8d11e22a8ce63a067 and 5dc107b03f5cf32656a5308574b90458486c633c.
    Because of some CI failures https://github.com/ruby/ruby/pull/3404#issuecomment-719868313.

commit ea8fc7fdd36e0babca8479083c5ff5780f7b3a9f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-31 11:05:42 +0900

    [DOC] standard_library.rdoc: tweaked to make style consistent

    [ci skip]

commit dd2f99d94a50de3c8da3a62c4cdd8b2d0a2c11f3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-31 10:51:57 +0900

    Removed unused variable

commit 3685ed7303fc08bf68cd3cc8d11e22a8ce63a067
  Author: wanabe <s.wanabe@gmail.com>
  Date:   2020-08-07 07:59:50 +0900

    Use adjusted sp on `iseq_set_sequence()`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3404

commit 5dc107b03f5cf32656a5308574b90458486c633c
  Author: wanabe <s.wanabe@gmail.com>
  Date:   2020-08-07 07:51:19 +0900

    Delay `remove_unreachable_chunk()` after `iseq_set_sequence()`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3404

commit 670e288d653853de385798bb31044f9f478d9543
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-10-25 03:33:46 +0900

    Add warning for str_new_static functions

    Many functions in string.c assume that capa + termlen to be readable
    memory. Add comment in header to communicate this to extension authors.

    See also: comment in str_fill_term()

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3698

commit 520b86caf1b6e954c5fbe61a3a83bc5b4716c988
  Author: Alan Wu <alanwu@ruby-lang.org>
  Date:   2020-10-31 08:34:41 +0900

    Move variable closer to usage

commit bd6cd851552df411053c1e3154ee781e7d1adadf
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-10-24 13:01:17 +0900

    Tweak return of `Ractor#close`, add doc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3696

commit 7c548278f0fe218b247bde378b79a70e698e2491
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-31 01:48:24 +0900

    * 2020-10-31 [ci skip]

commit fd089276999393a6f6bb2a0b614ac76ca6151ab2
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-31 00:40:04 +0900

    Ractor's "will" doesn't need copying.

    `r = Ractor.new{ expr }` generates the block return value from `expr`
    and we can get this value by `r.take`. Ractor.yield and Ractor#take
    passing values by copying on default. However, the block return value
    (we named it "will" in the code) is not referred from the Ractor
    because the Ractor is already dead. So we can pass the reference
    of "will" to another ractor without copying. We can apply same story
    for the propagated exception.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3724

commit 66bf743b9309b479b6d5389e315ca54ea73aafae
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-10-30 21:45:23 +0900

    Promote debug.rb to default gems.

      It have no upstream repo yet. This change is experimental for 3.0.0-preview2.

commit 89c8ca32d0a8542c9360f45734c799d81c4738ad
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-30 16:48:42 +0900

    add a test of define_method with shareable Proc.

    a method defined by define_method with normal Proc can not cross
    ractors because the normal Proc is not shareable. However,
    shareable Proc can be crossed between ractors, so the method with
    shareable Proc should be called correctly.

commit 08ddc335ea34829df756c164ceb13c56f0377d37
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-30 16:47:08 +0900

    sync vm->waiting_fds correctly.

    vm->waiting_fds is global resource so we need to lock it correctly.
    (forgot to sync one place)

commit a1828a1ff455807f16eea265f7077d6475fee46a
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-10-30 14:34:25 +0900

    Promote win32ole to default gems.

      But win32ole gem is still experimental for 3.0.0-preview2.
      I'm working to extract this library on https://github.com/ruby/win32ole.

commit 17c6b6b16ebf20b73f44b5e9f58f9fb979881b98
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-10-30 12:30:45 +0900

    Fix a typo [ci skip]

commit 799253dc46e96518687dcd4fdca42582251ccffe
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-30 12:26:59 +0900

    strip trailing spaces [ci skip]

commit 5d97bdc2dcb835c877010daa033cc2b1dfeb86d6
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-30 00:32:53 +0900

    Ractor.make_shareable(a_proc)

    Ractor.make_shareable() supports Proc object if
    (1) a Proc only read outer local variables (no assignments)
    (2) read outer local variables are shareable.

    Read local variables are stored in a snapshot, so after making
    shareable Proc, any assignments are not affeect like that:

    ```ruby
    a = 1
    pr = Ractor.make_shareable(Proc.new{p a})
    pr.call #=> 1
    a = 2
    pr.call #=> 1 # `a = 2` doesn't affect
    ```

    [Feature #17284]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3722

commit 502d6d845946f367ffb6e972e9c4ac401da94e99
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-30 00:09:12 +0900

    * 2020-10-30 [ci skip]

commit c0aeb98aa903334f06758d39c772cb22440d8a4e
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-10-29 07:17:49 +0900

    Make ENV.replace handle multiple environ entries with the same key

    While it is expected that all environment keys are unique, that is
    not enforced. It is possible by manipulating environ directly you
    can call a process with an environment with duplicate keys.  If
    ENV.replace was passed a hash with a key where environ had a
    duplicate for that key, ENV.replace would end up deleting the key
    from environ.

    The fix in this case is to not assume that the environment key
    list has unique keys, and continue processing the entire key
    list in keylist_delete.

    Fixes [Bug #17254]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3716

commit 07c03bc30984a496558d9e830bc4fb2f8cfb1854
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-23 13:27:21 +0900

    check isolated Proc more strictly

    Isolated Proc prohibit to access outer local variables, but it was
    violated by binding and so on, so they should be error.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3721

commit bf951c763d00a4aee8f8c896d1a97c387fa8f30e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-29 17:37:29 +0900

    An ellipsis (...) can only be placed at the beginning

commit 9f3adaf5293d6347250df218bad9dcd3cd8da9ba
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-10-29 08:58:17 +0900

    Use public allocators for creating new T_OBJECT objects

    This way the header flags and object internals are set correctly

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3719

commit d8b0f1f7a84bf1ad85d649b125986ce181e79a58
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-10-29 07:11:06 +0900

    Objects are born embedded, so we don't need to check ivpr

    It's not necessary to check ivpt because objects are allocated as
    "embedded" by default

commit 58fd54f91472ba8aa96793ce2b131053a47527a0
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-10-29 06:31:20 +0900

    Fix error in update-deps due to tab/space difference

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3715

commit dfb3605bbee9c3cfbc1c354594c367472f29cb35
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-10-29 07:27:00 +0900

    Add Thread.ignore_deadlock accessor

    Setting this to true disables the deadlock detector.  It should
    only be used in cases where the deadlock could be broken via some
    external means, such as via a signal.

    Now that $SAFE is no longer used, replace the safe_level_ VM flag
    with ignore_deadlock for storing the setting.

    Fixes [Bug #13768]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3710

    Merged-By: jeremyevans <code@jeremyevans.net>

commit a99f52d5113a601b6d18bd671dfee24266689ffe
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-10-29 02:16:57 +0900

    Remove another unnecessary test

    Same as 5be42c1ef4f7ed0a8004cad750a9ce61869bd768

commit 5be42c1ef4f7ed0a8004cad750a9ce61869bd768
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-10-29 01:57:44 +0900

    Remove unnecessary conditional

    As of 0b81a484f3453082d28a48968a063fd907daa5b5, `ROBJECT_IVPTR` will
    always return a value, so we don't need to test whether or not we got
    one.  T_OBJECTs always come to life as embedded objects, so they will
    return an ivptr, and when they become "unembedded" they will have an
    ivptr at that point too

commit 2c19c1484abda749540c5865de4dce5a47fc8f0f
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-10-29 01:42:34 +0900

    If an object isn't embedded it will have an ivptr

    We don't need to check the existence if an ivptr because non-embedded
    objects will always have one

commit 9190451fcf5af098924b19105a41c88f6165b0c7
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-29 00:42:09 +0900

    * 2020-10-29 [ci skip]

commit 0bbbb5a6578fc3c6ebfb2150a0fffe96880ae515
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-10-28 06:10:39 +0900

    `dest` is always embedded so we can remove this check

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3713

commit fb3c711df34ef9ded92e2716da842fbe7003e92a
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-10-28 10:22:28 +0900

    compile.c: separate compile_builtin_function_call (#3711)

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 8f9c113f354f6d5d1a430d47ca0cb1c1438bee93
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-28 08:26:53 +0900

    Added benchmark of vm_send by variable [ci skip]

commit 915024e3b7f0fa9d5d0e4890499b7446df30ab73
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-28 00:29:10 +0900

    * 2020-10-28 [ci skip]

commit c1bebbb2eee5e8d808d55a9cb27f492e58331540
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-28 00:27:56 +0900

    test/ruby/test_rational.rb: Prevent "assigned but unused variable"

commit 8e06075442ade74a0c23afad235742c41b3ceac8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-27 23:26:38 +0900

    Revert "Fixed typo"

    This reverts commit 379a5ca539af0e954b1cdf63b9365ad208b9c7f3.
    This "typo" is intentional to test the transposition detection by
    did_you_mean.

commit 379a5ca539af0e954b1cdf63b9365ad208b9c7f3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-10-27 22:59:43 +0900

    Fixed typo

commit 3198e7abd70bd2af977f2bb6c967e9df8f91adb0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-27 13:42:52 +0900

    Separate `send` into `public_send` and `__send__`

commit acdb8933384da8fce1e8d8a96946eacfaa8897e2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-27 14:42:24 +0900

    Removed unused environment variable

commit 135d369096524e3e949b0a8a3330c60c000e4702
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-27 08:51:54 +0900

    [DOC] more precise description of "**" in Dir.glob pattern [ci skip]

commit c56fdaecc4293c6f5ff81a55737612f5c72437bd
  Author: Alan Wu <alanwu@ruby-lang.org>
  Date:   2020-10-27 05:44:15 +0900

    Revert assert for debugging on CI

    This reverts commit ac69849e49982ea83036c04c5d5f7245e3956a49.
    The bug seems to have been fixed.

commit 7ad56fd87b35abf4933e0146761df91e9ec9890a
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-20 15:16:21 +0900

    freeze dynamic regexp literals

    Regexp literals are frozen, and also dynamically comppiled Regexp
    literals (/#{expr}/) are frozen.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3676

commit f8d264fdfd4486062c2d526c37e05c4e5c73850d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-27 01:37:49 +0900

    * 2020-10-27 [ci skip]

commit 1c6ebe14fbdb2bc23878133cbf7a99ea856e3d89
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-20 11:05:04 +0900

    freeze Process::Status

    It seems immutable information.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3671

commit bdd1d17ac2c14ed937944860e1ec6b361a2fda6d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-04 11:11:36 +0900

    Allow non-argument endless-def with a space instead of parentheses

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3704

commit 69837229d74813c807e9d079aaee33aec2c7a4d0
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-10-26 18:43:30 +0900

    rational.c: convert a numerator to rational before calling fdiv in Kernel.Rational() (#3702)

    This makes `Rational(BigDecimal(1), 60) == Rational(1, 60)`.
    [Bug #16518]

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 52c630da004d9273e8e5fc91c6304e9eed902566
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-26 18:00:24 +0900

    Assoc pattern matching (#3703)

    [Feature #17260] One-line pattern matching using tASSOC

    R-assignment is rejected instead.

  Notes:
    Merged-By: nobu <nobu@ruby-lang.org>

commit cffdacb15a363321e1c1879aa7d94924acafd1cf
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-10-11 20:36:25 +0900

    Ignore <internal: entries from core library methods for Kernel#warn(message, uplevel: n)

    * Fixes [Bug #17259]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3647

commit fbb2d30ee69c68ffad6287c12ca5a43753cd1b9a
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-10-11 20:51:34 +0900

    Add specs that #caller and #caller_locations include core library methods defined in Ruby

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3647

commit 3673c3eafc9defd34f42fab3a468a1520e1cfea0
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-10-26 16:20:48 +0900

    Update to ruby/spec@b164536

commit ba24aee2924dcbe1724e2d78f8b19fdede0cd95c
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-10-26 16:06:33 +0900

    Remove spec which is too difficult to get working with various compilers

    * The spec means to use an actual system library function, not a wrapper.

commit 507af7541574d3c7f0e5d990b9de0011cb49a35d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-26 09:09:45 +0900

    [DOC] Expanded glob patterns for Dir.glob

    No longer need to get rid of C block comments in builtin ruby
    script comments.

commit 3cb03a00a8d8eabe77c717645874badb4c7748b5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-26 09:05:08 +0900

    Include c_escape.rb in COMPILE_PRELUDE

    template/prelude.c.tmpl requires tool/ruby_vm/helpers/c_escape.rb.

commit 396e92104474921ee58ff75ff63d3db0d503dacc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-26 09:01:27 +0900

    Escape '/*' within block comment too

commit b6d0b3dfaf5de60d9afacd18fcc9292973d1023a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-25 22:09:56 +0900

    Use gcc-specific pragma only on gcc (and the family)

commit ff2276ef8cd6285d657cd15801bc5768e93f73d6
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-10-26 07:56:10 +0900

    Fix bootstrap-test error in previous commit

commit 9c8f0a34df3635bfde43a90bbea6a5483dcbde65
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-10-26 07:09:51 +0900

    Use 'shareable' with an 'e' [ci skip]

commit 8376cae25ac36ecfe93265a92d72a4afac5fbd40
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-26 05:45:34 +0900

    * 2020-10-26 [ci skip]

commit 5e6f9fd83a6ede9b43c4e5887c6ac7dd22c4eb7b
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-10-26 05:44:53 +0900

    Tweak a few Ractor tests that were missing comments [ci skip]

commit ee54075a94a33101795f235fb7ec217bc8bb6549
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-10-26 05:38:37 +0900

    Remove trailing whitespace [ci skip]

commit 25a332f5cf295e4b72814c39d87b4b3e2967dd68
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-25 22:06:44 +0900

    Fix compilation on MSVC

    * cast scalar value instead of function
    * use `rb_pid_t` for the portability

commit e880d075f847ff17e1bc77301a9ed363fb40525b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-25 20:52:46 +0900

    [DOC] refined "**" description in `Dir.glob` [ci skip]

    As same as the description for `File.fnmatch`.
    [Bug #17283]

commit 8d22dd8cb8f20aceba1f8c51a4d7d0282d5c0938
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-25 19:43:43 +0900

    * 2020-10-25 [ci skip]

commit 99e067eac6fd2babcdd56142493ef0396744af85
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-10-25 19:42:20 +0900

    Try to fix compilation on MSVC

commit 148961adcd0704d964fce920330a6301b9704c25
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-10-24 22:52:37 +0900

    Update to ruby/spec@4f59d86

commit 342fbae83c2e80d1b49656bc7c689cc7fe8980ce
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-10-24 22:52:35 +0900

    Update to ruby/mspec@b56e7a2

commit 1388257d7aa0309f14967e4804b9fe8ba9f68ee8
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-24 22:52:20 +0900

    * 2020-10-24 [ci skip]

commit 71f699543b22e74b4aca5d70c462a22cbf420938
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-10-24 22:51:18 +0900

    Tweaks for the ruby/spec workflow

commit f754b422855131111092c0c147d744775cc4793f
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-10-23 15:26:51 +0900

    numeric.c, range.c: prohibit zero step

    * numeric.c: prohibit zero step in Numeric#step

    * range.c: prohibit zero step in Range#step

    * Fix ruby-spec

    [Feature #15573]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3689

    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 40bad72f31248c48048249b1d7536e87b4994664
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-10-23 13:59:13 +0900

    Assert in_gc >= 0 instead of guarding it (#3687)

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 7cf34cfaa3db4b6eb63dba61108956468140564f
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-10-21 14:06:49 +0900

    .github/workflows/spec_guards.yml add

    Translate a part of .travis.yml into GitHub Actions workflow.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3685

commit 196eada8c696e8344e976b64615a13219aafcb02
  Author: Alan Wu <alanwu@ruby-lang.org>
  Date:   2020-10-23 07:20:35 +0900

    mutete -> mutate

commit ef3c25888e5e02c91c81db97612a96aa5b881e08
  Author: Andrew Kerr <andrew.kerr@shopify.com>
  Date:   2020-10-23 02:05:41 +0900

    Fix small typo in comment in lib/irb.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3688

commit b9193df97193b3bf6163b199a885adc12a902f7c
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-23 01:52:32 +0900

    * 2020-10-23 [ci skip]

commit 9a6720a15d1e0c7c2423e99efecc3447484abb8f
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-10-23 01:49:26 +0900

    Revert "Add assertions when inline caches are copied to MJIT"

    This reverts commit 6cb6d5abc36ede9d5158c2cd90734134838e6bfb.
    This reverts commit 1484b786aee8d411a9e2278ac6d6e44aedbf6662.

    I think we don't need these assertions anymore.  I believe the problem
    is solved by abf678a4397c6c00a1bb686043e377d372e695a4

commit abf678a4397c6c00a1bb686043e377d372e695a4
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-10-22 05:16:15 +0900

    Use a lock level for a less granular lock.

    We are seeing an error where code that is generated with MJIT contains
    references to objects that have been moved.  I believe this is due to a
    race condition in the compaction function.

    `gc_compact` has two steps:

    1. Run a full GC to pin objects
    2. Compact / update references

    Step one is executed with `garbage_collect`.  `garbage_collect` calls
    `gc_enter` / `gc_exit`, these functions acquire a JIT lock and release a
    JIT lock.  So a lock is held for the duration of step 1.

    Step two is executed by `gc_compact_after_gc`.  It also holds a JIT
    lock.

    I believe the problem is that the JIT is free to execute between step 1
    and step 2.  It copies call cache values, but doesn't pin them when it
    copies them.  So the compactor thinks it's OK to move the call cache
    even though it is not safe.

    We need to hold a lock for the duration of `garbage_collect` *and*
    `gc_compact_after_gc`.  This patch introduces a lock level which
    increments and decrements.  The compaction function can increment and
    decrement the lock level and prevent MJIT from executing during both
    steps.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3683

commit d23d5c3130a0944e7e591370cbf8599009318a7c
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-10-22 17:59:52 +0900

    rational.c: try converting by to_int in Rational() (#3684)

    [Bug #12485]

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 603fb940c0d334f399d77b56d7e62ee85edb91e0
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-22 00:43:32 +0900

    refactoring obj_traverse_i

commit 0c0d0752f1fefd9b085f191b62946a811763ef1b
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-22 00:36:53 +0900

    allow to access ivars of frozen shareable objects

    Accessing a shareable object is prohibited because it can cause
    race condition, but if the shareable object is frozen, there is no
    problem to access ivars.

commit 96293784779c000cdb5c07dd80be0dc208f8eeb9
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-22 00:07:02 +0900

    * 2020-10-22 [ci skip]

commit 3a97d361576d1cc198047d502c5165aa37b7f86e
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-21 23:57:44 +0900

    refactoring frozen_shareable_p

commit 89f6644de71b7dfbdbdba216a8667b9c3348203b
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-21 23:00:36 +0900

    refactoring rb_obj_traverse()

    * create rec check hash lazily
    * do not pass *data pointer for enter/leave function because
      it is not used.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3682

commit af2471365fedaf89759eb00f87164fbaa0afaa39
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-21 22:56:35 +0900

    refactoring rb_ractor_confirm_belonging()

    rb_ractor_belonging() returns 0 only if it has sharable flag.
    rb_ractor_confirm_belonging() checks rb_ractor_shareable_p()
    if the belonging ractor id is different from current ractor id.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3682

commit 631eaa85109e4d6fa31eaeed393858e1e63300a4
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-21 22:54:39 +0900

    check main-ractor or not first

    On non-multi-ractor-mode, the cost of rb_ractor_main_p() is low
    so check it first.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3682

commit 762be87759385cd495246b13c8c8eff5c3db0a3c
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-21 23:36:49 +0900

    test/json/json_parser_test.rb: suppress warnings

    http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20201021T123003Z.log.html.gz
    ```
    /home/chkbuild/chkbuild/tmp/build/20201021T123003Z/ruby/test/json/json_parser_test.rb:227: warning: ambiguous first argument; put parentheses or a space even after `-' operator
    /home/chkbuild/chkbuild/tmp/build/20201021T123003Z/ruby/test/json/json_parser_test.rb:228: warning: ambiguous first argument; put parentheses or a space even after `-' operator
    ```

commit 441403173595ddf80d11c99ebe70d4c7ccd49188
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-21 17:58:12 +0900

    extend timeout of rbs test on rbs tests

commit b59077eecf912a16efefc0256f6e94a000ce3888
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-21 13:53:46 +0900

    Ractor-safe rb_objspace_reachable_objects_from

    rb_objspace_reachable_objects_from(obj) is used to traverse all
    reachable objects from obj. This function modify objspace but it
    is not ractor-safe (thread-safe). This patch fix the problem.

    Strategy:
    (1) call GC mark process during_gc
    (2) call Ractor-local custom mark func when !during_gc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3680

commit 4640c4ea8a693a9a8468251135afff837904a3a5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-21 13:03:07 +0900

    Removed more unnecessary ID caches

    ```
    find . -name \*.o -exec nm {} + |&
    grep -e 'InitVM_.*\.rbimpl_id' -e 'Init_.*\.rbimpl_id' |
    sed 's/^.* b //;s/\.[1-9][0-9]*$//;s/\.rbimpl_id$//' |
    uniq
    ```
    should be empty.

commit 5a77e90fe843a2bfbde3df1867f142efb0ffe9fe
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-21 12:46:40 +0900

    Use rb_intern_const instead of rb_intern in Init functions

    ```
    find . -name \*.o -exec nm {} + |&
    sed '/Init_.*\.rbimpl_id/!d;s/^.* b //;s/\.[1-9][0-9]*$//;s/\.rbimpl_id$//' |
    uniq
    ```
    should be empty.

commit 8c2e5bbf58e562ea410b53c2f77e4186d5ca9da3
  Author: Stefan Stüben <MSNexploder@gmail.com>
  Date:   2020-09-26 02:56:30 +0900

    Don't redefine #rb_intern over and over again

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3589

commit d497436d07bc02989d6af284011193d18f7b8368
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-21 11:45:30 +0900

    Update dependencies for macOS

commit 640b3405831d334d1297a32a686c7a74ab9229a9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-21 11:03:12 +0900

    Check dependencies on macOS too

commit 73834b5fc9d83180820de120db4350fa208cf743
  Author: Jacob Matthews <jacobmatthews@hey.com>
  Date:   2020-10-06 16:31:25 +0900

    Calculate transient heap block usable size at compile time

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3632

commit da25affdacc45dd54a1d4c12a5f8394145811276
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-10-19 15:32:39 +0900

    .github: reduce copy&paste

    Found that we can set default working directory for github actions.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3675

commit 1c5f44cd728e8c42fd99a74151752e2980e65d0f
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-10-19 15:23:11 +0900

    .travis.yml: reduce redundant tests

    These tests are (more or less) covered by github actions now.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3675

commit 2f50936cb913b7458cbaa03dc4652f1127a7631a
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-21 00:54:03 +0900

    Ractor.make_shareable(obj)

    Introduce new method Ractor.make_shareable(obj) which tries to make
    obj shareable object. Protocol is here.

    (1) If obj is shareable, it is shareable.
    (2) If obj is not a shareable object and if obj can be shareable
        object if it is frozen, then freeze obj. If obj has reachable
        objects (rs), do rs.each{|o| Ractor.make_shareable(o)}
        recursively (recursion is not Ruby-level, but C-level).
    (3) Otherwise, raise Ractor::Error. Now T_DATA is not a shareable
        object even if the object is frozen.

    If the method finished without error, given obj is marked as
    a sharable object.

    To allow makng a shareable frozen T_DATA object, then set
    `RUBY_TYPED_FROZEN_SHAREABLE` as type->flags. On default,
    this flag is not set. It means user defined T_DATA objects are
    not allowed to become shareable objects when it is frozen.

    You can make any object  shareable by setting FL_SHAREABLE flag,
    so if you know that the T_DATA object is shareable (== thread-safe),
    set this flag, at creation time for example. `Ractor` object is one
    example, which is not a frozen, but a shareable object.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3678

commit 587feb0b6e47477ec3b1872de0c951e3d062db98
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-21 02:40:38 +0900

    * 2020-10-21 [ci skip]

commit a6a8576e877b02b83cabd0e712ecd377e7bc156b
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-10-21 02:40:18 +0900

    Feature #16812: Allow slicing arrays with ArithmeticSequence (#3241)

    * Support ArithmeticSequence in Array#slice

    * Extract rb_range_component_beg_len

    * Use rb_range_values to check Range object

    * Fix ary_make_partial_step

    * Fix for negative step cases

    * range.c: Describe the role of err argument in rb_range_component_beg_len

    * Raise a RangeError when an arithmetic sequence refers the outside of an array

    [Feature #16812]

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 081cc4eb283cb01ddffb364397e5175dbfacab66
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-20 19:32:10 +0900

    Dump FrozenCore specially

commit d915e7ee0095727e63104c53b1adc7a70bae6522
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-20 23:52:03 +0900

    strip trailing spaces [ci skip]

commit 512752ba19c960daf1d866f96fb33f3c0b2d7a75
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-20 23:48:20 +0900

    fix condition

commit a3ae90b8c552e4f98d81284815c50691be7e1a36
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-20 13:16:19 +0900

    NEWS.md: mention TypeProf

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3674

commit 451836f5824fdf3c457ab8a5fd91d94cea91862e
  Author: Chris Seaton <chris.seaton@shopify.com>
  Date:   2020-10-07 11:13:48 +0900

    Fix an issue with generate_pretty and empty objects in the Ruby and Java implementations

commit 520e0916af0fe53a5ca57269a2bae50cc60e4241
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-09-09 22:24:22 +0900

    Implement a freeze: parser option

    If set to true all parsed objects will be
    immediately frozen, and strings will be
    deduplicated if the Ruby implementation
    allows it.

commit f6680c9ad1b334f094144d788887cd33f7043f41
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-10-20 21:33:02 +0900

    Added rbs and typeprof to doc/*

commit 67c25a34a7c70e3cec868472517b699b1e881857
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-20 17:57:20 +0900

    skip `echo foo` on Solaris

    On Solaris, it seems to access ENV in ``, so skip it now.

    ```
    stderr output is not empty
       Exception `NameError' at bootstraptest.tmp.rb:7 - can not access non-sharable objects in constant Object::ENV by non-main Ractor.
       #<Thread:0x0044cdf0 run> terminated with exception (report_on_exception is true):
       bootstraptest.tmp.rb:7:in ``': can not access non-sharable objects in constant Object::ENV by non-main Ractor. (NameError)
       Exception `Ractor::RemoteError' at <internal:ractor>:130 - thrown by remote Ractor.
       <internal:ractor>:130:in `take': thrown by remote Ractor. (Ractor::RemoteError)
               from bootstraptest.tmp.rb:55:in `<main>'
       bootstraptest.tmp.rb:7:in ``': can not access non-sharable objects in constant Object::ENV by non-main Ractor. (NameError)
               from bootstraptest.tmp.rb:7:in `ractor_local_globals'
               from bootstraptest.tmp.rb:54:in `block in <main>'
    ```

commit 18cecda46e427362fa3447679e5d8a917b5d6cb6
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-10-20 16:00:35 +0900

    range.c: Fix an exception message in rb_range_beg_len

    [Bug #17271]

commit ade411465dc054af5ff025531649b69134d74b56
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-20 11:24:37 +0900

    ObjectSpace.each_object with Ractors

    Unshareable objects should not be touched from multiple ractors
    so ObjectSpace.each_object should be restricted. On multi-ractor
    mode, ObjectSpace.each_object only iterates shareable objects.
    [Feature #17270]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3672

commit 2bdbdc1580f52dc8d70a71b824238e0f20342dca
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-20 11:21:49 +0900

    add Ractor.shareable?(obj)

    This method returns obj is shareable or not.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3672

commit 99310e3eb56fbc85bb45119285812eb959448d0c
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-20 10:46:43 +0900

    Some global variables can be accessed from ractors

    Some global variables should be used from non-main Ractors.
    [Bug #17268]

    ```ruby
         # ractor-local (derived from created ractor): debug
         '$DEBUG' => $DEBUG,
         '$-d' => $-d,

         # ractor-local (derived from created ractor): verbose
         '$VERBOSE' => $VERBOSE,
         '$-w' => $-w,
         '$-W' => $-W,
         '$-v' => $-v,

         # process-local (readonly): other commandline parameters
         '$-p' => $-p,
         '$-l' => $-l,
         '$-a' => $-a,

         # process-local (readonly): getpid
         '$$'  => $$,

         # thread local: process result
         '$?'  => $?,

         # scope local: match
         '$~'  => $~.inspect,
         '$&'  => $&,
         '$`'  => $`,
         '$\''  => $',
         '$+'  => $+,
         '$1'  => $1,

         # scope local: last line
         '$_' => $_,

         # scope local: last backtrace
         '$@' => $@,
         '$!' => $!,

         # ractor local: stdin, out, err
         '$stdin'  => $stdin.inspect,
         '$stdout' => $stdout.inspect,
         '$stderr' => $stderr.inspect,
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3670

commit 9ced5fae6df9e70506ddad822e15745884e365fd
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-20 15:36:51 +0900

    add a NEWS for Fiber#transfer

commit c05e41035c01ab38bdb279601a08e17921bcdc8e
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-09 10:16:59 +0900

    Bundle typeprof gem as bundled gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3668

commit 4a7dccf44f02fa471e848ec729393c257b97da4d
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-10-20 12:56:08 +0900

    Add a Ripper.lex test of :on_embexpr_end

    This is a weird use case of Ripper.lex which I'm not sure is supposed to
    be maintained, so I'm adding this test so that we can easily notice such
    changes.

    If we change the behavior, this will break the behavior of hamlit.gem v1
    and code like https://github.com/haml/haml/pull/1043.

commit a76a30724dfdfd26938960d2f756b4d97f8d855e
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-20 01:34:17 +0900

    Revert "reduce lock for encoding"

    This reverts commit de17e2dea137bc5ba9f00e3acec32792d0dbb2eb.

    This patch can introduce race condition because of conflicting
    read/write access for enc_table::default_list. Maybe we need to
    freeze default_list at the end of Init_encdb() in enc/encdb.c.

commit dac3677469158f0c7fd3e86a9d6969f80153628c
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-20 01:05:27 +0900

    * 2020-10-20 [ci skip]

commit 319afed20fba8f9b44611d16e4930260f7b56b86
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-19 16:47:32 +0900

    Use language TLS specifier if it is possible.

    To access TLS, it is faster to use language TLS specifier instead
    of using pthread_get/setspecific functions.

    Original proposal is: Use native thread locals. #3665

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3667

commit 3f97940252a37db6e601b4bb1aa1e87204f769df
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-10-19 18:56:19 +0900

    Followed up with 708413807ae958afb79257b18475424e0a8a4a56

      * Added sync task for digest
      * Update doc/* for default gems
      * Update the latest version of gemspec

commit 708413807ae958afb79257b18475424e0a8a4a56
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-10-15 22:01:43 +0900

    Revisit to promote digest to default gems.

      This reverts commit f39021be7e0eac20ef7f06592769955ea482470f.

commit de17e2dea137bc5ba9f00e3acec32792d0dbb2eb
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-17 10:13:07 +0900

    reduce lock for encoding

    To reduce the number of locking for encoding manipulation,
    enc_table::list is split into ::default_list and ::additional_list.
    ::default_list is pre-allocated and no need locking to access to
    the ::default_list. If additional encoding space is needed, use
    ::additional_list and this list need to use locking.
    However, most of case, ::default_list is enough.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3664

commit f1f8f38079034c45cac86861342d0b93cc672dcd
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-19 13:21:08 +0900

    * 2020-10-19 [ci skip]

commit ce628503344997e8ebd94bd3725c18797f58e3af
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-10-19 13:20:34 +0900

    Fix typos [ci skip]

commit 09dd9d8e5da29f8dfa1c78553950f9469d7291e6
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-17 15:32:40 +0900

    Revert "test/rinda/test_rinda.rb: try debugging TestRingServer#test_do_reply"

    This reverts commit de5e8d0e3bc3cc39487ffc9d9c15642b6881cd54.

    Remove the debugging code that is no longer needed

commit 6a9e09824b5abc61f3fdba9067303fc5e585b782
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-17 15:32:19 +0900

    Revert "test/rinda/test_rinda.rb: Add more debugging code"

    This reverts commit ac803ab55db50ef891e3680680620d01f28a759b.

    Remove debugging code that is no longer needed

commit 5c003b4bcd70b03012f6d2e322bd175efd226528
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-17 15:17:55 +0900

    test/rinda/test_rinda.rb: Prevent a callback Proc from being GC'ed

    According to the log of ac803ab55db50ef891e3680680620d01f28a759b, I
    found that a thread terminates silently due to "recycled object" of
    id2ref:

    ```
    "/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/lib/drb/drb.rb:366:in `_id2ref'"
    "/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/lib/drb/drb.rb:366:in `to_obj'"
    "/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/lib/drb/drb.rb:1528:in `to_obj'"
    "/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/lib/drb/drb.rb:1847:in `to_obj'"
    "/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/lib/drb/drb.rb:1136:in `method_missing'"
    "/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/test/rinda/test_rinda.rb:652:in `block in do_reply'"
    ```
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20201017T033002Z.log.html.gz

    I believe that this unintentional thread termination has caused
    intermittent timeout failure of `TestRingServer#test_do_reply`.

    The root cause of the "recycled object" issue is a bug of
    `TestRingServer#test_do_reply`.  It creates a callback Proc object but
    does not hold the reference to the object:

    ```
    callback = DRb::DRbObject.new callback
    ```

    The original "callback" object is GC'ed unintentionally.
    I could consistently reproduce this issue on my machine by adding
    `GC.stress = true` at the first of `_test_do_reply` method body.

    This change uses another local variable name, "callback_orig", to keep
    the original Proc object.

commit f6661f50854e0cdccb03ee516a21ce62adf6c802
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-16 15:20:40 +0900

    sync RClass::ext::iv_index_tbl

    iv_index_tbl manages instance variable indexes (ID -> index).
    This data structure should be synchronized with other ractors
    so introduce some VM locks.

    This patch also introduced atomic ivar cache used by
    set/getinlinecache instructions. To make updating ivar cache (IVC),
    we changed iv_index_tbl data structure to manage (ID -> entry)
    and an entry points serial and index. IVC points to this entry so
    that cache update becomes atomically.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3662

commit 91ec5f9e39cf54dd7a157addb778293853571f13
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-14 16:59:31 +0900

    remove rb_obj_iv_index_tbl

    (1) nobody uses it (gem-codesearch)
    (2) the data strucuture will be changed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3662

commit ff9dc109665e515da8b544a55085bb793063adf1
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-18 01:43:32 +0900

    keep proc on the stack so it does not move

commit 26e8db6b93019369b7fbb66bdd3bcf0decbbb8eb
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-17 00:08:33 +0900

    * 2020-10-17 [ci skip]

commit ac803ab55db50ef891e3680680620d01f28a759b
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-17 00:07:35 +0900

    test/rinda/test_rinda.rb: Add more debugging code

    in addition to de5e8d0e3bc3cc39487ffc9d9c15642b6881cd54

commit 0d17cdd0ac3ae0f3f3608e5430b68467a6a13cc7
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-10-16 03:51:30 +0900

    Abort on system stack overflow during GC

    Buggy native extensions could have mark functions that cause stack
    overflow. When a stack overflow happens during GC, Ruby used to recover
    by raising an exception, which runs the interpreter. It's not safe to
    run the interpreter during GC since the GC is in an inconsistent state.
    This could cause object allocation during GC, for example.

    Instead of running the interpreter and potentially causing a crash down
    the line, fail fast and abort.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3661

commit de5e8d0e3bc3cc39487ffc9d9c15642b6881cd54
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-16 16:51:33 +0900

    test/rinda/test_rinda.rb: try debugging TestRingServer#test_do_reply

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20201016T063003Z.fail.html.gz
    ```
      1) Error:
    Rinda::TestRingServer#test_do_reply:
    Timeout::Error: timeout
        /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:837:in `sleep'
        /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:837:in `wait_for'
        /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:659:in `_test_do_reply'
        /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:643:in `block in test_do_reply'
        /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:807:in `with_timeout'
        /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:643:in `test_do_reply'
    ```

commit 1cbb1f1720127b0b34b38c77e27b51b182008699
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-16 11:10:58 +0900

    test/ruby/test_syntax.rb: avoid "warning: assigned but unused variable"

commit c34539d049fa9593f6866de5bf8efbeb77fa32d4
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-16 08:37:33 +0900

    * 2020-10-16 [ci skip]

commit 65ae7f347a9b44c62ed68870c0a59fd333e6784d
  Author: wanabe <s.wanabe@gmail.com>
  Date:   2020-08-08 11:29:51 +0900

    Adjust sp for `if true or ...`/`if false and ...`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3445

commit ce7a053475cbebfb2f3e5ed6614e0ba631541917
  Author: wanabe <s.wanabe@gmail.com>
  Date:   2020-08-08 08:37:52 +0900

    Adjust sp for `x = false; y = (return until x unless x)` [Bug #16695]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3445

commit b68c22b3c6a80ebf96d446348bc8007b8a10f694
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-10-15 16:05:47 +0900

    Partly reverted test failing with https://github.com/rubygems/rubygems/pull/3921

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3659

commit d386a58f6f1865aaa35eda5af55cff3ff3cca4ca
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-10-15 13:20:25 +0900

    Merge bundler-2.2.0.rc.2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3659

commit 7ffd14a18c341565afaf80d259f9fe5df8a13d29
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-13 16:45:51 +0900

    Check encoding name to replicate

    https://hackerone.com/reports/954433

commit ab6c4f8be3dd0fb116ba2722a2fcdc53ad4ea0b7
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-10-15 13:25:27 +0900

    Merge rubygems-3.2.0.rc.2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3660

commit f0c7a05b4c7657f1cff1698e5560f49248a08bfd
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-15 08:44:33 +0900

    * 2020-10-15 [ci skip]

commit 8a06af5f88e07bf3723f06611d69466944079439
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-10-15 08:41:07 +0900

    Mostly recover a Ruby stack trace from a core file

    Update the lldb script so it can mostly recover a Ruby stack trace from
    a core file.  It's still missing line numbers and dealing with CFUNCs,
    but you use it like this:

    ```
    (lldb) rbbt ec
    rb_control_frame_t TYPE
    0x7f6fd6555fa0     EVAL   ./bootstraptest/runner.rb error!!
    0x7f6fd6555f68     METHOD ./bootstraptest/runner.rb main
    0x7f6fd6555f30     METHOD ./bootstraptest/runner.rb in_temporary_working_directory
    0x7f6fd6555ef8     METHOD /home/aaron/git/ruby/lib/tmpdir.rb mktmpdir
    0x7f6fd6555ec0     BLOCK  ./bootstraptest/runner.rb block in in_temporary_working_directory
    0x7f6fd6555e88     CFUNC
    0x7f6fd6555e50     BLOCK  ./bootstraptest/runner.rb block (2 levels) in in_temporary_working_directory
    0x7f6fd6555e18     BLOCK  ./bootstraptest/runner.rb block in main
    0x7f6fd6555de0     METHOD ./bootstraptest/runner.rb exec_test
    0x7f6fd6555da8     CFUNC
    0x7f6fd6555d70     BLOCK  ./bootstraptest/runner.rb block in exec_test
    0x7f6fd6555d38     CFUNC
    0x7f6fd6555d00     TOP    /home/aaron/git/ruby/bootstraptest/test_insns.rb error!!
    0x7f6fd6555cc8     CFUNC
    0x7f6fd6555c90     BLOCK  /home/aaron/git/ruby/bootstraptest/test_insns.rb block in <top (required)>
    0x7f6fd6555c58     METHOD ./bootstraptest/runner.rb assert_equal
    0x7f6fd6555c20     METHOD ./bootstraptest/runner.rb assert_check
    0x7f6fd6555be8     METHOD ./bootstraptest/runner.rb show_progress
    0x7f6fd6555bb0     METHOD ./bootstraptest/runner.rb with_stderr
    0x7f6fd6555b78     BLOCK  ./bootstraptest/runner.rb block in show_progress
    0x7f6fd6555b40     BLOCK  ./bootstraptest/runner.rb block in assert_check
    0x7f6fd6555b08     METHOD ./bootstraptest/runner.rb get_result_string
    0x7f6fd6555ad0     METHOD ./bootstraptest/runner.rb make_srcfile
    0x7f6fd6555a98     CFUNC
    0x7f6fd6555a60     BLOCK  ./bootstraptest/runner.rb block in make_srcfile
    ```

    Getting the main execution context is difficult (it is stored in a
    thread local) so for now you must supply an ec and this will make a
    backtrace

commit 2e8b5968e13139510bd169cc33fdaa8a4b0676fc
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-14 16:34:24 +0900

    remove uneffective test

    RubyVM.stat[:global_method_state] is no longer available so
    this test doesn't check any more.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3657

commit 278450de803c59137fff69c4db03cd40c5b5d08a
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-14 16:09:33 +0900

    ruby_vm_global_method_state is no longer needed.

    Now ruby_vm_global_method_state is not used so let's remove it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3657

commit fad97f1f96caf11005a5858a29d32c66203913e8
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-14 10:43:13 +0900

    sync generic_ivtbl

    generic_ivtbl is a process global table to maintain instance variables
    for non T_OBJECT/T_CLASS/... objects. So we need to protect them
    for multi-Ractor execution.

    Hint: we can make them Ractor local for unshareable objects, but
          now it is premature optimization.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3655

commit ae693fff748c68ca2500bbc2c0a8802d50f269dc
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-14 14:21:57 +0900

    fix releasing timing.

    (1) recorded_lock_rec > current_lock_rec should not be occurred
        on rb_ec_vm_lock_rec_release().
    (2) should be release VM lock at EXEC_TAG(), not POP_TAG().
    (3) some refactoring.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3655

commit 0714cb760c2b16f7d40e563b6ab9894553baf32c
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-10-14 15:16:36 +0900

    Remove duplicated line [ci skip]

    ref bf3b2a43741e4f72be21bc6acf24d37e7fcff61c

commit 9aab916990f355cfee6606e400c7a165c5dd10f0
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-10-13 22:28:59 +0900

    Promote pathname to default gems

commit 1e316edf6063b8f12b0ec67e3d2404fc919a96f4
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-10-13 21:06:13 +0900

    Promote drb to the default gems

commit 102c2ba65f1fa2a6cdbaaa7d2b466aabfc50e5d7
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-14 02:10:54 +0900

    freeze Encoding objects

    Encoding objects can be accessed in multi-ractors and there is no
    state to mutate. So we can mark it as frozen and shareable.
    [Bug #17188]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3654

commit 11c2f0f36ccc50899a8dd69a260e85451f68b5ba
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-13 13:16:08 +0900

    sync enc_table and rb_encoding_list

    enc_table which manages Encoding information. rb_encoding_list
    also manages Encoding objects. Both are accessed/modified by ractors
    simultaneously so that they should be synchronized.

    For enc_table, this patch introduced GLOBAL_ENC_TABLE_ENTER/LEAVE/EVAL
    to access this table with VM lock. To make shortcut, three new global
    variables global_enc_ascii, global_enc_utf_8, global_enc_us_ascii are
    also introduced.

    For rb_encoding_list, we split it to rb_default_encoding_list (256 entries)
    and rb_additional_encoding_list. rb_default_encoding_list is fixed sized Array
    so we don't need to synchronized (and most of apps only needs it). To manage
    257 or more encoding objects, they are stored into rb_additional_encoding_list.
    To access rb_additional_encoding_list., VM lock is needed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3654

commit c3ba3fa8d01aa3970dc1f4e3dc0090ae171e9e35
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-14 02:03:21 +0900

    support exception when lock_rec > 0

    If a ractor getting a VM lock (monitor) raises an exception,
    unlock can be skipped. To release VM lock correctly on exception
    (or other jumps with JUMP_TAG), EC_POP_TAG() releases VM lock.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3654

commit d7de342e414b29bea7eff444ae33e44445afb9a5
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-14 03:18:18 +0900

    * 2020-10-14 [ci skip]

commit fc8b68a52ad45a1fd5affa6d08ceea2ef729a25c
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-14 02:36:58 +0900

    remove useless semicolons

commit a75ab110dfacf8f8e175657ee433de1320e2a7da
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-12 16:22:30 +0900

    Use %VCVARS%

commit 10e09ccaff057fd712838366afd21fdffa2e54c7
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-13 13:41:22 +0900

    * 2020-10-13 [ci skip]

commit 76e09815ae1b8f64d67c1a75a7b9b69267f30081
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-13 13:40:44 +0900

    test/ruby/test_fiber.rb: Suppress "assigned but unused variable" warnings

commit 0b1b0f134e8da3c37f9631e7247314804465367f
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-12 23:36:12 +0900

    spec/ruby/library/socket/socket/listen_spec.rb: Allow both EACCES and EOPNOSUPP

    on Android

commit bf3b2a43741e4f72be21bc6acf24d37e7fcff61c
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-08 01:15:32 +0900

    relax Fiber#transfer's restriction

    Using Fiber#transfer with Fiber#resume for a same Fiber is
    limited (once Fiber#transfer is called for a fiber, the fiber
    can not be resumed more). This restriction was introduced to
    protect the resume/yield chain, but we realized that it is too much
    to protect the chain. Instead of the current restriction, we
    introduce some other protections.

    (1) can not transfer to the resuming fiber.
    (2) can not transfer to the yielding fiber.
    (3) can not resume transferred fiber.
    (4) can not yield from not-resumed fiber.

    [Bug #17221]

    Also at the end of a transferred fiber, it had continued on root fiber.
    However, if the root fiber resumed a fiber (and that fiber can resumed
    another fiber), this behavior also breaks the resume/yield chain.
    So at the end of a transferred fiber, switch to the edge of resume
    chain from root fiber.
    For example, root fiber resumed f1 and f1 resumed f2, transferred to
    f3 and f3 terminated, then continue from the fiber f2 (it was continued
    from root fiber without this patch).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3636

commit 2fd71112fb5b1aafa5b243c7ac5713cfae7fc23c
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-12 21:26:05 +0900

    Make the test suite pass on real Android/Termux environment

    Attempting to create a hard link raises EACCES

commit 6527411f054fb2cd5878b5b82ab995c25a347c46
  Author: Cristian Greco <cristian@regolo.cc>
  Date:   2020-10-12 04:15:07 +0900

    [ci skip] Minor documentation fix.

    Add missing period.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3650

commit e8d03c9a2a58054221393e39f511fa76fe9b9770
  Author: tompng <tomoyapenguin@gmail.com>
  Date:   2020-10-07 17:51:19 +0900

    change rb_ractor_queue to ring buffer

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3642

commit c6652f223c6103a4d4d909d6b770cdfc5d140124
  Author: MSP-Greg <Greg.mpls@gmail.com>
  Date:   2020-10-11 23:03:02 +0900

    ractor.rb - indent comment code [ci skip]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3648

commit eb21e8add346854aa93299bf767f119439f74f7a
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-12 13:45:32 +0900

    bignum.c (bary_sparse_p): do not comsume Random::DEFAULT

    It uses random to determine if the bignum is sparse or not.
    It is arguable if three-digit samples are enough or not to determine it,
    but anyway, consuming Random source implicitly is not good.

    I introduced the random sampling mechanism, and I don't know any
    significant reason to do so.  So, let's remove it.
    This change makes the sampling points fixed: 40th, 50th, and 60th
    percentiles.

commit 8a39e6d6539bd37100cbbfb88916b853f444f771
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-12 13:42:48 +0900

    bignum.c (rb_int_powm): Integer#pow(0, 1) should return 0

    ... instead of 1 because it requires "modulo 1".  [Bug #17257]

commit 1336698294250ec78b4d33e0a52f8afb55e987d3
  Author: Victor Goff <keeperotphones@gmail.com>
  Date:   2020-10-12 12:40:57 +0900

    Respectively, instead of respentively

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3651

commit 20d78fddb17d45ee26f58ca1c879e499e0596273
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-12 01:53:56 +0900

    * 2020-10-12 [ci skip]

commit 4ed0c33d13ff0d2544aaf36e8e4f071b900d10cd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-12 00:26:39 +0900

    Prohibit setter method names in all kinds of endless methods

    Also unwrap NODE_RIPPER to check the method name.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3649

commit 27b48089e2bdc3b0719e75ae8685a496ef8fa9e3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-11 14:22:06 +0900

    Adjusted indents [ci skip]

commit fddffa4c7a86039c63c97f4e5c883de9f3bd0e02
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-11 11:57:17 +0900

    Respect the original styles [ci skip]

commit 71428ac2645400c02b0ee56b0ff7021542b9616f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-10 22:11:01 +0900

    [ruby/io-console] Refined getch warnings

    https://github.com/ruby/io-console/commit/f84e6abcce

commit 37259e878f05db4106b67a9fc9cdc426d174282c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-10 21:58:07 +0900

    [ruby/io-console] Relaxed min: option warning

    When `min: 0` is given to `IO#getch` with `time:` option, it is
    expected to return nil if timed out, and needed for source code
    the compatibility with unixen platforms.

    https://github.com/ruby/io-console/commit/a2afbe72bd

commit a79966743c346bfc588022db29229b79bee51d45
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-11 01:51:18 +0900

    [ruby/io-console] Fix timeout type error (#18)

    Fixed TypeError when IO#getch timed out

    `rb_io_wait` returns a bit-flags Integer representing available
    events, or Qfalse if timed out.  Also the result of `NUM2INT` is
    not a `VALUE`.

    ```
    $ ./bin/ruby -v -rio/console -e "p IO.console.getch(intr: true, time: 0.1)"
    ruby 3.0.0dev (2020-10-09T20:27:30Z master 5ea2ea74cc) [x64-mingw32]
    -e:1:in `getch': no implicit conversion of false into Integer (TypeError)
            from -e:1:in `<main>'
    ```

    https://github.com/ruby/io-console/commit/3bdfaf62df

commit e10d4dce1648147347a65f743acc325ab4753b10
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-11 01:28:01 +0900

    * 2020-10-11 [ci skip]

commit b59640e155a5c1d166aaae4b7ccab936597930fc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-10 15:15:21 +0900

    [ruby/io-console] Fixed "Rework console to use `rb_io_wait`."

    * Fixed backward compatibility.
    * Added missing `rb_scheduler_timeout` declaration.

    https://github.com/ruby/io-console/commit/813806079f

commit bfc1c7205d9592b5b5be3b351fbf7b9ca8c537b6
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-10-03 21:05:15 +0900

    Add Ractor#receive and Ractor.receive and use it in all places

    * Keep Ractor#recv/Ractor.recv as an alias for now.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3626

commit 9eccf0711fedb7be90b2e4995845eaafacb0c6dd
  Author: Soutaro Matsumoto <matsumoto@soutaro.com>
  Date:   2020-10-10 19:14:40 +0900

    Update RBS to 0.13.1 (#3645)

  Notes:
    Merged-By: soutaro <matsumoto@soutaro.com>

commit 5e120a238904dd1d9e104b5b4cb97cae052c25c8
  Author: S.H <gamelinks007@gmail.com>
  Date:   2020-10-10 17:52:21 +0900

    Improve doc in rb_class_real doc (#3637)

  Notes:
    Merged-By: marcandre <github@marc-andre.ca>

commit df25007046078eef2abc8f98213cb24b8c366a48
  Author: Ikko Ashimine <eltociear@gmail.com>
  Date:   2020-10-10 15:20:42 +0900

    Fixed typo in comment

    alway -> always

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3646

commit 5ea2ea74ccbfb533756595764b0e0de218e909cb
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-10 05:27:30 +0900

    * 2020-10-10 [ci skip]

commit a770b9c87e5f0c5bdffaad09bf73fb45760896e8
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-10 04:46:09 +0900

    remove debug code

commit 02e17d473a5edef69b8c03a8e2b91fdd0c27ed75
  Author: Soutaro Matsumoto <matsumoto@soutaro.com>
  Date:   2020-10-09 18:41:20 +0900

    Let bundled_gems specify commits to test (#3641)

  Notes:
    Merged-By: soutaro <matsumoto@soutaro.com>

commit 8d1b18886459d3f92cbaf6547f22f893a9a2ced1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-09 00:19:25 +0900

    Refactored lex_context management

    Save and restore `lex_context` as-is wholely, and save in
    `k_class` and `k_module` to workaround look-ahead reading.

commit 9ee99fbd8a3ea38d6286e4ecdfab146ee4a00eb5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-09 12:03:52 +0900

    rb_const_set sets the class path now

commit 6944b927bdaaa9c27407eaa5ce411b9bad75af5b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-09 01:21:10 +0900

    rb_class_real never returns Qnil

commit bca8952fc7e31e3d325e70368db2c83f4f701709
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-10-09 08:29:17 +0900

    Fix lldb disassembler so it works with core files

    This fixes the lldb disassembler script so that it doesn't need a live
    process when disassembling rb_iseq_t.  I also added the PC to the output
    so you can tell what the VM is executing when it crashed.

    For example:

    ```
    (lldb) rbdisasm ec->cfp->iseq
    PC             IDX  insn_name(operands)
    0x56039f0a1720 0000 nop
    0x56039f0a1728 0001 getlocal_WC_1( 5 )
    0x56039f0a1738 0003 branchunless( 7 )
    0x56039f0a1748 0005 getlocal_WC_0( 3 )
    0x56039f0a1758 0007 putstring( (VALUE)0x56039f0c7eb8 )
    0x56039f0a1768 0009 opt_send_without_block( (struct rb_call_data *)0x56039f09f140 )
    0x56039f0a1778 0011 pop
    0x56039f0a1780 0012 getglobal( ID: 0x7fd7 )
    0x56039f0a1790 0014 branchunless( 7 )
    0x56039f0a17a0 0016 getlocal_WC_0( 3 )
    0x56039f0a17b0 0018 putstring( (VALUE)0x56039f0c7e90 )
    0x56039f0a17c0 0020 opt_send_without_block( (struct rb_call_data *)0x56039f09f150 )
    0x56039f0a17d0 0022 pop
    0x56039f0a17d8 0023 getlocal_WC_0( 3 )
    0x56039f0a17e8 0025 putobject( (VALUE)0x56039f0c7e68 )
    0x56039f0a17f8 0027 getlocal_WC_1( 6 )
    0x56039f0a1808 0029 dup
    0x56039f0a1810 0030 checktype( 5 )
    0x56039f0a1820 0032 branchif( 4 )
    0x56039f0a1830 0034 dup
    0x56039f0a1838 0035 opt_send_without_block( (struct rb_call_data *)0x56039f09f160 )
    0x56039f0a1848 0037 tostring
    0x56039f0a1850 0038 putobject( (VALUE)0x56039f0c7e40 )
    0x56039f0a1860 0040 concatstrings( 3 )
    0x56039f0a1870 0042 opt_send_without_block( (struct rb_call_data *)0x56039f09f170 )
    0x56039f0a1880 0044 nop
    0x56039f0a1888 0045 leave
    (lldb) p ec->cfp->pc
    (const VALUE *) $146 = 0x000056039f0a1848
    ```

    Here we can see the VM is currently executing `opt_send_without_block`
    (because the PC is one ahead of the current instruction)

commit c857d0d4713d7af9ec1ef5fd6c32911b9eacbba0
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-09 05:35:37 +0900

    * 2020-10-09 [ci skip]

commit 33776598f70dc0adfd7b0d62a0a0df2e2c36b172
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-10-09 05:35:13 +0900

    Enhanced RDoc for String#insert (#3643)

    * Enhanced RDoc for String#insert

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 533bca57e0697e81ddc868104a106534720b4746
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-10-06 22:14:58 +0900

    Expose assert, assert_respond_to and assert_not_respond_to for default gems.

commit 0f9edf2f48cf30735dde4fb0e9f357b33f567c7c
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-10-06 21:05:03 +0900

    Promote prettyprint to default gems

commit 2711e3bab960da785c749fafaac22c7b4758505d
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-10-06 20:45:06 +0900

    Promote pp to default gems

commit 0807d05d6eb8a19e07e21091338430b212100567
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-08 09:01:36 +0900

    * 2020-10-08 [ci skip]

commit d5282540953a04401303d540e6f8b388e75500ff
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-10-08 07:20:43 +0900

    Add missing WB for iseq

    The write barrier wasn't being called for this object, so add the
    missing WB.  Automatic compaction moved the reference because it didn't
    know about the relationship (that's how I found the missing WB).

commit 62abdbadf2937372924ef68aadff5191fc0f0880
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-07 11:06:50 +0900

    Revert "Don't export rb_callable_receiver"

    This reverts commit c839168b1141db53bedef771d1bc78908b6ac782.
    `rb_callable_receiver` does not need to be exposed under include.

commit cdc4084b0a947b87a794394b9cc8cbdb10537146
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-10-07 05:17:21 +0900

    Prevent objects from moving while iterating the heap

    This iterator uses an st_table, but if objects move the references in
    the st table won't be updated.  This patch just changes the st table to
    an identity hash.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3634

commit c839168b1141db53bedef771d1bc78908b6ac782
  Author: Chris Seaton <chris.seaton@shopify.com>
  Date:   2020-10-06 07:51:44 +0900

    Don't export rb_callable_receiver

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3629

commit fef52122b0c0dfabf947c3f016334b84a9eeb903
  Author: Chris Seaton <chris.seaton@shopify.com>
  Date:   2020-10-06 07:51:34 +0900

    Use proc_binding rather than rb_funcall

    FIX

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3629

commit ee7cc6ac35cfb056b3946b1dcd6d4d5a140ccacf
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-10-07 07:13:49 +0900

    Make `marshal_load` public

    Ruby specs expected this method to be public

commit 1486785a5759c5cb0b7a7bf0bc5368cc9a280191
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-10-07 06:10:46 +0900

    [lib/ostruct] Fix Marshal loading

commit 260322fbc58a225d1c0323d53698ff62a31cf552
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-07 00:04:48 +0900

    * 2020-10-07 [ci skip]

commit ed01cc8fdc845b1db258eb3e35b3ba834463672e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-06 23:46:24 +0900

    No longer need libtool

    As debug_counter.c has had a global symbol since cdc614cd0a21,
    ranlib should no longer complain that it has no symbols.

commit 21b199bb2423e330570064ae0ad08f2d941ece74
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-06 23:18:10 +0900

    Appended a newline to suppress newline-eof warning

commit 2d20e68fb716b3867beefd6b59b87a99fbfc256b
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-10-06 12:18:55 +0900

    include/ruby/memory_view.h: annotate functions

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3631

commit 62ddbfe2b9fcadf201d8378fbd4bd53bcd3f7df1
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-10-06 12:13:21 +0900

    rb_memory_view_is_contiguous: convert into an inline function

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3631

commit ae94c5bf5d53b061659f9f08e1ee1b46d1447181
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-10-06 12:05:20 +0900

    STRUCT_ALIGNOF: use RUBY_ALIGNOF

    This was a workaround for RUBY_ALIGNOF's glitch, which has already been
    fixed.  See also https://github.com/ruby/ruby/pull/3570

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3631

commit 7d594399f666f35eff1c7be4ec944605dc9aa49c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-10-06 12:00:16 +0900

    memory_view.h: use bool

    Because `bool` is already used in the header there is no reason to
    hesitate.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3631

commit 81068b10901783be6f592c55d6edcdea20e3e667
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-10-06 11:22:31 +0900

    RB_RANDOM_DATA_INIT_PARENT: convert into an inline function

    Bit readable to me.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3631

commit 78e27ced9764e1c9c82ff71467f4851e8c6bb46b
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-10-06 11:07:02 +0900

    rb_rand_if: convert into an inline function

    This adds more room for assertions.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3631

commit 56a45456ac6bc39d8a0a4ca25816255338181e11
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-10-06 10:44:55 +0900

    include/ruby/random.h: eliminate extern "C"

    cf: https://github.com/ruby/ruby/pull/2991/commits/99add258571bf103c6d942bf0e4d510763b73918

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3631

commit 45fd4436ee146f95487b1575c5a2df5cf77f4717
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-10-06 10:28:15 +0900

    Use $GITHUB_ENV instead of set-env

    https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3630

commit f9df340a6ac8d7f5ba0994cf2bd5d14e4c7a563f
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-10-06 10:23:54 +0900

    Remove unused commit_info

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3630

commit 68d24bc04549f04f0bbc40121c115fbbb7caf716
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-06 09:56:49 +0900

    Moved rb_callable_receiver internal

commit 29c54b5e03f2d96f1387f77f34f77b62caddbef4
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-08-28 17:16:21 +0900

    Add missing fileutils require

    On my system, the error was being hidden by the presence of a YARD
    rubygems plugin that was providing the require and making things work.

commit 49bfd889761765d96f6ee6b346609b0ddccb7822
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-06 02:17:57 +0900

    * 2020-10-06 [ci skip]

commit 7d8b43d2eda787e9f6d7e3b5f1278b29bbeed85d
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-25 18:40:50 +0900

    [ruby/tempfile] Improve the documentation for Tempfile.create and recommend Tempfile.open instead

    https://github.com/ruby/tempfile/commit/8bac025065

commit 3a3000f57761b5435f6b3ca66d685214a2863d71
  Author: Svyatoslav Kryukov <s.g.kryukov@yandex.ru>
  Date:   2020-10-03 18:48:02 +0900

    Fix traditional Ring example in Actor-model

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3625

commit 20ad1017017ea736667d86fa0250dc1a39daefa1
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-10-05 18:57:47 +0900

    Remove system method for E2E testing because depends on ruby command

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3628

commit 82f496a84b94d435b8b6fd80595151a08801b16c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-05 16:36:11 +0900

    Put an empty line before the original URL

    Even if the raw commit log does not end with a newline.
    Suggested to use `grep` by znz.

    Co-Authored-By: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>

commit d5ab1979f746084277da265795c2756afdb2267d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-05 04:32:09 +0900

    * 2020-10-05 [ci skip]

commit 9718ff62c12c07ecf7f0e234343dca76ee1aa51d
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-10-05 04:17:15 +0900

    Show stdout and stderr when history tests fail

commit f8c50109d7d1a067bae80b56e7b0b1923951c068
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-04 23:00:53 +0900

    * 2020-10-04 [ci skip]

commit ef4ba517e47cba48c545ff3ce9f06bb56dd63df1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-04 22:55:27 +0900

    Adjusted default gems paths

    * sync_default_gems.rb (sync_lib): sync from the same directory as
      sync_default_gems.

commit 0406898a3f1d157db0ccf039fe9844c221c65f95
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-03 23:22:17 +0900

    add NULL check.

    DATA_PTR(ractor) can be NULL just after creation.

commit d0778cb264cc899d2d4d9d98cfee06ef01883c3a
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-10-03 20:19:24 +0900

    Update example to handle keywords passed to Warning.warn

commit fced98f46484e1c1b50369731c08c20182168ea3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-03 12:19:56 +0900

    Added the room for builtin inline prefix

commit 5a665f6ce796730b9b81a27e418fdba49b5f83b7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-03 00:11:03 +0900

    Check builtin inline function index overflow

commit 6aa466ba9cf3a0a597716bf7584735ca980622d0
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-10-03 02:54:31 +0900

    mark regex internal to string scanner

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3623

commit 873c8a14f0a12eaf47a064024184a4adfaa04dd9
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-10-03 03:05:21 +0900

    Fix assert_ruby_status usage in 174ae0f5775cc7af7d197963a8f87b7d1972c268

commit 112254d18500b2d4cef19bc36290263c0de38e79
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-10-02 19:02:54 +0900

    Improve docs of the Warning module

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3621

commit 174ae0f5775cc7af7d197963a8f87b7d1972c268
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-03 00:42:06 +0900

    Remove known use-after-poison bug

    9eda6547812cbda23a73ba3b2620520b0de2bdd6 was fixed by
    b9488accf9e2cbf5f7c47b42b3eb23469f0aa58d.

commit 0d62e3205b8f94c5ba6d007507d30b42ecd3c109
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-03 00:00:26 +0900

    * 2020-10-03 [ci skip]

commit d0a7189f26dcb185c76771823dcfd20d8d4a7e3e
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-10-02 18:19:04 +0900

    Fix ObjectSpace.dump(obj, output: :stdout)

    RDoc says `ObjectSpace.dump(obj, output: :stdout)   # => nil`,
    but it returns STDOUT since fbba6bd4e3dff7a61965208fecae908f10c4edbe.

    I think it is unintentional change.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3620

commit dd77796f1c8105355787c67007c801f063ac9d86
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-02 21:30:07 +0900

    Hoisted out ensure_cmp which checks the comparison succeeded

commit 74aaa8e7ab20d4c22c7b412972f08e893823be2a
  Author: Gwitr <54531405+Gwitr@users.noreply.github.com>
  Date:   2020-09-23 23:16:39 +0900

    Update marshal.rdoc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3568

commit 89ca842dcce7f05942e2d7be3edc404c9556cafd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-02 10:57:07 +0900

    Ensure that the comparison succeeded [Bug #17205]

commit 4b41ee154f117e18b54c7fb31574f2e314f10f15
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-10-02 10:13:26 +0900

    Update the thread's self / wrapper address

    Threads can move, and if they do, their self pointer may go bad.  We
    need to update it.

commit 8d76b729a180c47d8edf4392d84a02ec00aeb37b
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-26 00:53:07 +0900

    Put same frozen Range literal if possible

    Range literal is now frozen so we can reuse same Range object if
    the begin and the last are Numeric (frozen), such as `(1..2)`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3587

commit c881678cd75432f47903a5d1d8b86a7a723cb023
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-02 08:43:33 +0900

    Removed meaningless system dependent tests

    As [Bug #16662] lchmod available in linux since glibc 2.31.9000, a
    system call may exist or not exist depending on the version.  It
    is not a spec nor responsibility of Ruby.

commit c827cacde155c7b0a2d5e632c983cb38049f68e2
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-10-02 08:04:25 +0900

    memory_view.c: Use ssize_t for ndim in memory_view (#3615)

    * memory_view.c: Use ssize_t for ndim in memory_view

    * include/ruby/memory_view.h: Fix the type of item_size argument

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 8dd9a2369331f594de8b8541faf90c461813eb77
  Author: eileencodes <eileencodes@gmail.com>
  Date:   2020-09-25 03:00:51 +0900

    Make minor improvements to super

    The changes here include:

    * Using `FL_TEST_RAW` instead of `FL_TEST` in the first check in
    `vm_search_super_method`. While the profile showed us spending a fair
    amount of time here, the subsequent benchmarks didn't show much
    improvement when adding this. Regardless, we know this does less work
    than `FL_TEST` and we know that `FL_TEST_RAW` is safe due to the
    previous check so it's a small but accurate optimization.
    * Set `mid` only once. Both `vm_ci_new_runtime` and `vm_ci_mid` were
    getting the `original_id` for the method entry. We can do this once
    and pass the variable to the 2 callers that need it. This also doesn't
    have a huge performance improvement but cleans up the code a bit.

    Benchmark:

    ```
    |                 |compare-ruby|built-ruby|
    |:----------------|-----------:|---------:|
    |vm_iclass_super  |      3.540M|    3.940M|
    |                 |           -|     1.11x|
    ```

    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3614

commit d9599878914404f7d18875d38ce928d488bcdc79
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-02 00:43:14 +0900

    * 2020-10-02 [ci skip]

commit 9fb60672d55162a92ab7e97b000a7e277458aab1
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-24 12:06:38 +0900

    Fix a use-after-free bug reported by ASAN

    If a fiber and thread are collected at the same time, the thread might
    get collected first and the pointer on the fiber will go bad.  I don't
    think we need to check whether or not this is the main fiber in order to
    release its stack

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3571

commit 2db081b5ffb07a2e6bdac58122fa3466830b12a9
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-10-01 16:22:55 +0900

    Don't use `th->scheduler` directly because it's not always valid to do so.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3613

commit 1d3024da26b2d1c48a04864024a5ed51a8ba3139
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-01 13:48:15 +0900

    Refined assertions for better failure messages

commit eef12cdc0665a882b0f324f30e4f46768b8d7860
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-01 13:47:57 +0900

    strip trailing spaces [ci skip]

commit 257007af9aa4b04a28e995ed965b3d8e8d5879ec
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-01 13:45:50 +0900

    Added a fallback return

commit 0d37ed5fdcaa582aecb7a2aacdbb6eac806d7173
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-01 13:45:20 +0900

    rb_thread_scheduler is no longer used

commit 0e98a9c8546c99ccf74fbe176a46429dedde8f93
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-10-01 13:44:29 +0900

    break around function definition [ci skip]

commit ab99a2ac4412cbaf5ef945b9d90ad0788f6555db
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-10-01 13:25:36 +0900

    spec/ruby/core/process/spawn_spec.rb: skip a test on Android

    On Android, STDERR seems to be open even its invoker closes it.

    http://rubyci.s3.amazonaws.com/android29-x86_64/ruby-master/log/20201001T014315Z.fail.html.gz

    ```
    1)
    Process.spawn closes STDERR in the child if :err => :close FAILED
    Expected (59840): "out\nrescued\n"
             but got: "out\n"
    ```

commit c893aa05393e41357c35165593836bffe3bf7dec
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-10-01 13:27:00 +0900

    Add links to the tickets [ci skip]

commit a88fe61a3e3079fd4bd0172374dfa8bd229a90d5
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-10-01 10:20:26 +0900

    Rework `rb_ec_scheduler_finalize` to ensure exceptions are printed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3610

commit dd2e95fb26b89ce060631af0fd372b5780a443dd
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-10-01 09:44:23 +0900

    Remove `Thread.scheduler` from public interface.

    It's implementation is equivalent to:

    Thread.current.scheduler unless Thread.current.blocking?

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3610

commit 7f2902059031ffe0dad35c9832e4be33d57c5588
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-10-01 09:43:16 +0900

    Raise an exception if the scheduler was already closed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3612

commit 13660105e225df0a4fc1f91b8c9618261e5761f3
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-10-01 09:42:58 +0900

    Don't call `Scheduler#close` if it doesn't exist.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3612

commit bc23216e5a4204b8e626704c7277e9edc1708189
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-10-01 08:55:08 +0900

    stop Ractor test in test-all

    Ractor changes the interpreter's running mode so now it should
    not use in test-all process which running with many other tests.

    Test with a separating process is one idea, but I'm not sure
    the ruby/ostruct can use this trick.

commit bb2ba72c3ba36d5f3d5b9497539667831bd358d5
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-26 14:41:46 +0900

    [ruby/ostruct] Tweak doc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3593

commit 152ba86b6b6b01bc2594ca8fcf4873ba13e36eef
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-26 14:53:36 +0900

    [ruby/ostruct] Remove unused condition

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3593

commit b36a45c05cafc227ade3b59349482953321d6a89
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-26 14:27:23 +0900

    [ruby/ostruct] Improved YAML serialization.

    Patch adapted from Pietro Monteiro [Fixes bug#8382]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3593

commit 0e93118c44fc4128bcacfe1dc6702c84a84b862b
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-26 13:29:18 +0900

    [ruby/ostruct] Update NEWS

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3593

commit 0977040133c53be92713e9054b491a0b3649e148
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-26 10:17:06 +0900

    [ruby/ostruct] Add test that frozen OpenStructs are Ractor-shareable

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3593

commit 083fa6e5d22ea7eb9026a4e33e31a1d8abbce7f8
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-26 09:58:48 +0900

    [ruby/ostruct] Protect subclass' methods and our bang methods.

    Internally, use only bang methods

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3593

commit df4d08c44ac3e96336d29a360aafdc4b2a3e96fc
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-26 09:55:38 +0900

    [ruby/ostruct] Avoid calling initialize

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3593

commit fb16c3dce2e629f9c443f9615df18cf2bbb3a077
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-26 13:34:34 +0900

    Remove trailing whitespace [doc]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3593

commit f4733b2c31ea545b7211e4f7d0810953a2e477f1
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-10-01 04:58:36 +0900

    * 2020-10-01 [ci skip]

commit 4bc6190a342b07cf8b1f520c0be737bb6b55e05d
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-10-01 04:58:12 +0900

    Enhanced RDoc for String#[] (#3607)

    * Enhanced RDoc for String#[]

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 7b2bea42a245f2e80b5d2700963fd6b143f6d6b8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-02 23:12:22 +0900

    Unfreeze string-literal-only interpolated string-literal

    [Feature #17104]

commit 65e8a293892800d2201899de51d19ed7ce362bbf
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-30 20:43:19 +0900

    Update to ruby/spec@bfd843a

commit bbecf1eb6b5651a073eb20c9b137cfe08d2739aa
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-30 20:43:17 +0900

    Update to ruby/mspec@e154fa1

commit 9501b34dfc118763e93ba6381ec12f2a71a31e01
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-30 19:40:18 +0900

    strip trailing spaces [ci skip]

commit 8dab56ea862379f03d9405c75a732cd6de81a656
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-30 19:39:20 +0900

    Update to ruby/spec@681e8cf

commit 31636bbddc4ac56fccdf09a815cf1915e4bec444
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-30 19:39:18 +0900

    Update to ruby/mspec@4120a62

commit 201d50164016bc519041af302f47d92f314abac5
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-30 19:21:48 +0900

    Update to ruby/spec@9277d27

commit ce986b41caa1f23b6d07914b8eca62fdff24e034
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-30 15:55:07 +0900

    Remove unneeded `begin` and `end`

commit 30bb040ea4718270e269fefdd0440940f2bdfc5d
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-30 15:41:14 +0900

    Fix `Leaked tempfile`s

    http://rubyci.s3.amazonaws.com/debian10/ruby-master/log/20200930T033004Z.diff.html.gz
    ```
     [n/n] JSONCommonInterfaceTest#test_load = <elapsed> s
     [n/n] JSONCommonInterfaceTest#test_load_file = <elapsed> s
    +Leaked tempfile: JSONCommonInterfaceTest#test_load_file: #<Tempfile:<build-dir>/tmp/20200930-7601-ptnv6i (closed)>
     [n/n] JSONCommonInterfaceTest#test_load_file! = <elapsed> s
    +Leaked tempfile: JSONCommonInterfaceTest#test_load_file!: #<Tempfile:<build-dir>/tmp/20200930-7601-1la6m9 (closed)>
     [n/n] JSONCommonInterfaceTest#test_load_file_with_option = <elapsed> s
    +Leaked tempfile: JSONCommonInterfaceTest#test_load_file_with_option: #<Tempfile:<build-dir>/tmp/20200930-7601-blf9hz (closed)>
     [n/n] JSONCommonInterfaceTest#test_load_file_with_option! = <elapsed> s
    +Leaked tempfile: JSONCommonInterfaceTest#test_load_file_with_option!: #<Tempfile:<build-dir>/tmp/20200930-7601-b5gsdb (closed)>
    ```

commit 1484b786aee8d411a9e2278ac6d6e44aedbf6662
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-30 13:37:07 +0900

    Suppress warnings

    ```
    compiling ../mjit.c
    In file included from ../mjit.c:28:
    ../mjit_worker.c:1270:33: warning: incompatible pointer to integer conversion passing 'const struct rb_callcache *' to parameter of type 'VALUE' (aka 'unsigned long') [-Wint-conversion]
                assert(BUILTIN_TYPE(cc) != T_MOVED);
                                    ^~
    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert'
        (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                            ^
    ../include/ruby/internal/value_type.h:153:23: note: passing argument to parameter 'obj' here
    RB_BUILTIN_TYPE(VALUE obj)
                          ^
    In file included from ../mjit.c:28:
    ../mjit_worker.c:1271:33: warning: incompatible pointer to integer conversion passing 'const struct rb_callable_method_entry_struct *' to parameter of type 'VALUE' (aka 'unsigned long') [-Wint-conversion]
                assert(BUILTIN_TYPE(vm_cc_cme(cc)) != T_MOVED);
                                    ^~~~~~~~~~~~~
    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert'
        (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                            ^
    ../include/ruby/internal/value_type.h:153:23: note: passing argument to parameter 'obj' here
    RB_BUILTIN_TYPE(VALUE obj)
                          ^
    In file included from ../mjit.c:28:
    ../mjit_worker.c:1272:50: warning: incompatible pointer to integer conversion passing 'const struct rb_callcache *' to parameter of type 'VALUE' (aka 'unsigned long') [-Wint-conversion]
                assert(!rb_objspace_garbage_object_p(cc));
                                                     ^~
    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert'
        (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                            ^
    ../gc.h:128:40: note: passing argument to parameter 'obj' here
    int rb_objspace_garbage_object_p(VALUE obj);
                                           ^
    In file included from ../mjit.c:28:
    ../mjit_worker.c:1273:50: warning: incompatible pointer to integer conversion passing 'const struct rb_callable_method_entry_struct *' to parameter of type 'VALUE' (aka 'unsigned long') [-Wint-conversion]
                assert(!rb_objspace_garbage_object_p(vm_cc_cme(cc)));
                                                     ^~~~~~~~~~~~~
    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert'
        (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                            ^
    ../gc.h:128:40: note: passing argument to parameter 'obj' here
    int rb_objspace_garbage_object_p(VALUE obj);
                                           ^
    4 warnings generated.
    ```

commit 388281c5c92d4c04bfb08aeac7513770de9ea128
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-09-30 11:24:36 +0900

    Fix order of operations during `rb_ec_finalize`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3605

commit 48b94b791997881929c739c64f95ac30f3fd0bb9
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-30 09:15:39 +0900

    Enhanced RDoc for String#upto (#3603)

    * Enhanced RDoc for String#upto

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 0fb1a67bda8df28ed954f4c4eb7782e11a35beb9
  Author: Maciej Mensfeld <maciej@mensfeld.pl>
  Date:   2020-09-28 22:20:35 +0900

    Reference process PID using the Process#pid

    This change will allow formatter to run from Ractors other than main.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3600

commit c38605de6ba1e02ff2c70961ccb62277d4aedad1
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-30 00:32:22 +0900

    * 2020-09-30 [ci skip]

commit f7bd9f075030e5fa876320c1624a80685a636e82
  Author: Peter Zhu <peter@peterzhu.ca>
  Date:   2020-09-29 06:35:27 +0900

    Fix unsigned int overflow in error message for chr

    The error message has an integer overflow because it treats an unsigned int as a signed int.

    Before:
    ```
    > 3_000_000_000.chr
    -1294967296 out of char range (RangeError)
    ```

    After:
    ```
    > 3_000_000_000.chr
    3000000000 out of char range (RangeError)
    ```

    Redmine ticket: https://bugs.ruby-lang.org/issues/17186

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3602

commit cece71b46708d69c74583d48478ea4d0401bb746
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-29 22:49:44 +0900

    Add call-seq of [Feature #16274]

commit d23d2f3f6fbb5d787b0dd80675c489a692be23e2
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-09-29 13:15:58 +0900

    [ruby/webrick] Make it more strict to interpret some headers

    Some regexps were too tolerant.

    https://github.com/ruby/webrick/commit/8946bb38b4

commit dcb705ace7f1152d185d42ed2db4a6d44749961a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-29 15:28:09 +0900

    doc/syntax/literals.rdoc: explain `#@@foo` too [ci skip]

commit 2e947bc181794d1bcf26d700b2c2c15b53c45b36
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-09-29 14:39:21 +0900

    doc/syntax/literals.rdoc: explain `#@foo` and `#$foo`

commit a9ff39087092b21059fca046ace9ca87770692a4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-29 13:41:59 +0900

    Fixed installation failure [Bug #17191]

    Try update and extract bundled gems only when baseruby is
    available.  It should be done only when installing from
    developemental build and not from the tarball, but it is not
    obvious to differentiate them.

commit b971f141b20d484c48358e5f2d4d9b6957ccd17a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-29 13:14:54 +0900

    Fix up dependencies on internal/sanitizers.h

commit 40a499db65c3ef07cab2c1d7113328ef9dd40b09
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-09-29 11:58:04 +0900

    test/racc/test_racc_command.rb: prevent a warning

    http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200929T003003Z.log.html.gz
    ```
    warning: ambiguous first argument; put parentheses or a space even after `/' operator
    ```

commit 06099e4ee1c7ebe0a67929e42b6498612e4a25c8
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-09-29 09:57:47 +0900

    fix typo [ci skip]

    Reported by Mau Magnaguagno See: https://github.com/ruby/ruby/pull/3570#discussion_r495465903

commit 0a3099ae4042ded1efbc76a82c95921f8e808716
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-29 08:44:58 +0900

    bit table information when printing an object

commit 85e9cc2c8721badb5c6a7f80518342194d5988b4
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-29 01:53:30 +0900

    Unpoison THEAP header before reading

    Another ASAN fix.  THEAP header is poisoned, so we need to un-poison
    before reading

commit 0555bd8435d352a24bab1e03a7879b9abcc34b88
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-29 01:58:39 +0900

    Enhanced RDoc for String#succ! (#3596)

    * Enhanced RDoc for String#succ!

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit d598654c742eddc4284814021a8d4b1d6e48b604
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-29 01:43:19 +0900

    Fix ASAN and don't check SPECIAL_CONST_P

    Heap allocated objects are never special constants.  Since we're walking
    the heap, we know none of these objects can be special.  Also, adding
    the object to the freelist will poison the object, so we can't check
    that the type is T_NONE after poison.

commit 664eeda66e1f64d09e0d321e681f2c21916f9c13
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-29 00:37:09 +0900

    Fix ASAN errors when updating call cache

    Invalidating call cache walks the heap, so we need to take care to
    un-poison objects when examining them

commit 0767d387ecb9e9dd7ebd34cad46d86cfce13b9f5
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-29 00:28:10 +0900

    Pass ASAN options to child environments

    I want to work with ASAN, but some child environments are not inheriting
    the ASAN options I'm using.  This commit passes them to child
    environments if specified

commit 346301e2329c46362a6089311d0a64b8734b35ec
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-04 00:00:10 +0900

    Add rb_category_warn{,ing} for warning messages with categories

    This adds the following C-API functions that can be used to emit
    warnings with categories included:

    ```c
    void rb_category_warn(const char *, const char*, ...)
    void rb_category_warning(const char*, const char*, ...)
    ```

    Internally in error.c, there is an rb_warn_category function
    that will call Warning.warn with the string and the category
    keyword if it doesn't have an arity of 1, and will call
    Warning.warn with just the string if it has an arity of 1.
    This refactors the rb_warn_deprecated{,_to_remove} functions
    to use rb_warn_category.

    This makes Kernel#warn accept a category keyword and pass it
    to Warning.warn, so that Ruby methods can more easily emit
    warnings with categories.  rb_warn_category makes sure that
    the passed category is a already defined category symbol
    before calling Warning.warn.

    The only currently defined warning category is :deprecated,
    since that is what is already used.  More categories can be
    added in later commits.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3508

commit 92c3ad9c276d048bf6fba1145ffccf8678fe8af1
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-03 07:49:40 +0900

    Make Warning.warn accept only category keyword

    In general accepting arbitrary keywords is a bad idea unless you are
    delegating keywords or acting on arbitrary keywords.  In this case,
    the category keyword is ignored, and it's less error prone to not
    ignore all keywords.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3508

commit 5d7953f86b7ae164017e2292dfb3c108e0e02527
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-26 05:29:20 +0900

    Switch conflicting chdir warning to RuntimeError

    The documentation already stated this was an error in one case
    (when it was previously a warning).  Describe the other case,
    where chdir without block is called inside block passed to chdir.

    Fixes [Bug #15661]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3591

commit 0164ac70a14c3cc17989d76959cf791ec22e8695
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-29 00:20:47 +0900

    * 2020-09-29 [ci skip]

commit 0b0e2d88cebc0b546b75234321fa31a1f3a0be3f
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-26 08:25:36 +0900

    Refactor common heap iteration code

    We have code common to all heap iteration paths in this file.  Refactor
    such that we keep ASAN checks and flags checks in one place

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3592

commit b9488accf9e2cbf5f7c47b42b3eb23469f0aa58d
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-26 07:01:23 +0900

    Fix ASAN support when invalidating CCs

    Again, this code is walking the heap.  Empty slots can be poisoned, so
    we need to unpoison before checking the type

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3592

commit b328b830264408b467a5c904a474e7112c5d678c
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-26 06:55:12 +0900

    make ext/coverage ASAN friendly

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3592

commit 18b3f0f54c66632b1039a27634a8a449a7812e34
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-26 06:50:54 +0900

    Make ext/objspace ASAN friendly

    ext/objspace iterates over the heap, but some slots in the heap are
    poisoned, so we need to take care of that when running with ASAN

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3592

commit ac414139ec0fc5626902231c4d45fffeb347263e
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-28 23:06:50 +0900

    Remove unnecessary executable bit [ci skip]

commit 4de32b3556f9bc7ac11d8bcf80bdd9d4794de416
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-28 18:53:12 +0900

    Removed unused option on racc

commit 87726143ef4ce2f4e562255a5af1f88b8ef78900
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-28 18:52:26 +0900

    Fixed the wrong variable for --executable flag

commit f2c6a3513fa6bbff8e009fbd442e233db848b7c4
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-28 18:29:15 +0900

    Clarify spec description for Hash#{each,each_pair}

commit 245ed57ddc93901e90388cf479968392299d1067
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-08-19 10:26:34 +0900

    [ruby/racc] Turn debugging off

    https://github.com/ruby/racc/commit/872f75cfa7

commit 97d1a381e112e843ff014a05a083e42165b7bb01
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-08-14 10:50:16 +0900

    [Fixes #137] Improve reporting

commit 3da3c2747feb0c4a122182792150a49012bed1a6
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-28 17:43:05 +0900

    fixup d6a94a0c4b416d4e4a5b25ab8d5482bad00f9765

commit d6a94a0c4b416d4e4a5b25ab8d5482bad00f9765
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-27 10:38:46 +0900

    Removed useless RCS revisions

commit 8863bfb1f46ae3bdef52d7f9d72534df0ae8617a
  Author: Steven Peckins <speckins@illinois.edu>
  Date:   2020-09-03 12:30:55 +0900

    [rubygems/rubygems] Move comment below shebang in bin/console template

    In an executable script, the shebang line should be the first line (the
    file needs to start with the bytes 0x23 0x21).  Putting a comment above
    it will break the script.

    (Regression test included per @deivid-rodriguez)

    https://github.com/rubygems/rubygems/commit/962e669feb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3599

commit 18c642da869876da1100d046e8ac6556c3638e91
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-23 02:36:27 +0900

    [rubygems/rubygems] Fix ls-files matching regexp

    As splitting by NUL means to allow the file names to contain
    newlines, path names should match at beginning-of-string instead
    of beginning-of-line.

    https://github.com/rubygems/rubygems/commit/8a81183236

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3599

commit ac3f80a58e1d27b92e4f6d2f5a3cff8ba530e1e3
  Author: xndcn <xndchn@gmail.com>
  Date:   2020-08-04 14:25:59 +0900

    [rubygems/rubygems] Add writable check for cache dir

    Sometimes "install_dir/cache" directory is not writable although "install_dir" is writable.

    https://github.com/rubygems/rubygems/commit/665221cb69

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3599

commit c55b5f106295aa3c7611a15a9bf7f0d589447ea7
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-09-11 12:00:29 +0900

    [rubygems/rubygems] Avoid duplicated generation of APISpecification objects

    As far as I could see, `Gem::Resolver::APISpecification` objects are
    supposed to be immutable.  If my guessing is correct, then we can cache
    and reuse its instances for performance.
    At least, `rake` passes on my machine.

    Before this change:

    ```
    $ time ruby -I lib bin/gem install --no-doc aws-sdk
    Successfully installed aws-sdk-3.0.1
    1 gem installed
    real    0m37.104s
    user    0m36.952s
    sys     0m0.333s
    ```

    After this change:

    ```
    $ time ruby -I lib bin/gem install --no-doc aws-sdk
    Successfully installed aws-sdk-3.0.1
    1 gem installed
    real    0m23.905s
    user    0m23.740s
    sys     0m0.365s
    ```

    https://github.com/rubygems/rubygems/commit/7e8fbba85c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3599

commit 91865230cdebee3de7bfde1c91d4e3f63ad15787
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-07-23 22:21:37 +0900

    [rubygems/rubygems] Eval defaults with frozen_string_literal: true

    https://github.com/rubygems/rubygems/commit/d498ae3d62

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3599

commit 9bbca93aa8ba7cb6e19c9a807706ae6b5d988403
  Author: Ellen Marie Dash <me@duckie.co>
  Date:   2020-07-31 07:15:15 +0900

    [rubygems/rubygems] Remove last remaining line of output from `gem update --system --silent`

    https://github.com/rubygems/rubygems/commit/038203aaf8

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3599

commit e8274a7683645082e96ced6a00d2df9ba10942ed
  Author: Ellen Marie Dash <me@duckie.co>
  Date:   2020-07-31 06:24:05 +0900

    [rubygems/rubygems] Add test for "gem update --system --silent"

    https://github.com/rubygems/rubygems/commit/c3fb0db930

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3599

commit 7fc8f83edbfe0bb220750e179b70e1bff57f1e5f
  Author: Ellen Marie Dash <me@duckie.co>
  Date:   2020-07-05 08:19:27 +0900

    [rubygems/rubygems] Have "gem update --system" pass through the --silent flag.

    https://github.com/rubygems/rubygems/commit/5a1e56e892

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3599

commit ab5e9516b796e132da910664a7fba4e69336e323
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-07 09:02:40 +0900

    [rubygems/rubygems] Added Ruby version for oldest supported version of rubygems

    https://github.com/rubygems/rubygems/commit/dd87d70f51

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3599

commit c6bdf750499491d12c947de546c164a854dd0703
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-28 23:28:52 +0900

    Disallow downgrades to too old versions

    Consider the version original included with each ruby as the minimum
    supported version.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3599

commit 828cefd629e036c96fbd50013965f61df39417ce
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-08-31 23:52:59 +0900

    [rubygems/rubygems] Add --dryrun to the deprecated options when showing the help message

    https://github.com/rubygems/rubygems/commit/38230a77c1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3599

commit 777840a16add54af7d84a049b4d5c06a8ba9ff99
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-08-31 22:19:40 +0900

    [rubygems/rubygems] We don't need shortucts for a deprecated flag

    https://github.com/rubygems/rubygems/commit/087a1f9720

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3599

commit be980dd9fa99dc42b064ce596240f7623b97f1fb
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-08-31 15:21:20 +0900

    [rubygems/rubygems] Deprecate --dryrun

    https://github.com/rubygems/rubygems/commit/1715610648

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3599

commit b83787b1ceb4441362fd3d966ce099e360a48646
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-08-31 14:59:38 +0900

    [rubygems/rubygems] Make --dry-run flag consistent across rubygems commands

    https://github.com/rubygems/rubygems/commit/addc644cad

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3599

commit 0629e695e3130f875641542ad2593b19b56703ef
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-10 20:18:31 +0900

    Added `--platform` option to `build` command

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3599

commit 67ae1d441dbc2d944a08b95178f99d2cf67169e1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-28 13:05:21 +0900

    Do not use clang on cygwin

    Its `__has_declspec_attribute()` is not reliable.  For instance,
    while `__has_declspec_attribute(noalias)` is true but 'noalias'
    attribute is warned as unknown.

commit 36d1bb720c72eba2a3574a4ea721ed8a6207d39f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-28 12:51:53 +0900

    sprintf.c: Removed conflicting definition

commit ee7c260b6023f5152560744125b6ea532a778b01
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-28 12:50:39 +0900

    thread_win32.c: native_mutex_trylock is not used right now

commit 1c954366933ce916346b868c633b06ec97763a10
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-28 04:33:14 +0900

    * 2020-09-28 [ci skip]

commit 41eba95920794b85a51b0abfe164d29840c420b1
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-28 04:31:13 +0900

    Revert the first diff of "Use Tempfile.create instead of Tempfile.open in test_io.rb"

    * This partially reverts commit dead7478748a828c45e16134fca812bc7771344e.
    * Windows will not allow a file to be unlinked if any file handles exist,
      see https://github.com/ruby/ruby/pull/3597

commit 9a951c09317032fd1c2a3b5506f70b5e83e0464b
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-27 14:26:38 +0900

    Remove outdated comment [ci skip]

commit 5e91b4bdb3e2889cc485b77c4ef29c4f5c364895
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-27 09:49:16 +0900

    fix typo [ci skip]

commit 950614b08845b93fe1f20350437917b0e44bc030
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-09-27 02:38:08 +0900

    ext/socket/ipsocket.c: prevent "warning: unused variable 'resolv_timeout'"

commit 70d7e4c3f02aabf06eb50e01d50c83bddd227a9c
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-27 01:16:42 +0900

    Fix a typo [ci skip]

commit 48b53190063e4ca857f3e4a42928a5fa9190ba3a
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-27 01:13:52 +0900

    Add links to the tickets [ci skip]

commit 089b7698ba14029aa883ee5c9e75f6321a1593b1
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-27 01:02:22 +0900

    * 2020-09-27 [ci skip]

commit cdb5258bec94051097a234e9571414d00053aa1e
  Author: bogdanvlviv <bogdanvlviv@gmail.com>
  Date:   2020-09-26 20:25:46 +0900

    Fix `ENV.except`'s docs

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3595

commit dead7478748a828c45e16134fca812bc7771344e
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-26 19:36:31 +0900

    Use Tempfile.create instead of Tempfile.open in test_io.rb

commit 4e31cbc07048fc57dbd16643a682df21db9a4342
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-09-26 18:55:00 +0900

    update-deps

    https://github.com/ruby/ruby/runs/1169621878

commit ce92d15596aab337b5e8b806603eb07ad6528ff2
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-09-26 18:24:28 +0900

    fix typo [Bug #17194]

commit 137fa5b27e6db535fcf42e4390b42ca8adc9dacd
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-26 01:18:12 +0900

    Fibers should update themselves on compaction

    We should let fibers update their own references on compaction.  I don't
    think we need the thread to update the associated fiber because there
    will be a fiber object on the heap that knows how to update itself.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3588

commit 8b42474a2604f35f6d2a635562ef16efc1af456c
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-26 05:13:10 +0900

    Enhanced RDoc for String#succ (#3590)

    * Enhanced RDoc for String#succ

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 24820d508bc89775e10e4e3e6e07e192540cb4a2
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-09-02 12:13:54 +0900

    Return nil when argument to ObjectSpace.internal_class_of is T_IMEMO

    The added test case crashes the interpreter because it makes
    ObjectSpace.internal_class_of return the second VALUE slot of an AST
    imemo object. The second VALUE slot of `struct rb_ast_struct` is
    not a VALUE and not a pointer to a Ruby object.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3503

commit 3a00f2a0f4325cbeea96fe3b6fbc774e8a172920
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-09-26 00:30:36 +0900

    ext/readline/depend: update-deps --fix

commit 722a1e479f9f0d517024eb3f4959cc33f4be4383
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-09-26 00:19:09 +0900

    RBIMPL_ALIGNAS: reorder #ifdef blocks

    Since r63443, `-std=gnu99 -D_XOPEN_SOUCE=x00` is added to Solaris'
    `CPPFLAGS`.  `CPPFLAGS` is shared among `CC` / `CXX`.  This results in
    both `__STDC_VERSION__` and `__cplusplus` to be defined at the same time
    for a C++ compilation, only on Solaris.

    It seems the `CPPFLAGS` addition is intentional.  We should not touch
    that part.  Instead we need to reroute this by always check for
    `__cplusplus` first.

commit f7c4118263f64667a4e34181cbf21f101f6ec737
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-26 00:27:30 +0900

    * 2020-09-26 [ci skip]

commit b271bd73e081e22d1165b18a3fa03a96a9f4e697
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-09-26 00:20:06 +0900

    test/net/smtp/test_smtp.rb: Stop io leaks

    `make test-all` was very noisy by warnings like

    ```
    Leaked file descriptor: Net::TestSMTP#test_start_with_position_argument: 6 : #<TCPSocket:fd 6, AF_INET, 127.0.0.1, 43770>
    ```

commit 8119e5b0e6a1341a9130c14604ade5acca6d21f3
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-09-25 23:45:00 +0900

    memory_view.c: prevent "warning: instance variable __memory_view__ not initialized"

commit abdd3c5616e82af487249ef5e9d3e42bc983de1c
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-09-25 23:45:42 +0900

    test/ruby/test_enumerator.rb: check the deprecation warning

    by explicitly setting `Warning[:deprecated] = true`.
    I removed "capture_io" at 79063d8cbfb7ce4740774289252a2a20dc9a5dc1, but
    it printed the warning when `RUBYOPT=-w`.

    This change makes the warnings enabled explicitly, capture and check the
    warning.

commit 0db5324e0d3e891768962de8da7507be0288f18f
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-09-25 23:39:35 +0900

    test/ruby/test_memory_view.rb: prevent "assigned but unused variable - members"

commit 79063d8cbfb7ce4740774289252a2a20dc9a5dc1
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-09-25 23:38:01 +0900

    test/ruby/test_enumerator.rb: remove capture_io that is no longer needed

    The deprecation warning was disabled, and the code to check the warning
    was removed at 996af2ce086249e904b2ce95ab2fcd1de7d757be, thus capture_io
    is no longer needed.

commit e4b2c4fca5dc294799d33e506ddaf98f1a178082
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-09-25 23:37:12 +0900

    t/json/json_common_interface_test.rb: fix wrong indentation

    to prevent:

    ```
    test/json/json_common_interface_test.rb:182: warning: mismatched indentations at 'end' with 'def' at 169
    ```

commit 0096d2b895395df5ab8696d3b6d444dc1b7730b6
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-25 18:05:55 +0900

    freeze all Range objects.

    Matz want to try to freeze all Range objects.
    [Feature #15504]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3583

commit f4328d7f5d035b5a292d00ad21e79818b9220d8b
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-25 21:12:53 +0900

    [ruby/readline-ext] Remove unnecessary header files from depend

    https://github.com/ruby/readline-ext/commit/f9783c0739

commit c04c34df4719db65366f70cdc2b7d9caa0602e21
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-09-25 21:32:00 +0900

    memory_view.h: brush up the description in the comment

commit 56012d2f7ef163d6c1f87324c749018cc9079c31
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-09-25 21:16:10 +0900

    NEWS.md: Add memory view entry

    The memory view interface added at 890bc2cdde is experimental new C-API
    set.  This feature permits extension libraries to share a memory area
    that contains such a numerical array and a bitmap image.  This is
    designed by referring to Python's buffer protocol.
    [[Feature #13767]]
    [[Feature #14722]]

commit caaa36b4e6d0d59f0aa21049c063b140aa5aae4f
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-25 18:31:04 +0900

    prohibi method call by defined_method in other racotrs

    We can not call a non-isolated Proc in multiple ractors.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3584

commit 890bc2cdde4097390f3b71dfeaa36dd92ee0afe2
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-09-25 20:32:02 +0900

    Buffer protocol proposal (#3261)

    * Add buffer protocol

    * Modify for some review comments

    * Per-object buffer availability

    * Rename to MemoryView from Buffer and make compilable

    * Support integral repeat count in memory view format

    * Support 'x' for padding bytes

    * Add rb_memory_view_parse_item_format

    * Check type in rb_memory_view_register

    * Update dependencies in common.mk

    * Add test of MemoryView

    * Add test of rb_memory_view_init_as_byte_array

    * Add native size format test

    * Add MemoryView test utilities

    * Add test of rb_memory_view_fill_contiguous_strides

    * Skip spaces in format string

    * Support endianness specifiers

    * Update documentation

    * Support alignment

    * Use RUBY_ALIGNOF

    * Fix format parser to follow the pack format

    * Support the _ modifier

    * Parse count specifiers in get_format_size function.

    * Use STRUCT_ALIGNOF

    * Fix test

    * Fix test

    * Fix total size for the case with tail padding

    * Fix rb_memory_view_get_item_pointer

    * Fix rb_memory_view_parse_item_format again

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 6eeacbbc3603bcd63a53e43a2002ca0872945e9f
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-25 20:28:31 +0900

    Extract assert assertion to assert_include and assert_not_include.

commit 8705dba194ec953d0daecd317786873bfe488d4a
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-25 18:48:57 +0900

    Update dependencies

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3582

commit cd44febc93a31825cd0af53ee7b960c3c2a5fe5c
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-25 16:09:20 +0900

    Add check_dependencies workflow

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3582

commit 81dc37b1b41db9957d783b28cb1a4eaa03a5bd5d
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-25 15:40:56 +0900

    assert_true is not provided by test-unit

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3581

commit e30d1b0923d79dc55c8b47247cae9e5aa3007459
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-06-30 14:10:49 +0900

    Fix pure parser with unclosed arrays / objects [Fix #314]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3581

commit 927a377a7c23733d94b7d9e103580c83e4040077
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-09-09 23:48:07 +0900

    [flori/json] Fix JSON.load_file doc

    https://github.com/flori/json/commit/cb61a00ba8

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3581

commit 038252fe66d4a81f21027e8204b782363a8516c8
  Author: BurdetteLamar <burdettelamar@yahoo.com>
  Date:   2020-08-21 01:37:42 +0900

    [flori/json] Partial compliance with doc/method_documentation.rdoc

    https://github.com/flori/json/commit/6dfa885134

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3581

commit 71f64e15b9e23f08b8c31500efb971a61b8b2b18
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-14 14:03:12 +0900

    [flori/json] Enhanced RDoc for JSON.dump (#443)

    * Enhanced RDoc for JSON.dump
    https://github.com/flori/json/commit/03f1699ec4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3581

commit 3d5e83399889dba537b7178e4811a94a6850ccb3
  Author: Julien Feltesse <jfeltesse@mdsol.com>
  Date:   2020-08-14 12:45:09 +0900

    bundle the LICENSE file in the gem

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3581

commit de0e0ffad4e0cf0360efbff2e0e8988f9aa0727a
  Author: BurdetteLamar <burdettelamar@yahoo.com>
  Date:   2020-07-30 04:46:13 +0900

    [flori/json] Nodoc for recurse_proc

    https://github.com/flori/json/commit/f8c0fe2408

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3581

commit e9096f796c565da46dfab3c72acb78dbf3b2df5b
  Author: BurdetteLamar <burdettelamar@yahoo.com>
  Date:   2020-07-29 03:57:16 +0900

    [flori/json] RDoc for JSON.load with proc

    https://github.com/flori/json/commit/a55c91934e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3581

commit 0089854fc5534a3d6e23d0bd0cfce3f864217e16
  Author: Karol Bucek <self@kares.org>
  Date:   2020-07-07 03:09:50 +0900

    [test] properly 'skip' test on JRuby

    an early return still caused ensure to execute,
    setting JSON constant to `nil` for later tests!

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3581

commit f8d43e53708206605130f60b52d1dadbc9502297
  Author: Karol Bucek <self@kares.org>
  Date:   2020-07-06 20:32:09 +0900

    unify json-java gemspec with the baseline

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3581

commit 8c057bb845d57d20e285030bfd73bcb5ca1143f9
  Author: BurdetteLamar <burdettelamar@yahoo.com>
  Date:   2020-07-04 23:21:12 +0900

    [flori/json] RDoc example for JSON.load

    https://github.com/flori/json/commit/e4eead665c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3581

commit 36b2177ea80663437daac92c50db378cf1bff799
  Author: BurdetteLamar <burdettelamar@yahoo.com>
  Date:   2020-07-04 04:11:26 +0900

    [flori/json] Enhance RDoc for JSON.parse

    https://github.com/flori/json/commit/33e64ef255

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3581

commit 71b1bbad02bee09b8da722f75777df199ca33995
  Author: BurdetteLamar <burdettelamar@yahoo.com>
  Date:   2020-07-01 04:50:06 +0900

    [flori/json] Move options from #generate and #parse to common area

    https://github.com/flori/json/commit/20d7be605a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3581

commit c3614877d205e716bc94ad521918ad57c12ed445
  Author: Keith Bennett <keithrbennett@gmail.com>
  Date:   2020-07-01 03:07:23 +0900

    [flori/json]     Add `load_file` and `load_file!` methods, with tests. Fixes issue #386.

    https://github.com/flori/json/commit/0be363c99b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3581

commit e1659af3724e2320e9f2f2bd7cf602686e8aa523
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-01-30 20:48:05 +0900

    Add an option to escape forward slash character

    Squashed commit of the following:

    commit 26d181059989279a79c433cedcd893b4f52e42ee
    Author: Francois Chagnon <francois.chagnon@jadedpixel.com>
    Date:   Tue Sep 15 21:17:34 2015 +0000

        add config options for escape_slash

    commit fa282334051b16df91ca097dd7304b46f3bc7719
    Author: Francois Chagnon <francois.chagnon@jadedpixel.com>
    Date:   Mon Feb 9 21:09:33 2015 +0000

        add forward slash to escape character

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3581

commit c5ea060ef8cd6c0de9987d1a3546b79e99ebb35c
  Author: Soutaro Matsumoto <matsumoto@soutaro.com>
  Date:   2020-09-25 17:08:39 +0900

    Update NEWS about RBS (#3579)

  Notes:
    Merged-By: soutaro <matsumoto@soutaro.com>

commit 25cfb0c04007137e2dc6d82c2dadea067498f39a
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-25 14:16:30 +0900

    Range is based on Struct.

    Range can be shareable because it is implemented by Struct.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3580

commit 96739c422206d55acab4aee917d9d965c27b6fff
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-25 14:06:32 +0900

    Frozen Struct can be shareable.

    A frozen Struct object which refers to shareable objects should be
    shareable.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3580

commit 97416ae54cebe8bd4c77da5301b82509ec43aaf2
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-09-25 15:47:47 +0900

    Describe resolv_timeout in NEWS

commit f2d1808e7364aa909101c5208086ef026d5367a2
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-09-25 15:39:26 +0900

    Add comments for resolv_timeout

commit 511fe23fa2bdf1f17faa91e0558be47b5bb62b2a
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-08-28 13:07:31 +0900

    Add resolv_timeout to TCPSocket [Feature #17134]

commit b72f9200acf88e60c850a2d400554ff38f81194d
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-09-10 22:12:11 +0900

    [ruby/psych] Forward keyword arguments in load_file and load_stream

    https://github.com/ruby/psych/commit/4e1dd37f09

commit 8ea1021f1979c04b3cee2a886fb52a914472dd16
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-07-18 07:13:54 +0900

    [ruby/psych] Bump version to 3.2.0

    https://github.com/ruby/psych/commit/181a727c90

commit 263c43487f419b24e9ac1ef18b20085b15481d70
  Author: SzymonKowalczyk <szymon.kowalczyk@pl.ibm.com>
  Date:   2020-07-16 21:36:25 +0900

    [ruby/psych] Revert psych version
    https://github.com/ruby/psych/commit/55a294fcd0

commit f794c928a007ba2edddac0de14eb0f4af9491c6c
  Author: SzymonKowalczyk <szymon.kowalczyk@pl.ibm.com>
  Date:   2020-07-16 21:26:48 +0900

    [ruby/psych] Update SNAKEYAML CVE-2017-18640

     to version 1.26
    https://github.com/ruby/psych/commit/b2802135e7

commit 33641e00cd0a1a2e4c497f70365f06bf5c5f3f6a
  Author: Charles Oliver Nutter <headius@headius.com>
  Date:   2020-07-17 00:21:18 +0900

    Remove private_iv_get

    The only remaining use of this function was to get the internal
    message object from an exception's hidden `mesg` instance
    variable to allow it to be dumped wiithout converting to a string.

    As discussed in #103, this exposes internal implementation details
    of CRuby, and ultimately does not provide any real utility to the
    user since they can't directly inspect this hidden variable. The
    test change here is to reflect CRuby behavior that denies equality
    if the internal message objects do not match, as is the case after
    the exception has been loaded and now has a simple String value.

    The impact to users is that exceptions with special hidden message
    objects will convert those objects to String during marshaling
    through YAML. I believe this only affects NameError and its
    descendants, since users can't set this field directly on their
    own exception types.

    Fixes #103.

commit 6081ba4a871f857eabdcb1e51b68f11bb10c49af
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-25 13:07:07 +0900

    refactoring a test code.

    make a test more clear.

commit d247dedade684d8ba04da4af891791e5ab5878ef
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-25 11:39:15 +0900

    Ractor.yield should raise if out-port is closed

    Ractor.yield should raise Ractor::ClosedError if current Ractor's
    outgoing-port is closed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3578

commit 52865263467b48c0f5af6d9548972dd1f9e5bee1
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-25 03:19:27 +0900

    frozen T_OBJECT can be shareable.

    If an T_OBJECT object is frozen and all ivars are shareable,
    the object should be shareable.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3575

commit fde136152eacca454bfb978347abfa67bd73ac4d
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-25 09:08:54 +0900

    should not check taint flag on rubyspec.

    Now taint flag is obsolete and it is used fro shareaable flag.
    So we should not check this flag.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3575

commit c6c241e49c35a2bf0079499459f60f470f97395a
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-09-25 10:21:45 +0900

    enrich comment

    Added description and URL about nested flexible array member.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3570

commit 4cc501bcfd23691c5244877f9d088a6be6bc8e13
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-09-24 12:16:31 +0900

    ext/-test-/RUBY_ALIGNOF: skip C++ when no compiler

    C++ compilers are optional.  Skip C++ tests when they are absent.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3570

commit e75aed7abb7f869223ea05a2f96b2021b57bd98a
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-09-24 10:58:01 +0900

    RBIMPL_ALIGNOF: do not use constexpr

    Was definitely a bad idea to use constexpr.  It is not ubiquitous.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3570

commit 0b77a86d1ec3a8bb3d62ea38a93d7aed44dd2c0c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-09-23 14:29:05 +0900

    ext/-test-/RUBY_ALIGNOF: add minimalistic test

    Check if RUBY_ALIGNOF(double) is the alignment to store a double inside
    of a struct.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3570

commit 873fb1aa4cab7a14f2b38a05f5888c111ea3bc69
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-09-23 13:30:56 +0900

    ALLOCA_N: do not use RUBY_ALIGNOF

    Now that RUBY_ALIGNOF behaves like C11's _Alignof.  This is not
    necessarily the best stack arrangement.  We can just give up using
    __builtin_alloca_with_align(), and let alloca choose what is optimal.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3570

commit e9fb2bc873a55181ac7d581e7252db3754a3209d
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-09-23 10:57:35 +0900

    RBIMPL_ALIGNOF: do not use __alignof__

    It is reported that on a system of i386 System V ABI, GCC returns 8 for
    __alignof__(double).  OTOH the ABI defines alignments of double to be 4,
    and ISO/IEC 9899:2011 reads that _Alignof(double) shall return 4 on such
    machine.  What we want in ruby is 4 instead of 8 there.  We cannot use
    __alignof__.

    Additionally, both old GCC / old clang return 8 for _Alignof(double) on
    such platforms.  They are their bugs, and already fixed in recent
    versions.  But we have to support older compilers for a while.  Shall
    check sanity of _Alignof.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3570

commit fe875be01a501a47a4bf75df9c6b42bb33d9842b
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-09-23 09:41:08 +0900

    rb_cv_have_alignas: not used any longer

    Availability of `alignas` is checked in include/ruby/internal/stdalign.h
    now.  That does not need this configure check.  Also as commented in the
    header, we see `_Alignas` being inadequate for our purpose.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3570

commit 996af2ce086249e904b2ce95ab2fcd1de7d757be
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-31 14:58:31 +0900

    Disable deprecation warning by the default [Feature #16345]

    And `-w` option turns it on.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3481

commit 83ff0f74bf69650754cac020bcd4ff9adbba877e
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-25 08:38:11 +0900

    Enhanced RDoc for String#match? (#3576)

    * Enhanced RDoc for String#match?

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 53acf6686ab4dbf8be9bd72e0a6be4c99029aed9
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-25 07:54:01 +0900

    Revert "[ruby/webrick] Add test for shutdown_pipe"

    This reverts commit c06eab13290757fc326bb2a6e3ac25cd53e00894.

commit c5960d51d13a002b02d18ad328eb7d5b8937805d
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-25 07:33:20 +0900

    Revert "[ruby/webrick] Fix shutdown_pipe test issue"

    This reverts commit b8fdd38b2e01abcfd4cc8d007a3b3afb285f5ddb.

commit 38385d28dff349dee0913572f976114292e98ac6
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-25 03:23:26 +0900

    Enhanced RDoc for String (#3574)

    Methods:

        =~
        match

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 6fe2a9fcda84fbc33a4cc913786db75a3d7f4102
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-25 00:55:43 +0900

    Enhanced RDoc for String (#3569)

    Makes some methods doc compliant with https://github.com/ruby/ruby/blob/master/doc/method_documentation.rdoc. Also, other minor revisions to make more consistent.
    Methods:

        ==
        ===
        eql?
        <=>
        casecmp
        casecmp?
        index
        rindex

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit b30af31c37b91c8a918b340b24bfcd33e51d0167
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-25 00:26:03 +0900

    * 2020-09-25 [ci skip]

commit 7ad3aff48dc8309542704b2212b3c3d1df8155d0
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-24 17:41:10 +0900

    Ractor#close_outgoping cancel Ractor.yield

    Ractor#close_outgoing should cancel waiting Ractor.yield. However,
    yield a value by the Ractor's block should not cancel (to recognize
    terminating Ractor, introduce rb_ractor_t::yield_atexit flag).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3572

commit 757e185cee44c627f9e573c926fd73843f81006b
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-24 22:18:13 +0900

    Revert "[ruby/webrick] Allow empty POST and PUT requests without content length"

      This reverts commit ed12019ce6abe87aac87ec77ac081d37b25180a2.

      https://github.com/ruby/ruby/runs/1160423667?check_suite_focus=true#step:14:752

commit 588ac990ff170e2fb62e7ba0ed52a8088189cdbd
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-24 21:41:11 +0900

    [ruby/webrick] Manually pick commit from upstream repo

      Fix test when run with US-ASCII encoding

      https://github.com/ruby/webrick/commit/f402aafb36bbd43be54621405da550643a1a1a4c

commit f64bea6d66335daf799c2223b7f4bc0d099424cb
  Author: John W Higgins <wishdev@gmail.com>
  Date:   2020-05-31 06:57:55 +0900

    [ruby/webrick] Allow shutdown_pipe to be passed in via @config

    https://github.com/ruby/webrick/commit/30152b4bf9

commit c12c7fea70e80474d290a76ebbcc6badec705c6e
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-16 05:51:04 +0900

    [ruby/webrick] Only run test_big_bodies test on Ruby 2.5+

    It was added after Ruby 2.5, and it looks like it never ran correctly
    on Ruby <2.5.

    https://github.com/ruby/webrick/commit/65fb03cb6a

commit ed12019ce6abe87aac87ec77ac081d37b25180a2
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-16 00:38:44 +0900

    [ruby/webrick] Allow empty POST and PUT requests without content length

    RFC 7230 section 3.3.3 allows for this.

    Fixes #30

    https://github.com/ruby/webrick/commit/069e9b1908

commit 0fe6461148af5f27c2a89a6bb25b6709b9eaca49
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-26 23:46:13 +0900

    [ruby/webrick] Allow EPROTOTYPE error when writing junk to a socket

    MacOS seems to raise this error in some cases.

    https://github.com/ruby/webrick/commit/0f0c9f1e61

commit b8fdd38b2e01abcfd4cc8d007a3b3afb285f5ddb
  Author: John W Higgins <wishdev@gmail.com>
  Date:   2020-07-22 02:50:16 +0900

    [ruby/webrick] Fix shutdown_pipe test issue

    https://github.com/ruby/webrick/commit/9676704c60

commit 4715a24dd277515077af441c1d31aeb2431917f5
  Author: John W Higgins <wishdev@gmail.com>
  Date:   2020-07-26 16:25:37 +0900

    [ruby/webrick] Ensure server port numbers are numeric and ensure they are stored as integers

    https://github.com/ruby/webrick/commit/86ed621e11

commit c06eab13290757fc326bb2a6e3ac25cd53e00894
  Author: John W Higgins <wishdev@gmail.com>
  Date:   2020-07-21 14:55:47 +0900

    [ruby/webrick] Add test for shutdown_pipe

    https://github.com/ruby/webrick/commit/1daacc1849

commit d969cf6059199dd86c0eeb63f87cf095f7ec4234
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-16 01:04:52 +0900

    [ruby/webrick] Do not use ensure in a block without begin

    This syntax is not supported until Ruby 2.5, and Webrick still
    targets Ruby 2.3+.

    https://github.com/ruby/webrick/commit/fbe85b885f

commit 96da24f279e10945be8e87fd63c54b63c331d119
  Author: John W Higgins <wishdev@gmail.com>
  Date:   2020-07-16 00:20:31 +0900

    [ruby/webrick] Make readpartial limit chunk to appropriate size


    https://github.com/ruby/webrick/commit/e693f501bd

commit 46ba416a1fa0973b56146077a654d68779c2497b
  Author: Charles Oliver Nutter <headius@headius.com>
  Date:   2020-06-01 14:48:41 +0900

    [ruby/webrick] Skip env-locale-sensitive CGI test on the "java" platform

    JRuby's environment variables are provided by the Java Development
    Kit's (JDK's) classes, which present them as a map from string to
    string. In order to do this, those environment variable names and
    values must be decoded into characters, which breaks any variables
    that are intended to be "raw" bytes not necessarily decodable with
    the default system encoding.

    This issue is detailed in jruby/jruby#6248. The only solution on
    the JRuby side will be to bypass the JDK environment variable API
    and go directly to the native getenv/setenv system calls. This is
    not likely to happen in the near future, due to the complexity of
    such a change and the rarity of undecodable environment values.

    The exclude here was added due to the Windows platform also having
    a similar sensitivity to character encodings when working with
    environment variables. It seems appropriate to expand this skip
    to the "java" platform, as the root issue is largely the same.

    https://github.com/ruby/webrick/commit/dc453e5c3c

commit 0c611d7f4fce67c64bee4815f263c55ef15561c4
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-09-24 19:39:51 +0900

    test/net/http/test_https.rb: The test logic was buggy

    The expected certs must be `[CA_CERT, SERVER_CERT]` before 1.1.1g and
    `[SERVER_CERT]` after 1.1.1h.

commit 1917afa34bca55ba1ea578234132b7e4479ea3c9
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-09-24 19:34:16 +0900

    test/net/http/test_https.rb: the order of verify_callback seems to vary

    ... depending upon the environment.

commit 4405423c871698c36e4e4f24d89f17033b18b19c
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-09-24 19:30:22 +0900

    test/ostruct/test_ostruct.rb: Prevent "method redefined; discarding old foo"

commit 416bb11a5e9c4062295392765191cdedcecc522a
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-09-24 19:29:54 +0900

    test/fiber/scheduler.rb: Prevent "instance variable @urgent not initialized"

commit 07786edd66f59a529d6febb2e0fe901782991755
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-09-24 19:20:17 +0900

    test/net/http/test_https.rb: Stop the error due to openssl 1.1.1h

    On some environments that uses OpenSSL 1.1.1h, the two tests now fail.

    http://rubyci.s3.amazonaws.com/android29-x86_64/ruby-master/log/20200924T062352Z.fail.html.gz
    https://github.com/ruby/ruby/runs/1159288773?check_suite_focus=true

    ```
      1) Failure:
    TestNetHTTPS#test_get [/data/data/com.termux/files/home/cb/tmp/build/20200924T062352Z/ruby/test/net/http/test_https.rb:47]:
    <"0\x82\x03\xED0\x82\x02\xD5\xA0\x03..."> expected but was
    <"0\x82\x03\xE30\x82\x02\xCB\xA0\x03...">.
    ```

    Not sure why, but verify_callback now seems to receive only SERVER_CERT
    but not CA_CERT.
    It would be good to investigate the issue furthermore, but tentatively,
    I want to stop the failures.

commit 29ed16ff4ad5a0d3057d2f24c44ff488584df251
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-24 17:07:27 +0900

    add GC_GUARD

    We observed mark miss on this point so we add RB_GC_GUARD() to
    avoid wrong free.

commit 4a588e70b88028b3121babc43a26de0d13bdbb03
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-24 17:06:33 +0900

    sync rb_gc_register_mark_object()

    rb_vm_t::mark_object_ary is global resource so we need to
    synchronize to access it.

commit e06f4a3b1fbf703bc6ccb113bfe6bdc75ec9be38
  Author: Michael Lindley <lindleymichael@gmail.com>
  Date:   2020-09-01 06:09:04 +0900

    Remove test for putiseq insn

    putiseq was removed from instruction set in 2b5bb8a0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3491

commit fae135c5b39db173bf97dfa3c3a34eb8fb230276
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-24 07:52:54 +0900

    Document difference between Thread::Backtrace::Location#{,absolute_}path

    They are usually the same, except for locations in the main script.

commit 502c3ff02af189f3678187657c9a56a37e6a5a2a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-24 03:52:57 +0900

    * 2020-09-24 [ci skip]

commit 637d1cc0c051132e8562b77d8faeb6c099011dfa
  Author: eileencodes <eileencodes@gmail.com>
  Date:   2020-08-12 02:22:43 +0900

    Improve the performance of super

    This PR improves the performance of `super` calls. While working on some
    Rails optimizations jhawthorn discovered that `super` calls were slower
    than expected.

    The changes here do the following:

    1) Adds a check for whether the call frame is not equal to the method
    entry iseq. This avoids the `rb_obj_is_kind_of` check on the next line
    which is quite slow. If the current call frame is equal to the method
    entry we know we can't have an instance eval, etc.
    2) Changes `FL_TEST` to `FL_TEST_RAW`. This is safe because we've
    already done the check for `T_ICLASS` above.
    3) Adds a benchmark for `T_ICLASS` super calls.
    4) Note: makes a chage for `method_entry_cref` to use `const`.

    On master the benchmarks showed that `super` is 1.76x slower. Our
    changes improved the performance so that it is now only 1.36x slower.

    Benchmark IPS:

    ```
    Warming up --------------------------------------
                   super   244.918k i/100ms
             method call   383.007k i/100ms
    Calculating -------------------------------------
                   super      2.280M (± 6.7%) i/s -     11.511M in   5.071758s
             method call      3.834M (± 4.9%) i/s -     19.150M in   5.008444s

    Comparison:
             method call:  3833648.3 i/s
                   super:  2279837.9 i/s - 1.68x  (± 0.00) slower
    ```

    With changes:

    ```
    Warming up --------------------------------------
                   super   308.777k i/100ms
             method call   375.051k i/100ms
    Calculating -------------------------------------
                   super      2.951M (± 5.4%) i/s -     14.821M in   5.039592s
             method call      3.551M (± 4.9%) i/s -     18.002M in   5.081695s

    Comparison:
             method call:  3551372.7 i/s
                   super:  2950557.9 i/s - 1.20x  (± 0.00) slower
    ```

    Ruby VM benchmarks also showed an improvement:

    Existing `vm_super` benchmark`.

    ```
    $ make benchmark ITEM=vm_super

    |          |compare-ruby|built-ruby|
    |:---------|-----------:|---------:|
    |vm_super  |     21.555M|   37.819M|
    |          |           -|     1.75x|
    ```

    New `vm_iclass_super` benchmark:

    ```
    $ make benchmark ITEM=vm_iclass_super

    |                 |compare-ruby|built-ruby|
    |:----------------|-----------:|---------:|
    |vm_iclass_super  |      1.669M|    3.683M|
    |                 |           -|     2.21x|
    ```

    This is the benchmark script used for the benchmark-ips benchmarks:

    ```ruby
    require "benchmark/ips"

    class Foo
      def zuper; end
      def top; end

      last_method = "top"

      ("A".."M").each do |module_name|
        eval <<-EOM
        module #{module_name}
          def zuper; super; end
          def #{module_name.downcase}
            #{last_method}
          end
        end
        prepend #{module_name}
        EOM
        last_method = module_name.downcase
      end
    end

    foo = Foo.new

    Benchmark.ips do |x|
      x.report "super" do
        foo.zuper
      end

      x.report "method call" do
        foo.m
      end

      x.compare!
    end
    ```

    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
    Co-authored-by: John Hawthorn <john@hawthorn.email>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3545

commit b717f73402dc6f2d6ba6a1d72d9c8543a4f2cd27
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-23 21:59:35 +0900

    Revert "Manually merged from https://github.com/rubygems/rubygems/pull/2636"

      31a6eaabc165d8a222e176f2c809d90622d88ec2 is obsoleted with
      https://github.com/rubygems/rubygems/pull/3820

commit a46841612c846f00f31ff63d886620d66cdea5b3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-23 21:06:29 +0900

    bump Bundler's version to 2.2.0.rc.1

commit 31a6eaabc165d8a222e176f2c809d90622d88ec2
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-23 21:02:56 +0900

    Manually merged from https://github.com/rubygems/rubygems/pull/2636

      Enable Style/EmptyLinesAroundClassBody rubocop cop.

commit f56fc720ee8cd4b79824a1c3843058b662a302bd
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-23 20:28:38 +0900

    bundle-package.* was removed at upstream repo

commit b57c54679bcb08f387115ba80e75fc3317d06cbf
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-23 15:46:10 +0900

    strip trailing spaces [ci skip]

commit 5cc728816d897dd0721f6b83e1085c0997fccd27
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-23 17:38:52 +0900

    Update the version number of rubygems and bundler at NEWS.md

commit 9a8f5f0a9a1ed24a3dbb2f92cd267b77faf2da88
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-23 11:44:06 +0900

    Fix call-seq [ci skip]

    `encoding` can be not only an encoding name, but also an Encoding object.

    ```
    s = String.new('foo', encoding: Encoding::US_ASCII)
    s.encoding # => #<Encoding:US-ASCII>
    ```

commit ba889100d850e973e519cebc48d5b4f1e8ab0034
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-23 10:59:49 +0900

    Bundle rbs gem as bundled gems (#3496)

    * Added rbs as bundled gems
    * Added the missing dependencies for rbs gem

  Notes:
    Merged-By: soutaro <matsumoto@soutaro.com>

commit e380f78851b27511f165bcd841626f2cb9fa87be
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-12 08:55:14 +0900

    Removed rb_find_file_ext_safe and rb_find_file_safe

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3537

commit ed27c2514c2f4140546dce2e8f5f64cb91712c47
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-23 06:04:01 +0900

    Update UnixSocket#recv_io tests to handle receiving a UnixSocket

    Receiving UnixSocket works fine if you don't provide a mode, and
    I think it is reasonable to expect that you should not provide
    a mode if klass.for_fd would not accept a mode.

    Fixes [Bug #11778]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3566

commit b904b72960880833bc1592c7d6918f687d9f8631
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-23 06:32:17 +0900

    Enhanced RDoc for String (#3565)

    Makes some methods doc compliant with https://github.com/ruby/ruby/blob/master/doc/method_documentation.rdoc. Also, other minor revisions to make more consistent.
    Methods:

        try_convert
        +string
        -string
        concat
        <<
        prepend
        hash

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 3d474e19fdd51b2731c2a77386877cceb8d4e241
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-17 09:02:23 +0900

    Rudimentary support for disassembling rb_iseq_t

    I need to disassemble instruction sequences while debugging, so I wrote
    this.

    Usage is like this:

    ```
    (lldb) p iseq
    (rb_iseq_t *) $147 = 0x0000000101068400
    (lldb) rbdisasm iseq
    0000 putspecialobject( 3 )
    0002 putnil
    0003 defineclass( ID: 0x560b, (rb_iseq_t *)0x1010681d0, 2 )
    0007 pop
    0008 putspecialobject( 3 )
    0010 putnil
    0011 defineclass( ID: 0x56eb, (rb_iseq_t *)0x101063b58, 2 )
    0015 leave
    ```

    Also thanks a ton to @kivikakk helping me figure out how to navigate LLDB's Python 😆

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3554

commit 179384a66862d5ef7413b6f4850b97d0becf4ec9
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-23 01:40:45 +0900

    Revert "Prevent SystemStackError when calling super in module with activated refinement"

    This reverts commit eeef16e190cdabc2ba474622720f8e3df7bac43b.

    This also reverts the spec change.

    Preventing the SystemStackError would be nice, but there is valid
    code that the fix breaks, and it is probably more common than cases
    that cause the SystemStackError.

    Fixes [Bug #17182]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3564

commit f3dddd77a925f576acb6abab9b37e8839f028412
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-23 01:19:42 +0900

    Add a comment about why we're checking the finalizer table

commit 3c808898021009f971b94dae433d74e205175cca
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-23 01:01:25 +0900

    * 2020-09-23 [ci skip]

commit 8b41e9b6e77b74ba7b90774dc1ff1959b95ca61a
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-23 00:57:48 +0900

    Revert "Pin values in the finalizer table"

    If an object has a finalizer flag set on it, prevent it from moving.

    This partially reverts commit 1a9dd31910699c7cd69f2a84c94af20eacd5875c.

commit df14c758fc705c49c2aaf4c9276a8f7229438fbf
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-22 07:02:20 +0900

    Make hash returned by Hash#transform_values not have a default

    This sets an explicit default of nil.  There is probably a better
    approach of removing the default.

    Fixes [Bug #17181]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3563

commit 7ee166ed4e8da7677d7b7f4706907eac89af4da6
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-22 01:28:15 +0900

    * 2020-09-22 [ci skip]

commit c6c5d4b3fac00e21122c554a6cd1ccf7be84376d
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-22 01:27:54 +0900

    Comply with guide for method doc: string.c (#3528)

    Methods:

        ::new
        #length
        #bytesize
        #empty?
        #+
        #*
        #%

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 82998918efa3a637c80e135198b573cfcb31acd9
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-21 23:22:04 +0900

    Make Thread#join always convert its argument, as before 70f08f1eed

commit 2b73e6ba712d35e6ec767bf722edf542cc2e47c6
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-21 23:04:20 +0900

    Simplify the implementation of Scheduler#block

    * This shows block() with a timeout is similar to #kernel_sleep and also
      does not need to change `@blocking`.

commit 0fa1c82bfc3c679c49df2e586183db1efbd8f62c
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-21 22:58:08 +0900

    Make it clear the first field of join_arg is the waiting thread

    * And not some list of sort.

commit c19bcf38ebe4f483bdb2d76f2115eb70f056f8c6
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-21 22:54:39 +0900

    Fix Thread leak in Thread#join specs

commit 10d795cfca7ec688e0dead63568277ea37e4977b
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-09-21 13:26:39 +0900

    Add NEWS about `Fiber#backtrace` and `Fiber#backtrace_locations`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3562

commit f7aa51b2b8fe576f33d15cbcbb28723116fb0885
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-09-21 10:36:34 +0900

    Update NEWS & documentation relating to scheduler.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3561

commit 70f08f1eed1df4579fef047d28fc3c807183fcfa
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-09-21 06:54:08 +0900

    Make `Thread#join` non-blocking.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3558

commit 596173155a15b6d4a7b04bdaf9218b3e756a0683
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-21 06:51:54 +0900

    * 2020-09-21 [ci skip]

commit 501fff14c7657f769d68f90de98fd2ebccb807fb
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-09-20 08:34:02 +0900

    When setting current thread scheduler to nil, invoke `#close`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3557

commit b6d599d76ec85422bea16b63f105985cf08e04bd
  Author: Peter Zhu <peter@peterzhu.ca>
  Date:   2020-08-27 01:16:17 +0900

    Update heap_pages_himem after freeing pages

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3461

commit be2efb118f73e73d35ba1473fd08a1550ff07fde
  Author: Quang-Minh Nguyen <nguyenquangminh0711@gmail.com>
  Date:   2020-09-20 15:17:18 +0900

    Fulfill missing tests and stabilize tests

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3555

commit 398da71175ef9154be505155c0b1c0b2efb20445
  Author: Quang-Minh Nguyen <nguyenquangminh0711@gmail.com>
  Date:   2020-09-18 15:02:14 +0900

    Validate name during initialization

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3555

commit d5fa66156ab116df558448402b93c9c129b30291
  Author: Quang-Minh Nguyen <nguyenquangminh0711@gmail.com>
  Date:   2020-09-18 14:15:32 +0900

    Add status to Ractor#inspect

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3555

commit 84c4c7bec8f17081bc59e5447e2101ffc884fb2f
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-20 20:39:25 +0900

    * 2020-09-20 [ci skip]

commit 6987c8997e6cd8f45bbd7ece6582c0024be0cc0f
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-20 20:29:24 +0900

    Remove from waiter in Mutex#lock with ensure when calling rb_scheduler_block()

    * Previously this could lead to an invalid waiter entry and then trying
      to wake up that waiter would result in various issues in rb_mutex_unlock_th().

commit 73a626c0789161911aa5753859c4a81ed2dfd999
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-19 17:26:52 +0900

    [ruby/io-wait] update required_ruby_version

    As d387029f39d976565c955377117103499d47ff09 made io/wait
    unbuildable with older versions, drop older versions tentatively.
    Also the change seems to instroduce behavioral incompatibilities,
    may address them or bump up the version later.

commit 702cebf104298b92c67ffd22795d0a4c794dd2f1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-19 17:40:31 +0900

    strip trailing spaces [ci skip]

commit 6cb6d5abc36ede9d5158c2cd90734134838e6bfb
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-19 09:04:59 +0900

    Add assertions when inline caches are copied to MJIT

    This is a temporary commit to try to find a GC issue.  It seems like
    mjit is pointing at a moved address in the call cache.  I want to assert
    that they aren't TMOVED or garbage objects at the time they get copied

commit e193dd1e3db681504dd83f878d5999342a53116d
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-19 05:06:03 +0900

    [ruby/irb] Version 1.2.7

    https://github.com/ruby/irb/commit/0eaa06838b

commit 555ea8334451c5ccd881e68b8b7ddc15745e66e3
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-19 04:25:59 +0900

    [ruby/irb] Drop OMIT_ON_ASSIGNMENT and add :truncate option for ECHO_ON_ASSIGNMENT

    https://github.com/ruby/irb/commit/4c89b0775b

commit 7d9b4d3c61b090398b01ca66952eabc3aa22ca38
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-19 04:32:21 +0900

    * 2020-09-19 [ci skip]

commit 1a9dd31910699c7cd69f2a84c94af20eacd5875c
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-19 02:50:27 +0900

    Pin values in the finalizer table

    When finalizers run (in `rb_objspace_call_finalizer`) the table is
    copied to a linked list that is not managed by the GC.  If compaction
    runs, the references in the linked list can go bad.

    Finalizer table shouldn't be used frequently, so lets pin references in
    the table so that the linked list in `rb_objspace_call_finalizer` is
    safe.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3556

commit 6dd257ed1e54f36deb3e33db12ce9131fdea3b90
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-18 18:47:52 +0900

    Added sync task for bigdecimal

commit 3d86f7a37c595375c125efabb812c02c35d9af7d
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-18 18:44:46 +0900

    The executable file of erb is under the libexec on ruby/erb repo

commit af1926e85915a11d606e8c3cf897fe28d6d2f1c5
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-18 18:11:47 +0900

    Fix copy/paste error from 5bb5e706f1d310a467075630145d2cc277045765

commit 5bb5e706f1d310a467075630145d2cc277045765
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-18 17:39:27 +0900

    Only interrupt when there is no scheduler in sync_wakeup()

    * When there is a scheduler, the Fiber that would be blocked has already
      been rescheduled and there is no point to interrupt something else.
      That blocked Fiber will be rescheduled as the next call to the scheduler
      (e.g., IO, sleep, other blocking sync).
    * See discussion on https://github.com/ruby/ruby/commit/d01954632d

commit 305c4306032c4713f99e668d460bc1bbd53f39bf
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-01 23:40:10 +0900

    [ruby/rdoc] Add man/ri.1 for distribution files

    https://github.com/ruby/rdoc/commit/7cb5c3611f

commit 0d56aec1ddc48f0a769c4dfc8fde62a7c00ac052
  Author: Dorian Marié <dorian.marie.france@gmail.com>
  Date:   2020-07-08 08:07:56 +0900

    [ruby/rdoc] Fix spelling error in parser comment

    https://github.com/ruby/rdoc/commit/f237c9e223

commit e23f0f29daa45f69ef78b174340c747ac09bfb60
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-09-28 14:45:44 +0900

    [ruby/rdoc] update all files if any file is newer

    Cross references need parse all files which define the subject
    names.  This commit makes `--force-update` option enforce to parse
    all files if any file is newer than the previous parse, not only
    updated files.

    https://github.com/ruby/rdoc/commit/13e9a44896

commit b5db9b8a314249adee021ba6a426c6a2ebbc6804
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-04 15:46:39 +0900

    [ruby/rdoc] Support full filename to make a link for a text file

    https://github.com/ruby/rdoc/commit/41db49c485

commit 3b159374a2daa101b419ebf6f4a7fe01bbe9dc55
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-16 09:15:10 +0900

    sync ruby_global_symbols

    ruby_global_symbols can be accessed with multiple ractors so that
    the accesses should be synchronized.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3548

commit 06e9b94d40a3c9f086fbdfe932b6614e18d10846
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-16 09:11:16 +0900

    show object info to debug purpose.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3548

commit b416a7640278fbcb82d0ac37c0b71cf6e0dc4a36
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-16 09:06:08 +0900

    add debug log on enabling multi-ractor mode

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3548

commit b189dc6926fffe1cdb04422c5116ad3ca1425cb7
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-16 09:05:25 +0900

    rb_obj_info() shows more info for T_SYMBOL

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3548

commit dd5db6f5fed359efc85cff25d326b5fc3de66614
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-16 09:04:13 +0900

    sync fstring_table for deletion

    Ractors can access this table simultaneously so we need to sync
    accesses.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3548

commit 609e6ac0ca311fd38dbef09796dfc0102ccd4b83
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-18 00:30:47 +0900

    * 2020-09-18 [ci skip]

commit d9b943b8e57af5d2f2734998dc67c56cbf3b77b7
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-18 00:29:43 +0900

    Cleanup commented code

    * Mutex operations no longer disable the Fiber scheduler.

commit d01954632d7cd6574d51c8cc95b832ad5f9de62d
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-18 00:26:52 +0900

    Add missing goto found;

    * To still remove the lock from the Thread's list of acquired locks.
    * Also to not wake up other waiters and preserve blocking behavior.

commit 264889ec3d3d38fc1fd23c4fb48402f1367a8deb
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-17 22:15:43 +0900

    Fix Mutex#unlock with a scheduler and thread contention

    * It would hit "[BUG] unexpected THREAD_STOPPED" before.

commit deffb630210e35da146c3cee5972fb405b0f00b5
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-17 21:52:04 +0900

    Document the various scheduler hooks

commit 9472d160619861201bad91560c06248fef8362dc
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-17 21:45:44 +0900

    Call scheduler.block instead of scheduler.kernel_sleep for blocking Queue/SizedQueue operations

    * scheduler.unblock was already already called before but with no corresponding scheduler.block
    * add test that Queue#pop makes the scheduler wait until it gets an element.

commit 738a089b3ac55e5bfb26f9121ee73ffcb8c4a36b
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-17 21:30:40 +0900

    Rename scheduler.{mutex_lock,mutex_unlock} to {block,unblock}

    * Move #kernel_sleep next to #block as it is similar

commit c3acfcc78da84002b7dd5000bad21663f0773e2a
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-17 19:55:17 +0900

    Use a similar pattern for waiting and ready

commit e4dbb91f4cb202b09a2382f322cd66cdc22df348
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-17 20:34:59 +0900

    Fix typos [ci skip]

    s/overriden/overridden/

commit 63a4f2f93f25b5ad227183c0a46e342572ee08b8
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-17 20:30:59 +0900

    Sort links in NEWS.md by URI [ci skip]

commit 3f6c0a6d74209b03d0ec54b98b5e1ece40d649f0
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-17 18:42:26 +0900

    Update to ruby/spec@e829fb0

commit ce888bfa231bec52dfd3c1e9562f6ce799d8a389
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-17 18:17:07 +0900

    Add NEWS entry for [Feature #16792]

commit 2e6c4840402080e18023fae76b107fb6285e1db5
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-17 05:52:45 +0900

    * 2020-09-17 [ci skip]

commit 8e173d8b2709f47cc0709f699640dafe850c9a8f
  Author: Chris Seaton <chris.seaton@shopify.com>
  Date:   2020-09-17 03:59:36 +0900

    Warn on a finalizer that captures the object to be finalized

    Also improve specs and documentation for finalizers and more clearly
    recommend a safe code pattern to use them.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3444

commit f75009c1222621836b2340bbb5f4d4274972ccb4
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-09-16 12:21:16 +0900

    Prefer to use `prep_io` for temporary IO instances.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3550

commit 68b5f14d536c1a81c63412a9f3701380c9bc116c
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-09-16 19:27:16 +0900

    Fix assertion failed in Complex.polar without NDEBUG (#3551)

    Fixes [Bug #17172].

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 10290da54d04345587f63cb96ad833043e7f7f1c
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-16 18:36:39 +0900

    Add a note at the top of the test scheduler

commit 9e813c1fc49ac5d1eba6ce38b8a1b44a80bafb91
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-16 18:17:23 +0900

    RUBY_ISEQ_DUMP_DEBUG=to_binary never kept the debug information for String literals

    * That is, for plain string literals, not interpolated.
    * The test below is very similar and uses the same check.

commit 9d8eeccf0659fa648527a6c2ecf06e5a6c0f8c64
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-16 17:39:27 +0900

    Revert "skip on RUBY_ISEQ_DUMP_DEBUG=to_binary"

    This reverts commit 889bbbaf527372c5cc229b56dca9a2322e325f26.

commit 889bbbaf527372c5cc229b56dca9a2322e325f26
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-16 15:44:26 +0900

    skip on RUBY_ISEQ_DUMP_DEBUG=to_binary

    9b535f3ff7 does not support ISeq#to_binary.
    To make CI green, skip this test temporarily.

    Please fix this issue and revert this patch.

commit 344304c89f956bdf269b5424ae091f6928b678bb
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-16 07:45:01 +0900

    Use build_message on test_securerandom.rb (#3543)

    * Revert "Revert "[ruby/securerandom] Use build_message instead of message for test-unit""
    * [ruby/securerandom] Fixed the wrong usage of build_message

  Notes:
    Merged-By: hsbt <hsbt@ruby-lang.org>

commit 1af0319fc88688bc5dd5e49eecdb8b534ead9991
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-16 04:54:31 +0900

    2.8 -> 3.0 in specs

commit 9b535f3ff7c2f48e34dd44564df7adc723b81276
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-01 04:24:36 +0900

    Interpolated strings are no longer frozen with frozen-string-literal: true

    * Remove freezestring instruction since this was the only usage for it.
    * [Feature #17104]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3488

commit fbba6bd4e3dff7a61965208fecae908f10c4edbe
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-09-10 20:17:53 +0900

    Parse ObjectSpace.dump_all / dump arguments in Ruby to avoid allocation noise

    [Feature #17045] ObjectSpace.dump_all should allocate as little as possible in the GC heap

    Up until this commit ObjectSpace.dump_all allocates two Hash because of `rb_scan_args`.

    It also can allocate a `File` because of `rb_io_get_write_io`.

    These allocations are problematic because `dump_all` dumps the Ruby
    heap, so it should try modify as little as possible what it is
    observing.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3530

commit a0d50465dee5fe1bf1dc916f35cb681b0825aced
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-16 01:09:49 +0900

    * 2020-09-16 [ci skip]

commit 86087a1527ffa52c7b2a3ce6b49ce57ea1b83588
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-15 09:45:13 +0900

    pointers on the stack need to be pinned

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3544

commit ee10efdcf028c0455c192acdd8298c42f0be3d87
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-15 21:44:59 +0900

    Revert "[ruby/securerandom] Use build_message instead of message for test-unit"

    This reverts commit 7f9f5f5723cd723dee578b0681066c8393ee45d0.

commit abbd3241522495e8d8634c0c01a42453f76ce6b8
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-18 22:55:06 +0900

    [ruby/uri] Remove deprecated URI.escape/URI.unescape

    https://github.com/ruby/uri/commit/61c6a47ebf

commit 7f9f5f5723cd723dee578b0681066c8393ee45d0
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-28 21:11:12 +0900

    [ruby/securerandom] Use build_message instead of message for test-unit

    https://github.com/ruby/securerandom/commit/826b877e83

commit 3dd9e12b515dea2c8a14b33c762807bb54625aef
  Author: Ashwin Maroli <ashmaroli@users.noreply.github.com>
  Date:   2020-09-11 02:58:35 +0900

    [ruby/fileutils] Reduce iteration through list for `:mkdir_p`

    By calling the instruction to `list.map` within `list.each` itself.
    https://github.com/ruby/fileutils/commit/e690eec937

commit 026ba68c1056fb6729868456fba3382f8b9a0fcf
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-09-15 15:50:42 +0900

    Fix handling of FMODE_PREP.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3542

commit a9b2a96c5cfa5ab36c89ffae82e28eb733e36542
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-09-15 11:19:54 +0900

    Fix incorrect initialization of `rb_io_t::self`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3542

commit b2b855f486dd0b1b11baaea4943116a9d2d7e867
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-15 14:03:41 +0900

    Fix `warning: instance variable bt_locations not initialized`

commit f3754dfc2eb315046de48bf22b4d5c7a923485ba
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-15 14:03:22 +0900

    Fix missing `"` [ci skip]

commit 29b1ac613bf9345e2c276cba2f2fd9af714da15c
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-14 22:50:03 +0900

    Add IRB and Reline update for NEWS of 3.0.0-preview1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3540

commit 60f5d384820a4b07f739d32c2233b1dbc74a726a
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-15 04:15:28 +0900

    [ruby/ostruct] Fix dup/clone

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3541

commit 125605abd949b23a8a95e1cc95f7d435efc17290
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-15 03:06:49 +0900

    [ruby/ostruct] method_missing is private

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3541

commit 606c009ce24bd8e9e07ecb8f920a77c005062ff5
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-15 02:48:29 +0900

    [ruby/ostruct] Avoid self calling our public methods.

    Found because `json` has a bad example in its test suite.
    This implementation still offers better encapsulation.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3541

commit 67e5f7a9e508d6f33c1dd927753161e8b1d40a09
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-15 03:03:56 +0900

    [ruby/ostruct] Reinstate recent changes

    This reverts commit 28e60b0045b5732bca11012d81a5223001faa6b2.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3541

commit 39312cf4d6c2ab3f07d688ad1a467c8f84b58db0
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2019-04-04 04:22:18 +0900

    Optimize Pathname#relative? / absolute?

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2107

commit 28e60b0045b5732bca11012d81a5223001faa6b2
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-15 02:29:31 +0900

    [ruby/ostruct] Revert recent changes

    This reverts commit e026e186f4..12a2e32d43.

commit 867f0c6793da63a8f80eb3d868fe10e859abe3d8
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2018-10-06 05:41:57 +0900

    [ruby/rdoc] Prefer require_relative

commit 12a2e32d43256e37d36903c5fa5fabe556337d84
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-09 06:13:29 +0900

    [ruby/ostruct] Add access to public instance methods in case they are overridden

commit 12a13eef49dd2d839f502a7d848b7d600e8b645a
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-09 06:13:03 +0900

    [ruby/ostruct] Tweak doc

commit 8eefa8f3736cd5dbf7256f571b368198102f11cc
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-09 05:30:02 +0900

    [ruby/ostruct] Allow overriding public methods

    [Fixes https://bugs.ruby-lang.org/issues/15409]

commit ebb8de730269a8c18a553e3dea7a7603b13d2328
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-09 05:13:15 +0900

    [ruby/ostruct] Refactor handling of frozen OpenStruct. Simplify `new_ostruct_member!`

commit 5e7ec0531987bfff65f65db9d491c272abb4add1
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-09 04:51:27 +0900

    [ruby/ostruct] Add really basic test that was missing

commit e026e186f4a01aa3f6cd02ae6ef33f44f129361c
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-09 04:08:50 +0900

    [ruby/ostruct] Revert "ostruct.rb: deferred accessors"

    This reverts commits:
    dc38e99813
    22c082fcfd
    b499e0f9ff
    58e5876646

    Add test for overridden private methods

    [Fixes https://bugs.ruby-lang.org/issues/12136]

commit 1cabb216c6d44ca948a65544dba73ad75bbc8ec4
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-15 00:05:28 +0900

    * 2020-09-15 [ci skip]

commit e81d7189a09155344b3135903300dce450232402
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-11 18:31:15 +0900

    sync fstring pool

    fstring pool should be sync with other Ractors.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3534

commit 74ddac1c822697b442646f433d60e2c099db3c3b
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-11 18:30:27 +0900

    relax dependency

    vm_sync.h does not need to include vm_core.h and ractor_pub.h.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3534

commit f7ccb8dd88c52b2294742c3abb87098ee4076799
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-14 10:30:22 +0900

    restart Ractor.select on intterupt

    signal can interrupt Ractor.select, but if there is no exception,
    Ractor.select should restart automatically.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3534

commit edb5c67195129e1d10f329edb55e486e1874b20e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-16 17:45:08 +0900

    [ruby/tmpdir] Warn when environment variables skipped (fixes #2)

    https://github.com/ruby/tmpdir/commit/af7b020a89

commit df1c035d0381e41a78ebc55b0450bab39b542cf2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-13 21:39:32 +0900

    [ruby/tmpdir] Test "not writable" case

    https://github.com/ruby/tmpdir/commit/84684d80f9

commit 04de778ef157c472dfa31239e8a6cfabceae4cb0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-13 21:26:06 +0900

    [ruby/tmpdir] Test "not a directory" cases

    https://github.com/ruby/tmpdir/commit/f335f2c23e

commit f7f849e30cbf462e521b0843a9bb2cbea1bd4d11
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-13 19:44:52 +0900

    [ruby/tmpdir] Test also TMP and TEMP environment variables

    https://github.com/ruby/tmpdir/commit/414c00ebe6

commit 50bce2065d5376b38a6eef86ab5c3df809db4787
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-13 19:21:01 +0900

    [ruby/tmpdir] Prefer better failure message

    https://github.com/ruby/tmpdir/commit/ac12877306

commit 9fbbbadc9634ec4cdfe378bba62bfb706f4bb03a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-16 17:38:58 +0900

    Added just working Test::Unit::CoreAssertions#diff

    This is not "diff", but show expected and actual results both,
    just to get rid of `NoMethodError` when an assertion failed.

commit d52dffd817d9285f7600138e2f69f46891fff845
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-11-27 10:31:47 +0900

    [ruby/zlib] Add Zlib::GzipReader.zcat for handling multiple gzip streams in gz file

    Most gzip tools support concatenated gz streams in a gz file. This
    offers a way to handle such gz files in Ruby.

    Fixes [Bug #9790]
    Fixes [Bug #11180]
    Fixes [Bug #14804]

    https://github.com/ruby/zlib/commit/e2ce56de7d

commit f1d32010e6e263ae94ee480a0d537727e91485ed
  Author: nicholas a. evans <nick@ekenosen.net>
  Date:   2019-02-28 04:25:51 +0900

    [ruby/net-smtp] Add SNI support to net/smtp

    https://github.com/ruby/net-smtp/commit/b706942392

commit 141404e898b7320682d4ac83e47fc53642d031bd
  Author: TOMITA Masahiro <tommy@tmtm.org>
  Date:   2020-07-19 21:25:25 +0900

    [ruby/net-smtp] Net::SMTP.start arguments are keyword arguments

    The helo argument is not important, but the helo argument must be
    specified to specify the user and secret arguments.
    If helo, user, secret, and authtype arguments are keyword arguments,
    it is not necessary to specify the helo argument.

    https://github.com/ruby/net-smtp/commit/269774deac

commit 888e04ae05eb864756a43624888468617e39dd76
  Author: TOMITA Masahiro <tommy@tmtm.org>
  Date:   2020-07-15 00:50:16 +0900

    [ruby/net-smtp] TLS should not check the host name by default.

    In tlsconnect(), the host name is checked when
    @ssl_context.verify_mode is not OpenSSL::SSL::VERIFY_NONE, but the
    verify_mode of @ssl_context generated by default is nil.

    https://github.com/ruby/net-smtp/commit/bde75a15b5

commit cdb85142f9a0f2735ddb7544b5460809347a147a
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-14 17:06:38 +0900

    [ruby/erb] Use libexec same as ruby core repository

    https://github.com/ruby/erb/commit/660255cf24

commit ccb944fcfe43aa9274b6d386d131a006e5a00b07
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-14 16:22:13 +0900

    add NEWS entries about Ractor and new method cache.

commit 78ef7eeb36f66ef8c47eccd37ca1526ee14a5758
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-14 14:07:37 +0900

    Manually picked https://github.com/ruby/open3/commit/724bdb8e1de939e71a6aa8a65ccf6980f53f4353

commit eace12c25bd32e7634735aeec0c6919bf67481b4
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-14 14:06:02 +0900

    Fixup 8f71bb0e4f76ab12e469d33bc560bd76cc3aaf90

commit 7fca27419846f76f978f3bbef2d2db3e1bf688e7
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-09-14 09:17:11 +0900

    Rework console to use `rb_io_wait`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3434

commit 8eea66a0ca8965ae8319b4c404f61c4d46866f64
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-09-14 08:10:02 +0900

    Add support for Queue & SizedQueue.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3434

commit 0f613cc5f1bbe319ab916be905de263523ef5402
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-09-11 17:47:25 +0900

    Add support for ConditionVariable.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3434

commit 1a0cfe28390ce5d46f7b854eaad2b9b979c160de
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-09-06 11:48:52 +0900

    Improve handling of urgent notification pipe.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3434

commit 3dc0fc11f0e21087c96781cce2360f5f6a26c7c6
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-09-05 12:32:13 +0900

    Update dependencies

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3434

commit 178c1b0922dc727897d81d7cfe9c97d5ffa97fd9
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-09-05 13:26:24 +0900

    Make Mutex per-Fiber instead of per-Thread

    * Enables Mutex to be used as synchronization between multiple Fibers
      of the same Thread.
    * With a Fiber scheduler we can yield to another Fiber on contended
      Mutex#lock instead of blocking the entire thread.
    * This also makes the behavior of Mutex consistent across CRuby, JRuby and TruffleRuby.
    * [Feature #16792]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3434

commit 9e0a48c7a31ecd39be0596d0517b9d521ae75282
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-09-05 11:30:21 +0900

    Prefer `rb_thread_current_scheduler`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3434

commit 701dcbb3ca9bf04b61cc07156608c61aaf9173f0
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-08-20 21:53:08 +0900

    Add support for hooking `IO#read`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3434

commit 132453fa521cf87693035769031f3501ddc02f4a
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-08-20 21:52:36 +0900

    Rename `Fiber{}` to `Fiber.schedule{}`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3434

commit d387029f39d976565c955377117103499d47ff09
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-08-20 10:51:45 +0900

    Standardised scheduler interface.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3434

commit 905e9c8093b2bb06def609975929465be0f41a0c
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-08-20 10:49:09 +0900

    Simplify bitmasks for IO events.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3434

commit 6747cb575414cf781c79c263f68d7b70778efa24
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-08-20 10:48:29 +0900

    Add RB_ prefix to `GetOpenFile` and `MakeOpenFile`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3434

commit 703e529751deb086a46a9c029ce38d4fff14e84c
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-08-20 10:47:55 +0900

    Add `rb_thread_current_scheduler()`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3434

commit a9ccebbda0fed90952575f940440ac3697ba141b
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-14 12:02:43 +0900

    Added promoted libraries to default gems section on NEWS

commit ba73e447514da8c9ccb49ebf83a5acfee29826e4
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-14 02:20:41 +0900

    * 2020-09-14 [ci skip]

commit b682e0fc2145d22625aa6c40c21e759032f0cb5b
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-14 01:33:42 +0900

    [ruby/irb] Version 1.2.6

    https://github.com/ruby/irb/commit/5a7dd8c3bf

commit 5bb9e12573d2d3cb5c097ad1fd8b516d20603e33
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-14 01:00:20 +0900

    [ruby/irb] Need calculate_width and split_by_width of Reline::Unicode of reline 0.1.5 or later

    https://github.com/ruby/irb/commit/c05bc9e595

commit 8f9b1902f48b413bd161666630c878ad58418c04
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-03 22:51:15 +0900

    [ruby/irb] Omit output if first line of multiline is too long

    https://github.com/ruby/irb/commit/0feeae38c5

commit e468d9f49ca34f713c030c623f655a40370e186d
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-29 20:48:25 +0900

    [ruby/irb] Add OMIT_ON_ASSIGNMENT

    Omit the results evaluated at assignment if they are too long.

    The behavior of ECHO_ON_ASSIGNMENT being on by default is hard to understand,
    so I change it to off by default. Instead, we turn OMIT_ON_ASSIGNMENT on by
    default. The result is displayed on assignment, but it will always be short
    and within one line of the screen.

    https://github.com/ruby/irb/commit/c5ea79d5ce

commit 5d841f563144a4864f0f60af2935e3eb82ee110a
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-14 00:50:57 +0900

    [ruby/irb] Version 1.2.5

    https://github.com/ruby/irb/commit/07beb3964d

commit 3a3e933033b86811a9eaaaa2dbddc4a5cb88e601
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-14 00:49:51 +0900

    [ruby/reline] Version 0.1.5

    https://github.com/ruby/reline/commit/c8a419beb5

commit d7b279e79f047365070e9f4294b51f8623cc5d9e
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-13 12:35:37 +0900

    * 2020-09-13 [ci skip]

commit 3bdf8efd81fc283fd2b347f5a238e7b57f886e90
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-13 12:35:06 +0900

    Fix typos [ci skip]

commit 0ac185be403e361da31901be4d58710000367330
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-09-12 16:27:14 +0900

    Fix compile-time check for copy_file_range(2)

    * close fds properly
    * define USE_COPY_FILE_RANGE if HAVE_COPY_FILE_RANGE is defined
    * avoid errors on cross-compiling environments

commit 012785ef352d6eee983e087adad71692b3aeb354
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-09-12 13:36:53 +0900

    Check copy_file_range(2) is actually supported.

    see also: https://gitlab.com/gitlab-org/gitlab/-/issues/218999#note_363225872

commit ae508633b7798dd600fd5c6d5095af5361b28c70
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-12 10:07:18 +0900

    Suppress "assigned but unused variable" warning

commit 777d5367496bd1e8dad500685c0786a2572fc9e8
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-12 04:51:08 +0900

    [ruby/reline] Support for word movement escape sequences in iTerm2

    https://github.com/ruby/reline/commit/187235f88c

commit f36dc2b6de54ec6b82766d2134a782d12628a2b9
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-12 01:51:26 +0900

    [ruby/reline] Treat prompt correctly when Reline.prompt_proc isn't set

    https://github.com/ruby/reline/commit/9c9ba0eff3

commit ce389ade45f412351d7c91db60eaa5e19fcd8c5f
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-11 05:48:59 +0900

    [ruby/reline] Move cursor to currect vertical pos after rendering a logical line

    https://github.com/ruby/reline/commit/9b932df544

commit 9baf1bd0a444d052aff8963630d11176e34271ef
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-09 17:44:44 +0900

    [ruby/reline] Stop using chomp option of lines method

    https://github.com/ruby/reline/commit/3e2f55c3e0

commit 0ec19cc8435fb3f04c503af374942a2ea74b0e46
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-09 19:46:30 +0900

    [ruby/reline] Stop erasing chars after the cursor at eol

    When the cursor is at the end of the line and erases characters after the
    cursor, some terminals delete the character at the cursor position.

    https://github.com/ruby/reline/commit/e96ec97b02

commit 2e34b35a0ff7c326d1260a7f4dd3e4a9febe3d12
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-09-05 21:13:47 +0900

    [ruby/reline] Skip the nil obtained from getc

    The nil means there is nothing in the buffer in some systems. Incidentally,
    Errno::EIO is raised if the I/O is closed.

    https://github.com/ruby/reline/commit/c698634e74

commit a840ef85690281a92b62e2d0dd84f7de69cfd4ae
  Author: Yoshinao Muramatu <ysno@ac.auone-net.jp>
  Date:   2020-08-30 14:42:41 +0900

    [ruby/reline] not clear scrollback buffer

    https://github.com/ruby/reline/commit/ba800f1461

commit 0862744010907ecda8c8122557e97de9238d51a1
  Author: Yoshinao Muramatu <ysno@ac.auone-net.jp>
  Date:   2020-08-10 11:01:05 +0900

    [ruby/reline] clear_screen use Windows API

    https://github.com/ruby/reline/commit/2c5ee54cb3

commit 770e66030a43967a7aae1050da364ed842f1f544
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-28 12:12:10 +0900

    [ruby/reline] Use str.encoding by default for split_by_width

    https://github.com/ruby/reline/commit/2d32604c9e

commit ae5d97ca53b9a68af5deef609a44487f55f5715e
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-12 08:31:07 +0900

    * 2020-09-12 [ci skip]

commit 6042b7433d02b2bb871e9cf0042a21b031814e9f
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-12 08:29:06 +0900

    Promote time.rb to default gems

commit 01e0d74965ccaa6382bae883adac5f556590023a
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-11 22:01:08 +0900

    Promote resolv-replace to default gems

commit e0675b1c7645416015cb882bc4ab11a0e46a4a0b
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-11 21:50:07 +0900

    Promote resolv to default gems

commit d1851ba5b9336d01b5207e7d9a483e698c049dd0
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-11 21:15:25 +0900

    Promote securerandom to default gems

commit 2f24818319154bcd6fbc422f2f5d46cdd1f9a5c2
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-11 20:38:18 +0900

    Promote open-uri to default gems

commit f0ddbd502c1d6912cec9a91997966ba659e347c1
  Author: Soutaro Matsumoto <matsumoto@soutaro.com>
  Date:   2020-09-11 14:34:10 +0900

    Let String#slice! return nil (#3533)

    Returns `nil` instead of an empty string when non-integer number is given (to make it 2.7 compatible).

  Notes:
    Merged-By: soutaro <matsumoto@soutaro.com>

commit 0d78390bfb9d87ac7ee192115216882e09c50a06
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-11 13:26:06 +0900

    rbinstall.rb: OpenStruct has not been needed for years

    Since 6f3e8df133c7785ff6bb6f18d1faec81fefb3999 in 2014.

commit 406559a268c0968be5497e6bc0513aa6fe7b0373
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-11 11:01:30 +0900

    Add missing break

    pointed out by Coverity Scan

commit d55c914f0fe951b6f742b1b7247011dd681350a1
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-10 21:07:41 +0900

    Removed DRb.default_safe_level and DRb#safe_level

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3531

commit e691e671ca91d125edb636669f628d51c04aa1b2
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-10 21:04:00 +0900

    Removed Thread#safe_level

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3531

commit 440ab313d0a6b0eb98195dc0b8aa618844d97287
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-11 00:49:18 +0900

    * 2020-09-11 [ci skip]

commit ef22af4db0e38db406cfc46987cbe03582de2da0
  Author: Matt Valentine-House <matt@eightbitraptor.com>
  Date:   2020-07-01 06:19:18 +0900

    If the GC runs before the Mutex's are initialised then we get a crash in pthread_mutex_lock.

    It is possible for GC to run during initialisation due to objects being allocated

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3510

commit 867204c4a558f318be9d39da47298d5ccc85ff17
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-10 20:42:53 +0900

    Promote syslog to default gems

commit cf76a4a5c28ee41221d961935e08404a0ceac6df
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-10 18:56:13 +0900

    Promote base64 to default gems

commit cf681038d621bbd8bb7808b7b153535397df0e68
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-10 15:42:23 +0900

    Promote shellwords to default gems

commit cee8e95761faeb482f303d1ea67c2dd91408f01f
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-10 13:54:28 +0900

    Promote abbrev to default gems

commit ea78960ee5cb78c6aaaaa7091b85066a011c51e9
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-10 16:51:24 +0900

    sync callable_method_entry()

    callable_method_entry() read/write method table structures so that
    this function should be synchronized between Ractors.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3529

commit 475c8701d74ebebefb2f53052cde1a5effb4cb81
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-05 09:32:31 +0900

    Make SecureRandom support Ractor

    SecureRandom lazily defines `get_random`.  Accessing the mutex to define
    the `get_random` method is not supported inside a Ractor.  This commit
    defines `gen_random` when `securerandom` is required and makes it
    suppore Ractor (as well as thread safe).

    Here is a test program:

    ```ruby
    require "securerandom"

    r = Ractor.new do
      loop do
        Ractor.yield SecureRandom.hex
      end
    end

    p r.take
    ```

    Before this commit:

    ```
    $ make runruby
    ./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems ./test.rb
    <internal:ractor>:38: warning: Ractor is experimental, and the behavior may change in future versions of Ruby! Also there are many implementation issues.
    /Users/aaron/git/ruby/lib/securerandom.rb:94:in `gen_random': can not access instance variables of classes/modules from non-main Ractors (RuntimeError)
    <internal:ractor>:124:in `take': thrown by remote Ractor. (Ractor::RemoteError)
            from ./test.rb:9:in `<main>'
    /Users/aaron/git/ruby/lib/securerandom.rb:94:in `gen_random': can not access instance variables of classes/modules from non-main Ractors (RuntimeError)
            from /Users/aaron/git/ruby/lib/securerandom.rb:155:in `random_bytes'
            from /Users/aaron/git/ruby/lib/securerandom.rb:176:in `hex'
            from ./test.rb:5:in `block (2 levels) in <main>'
            from ./test.rb:4:in `loop'
            from ./test.rb:4:in `block in <main>'
    make: *** [runruby] Error
    ```

    After this commit:

    ```
    $ make runruby
    ./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems ./test.rb
    <internal:ractor>:38: warning: Ractor is experimental, and the behavior may change in future versions of Ruby! Also there are many implementation issues.
    "3fc8885157e3911bab4b5d7619bb0308"
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3518

commit 5001cc47169614ea07d87651c95c2ee185e374e0
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-08-18 16:41:38 +0900

    Optimize ObjectSpace.dump_all

    The two main optimization are:
      - buffer writes for improved performance
      - avoid formatting functions when possible

    ```

    |                   |compare-ruby|built-ruby|
    |:------------------|-----------:|---------:|
    |dump_all_string    |       1.038|   195.925|
    |                   |           -|   188.77x|
    |dump_all_file      |      33.453|   139.645|
    |                   |           -|     4.17x|
    |dump_all_dev_null  |      44.030|   278.552|
    |                   |           -|     6.33x|
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3420

commit 76c7146ab4bb86dc9474efee279a19d31c4374b2
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-10 00:05:36 +0900

    * 2020-09-10 [ci skip]

commit b49a8704143ce47de0472b6033fc5797aed21f52
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-07-28 19:58:49 +0900

    Add a :since option to dump_all

    This is useful to see what a block of code allocated, e.g.

    ```
    GC.start
    GC.disable
    ObjectSpace.trace_object_allocations do
      # run some code
    end
    gc_gen = GC.count
    allocations = ObjectSpace.dump_all(output: :file, since: gc_gen)
    GC.enable
    GC.start
    retentions = ObjectSpace.dump_all(output: :file, since: gc_gen)
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3368

commit 01828a955a2d776263bda84ee12d9ea922bbfa01
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-09 21:53:09 +0900

    Promote tsort to default gems

commit b194973dcd5eda6c9e256029ea39dc532ae18962
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-09 20:52:48 +0900

    Revert the related commits about `Tempfile.open` change.

      Start with https://github.com/ruby/ruby/commit/fa21985a7a2f8f52a8bd82bd12a724e9dca74934
      to https://github.com/ruby/ruby/commit/d7492a0be885ea9f2b9f71e3e95582f9a859c439

commit 6997109fcaef0567f176e53dfc092aecc49f9ece
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-09 04:02:56 +0900

    [ruby/tempfile] Revert Tempfile.open unlinking the file

    Document difference in behavior between Tempfile.open and
    Tempfile.create.

    https://github.com/ruby/tempfile/commit/426d6f887f

commit 96f2b2e0864ad08ce0b5600f61832a8580ea5b05
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-09 01:23:52 +0900

    * 2020-09-09 [ci skip]

commit 65ab2385e36cf6e2753bc0f262a059d5e323e003
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-09-09 01:22:27 +0900

    Use size_t for MJIT's max_ivar_index

    iseq_inline_iv_cache_entry's index is also size_t.
    %"PRIuSIZE" seems to print warnings against st_index_t in some environments.

commit b7d86e330c76b4f9615511307e1c40f4f2937c83
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-08 20:39:23 +0900

    Workaroud for macOS Big Sur(11.0)

commit cdef17096c03099f17ecf0af51f43faa0944f96d
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-08 20:38:01 +0900

    libSystem.dylib is also symlink. Use libSystem.B.dylib

commit 0168094da28c146062db22e69cbd9316418310f9
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-08 19:35:15 +0900

    Use libSystem.dylib instead of libm.dylib and libc.dylib

      Because macOS 11.0(Big Sur) was removed libc and libm from `/usr/lib`.

commit 4530bea88c079081698b4569ab8af43fdfcf1c6b
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-08 10:31:51 +0900

    * 2020-09-08 [ci skip]

commit 5be75aad3792c90f1d4de424fc07bc4f652e554e
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-08 10:30:07 +0900

    Add FALLTHROUGH

    Pointed out by Coverity Scan

    ```
    ** CID 1466646: Control flow issues (MISSING_BREAK)
    /ext/-test-/random/loop.c: 63 in loop_get_bytes()
    ```

commit 2b07b24bdf15e4feeb9dae94a17999070cd77121
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-07 18:56:39 +0900

    Added `rb_random_base_init`

    To enclose the initialization of Random::Base part.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3024

commit 4924011262e35e3983e245cbfcff15aee7b295f3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-07 18:51:58 +0900

    Added WITH_REAL macros

    Added `WITH_REAL` versions to `RB_RANDOM_INTERFACE` macros.  Also
    these macros including "without real" versions no longer contain
    the terminator (semicolon and comma).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3024

commit d6ec0ef59b4c7c95beaad09f77cb5f86a0901b97
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-15 00:52:08 +0900

    Added `get_real` interface

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3024

commit c449b9b02f63cf8268a0eb9639a43caf4598996d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-15 00:45:38 +0900

    Added rb_int_pair_to_real

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3024

commit af5e87ab218c5f4e34c6cdb54ae119a7f0f9033f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2016-05-07 11:51:14 +0900

    separate rb_random_t

    * random.c: separate abstract rb_random_t and rb_random_mt_t for
      Mersenne Twister implementation.

    * include/ruby/random.h: the interface for extensions of Random
      class.

    * DLL imported symbol reference is not constant on Windows.

    * check if properly initialized.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3024

commit f4d5273989ae8d6569a62b126b2774706b86fbf5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2016-05-12 16:52:34 +0900

    Random::Base

    * random.c (InitVM_Random): introduce abstract super class
      Random::Base.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3024

commit 19917d45a35ff86b3976267b6cb2b494b6130045
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-09-07 14:33:38 +0900

    .github: try GitHub Container Registry

    It is natural for a CI running on GitHub to use GitHub's facility.

    See also https://github.blog/2020-09-01-introducing-github-container-registry/

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3524

commit 17a27060a75f2b2f773e2ebef56cf943bf1b4e4e
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-07 13:29:42 +0900

    * 2020-09-07 [ci skip]

commit 0dbf6e46fb88a1c8c48ce5f67ac881a77de76526
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-07 00:59:53 +0900

    [Feature #17157] removed -T command line option

commit b22b3f03f46cb3c4e3e6fb55d23ae7fccaa19359
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-09-06 16:01:48 +0900

    Increase timeout for GitHub Actions.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3523

commit c19f8f6263377dc04a074c827a0b1bbcbcda769a
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-06 19:05:30 +0900

    Add `*.md` to doc/.document [ci skip]

commit 369cfabd5936ccb522f8e95e0f9cc65b59ea4039
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-09-05 21:18:45 +0900

    Make it possible to dump and load an exception object

    A backtrace object in an exception had never supported marshalling
    correctly: `Marshal.load(Marshal.dump(exc)).backtrace_locations` dumped
    core.

    An Exception object has two hidden instance varibles for backtrace data:
    one is "bt", which has an Array of Strings, and the other is
    "bt_locations", which has an Array of Thread::Backtrace::Locations.
    However, Exception's dump outputs data so that the two variables are the
    same Array of Strings. Thus, "bt_locations" had a wrong-type object.

    For the compatibility, it is difficult to change the dump format.  This
    changeset fixes the issue by ignoring data for "bt_locations" at the
    loading phase if "bt_locations" refers to the same object as "bt".

    Future work: Exception's dump should output "bt_locations"
    appropriately.

    https://bugs.ruby-lang.org/issues/17150

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3521

commit c12b2703bc05f8c7eaaace49253f63a5e0f28273
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-08-26 06:06:09 +0900

    Add `RB_` prefix for size_t to number conversion.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3519

commit 40c06e6fe1fe75758e490173b900beb3da62c4a8
  Author: Ashwin Elangovan <ashelangovan97@gmail.com>
  Date:   2020-09-06 04:58:31 +0900

    Fixed some typos in ractor.md (#3522)

  Notes:
    Merged-By: marcandre <github@marc-andre.ca>

commit dfefe0e0d00481d9e52ec9da2fe1b28bd3ffc1a2
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-06 01:59:20 +0900

    * 2020-09-06 [ci skip]

commit 776b3df490a843a02d7b91868914b3a23ea21854
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-06 01:58:44 +0900

    Fix typos [ci skip]

commit 170c7528e6569d51be661efe556d3b5e68b19bb5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-05 23:15:18 +0900

    common.mk: UNALIGNED_MEMBER_ACCESS needs internal/warnings.h on some platforms

commit dd83d0c599a41c8133f6d79c7f1670db31176958
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-05 23:15:59 +0900

    update-deps: ruby-runner is not a target

commit 5c49bb5486587794ab64dca65f535bf0f4c7c249
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-05 17:28:06 +0900

    Removed useless casts

commit 72757fb596fe6b1613cbcb4f70bb143c21079541
  Author: andrewmelis <andrewmelis@gmail.com>
  Date:   2020-09-05 16:18:15 +0900

    Fix typo in ractor.md

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3520

commit de30450d91a8dda9dd415512ba5a1709704cae12
  Author: Tom Schady <tschady@greenkeytech.com>
  Date:   2020-09-05 01:36:48 +0900

    Fix typos in Ractor README.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3516

commit 1c8fe90760cb11eb1000c49145043a1c78f24fd5
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-05 00:42:35 +0900

    * 2020-09-05 [ci skip]

commit f943566d1cdc86e21141ad6930971e0868b6def7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-05 00:34:30 +0900

    break around function definition [ci skip]

commit 1c78f5d5b8be1c3602c297d326bca37fd199dbd9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-04 22:20:46 +0900

    Sort links in NEWS.md by URI [ci skip]

commit eb67c603ca7e435181684857e650b4633fda5bb6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-04 22:18:59 +0900

    Added Symbol#name

    https://bugs.ruby-lang.org/issues/16150#change-87446

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3514

    Merged-By: nobu <nobu@ruby-lang.org>

commit d7406ccc2c99009cc2af56d5b01c411f8bb673f6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-04 16:28:40 +0900

    Updated dependency

commit d164eef9577175e51bc17c1da75a9092d86030a9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-04 15:17:42 +0900

    Fixed heap-use-after-free on ractor

commit fbaab562d99c220bd481c17522c02c865ba7c44c
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-03 04:34:33 +0900

    lib/ostruct.rb: Revert "To use RuntimeError instead of FrozenError for old ruby versions."

    This reverts commit 4cd1fc8b3559353069860eee90b1b5bade013917.

commit 3b0bcaf2872e5ab6d2475e9cd6dd5c374d93ae0b
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-04 05:51:55 +0900

    check multi_ractor mode at main_p

    rb_ractor_main_p() need to access to the ractor pointer in TLS.
    However it is slow operation so that we need to skip this check
    if it is not multi-ractor mode (!ruby_multi_ractor).

    This performance regression is pointed at
    https://bugs.ruby-lang.org/issues/17100#note-27

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3513

commit 169b1d1aca0c26d38f8bbd25ecaf5fdb8015f5cf
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-04 11:46:50 +0900

    Initialize loop variables of list_for_each for MS VC

commit d4585e7470163c794025c2d56930c0e5a5fbae3c
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-09-04 04:51:14 +0900

    Avoid potential for rb_raise() while crashing

    rb_obj_raw_info is called while printing out crash messages and
    sometimes called during garbage collection. Calling rb_raise() in these
    situations is undesirable because it can start executing ensure blocks.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3512

commit e0a749c0452f8681451a4510d4f60617a5902b50
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-04 04:09:05 +0900

    * 2020-09-04 [ci skip]

commit 3f922f3b77f343394475c4603d4b885126ce6437
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-04 04:07:34 +0900

    don't use toplevel return

    Toplevel return is supported after Ruby 2.4, so don't use it
    for older BASERUBY.

commit b52513e2a1ede39eef094e9e2cfa8710ce26e1f1
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-03 18:04:36 +0900

    skip Ractor tests on Compiler tests

    This implementation has memory corruption errors so and
    it causes BUG on rare occasions. This commit skips
    suspect tests on Github actions Compiler tests.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3365

commit 79df14c04b452411b9d17e26a398e491bca1a811
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-10 02:22:11 +0900

    Introduce Ractor mechanism for parallel execution

    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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3365

commit eeb5325d3bfd71301896360c17e8f51abcb9a7e5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-02 16:08:51 +0900

    Hoisted out warn_deprecated

commit 705b908f7d476d7a60150a0aff9f2ceb8ca166e1
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-09-03 17:54:00 +0900

    Fix a typo [ci skip]

commit 7b9ef66747c91823bf22346ddda7b48329f29fb8
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-09-03 02:58:29 +0900

    Don't call to_s in const_set

    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`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3509

commit 50b18e81295ad2d45975e4d8ea1e0c7e85140b97
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-09-03 15:06:56 +0900

    configure: detect that there is no g++

    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.  Absence 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.

commit 3fb255625bba37cd948751163f620a4b2926c394
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-03 08:42:56 +0900

    add lldb functions for getting the heap page / heap page body

commit 933035d303a154f9b8afea84b99ef99fba21c032
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-09-03 08:42:14 +0900

    support T_MATCH in lldb

commit 0b81a484f3453082d28a48968a063fd907daa5b5
  Author: John Hawthorn <john@hawthorn.email>
  Date:   2020-08-26 15:42:15 +0900

    Initialize new T_OBJECT as ROBJECT_EMBED

    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).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3486

commit eada6350332155972f19bad52bd8621f607520a2
  Author: eileencodes <eileencodes@gmail.com>
  Date:   2020-09-02 21:56:13 +0900

    Add category to `rb_warn_deprecated`

    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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3505

commit 54fb8fb62a30c7b60ab6443a62821f6f8bc479c4
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-03 04:02:34 +0900

    Comply with guide for method doc: array.c (#3506)

    Methods:

        any?
        all?
        one?
        none?
        sum
        shuffle!
        shuffle
        sample

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit d9b8411a7be4c9e300b75bc374f29e6965ab3040
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-03 02:40:17 +0900

    Document that StringScanner#matched_size returns size in bytes [ci skip]

    Fixes [Bug #17139]

commit 0938bad0a531fe594851ae8a8f5d0eac0444ee46
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-03 02:38:01 +0900

    * 2020-09-03 [ci skip]

commit cc5b7ed1dccc6a5cffa5c52778c6db8794722404
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-03 02:34:33 +0900

    Document limitation of Pathname#relative_path_from [ci skip]

    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]

commit 93b78abd774109d1333d59eaf439b2e69ed0fe00
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-02 12:45:11 +0900

    new_dstr: hoisted out from literal_concat and evstr2dstr

commit 6321330461a31126d92314d379faf62d0f0ea46a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-02 12:44:28 +0900

    Removed trailing spaces [ci skip]

commit 5e16857315bf55307c5fc887ca6f03bfa0630a93
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-02 10:22:20 +0900

    Fix constant names set using const_set on a singleton class

    Fixes [Bug #14895]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3502

commit 11922b5e030808b16fd2c604637e046b2d01b0f0
  Author: Peter Zhu <peter@peterzhu.ca>
  Date:   2020-08-27 22:24:21 +0900

    Fix error message for wb unprotected objects count

    This error is about wb unprotected objects, not old objects.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3463

commit 4c3f0597de99103374012522beecadeaa9e25eed
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-09-01 11:48:34 +0900

    Remove the pc argument of vm_trace()

    This makes the binary 272 bytes smaller on -O3 GCC 10.2.0.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3494

commit 94b54b038c1f4d6d2b54e10dd0305b1bc283449b
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-09-02 09:26:45 +0900

    Reapply "Special case Range#max for integer beginning and Float::Infinity end" (tests)

    Reverted in e080a4cdee

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3501

commit 6e8ec9ab6da228ade70fe7d0dd16540d8f859f00
  Author: eileencodes <eileencodes@gmail.com>
  Date:   2020-08-07 02:25:11 +0900

    Support passing a category to `Warning.warn`

    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>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3418

commit de10a1f3583adeeffd7f8bcf8f276e0a626ffa0c
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-02 01:58:45 +0900

    Update documentation for Range#max

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3500

commit 4db4faef0f96bfd3504f5eac454a0308c618ccd6
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-02 01:19:03 +0900

    Revert "Fix Range#{max,minmax} for range with integer beginning and non-integer end"

    This reverts commit 8900a25581822759daca528d46a75e0b743fc22e.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3500

commit e080a4cdeeb55dddb6247ffd2563d2dc8b84c919
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-02 01:18:44 +0900

    Revert "Special case Range#max for integer beginning and Float::Infinity end"

    This reverts commit 05bf811c2839628aaef3d565daedb28be80d47ef.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3500

commit 94430d009a7018c9d6447fe6814a51b664ad46a9
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-02 02:49:48 +0900

    Comply with guide for method doc: array.c (#3499)

    Methods considered:

        count
        flatten!
        flatten
        cycle
        permutation
        combination
        repeated_permutation
        repeated_combination
        product
        take
        take_while
        drop
        drop_while

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 9d4c51478c15d0edee36101493622305abc02c1b
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-02 01:46:35 +0900

    * 2020-09-02 [ci skip]

commit 41cf17bef053691dcf36db9c088c64eb7b30a73c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-01 19:45:22 +0900

    Fixed argument types

commit f6822e4ed020600e6556dbaf6e6e3ad837b65592
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-01 19:43:15 +0900

    Format with proper conversion specifiers instead of casts

commit be9dbe1c3eb4bb4cab0bdc42a91ef425bb1eaddd
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-09-01 06:19:23 +0900

    Fix pthread_setname_np arguments on NetBSD

    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]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3492

commit 6b432009485fed880949223b9f56c904f52881ed
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-09-01 20:46:53 +0900

    Fix syncing bundler man pages

    `rm_rf` does not support globbing, so not all files get deleted.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3497

commit 8d1de3154c4bfbdfe451fcd815b0589e38d351c2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-01 19:03:41 +0900

    Use RSTRING_LENINT for overflow check

commit 21ad4075a71f302474a78dc744149ac8ce2ff0ec
  Author: Peter Zhu <peter@peterzhu.ca>
  Date:   2020-09-01 19:01:32 +0900

    Don't read past the end of the Ruby string

    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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3487

    Merged-By: nobu <nobu@ruby-lang.org>

commit a137874e67b0b3f815be3ba322ed8925860bc673
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-09-01 06:14:07 +0900

    add RUBY_DEBUG=ci envval for GH actions

    RUBY_DEBUG=ci envval shows more information on rb_bug().

commit fbf79f1c11a5357b5a3a790a8f5942fdefc22947
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-09-01 14:33:17 +0900

    Use the previous winflexbison3

    winflexbison3 v2.5.23.20200829 seems to install nothing.

commit cceba23515ee6390127973088b739b8e4dd34721
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-01 10:01:48 +0900

    minitest is working fine with Ruby 3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3493

commit e00eba1ce2ec5089119c43a0ce774a4f0474f616
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-01 09:55:05 +0900

    xmlrpc has been removed from the bundled gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3493

commit a3d90f1b9b4d9ec773f9eeeb998e5bf010d399fd
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-01 09:54:16 +0900

    bump version to minitest-5.14.2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3493

commit 377159370b3fa85ae74a86eb1003aee796e1abc7
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-09-01 09:53:27 +0900

    Revert the workaround of minitest and hoe

      86737c509cd49cfe4509a65d300d390da0f07be6
      3e1aea461320094e634ab32ca0b13dd43b69d8b0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3493

commit b01d852c2add603ab51689d495fa443d32cf5909
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-31 14:49:56 +0900

    congigure.ac: favour gcc on Linux

    Requested by Naruse.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3478

commit 50736f127abf9f13152b900f0c71e6ecd7e71427
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-01 06:25:11 +0900

    Comply with guide for method doc: array.c (#3489)

    Methods considered:

        &
        intersection
        |
        union
        max
        min
        minmax
        uniq!
        uniq
        compact!
        compact

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit e744d4070caa49a1ffdce8852d620112bc6b6c7f
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-01 04:53:54 +0900

    Comply with guide for method doc: array.c (#3484)

    Methods:

        +
        concat
        *
        assoc
        rassoc
        ==
        eql?
        hash
        include?
        <=>
        -
        difference

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 18bcfe7144e227a45c9617567dd871f85a9e29cc
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-09-01 03:16:30 +0900

    * 2020-09-01 [ci skip]

commit 1f4c507afb78fd2fc92a8575c0d6364dc7752191
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-09-01 03:16:10 +0900

    Comply with guide for method doc: array.c (#3477)

    Methods considered:

        delete_at
        slice!
        reject!
        reject
        delete_if
        zip
        transpose
        replace
        clear
        fill

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 2e80c8347e27f8ecedab56bab105d69efa35cbea
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-01-19 11:34:26 +0900

    Deprecate iterator? method

    [Feature #15547] [Fix GH-2071]

commit c23c880f56b3884c08a13c7e8c11ec4c89708a59
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2019-10-14 08:11:45 +0900

    [ruby/strscan] Bump version

    https://github.com/ruby/strscan/commit/df90d541fa

commit c76508b88c083c29aaafaec7d67072b45f7e40aa
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-31 21:47:25 +0900

    [ruby/strscan] Replaced examples using $KCODE with encodings

    `$KCODE` has been deprecated and not effective since years ago.

    https://github.com/ruby/strscan/commit/7c4dbd4cb3

commit 01f28405b1c103023e835e5f6d03def041bb8884
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-08-31 20:46:42 +0900

    Update version to 3.0.0 in NEWS.md

commit 53ba9fb74ec57c18c3589e2e51f84a36467e3d9e
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-08-31 16:49:16 +0900

    Prohibit setter method names in endless method definition

    https://bugs.ruby-lang.org/issues/16746#note-26

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3479

commit 86737c509cd49cfe4509a65d300d390da0f07be6
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-31 17:48:25 +0900

    Removed minitest and hoe because they didn't support Ruby 3 yet

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3480

commit b674fc9ca2498d55c7e4f91592279eb985b8bea1
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-28 10:58:37 +0900

    Thread.exclusive: delete

    Has been deprecated since 2069c9e031fc968d6d3d0fe30a9316851e4d91d8.

    [Feature #17125][ruby-core:99636]

commit eb9342d3483babdf47179b84ccc947fc93a40233
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-31 17:37:21 +0900

    The deprecation of enumerators with block has been withdrawn

    https://bugs.ruby-lang.org/issues/6670#change-75907

commit 0eec4ae85179fb6c8abd17d27b946d86f177f027
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-31 17:23:54 +0900

    Get rid of using Socket.gethostbyname

commit 3e1aea461320094e634ab32ca0b13dd43b69d8b0
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-31 17:18:14 +0900

    Temporary removed minitest from bundled gems.

      It requires Ruby 2.x.

      https://github.com/seattlerb/minitest/blob/master/Rakefile#L14

commit 34c20c995dcf264692f4eabb731349a05c6fce38
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-31 16:51:37 +0900

    [DOC] Fixed wording [ci skip]

commit f588caa797cd9330731001b009f0b7add79fc44c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-31 16:50:15 +0900

    [DOC] Indent a code block in NEWS [ci skip]

commit 21c62fb670b1646c5051a46d29081523cd782f11
  Author: Yukihiro "Matz" Matsumoto <matz@ruby.or.jp>
  Date:   2020-08-31 16:38:13 +0900

    Version number bumped to 3.0.0 from 2.8.0 (tentative).

    We have decided to go forward to 3.0 this year.

commit 9b88851c8311b31edeefc81cae54032b0cd2508b
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-31 00:34:36 +0900

    * 2020-08-31 [ci skip]

commit 585a659b1e8b3361192156cce218d8df0ef82f97
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-31 00:34:13 +0900

    Comply with guide for method doc: array.c (#3475)

    Methods considered:

        bsearch
        bsearch_index
        sort_by!
        collect
        collect!
        values_at
        select
        select!
        keep_if
        delete

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 9eda6547812cbda23a73ba3b2620520b0de2bdd6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-30 16:07:12 +0900

    KNOWNBUGS.rb: use-after-poison since b9007b6c548f91e88fd3f2ffa23de740431fa969

commit 726f2e59f9b0c7a69f540e09bab54ab17b013d56
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-30 05:16:02 +0900

    Comply with guide for method doc: array.c (#3474)

    Methods considered:

        length
        empty?
        join
        inspect
        to_a
        to_h
        to_ary
        reverse!
        reverse
        rotate!
        rotate
        sort!
        sort

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit a8f11df328edfbc1754cef7d94585a582872ddf7
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-30 02:15:26 +0900

    * 2020-08-30 [ci skip]

commit f0ad5594bf6107389cb8b3dfdfff1425e3317b16
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-30 02:15:06 +0900

    Comply with guide for method doc: array.c (#3473)

    Methods considered:

        at
        first
        last
        fetch
        index
        rindex
        []
        insert
        each
        each_index
        reverse_each

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit d7492a0be885ea9f2b9f71e3e95582f9a859c439
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-08-29 19:49:20 +0900

    Revert changes to rdoc & rubygems regarding Tempfile.open(&block)

    * They likely want to support older Ruby/tempfile versions
    * Reverts part of e8c3872555fc85640505974e6b1c39d315572689

commit 3beecafc2cae86290a191c1e841be13f5b08795d
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-08-29 19:23:31 +0900

    Fix usages of Tempfile.open(&block) that expected the file to still be there after the block

commit e8c3872555fc85640505974e6b1c39d315572689
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-08-29 19:17:07 +0900

    Simplify Tempfile.open calls with a block as they now unlink the file automatically

commit ff323b2a5c56cdec93900af4d67f3811f946d9b8
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-08-29 19:11:07 +0900

    Adapt specs for the new Tempfile.open with block behavior

commit fa21985a7a2f8f52a8bd82bd12a724e9dca74934
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-08-29 18:53:05 +0900

    Sync with ruby/tempfile@aa9ea12d94a905161cbd79af1ad9ab427f250f4e

commit a11b9ca01cef170d232c6b99bef86a52a9710df9
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-08-29 19:00:23 +0900

    Some fixes in NEWS.md

commit 1199f1a4aac3946cb427f2bed73948b02ee14a74
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-08-29 18:58:05 +0900

    Fix warnings related to new Socket.gethostby* deprecations

commit 232d6c4077ab254b13ef006dd1e7e7c1d46a6cd3
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-08-29 18:51:05 +0900

    Use a constant instead of a global variable in sync_default_gems.rb

commit 6d946665bd79a93fb98b2d25400d1b6174472302
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-08-29 17:18:59 +0900

    Show deprecation warning on Socket.gethostbyname and Socket.gethostbyaddr

commit 56dd578d7e715fd255c668577162ede65c7e909f
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-08-29 16:10:58 +0900

    IO.copy_stream: handle EOPNOTSUP instead of ENOTSUP

commit 93df3010482ad52e5ada2e416c996005da956e1e
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-08-29 15:38:07 +0900

    IO.copy_stream: handle ENOTSUP on copy_file_range(2)

    fallback to other methods on ENOTSUP.
    some RedHat kernels may return ENOTSUP on an NFS mount.
    [Feature #16965]

commit c2011d1a51b71a17bf279f6ae90cab4172f80624
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-08-29 12:30:37 +0900

    Fix a typo [ci skip]

commit 45c40f5631c6cdb14a9fe9c1b40e5fbb08793557
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-29 04:56:02 +0900

    Comply with guide for method doc: array.c (#3469)

    Methods:
    - freeze
    - try_convert
    - new
    - \<<
    - push
    - pop
    - shift
    - unshift
    - []

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 4a5dd970a750e90a9fe98d66babfa53665429221
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-29 03:39:16 +0900

    Add alias treatment to method_documentation.rdoc (#3468)

    * Add alias treatment to method_documentation.rdoc

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 3ffef9a03295868d39bd97532ad140a29f7c7a55
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-29 03:28:09 +0900

    * 2020-08-29 [ci skip]

commit b49307c701911a713cbdb48367833d3661a4880a
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-08-29 03:26:02 +0900

    Update to ruby/spec@335eb9b

commit 3dd63108b0e7551aba76eba85a459b58ec971ccb
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-08-29 03:26:00 +0900

    Update to ruby/mspec@53a6e3e

commit 1c138327e0537bb55f7d0810f6fe7e1c7f63b6c5
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-08-28 22:03:06 +0900

    Try to fix compile error on windows

    https://github.com/ruby/ruby/runs/1041040167?check_suite_focus=true#step:11:177
    ```
    compiling ../src/re.c
    re.c
    ../src/re.c(317): error C2057: expected constant expression
    ../src/re.c(317): error C2466: cannot allocate an array of constant size 0
    ../src/re.c(467): error C2057: expected constant expression
    ../src/re.c(467): error C2466: cannot allocate an array of constant size 0
    ../src/re.c(467): error C2133: 'opts': unknown size
    ../src/re.c(559): error C2057: expected constant expression
    ../src/re.c(559): error C2466: cannot allocate an array of constant size 0
    ../src/re.c(559): error C2133: 'optbuf': unknown size
    ../src/re.c(673): error C2057: expected constant expression
    ../src/re.c(673): error C2466: cannot allocate an array of constant size 0
    ../src/re.c(673): error C2133: 'opts': unknown size
    NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\cl.EXE"' : return code '0x2'
    Stop.
    ```

commit 7e1fddba4a609cb7bf4a696eccd892e68753bb21
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-28 19:35:54 +0900

    States Time.at expects rational-like argument to respond to #to_int

    https://bugs.ruby-lang.org/issues/17131

commit 75c4e9b72eca22b087c8c2d6d8a950922545aa00
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-28 19:29:16 +0900

    Named the magic number for regexp option buffer size

    In `rb_enc_reg_error_desc`, no longer kcode option is added.

commit 1f09c4362806e3ce8a7b15e0effc3abb7f53411d
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-28 02:09:34 +0900

    [ruby/reline] Move width calculator methods to Reline::Unicode

    https://github.com/ruby/reline/commit/f348ecd9f5

commit cdd7d41046f6c91dfa8a1f0612dc686b79f6e849
  Author: tompng <tomoyapenguin@gmail.com>
  Date:   2020-07-28 17:25:06 +0900

    [ruby/reline] fix cursor_pos regexp match

    https://github.com/ruby/reline/commit/1dd80ef188

commit 8882927036a6630c6132f0a2067bdec64d9ca94d
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-26 19:21:24 +0900

    [ruby/irb] Discard newlines at end of file

    https://github.com/ruby/irb/commit/0b2773d91d

commit 3b24b7914c16930bfadc89d6aff6326a51c54295
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-08-28 07:17:36 +0900

    Improve performance of partial backtraces

    Previously, backtrace_each fully populated the rb_backtrace_t with all
    backtrace frames, even if caller only requested a partial backtrace
    (e.g. Kernel#caller_locations(1, 1)).  This changes backtrace_each to
    only add the requested frames to the rb_backtrace_t.

    To do this, backtrace_each needs to be passed the starting frame and
    number of frames values passed to Kernel#caller or #caller_locations.

    backtrace_each works from the top of the stack to the bottom, where the
    bottom is the current frame.  Due to how the location for cfuncs is
    tracked using the location of the previous iseq, we need to store an
    extra frame for the previous iseq if we are limiting the backtrace and
    final backtrace frame (the first one stored) would be a cfunc and not
    an iseq.

    To limit the amount of work in this case, while scanning until the start
    of the requested backtrace, for each iseq, store the cfp.  If the first
    backtrace frame we care about is a cfunc, use the stored cfp to find the
    related iseq.  Use a function pointer to handle the storage of the cfp
    in the iteration arg, and also store the location of the extra frame
    in the iteration arg.

    backtrace_each needs to return int instead of void in order to signal
    when a starting frame larger than backtrace size is given, as caller
    and caller_locations needs to return nil and not the empty array in
    these cases.

    To handle cases where a range is provided with a negative end, and the
    backtrace size is needed to calculate the result to pass to
    rb_range_beg_len, add a backtrace_size static function to calculate
    the size, which copies the logic from backtrace_each.

    As backtrace_each only adds the backtrace lines requested,
    backtrace_to_*_ary can be simplified to always operate on the entire
    backtrace.

    Previously, caller_locations(1,1) was about 6.2 times slower for an
    800 deep callstack compared to an empty callstack.  With this new
    approach, it is only 1.3 times slower. It will always be somewhat
    slower as it still needs to scan the cfps from the top of the stack
    until it finds the first requested backtrace frame.

    This initializes the backtrace memory to zero.  I do not think this is
    necessary, as from my analysis, nothing during the setting of the
    backtrace entries can cause a garbage collection, but it seems the
    safest approach, and it's unlikely the performance decrease is
    significant.

    This removes the rb_backtrace_t backtrace_base member. backtrace
    and backtrace_base were initialized to the same value, and neither
    is modified, so it doesn't make sense to have two pointers.

    This also removes LOCATION_TYPE_IFUNC from vm_backtrace.c, as
    the value is never set.

    Fixes [Bug #17031]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3441

    Merged-By: jeremyevans <code@jeremyevans.net>

commit 8095114f1715070fcdc2b29303dcf55a7fcc32a3
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-28 04:54:36 +0900

    Comply with guide for method doc: hash.c (#3466)

    Instance methods considered (most unchanged):
    - any
    - dig
    - \<=
    - \<
    - \>=
    - \>
    - to_proc

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 029c7e60454932d63889e1085b51d645b6ab5942
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-28 03:28:34 +0900

    Comply with guide for method doc: hash.c (#3465)

    Instance methods considered (maybe not all changed):

        invert
        merge!
        merge
        assoc
        rassoc
        flatten
        compact
        compact!
        compare_by_identity
        compare_by_identity?

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit f332fe236c7dbfeed68e8e18b3acf22c270cffaf
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-28 01:52:29 +0900

    Comply with guide for method doc: hash.c (#3464)

    Instance methods considered (maybe not all changed):

        to_a
        inspect
        to_hash
        to_h
        keys
        values
        include?
        has_value?
        ==
        eql?
        hash

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 9658a5a849d58c206074557e4f716ec0dffdfe59
  Author: Masaki Matsushita <glass.saga@gmail.com>
  Date:   2020-08-27 23:49:05 +0900

    Show deprecation warning on TCPSocket.gethostbyname

commit 5483bf8fa4bc62239341e7ff08f6e104258ca7a7
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-08-28 01:00:14 +0900

    add T_ZOMBIE support to lldb scripts

commit c60aaed1856b2b6f90de0992c34771830019e021
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-08-28 00:37:03 +0900

    Fix Method#super_method for aliased methods

    Previously, Method#super_method looked at the called_id to
    determine the method id to use, but that isn't correct for
    aliased methods, because the super target depends on the
    original method id, not the called_id.

    Additionally, aliases can reference methods defined in other
    classes and modules, and super lookup needs to start in the
    super of the defined class in such cases.

    This adds tests for Method#super_method for both types of
    aliases, one that uses VM_METHOD_TYPE_ALIAS and another that
    does not.  Both check that the results for calling super
    methods return the expected values.

    To find the defined class for alias methods, add an rb_ prefix
    to find_defined_class_by_owner in vm_insnhelper.c and make it
    non-static, so that it can be called from method_super_method
    in proc.c.

    This bug was original discovered while researching [Bug #11189].

    Fixes [Bug #17130]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3458

    Merged-By: jeremyevans <code@jeremyevans.net>

commit f41bd0d7087eac1920188e055cc1f4e79a6a6047
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-28 00:06:25 +0900

    * 2020-08-28 [ci skip]

commit 280d028125a975c7a28ca9011f318ed504e9565f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-27 23:52:10 +0900

    [ruby/stringio] Bump version to 0.1.4

    https://github.com/ruby/stringio/commit/64f2360d38

commit f4b9e94317853d3389c34fda35eba72face72a7b
  Author: Leam Hall <leamhall@gmail.com>
  Date:   2020-08-22 01:10:54 +0900

    [ruby/io-console] Bug 17128: In test_set_winsize_console, wrapped re-size in a begin-rescue-else.

    https://github.com/ruby/io-console/commit/a22333c33a

commit b3c1c767ea64ce435c115cece5074274b7aefadc
  Author: Yoann Lecuyer <yoann.lecuyer@gmail.com>
  Date:   2020-08-27 05:46:58 +0900

    [stringio] fix stringio codepoint enumerator off by one error

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3460

commit 96d701f73780638ffd3c8fa91c43f33f1a207d65
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-27 23:39:15 +0900

    Adjust indents [ci skip]

commit b8bfb1d5f5b15aa0bfa54ac3f97af1034f16359b
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-27 22:31:32 +0900

    Comply with guide for method doc: hash.c (#3459)

    Instance methods considered (some maybe not changed):

        clear
        []=
        replace
        length
        empty?
        each_value
        each_key
        each_pair
        transform_keys
        transform_keys!
        transform_values
        transform_values!

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 490010084ed09d9825e8d9198a02b930eaa1cd85
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-22 15:40:46 +0900

    sed -i '/rmodule.h/d'

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3347

commit 5ca44076f47dce3a70b5f4755f5195f0f9093fc4
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-22 15:37:28 +0900

    include/ruby/backward/2/rmodule.h: deprecate

    Only one function in only one file uses contents of this public header.
    That is not a wise idea.  Let's just free the header's soul.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3347

commit 2038cc6cab6ceeffef3ec3a765c70ae684f829ed
  Author: Kir Shatrov <shatrov@me.com>
  Date:   2020-08-27 16:39:13 +0900

    Make Socket.getaddrinfo interruptible (#2827)

    Before, Socket.getaddrinfo was using a blocking getaddrinfo(3) call.
    That didn't allow to wrap it into Timeout.timeout or interrupt the thread in any way.

    Combined with the default 10 sec resolv timeout on many Unix systems, this can
    have a very noticeable effect on production Ruby apps being not
    resilient to DNS outages and timing out name resolution, and being unable to fail fast even
    with Timeout.timeout.

    Since we already have support for getaddrinfo_a(3), the async version
    of getaddrinfo, we should be able to make Socket.getaddrinfo leverage that
    when getaddrinfo_a version is available in the system (hence #ifdef
    HAVE_GETADDRINFO_A).

    Related tickets:
    https://bugs.ruby-lang.org/issues/16476
    https://bugs.ruby-lang.org/issues/16381
    https://bugs.ruby-lang.org/issues/14997

  Notes:
    Merged-By: mmasaki <glass.saga@gmail.com>

commit 1035a3b202ee86bf2b0a1d00eefcfff0d7ab9f6b
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-22 11:30:05 +0900

    RUBY_SHOW_COPYRIGHT_TO_DIE: flip the default

    Commit 7aab062ef3772c7e8e50fc872a1647918c76dbba says:

    > ruby_show_version() will no longer exits the process, if
    > RUBY_SHOW_COPYRIGHT_TO_DIE is set to 0.  This will be the default in
    > the future.

    3.0 is a good timing for that "future".

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3342

commit 756403d775c7d7d60da179dd9b788d63e72c77ab
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-22 14:47:40 +0900

    sed -i '/r_cast.h/d'

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3346

commit cd1d6d90299d727ad4a87c42f3ba09c87df2bce3
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-22 14:44:25 +0900

    include/ruby/backward/2/r_cast.h: deprecate

    Remove all usages of RCAST() so that the header file can be excluded
    from ruby/ruby.h's dependency.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3346

commit 442525527e2fa052e6d8752adffeaa0855b75ff7
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-22 13:02:33 +0900

    improve deprecation warning

    We should not recommend RBIMPL_*.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3341

commit 21b3bc10d3626272683e085b2b3ea62d2c05b1d7
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-22 10:55:30 +0900

    DEPRECATED_TYPE: is deprecated

    Nobody uses this macro any longer.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3341

commit 3437e6247da991db94a804b2c15b2a05dc2d79bd
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-22 10:40:41 +0900

    RClassDeprecated: delete

    It has been deprecated for 5 years since 1f2255604087e9a7d7efcb2df61b5ca0e2daa200.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3341

commit 3353baac3d55e1b42515ce7084e7b7f07abc0192
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-08-27 14:34:42 +0900

    Use own mutex instead of Thread.exclusive

    ref [Feature #17125]

commit 5ae2c1b093cbd2b9f72cb5caba19283a8222b298
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-22 13:15:36 +0900

    git rm include/ruby/backward/rubyio.h

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3344

commit 6ec6dd3ed741b1138300dce12dd9ca6aca092a2c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-22 13:08:18 +0900

    git rm include/ruby/backward/rubysig.h

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3343

commit 5ca7b6abdeb7a8359c5e831c4235215b535b8e27
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-22 13:55:20 +0900

    git rm include/ruby/backward/{st,util}.h

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3345

commit d9c93a0d90a17fca0d3edb421c0ab7fe438bdbaf
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-27 14:08:21 +0900

    * 2020-08-27 [ci skip]

commit 6b6a4471d615bc53015bec2556f8cd07f5408f38
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-22 10:23:42 +0900

    rb_deprecated_classext_struct: delete

    Used from nowhere any longer.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3340

commit 4bc3846389eea28da2ef8c95a199f28b43060779
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-22 10:10:25 +0900

    git rm include/ruby/backward/classext.h

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3340

commit 0da2a3f1fc22da47cdce3cbcd8031d609ba8f207
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-21 15:35:26 +0900

    sed -i '\,2/extern.h,d'

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3338

commit b2e1688e7d44d45e772ac9d5e79f4ad6e70141d5
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-21 15:22:18 +0900

    git rm include/ruby/backward/2/extern.h

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3338

commit 445e5548c9da906a2d7a490e660328b2893d07d1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-26 21:36:22 +0900

    Fixed error messages at non-ascii %string terminator

commit cc36b5d4aced7c8df0c1933ef3482736de068cfc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-26 21:16:51 +0900

    Removed a never-true condition

commit 72cb9bc55f5f96ad6d04129cd997e53c5b0c3a83
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-08-26 14:28:05 +0900

    [webrick][DOC] Describe the stance of WEBrick about its security and utilization (#3457)

    WEBrick is not recommended for the production use.  We need to explicitly
    describe this fact in the document to avoid troubles due to misunderstanding.

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit a84a2e872f0b0f578eeeb192e79fe8bc10df6a8f
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-26 06:09:31 +0900

    Comply with guide for method doc: hash.c (#3454)

    Methods reviewed (a few not modified):

        key
        delete
        shift
        delete_if
        reject!
        reject
        slice
        except
        values_at
        fetch_values
        select
        select!
        keep_if

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 92b2d5816ae04375cef7e3909bf69954e1833160
  Author: Lars Kanis <lars@greiz-reinsdorf.de>
  Date:   2020-08-07 05:37:01 +0900

    Add documentation to "dcompact" callback and "parent" member

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3396

commit 326d89b7cee05b33e6f73fb293a4ae9d5af6f7f2
  Author: Peter Zhu <peter@peterzhu.ca>
  Date:   2020-08-24 23:53:11 +0900

    Correctly account for heap_pages_final_slots so it does not underflow

    `rb_objspace_call_finalizer` creates zombies, but does not do the correct accounting (it should increment `heap_pages_final_slots` whenever it creates a zombie). When we do correct accounting, `heap_pages_final_slots` should never underflow (the check for underflow was introduced in 39725a4db6b121c7779b2b34f7da9d9339415a1c).

    The implementation moves the accounting from the functions that call `make_zombie` into `make_zombie` itself, which reduces code duplication.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3450

commit 8c030b5c007fe300d78f93a5c3e29f7c44d042cb
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-26 00:47:44 +0900

    * 2020-08-26 [ci skip]

commit 36cc53daaec6b80f83d04edd6e11d8598ba2194a
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-26 00:47:23 +0900

    Comply with guide for method doc: hash.c (#3451)

    Methods:

        ::new
        ::[]
        ::try_convert
        #rehash
        #[]
        #fetch
        #default
        #default=
        #default_proc
        #default_proc=

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 2e3a7f70ae71650be6ea38a483f66ce17ca5eb1d
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-25 21:17:19 +0900

    Promote nkf to default gems

commit 8d68f54c94ff46f3677f133fb1b6c48861efc62e
  Author: Lars Kanis <kanis@comcard.de>
  Date:   2020-08-24 21:18:16 +0900

    Fix erb executable

    Run ERb processing unconditionally since __FILE__ and $0 doesn't match
    in a gem context.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3449

commit e6ac1fb6121d6cb694d107f205713d92b7b4a427
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-25 08:44:11 +0900

    Specify the executable of erb

commit 1b34d843ead7be5e782d945bee1fbc9b519a2282
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-25 08:11:07 +0900

    * 2020-08-25 [ci skip]

commit 9e25eb308d4fae9a10e120c2b4601916cc38336c
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-08-25 08:04:55 +0900

    Update PTY.open documentation to document it yields a single argument [ci skip]

    For a regular block, accepting two arguments is fine as the array
    will be autosplatted.   However, a lambda that accepts two arguments
    will not work.

    We could change the implementation to yield two arguments instead
    of an array with a single argument, but that would be less backwards
    compatible.

    I'm only changing the call-seq to be precise, other examples pass
    a literal block that accepts two arguments, and I left those alone
    as that will be the most common usage.

    Fixes [Bug #17094]

commit 1eb1add68abe9a4e860fe4dc64b3b105d854a935
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-24 19:24:07 +0900

    Added entry for changes of default gems

commit cb7634c1420762eb926027bf6079e172c0cc22b5
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-08-24 15:58:19 +0900

    Fix links [ci skip]

commit 09acafaccf35b37cd7557d783f667ae6281ce7c1
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-08-24 15:38:03 +0900

    NEWS.md: add an example, add references, and move some items

commit f292bb245e301b7cbb1d7e7b289b1f930532d1fa
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-24 02:10:21 +0900

    * 2020-08-24 [ci skip]

commit 1d3e87a28cbd49c8b6abcc011a8c43cc33c275e1
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-24 02:10:01 +0900

    Remove checks for self returned in array.c and hash.c examples (#3446)

    Further compliance with https://github.com/ruby/ruby/blob/master/doc/method_documentation.rdoc#details-and-examples-

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 30ccc7d04bb7352b05c21078fa9471196dab52ad
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-08-23 22:46:04 +0900

    Fix typos

commit 4f7ff9c99da4f21a186d3649882944ec860aeab2
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-23 21:46:13 +0900

    * 2020-08-23 [ci skip]

commit 2c4c088aa377b46ba4209524b0188591a9736324
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-22 14:41:06 +0900

    .github/workflows/compilers.yml: more compilers

    Added some cross compilers that we can run on GitHub Workflow runner
    environments.  Because they are cross compilers we cannot run the
    generated binary.  The added matrix are compile-only.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3447

commit 2ddc67ffb6bd62550343db909bf5672d6d523682
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-22 14:12:12 +0900

    configure.ac: suppress more Sun C warnings.

    They are rather annoying than being useful to us.

commit 331d02038ba282c563f1705a5b0715f35a085b31
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-22 11:10:37 +0900

    .travis.yml: prefer gcc

    It seems `clang --save-temps` does not interface well with
    tool/update-deps.  Prefer gcc for that purpose.

commit d916a4c89741dc6a5266291275be4b497f6a9929
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-22 08:50:44 +0900

    configure.ac: more checks on STRIP

    STRIP now depends on compilers, not on OS.  Previous check against
    $target_os does no longer work.

commit 1ab60345297aa5130cebc98063158059951bc407
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-08-22 09:33:45 +0900

    Fix type of getlogin_r's 2nd argument

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/freebsd12/ruby-master/log/20200821T223002Z.fail.html.gz
    ```
    process.c:5593:37: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
        while ((gle = getlogin_r(login, loginsize)) != 0) {
                      ~~~~~~~~~~        ^~~~~~~~~
    ```

    type of getlogin_r's 2nd argument is
    - int on FreeBSD
      - https://www.freebsd.org/cgi/man.cgi?query=getlogin_r&apropos=0&sektion=0&manpath=FreeBSD+12.1-RELEASE+and+Ports&arch=default&format=html
    - size_t on Linux, NetBSD
      - https://man7.org/linux/man-pages/man3/getlogin_r.3.html
      - https://www.freebsd.org/cgi/man.cgi?query=getlogin_r&apropos=0&sektion=0&manpath=NetBSD+9.0&arch=default&format=html

commit a0273d67d044dc9fe25313e0854a33374b990e8a
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-08-22 04:52:02 +0900

    Avoid a use after free in VM assertion

    If the thread for the current EC has been killed, don't check
    the VM ptr for the EC (which gets it via the thread), as that will
    have already been freed.

    Fixes [Bug #16907]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3443

commit ea4ccc09923c56783df8789b0813f7fee7a560c6
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-22 05:50:56 +0900

    Remove trivial examples from array.c (#3442)

    "Trivial" typically means "returns a new empty Array."

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 0fea0427aebcf1a76332d8855864bd7d9e2a3597
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-22 01:42:02 +0900

    Remove nil-return examples from hash.c (#3438)

    * Remove nil-return examples from hash.c

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 914b2208ab3eddec478cdc3e079e6c30d0f0892c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-21 23:53:05 +0900

    configure.ac: rule out old Sun C++

    CI failures observed for old Sun C++.  We don't want to hustle, as newer
    versions are okay.  Just check the sanity and rule out insane compilers.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3440

commit 954afd1bc55b9b98e4e5099e3c49c3710514fdb8
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-21 23:31:28 +0900

    protect CFLAGS from being smashed by AC_PROG_CC

    AC_PROG_CC_C99 calls AC_PROC_CC, which calls _AC_PROG_CC_G, which sets
    default CFLAGS, whose contents are not customisable.  We don't welcome
    this behaviour.

    The exact same thing happens for CXXFLAGS in AC_PROG_CXX.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3440

commit 7263fd6ff42821d7a8713bebbb7fccf170f16347
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-22 00:33:57 +0900

    * 2020-08-22 [ci skip]

commit cc2caa6edf8d61ee85e9f173a047644a1d4a3de7
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-21 22:25:44 +0900

    do not test --version

    `llvm-strip-7` is a sane valid strip command that LLVM 7 ships, albeit
    it does not understand `--version`.  It is a bad idea to check that
    option.  Instead just see if the command actually strips something.  A
    copy of `/bin/sh` should suffice.  That file must be ubiquitous.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3439

commit 44d25c65287558e899188eb9e0fbd7d76e6f74ce
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-21 20:40:26 +0900

    Fixup 3292f4d965845d543733559fd1736b8c42fadab3

commit 3292f4d965845d543733559fd1736b8c42fadab3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-21 20:28:51 +0900

    Fixed the executable path for erb command

commit 8c97883b738ad9749848d9a10fce87df0f9b1bf3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-21 20:18:44 +0900

    Promote erb to default gems

commit bc374e5cea0fe0eb77da0ee78930c22d7afbd34a
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-21 18:10:03 +0900

    Promote rinda to default gems

commit 3eb76e747e33d1a4439d2e83c53b538b6c536ec3
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-21 16:01:46 +0900

    configure.ac: try GCC-provided ld

    In case of cross-compilation, GCC might provide its own linker.  Its
    behaviour seems slightly different from that of gcc(1).  This is not a
    big deal for normal situations, but the difference can cause libtool to
    go mad.

    We ship bundled libffi for windows users, and libffi uses libtool.  If
    we use cross-compiler version of gcc instead of its ld conterpart, we
    fail to compile fiddle.  That should not be what we want.

commit 73b6bc579063fb03bd566cbac5ac76d18e481dc6
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-21 11:47:18 +0900

    AC_PROG_CXXCPP: remove

    Caused CI failures on environments without sane C++ compilers.

commit 7341b1a53d868c3250b4c4699619ac369cd5d9ee
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-20 10:19:13 +0900

    configure.ac: move program_transform_name

    Historically `$program_transform_name` has been put in front of
    `AC_CANONICAL_TARGET`.  Previous commit changes it, which affects the
    name of generated ruby binary when cross-compiling.  I _guess_ the
    historical behaviour is a bug (name of ruby binary shall honour --target
    configure option I think), but anyways here I preserve that questionable
    way.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3433

commit 2c96e04868477eaa1420945d57bf5b3adb521e84
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-19 11:36:06 +0900

    configure.ac: use compiler-provided toolchains

    These days as link-time optimisations spread across compilers, they
    tend to ship their own version of ld, ar, etc.  Why not detect such
    things if any.  Users can select compilers by ./configure --with-gcc=
    whatever, or select individual tool by e.g. ./configure NM=whatever.

    The added AC_ARG_VAR macros enrich ./configure --help output.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3433

commit 8b022da5186a783ade35532e20b1c7b2bd2c591f
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-19 16:49:50 +0900

    HAVE_STMT_AND_DECL_IN_EXPR: not for Sun C++

    Because we check HAVE_STMT_AND_DECL_IN_EXPR in configure, it is peoven
    to work in C.  But C++ situation can be different.  Oracle Developer
    Studio is another example of such things.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3433

commit 80b316212a337df1ad605e4fae6da47330523d12
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-19 16:33:15 +0900

    ext/-test-/cxxanyargs: suppress SunPro warning

    I found a way to suppress particular kind of warnings via pragmas.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3433

commit 01826b3fda53a98d8fe57e698be52143e1fef2d6
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-19 16:18:59 +0900

    RBIMPL_HAS_CPP_ATTRIBUTE: handle SunPro

    Oracle Developer Studio's C++ preprocessor started to understand
    __has_cpp_attribute since version 12.5, and is broken.  After looking
    around for a while I found Boost and ICU also had this issue before.
    Let me add workaround for it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3433

commit b6c7b94b1c9af2e6b8e482fe50fb0224d98cf5ad
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-21 10:40:26 +0900

    Remove nil-return examples from array.c (#3437)

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 6ba038af3116557f4b274f4278e46b37017c9ac9
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-21 02:10:09 +0900

    * 2020-08-21 [ci skip]

commit 51525557fd75ca97e6347e2913f2d7fa25e8f789
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-21 02:09:49 +0900

    Partial compliance with doc/method_documentation.rdoc in string.c (#3436)

    Removes references to *-convertible thingies.

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 1d1e36fab60a5409da6f6a26c707ce828b9b75d5
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-20 21:34:24 +0900

    Partial compliance with doc/method_documentation.rdoc in hash.c (#3432)

    Removes references to *-convertible thingies.

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit dfda2f739bad7997ef000b713d7dfba618430dc0
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-20 21:00:48 +0900

    Promote find to default gems

commit 6509652c13f1fe79891a249fbacdb95c2214d1b1
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-20 13:24:51 +0900

    Skip irb/test_history on Windows too

commit 8a40e9b5a20314a509c8caaadce19a0b52680419
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-20 12:39:11 +0900

    Promote set to default gems

commit eae7aef02029ee546c0829510618a70a3721c479
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-07-30 05:04:55 +0900

    [DOC] Improve Hash's doc for missing keys

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3373

commit a586ccf21fe606a3805ceaec88a19c8694036bde
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-07-30 03:45:16 +0900

    [DOC] Improve and simplify key egality documentation for Hash

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3373

commit 63d213eb133da695a9a0a796106af4f9db89b063
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-20 06:26:40 +0900

    Partial compliance with doc/method_documentation.rdoc (#3431)

    Removes references to *-convertible thingies.

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit a74df67244199d1fd1f7a20b49dd5a096d2a13a2
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-04-03 22:28:06 +0900

    Fix ObjectSpace.trace_object_allocations_stop to not raise if the tracepoint were not initialized

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3001

commit 7d01d8811b47a5af1a4a43b69b7002216103f37d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-20 00:09:19 +0900

    * 2020-08-20 [ci skip]

commit aaf0e33c0a45e13d27e1009c7298fcb0a57c0d4f
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-08-19 18:29:54 +0900

    register_fstring: avoid duping the passed string when possible

    If the passed string is frozen, bare and not shared, then there
    is no need to duplicate it.

    Ref: 4ab69ebbd7cef8539f687e1f948845d076461dc6
    Ref: https://bugs.ruby-lang.org/issues/11386

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3430

commit 7f0ea20581082f627c2569fde3c69dc14a663b37
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-19 19:19:07 +0900

    Added did_you_mean entry because did_you_mean uses MIT license

commit 5b04e2362c03bb82c76c65353c1856d6b0c3d745
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-19 19:22:12 +0900

    [ruby/racc] Fixed the licenses field of gemspec

    https://github.com/ruby/racc/commit/a1aeecff03

commit f81811fc2f5cedfc8dae0a917e15442244c55322
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-19 19:13:13 +0900

    Skip Editline for history tests of IRB

    Because Editline erases all histories in Readline::HISTORY when
    Readline.readline is called.

commit 8cc5f74ffc4097173ae69b0098524a5faecaee7e
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-17 11:54:12 +0900

    RHASH_EMPTY_P: convert into an inline function

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3426

commit 99093e1600ccef17ab99356b689573fcfd336ecc
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-17 11:12:23 +0900

    RHASH_TBL: is now ext-only

    It seems almost no internal codes use RHASH_TBL any longer.  Why not
    just eliminate it entirely, so that the macro can be purely ext-only.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3426

commit d2eeb836344406eff3342b86436cc7eb0f8cc908
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-17 14:30:06 +0900

    tool/update-deps -fix

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3427

commit 6649677eb93a101a5411a942ca1b84b541262537
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-17 13:51:23 +0900

    ROBJECT_IV_INDEX_TBL: convert into an inline function

    Former ROBJECT_IV_INDEX_TBL macro included RCLASS_IV_INDEX_TBL, which is
    not disclosed to extension libraies.  The macro was kind of broken.  Why
    not just deprecate it, and convert the internal use into an inline
    function.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3427

commit e2c2283a80843f6011a3d7665725ff0c5aed27c5
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-19 13:03:32 +0900

    Skip irb/test_history on Solaris

commit 7226f76255ff0fc209c973c6560f2331a676232b
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-08-19 11:56:42 +0900

    Reset object allocation trace information

    Compaction makes collisions in the weak map more likely.  For now, clear
    the tracing information before the test run so we get accurate results

commit e939a5c29f3ca57e852d69cbecac2936035e96c7
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-19 11:09:18 +0900

    Use "in" and "out" options of "system" instead of "replace_stdio"

commit 7a58ee9b962ad0072e5213d3512c809048e4eba1
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-08-19 09:34:03 +0900

    Update references when tracing allocations

    The allocation tracing code keeps essentially a weak reference to
    objects that have been allocated (storing the allocation information
    along with the weak ref).  Compacting the heap would break references in
    this weak map, so the wrong values could be returned.

    This commit just updates the values in the weak ref in order to fix the
    allocation tracing book keeping

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3429

commit 371c051ca885274a9991e216b6ff6b75fb5c7ff9
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-19 09:46:14 +0900

    * 2020-08-19 [ci skip]

commit ca6868a4305fa1ba8186c28a5b9acbe5e287f260
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-19 09:42:34 +0900

    Do "write" to temp stdin before "reopen"

commit bed6b7206a64eeca5b521e02799da4055d9f5e55
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-08-18 23:32:46 +0900

    test/irb/test_history.rb: prevent warnings

    ```
    /home/chkbuild/chkbuild/tmp/build/20200818T123003Z/ruby/test/irb/test_history.rb:16:
    warning: assigned but unused variable - result_output
    /home/chkbuild/chkbuild/tmp/build/20200818T123003Z/ruby/test/irb/test_history.rb:34:
    warning: assigned but unused variable - result_output
    /home/chkbuild/chkbuild/tmp/build/20200818T123003Z/ruby/test/irb/test_history.rb:57:
    warning: assigned but unused variable - result_output
    /home/chkbuild/chkbuild/tmp/build/20200818T123003Z/ruby/test/irb/test_history.rb:80:
    warning: assigned but unused variable - result_output
    ```

commit 6767a9ef2b0e4b19e58f7c148f6d176af73e55fc
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-18 21:43:19 +0900

    Launch external process on Windows correctly

commit d3b2c1a17585ad30fb297ab489da0505e8b9b97a
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-18 20:22:07 +0900

    Fixed the invalid SPDX identifier on gemspec

commit 8fb02b7a97317090e3946e6f2d4a7d034f9699f1
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-18 20:15:59 +0900

    Update the license for the default gems to dual licenses

commit 0bb8bd7623b59bcc9cccc623510775921b00e4b1
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-18 20:15:20 +0900

    Added the missing licenses field to some default gems

commit a114869905f787ce7e085f60e62bf038df9b84de
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-18 20:06:00 +0900

    Fixed the attribute name for multiple licenses.

commit 4f697bcf734fc9f667b812846d15ac0525455bb1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-18 20:09:57 +0900

    Strip trailing spaces [ci skip]

commit 01b6c520f5ee48aad7a0f3dfd690616d179e9e1f
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-18 12:38:07 +0900

    [ruby/irb] Change the way the IRB is invoked as an external process

    https://github.com/ruby/irb/commit/f4bcdf4375

commit 172d44e8094103f23ac030cdd5fa960d0632f03f
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-12 12:48:58 +0900

    [ruby/reline] Add require 'rbconfig' to use RbConfig

    https://github.com/ruby/reline/commit/4a0d32a3d0

commit f2435c15089f5789a1ad6bd5bd57d4ae5a9913c2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-12 11:09:25 +0900

    [ruby/reline] Get rid of loading pathname unnecessarily

    https://github.com/ruby/reline/commit/9bd54b7f1c

commit d1b06229fab604515a29bd03eea0ac0c960a1ccf
  Author: Maciej Mensfeld <maciej@mensfeld.pl>
  Date:   2020-08-10 19:54:46 +0900

    [ruby/reline] Use the standard SPDX ID for license in gemspec

    It is better to use SPDX ID for license field:

    https://guides.rubygems.org/specification-reference/#license=

    ref: https://spdx.org/licenses/Ruby.html
    https://github.com/ruby/reline/commit/8468a727e5

commit ad24eaabfda6e6892f81c962ee3d75dcc58a8f95
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-07-29 22:34:38 +0900

    [ruby/reline] Remove duplicated line of code

    Co-authored-by: Quentin Sabah <quentin.sabah@gmail.com>

    https://github.com/ruby/reline/commit/5526e9f7ee

commit 80a7358cfcafa9748c232be851e5f70bede32acb
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-07-20 20:52:07 +0900

    [ruby/reline] Keep original characters in inputrc

    https://github.com/ruby/reline/commit/96583c6336

commit 44b24ab4c1bd1833aab37cba83801b2023b8e0a9
  Author: Mark Delk <jethrodaniel@gmail.com>
  Date:   2020-07-13 06:47:43 +0900

    [ruby/reline] Support mode icon

    Co-authored-by: aycabta <aycabta@gmail.com>

    https://github.com/ruby/reline/commit/067b618123

commit 0bc748db3685d867f54a4e1b589b732608a1ca69
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-07-12 23:29:45 +0900

    [ruby/reline] Call #start_terminal after generating temporary inputrc

    because inputrc will be read when starting up

    https://github.com/ruby/reline/commit/0a30464385

commit 568615d3952f332d971b00ba30eeedc3606a51c0
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-07-12 23:21:36 +0900

    [ruby/reline] Use single quotes for non-expanded string literals

    https://github.com/ruby/reline/commit/3bf7c7d722

commit f0e6ecec65229050e5c9a6010e09546e9773090d
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-07-05 14:02:34 +0900

    [ruby/reline] Use temporary dir with yamatanooroti test

    https://github.com/ruby/reline/commit/8d7df88e98

commit 215fe54777c7183198d9789b25ea0e0af016261b
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-07-04 00:42:06 +0900

    [ruby/reline] Check Errno::EIO

    Catch Errno::EIO what will be occurred if the console terminates I/O before
    Reline finishes rendering.

    https://github.com/ruby/reline/commit/e51eaa6d43

commit f0d3d4fedbfe64c704f8f1e42b1301384b7f52aa
  Author: Tomás Pollak <tomaspollak@gmail.com>
  Date:   2020-05-19 10:13:49 +0900

    [ruby/reline] Add home/end mapping for urxvt and relatives
    https://github.com/ruby/reline/commit/c30b293f1c

commit a30dea5852b5ece74e435d912596983d2654580a
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-17 10:41:31 +0900

    [ruby/irb] Support shortening lambda notetion for nesting level of prompt

    https://github.com/ruby/irb/commit/f1a775af47

commit 43c648c8325db536715a8e827951ac48114eb6bd
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-16 22:25:31 +0900

    [ruby/irb] Support shortening lambda notation

    https://github.com/ruby/irb/commit/8e3f81d428

commit b3f84b4a5b7c78339c28baa11f75ed4c121bd5ca
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-13 19:19:00 +0900

    [ruby/irb] Expand path to run separated test correctly

    https://github.com/ruby/irb/commit/be2937abd5

commit 7fa86de15b2a8aa85919f4aa76e86acbb9a43564
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-12 13:15:29 +0900

    [ruby/irb] Workaround a bug of ruby-mode.el

    https://github.com/ruby/irb/commit/6dfd59400d

commit 82d4da7816d114e31395441aca3c86111f1251bd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-12 12:50:57 +0900

    [ruby/irb] Yet another unnecessary readline

    https://github.com/ruby/irb/commit/933841af11

commit 0fcbd072475c96cfca4bc79f0897b39de5cc9e14
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-12 11:14:12 +0900

    [ruby/irb] Directly check if the method is available instead of version

    https://github.com/ruby/irb/commit/3ea9fd9ed0

commit 6aa786b8a3a2bd817839edde8ace54efc0681d42
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-12 11:21:36 +0900

    [ruby/irb] Get rid of loading readline unnecessarily

    https://github.com/ruby/irb/commit/420e7d2270

commit d32229e33872d3c64d21dd016ec85a6b3e605890
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-12 11:20:35 +0900

    [ruby/irb] Prefer require_relative to load the files in this library

    https://github.com/ruby/irb/commit/0ac3bc7296

commit a388e2554c9461e15adfd8bc2efa7da5716080f8
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-11 23:54:23 +0900

    [ruby/irb] Add require 'irb' to test separately

    https://github.com/ruby/irb/commit/9e4423b6e1

commit 126e1fc2961150a7026b9911a1ed82dbf9557af7
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-08 20:48:23 +0900

    [ruby/irb] Make history infinite if set SAVE_HISTORY to negative

    https://github.com/ruby/irb/commit/824473e880

commit ef498a016b496c20e45dfeaa3064f8033f420336
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-07 23:42:51 +0900

    [ruby/irb] Suppress crash when bignum is set to SAVE_HISTORY

    https://github.com/ruby/irb/commit/5044eb2730

commit 1359da6ec09d60ac9aef28f2e0df4d7f712f08d3
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-08-06 23:34:46 +0900

    [ruby/irb] Add tests about IRB history

    https://github.com/ruby/irb/commit/82efd370eb

commit 6f0ef83de7f8b9cda1bd9247a2c57b27278e3565
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-07-24 23:48:32 +0900

    [ruby/irb] Symbol.all_symbols was adopted by Ruby 1.8.0 or later

    https://github.com/ruby/irb/commit/71ba754e8e

commit 5474007d6119a5ac021bc9fc1bbf932aab5f0dbb
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-06-25 23:56:03 +0900

    [ruby/irb] Support oneline method definition

    https://github.com/ruby/irb/commit/826ae909c9

commit 701217572f865375b137d2830d4da0c3e78de046
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-08-18 14:36:39 +0900

    test/fiber/test_backtrace.rb: prevent a warning

    ```
    /home/chkbuild/chkbuild/tmp/build/20200818T033004Z/ruby/test/fiber/test_backtrace.rb:9:
    warning: ambiguous first argument; put parentheses or a space even after
    `/' operator
    /home/chkbuild/chkbuild/tmp/build/20200818T033004Z/ruby/test/fiber/test_backtrace.rb:15:
    warning: ambiguous first argument; put parentheses or a space even after
    `/' operator
    ```

commit bc00e6aa909631c995473bc2f3d62fbe60b16ffe
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-08-18 02:22:32 +0900

    Disable debugging test.

    ```
      1) Failure:
    TestObjSpace#test_trace_object_allocations [/tmp/ruby/v3/src/trunk-gc_compact/test/objspace/test_objspace.rb:175]:
    <nil> expected but was
    <"/tmp/ruby/v3/src/trunk-gc_compact/test/objspace/test_objspace.rb">.
    ```

    @tenderlove will re-enable it soon.

commit 264e4cd04fbcdcb739a1ff9a84e19afe66005cb2
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-08-11 07:19:17 +0900

    Remove write barrier exemption for T_ICLASS

    Before this commit, iclasses were "shady", or not protected by write
    barriers. Because of that, the GC needs to spend more time marking these
    objects than otherwise.

    Applications that make heavy use of modules should see reduction in GC
    time as they have a significant number of live iclasses on the heap.

     - Put logic for iclass method table ownership into a function
     - Remove calls to WB_UNPROTECT and insert write barriers for iclasses

    This commit relies on the following invariant: for any non oirigin
    iclass `I`, `RCLASS_M_TBL(I) == RCLASS_M_TBL(RBasic(I)->klass)`. This
    invariant did not hold prior to 98286e9 for classes and modules that
    have prepended modules.

    [Feature #16984]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3410

commit 1b347534904e9c8d85d1c025d0ba7b179fee82d7
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-18 01:48:14 +0900

    * 2020-08-18 [ci skip]

commit 971857c3326b163c45f02922bb5c5143d54e520d
  Author: John Hawthorn <john@hawthorn.email>
  Date:   2020-07-10 06:59:59 +0900

    Fix method name escaping in ObjectSpace.dump

    It's possible to define methods with any name, even if the parser
    doesn't support it and it can only be used with ex. send.

    This fixes an issue where invalid JSON was output from ObjectSpace.dump
    when a method name needed escaping.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3383

commit b52a501ca786a54fdaadf1a60fef517c55dd6ca3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-17 22:57:40 +0900

    Ensure the shortcut cached in the class

    As well as the other places using RCLASS_IV_INDEX_TBL.
    `IO#reopen` seems the only case that the class of an object can be
    changed.

commit 27f7b047e07ceb9ee963e5d74ab0399b5e94ac4c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-17 22:36:48 +0900

    Also escape DEL code

commit 7b4b5e08409f1df2a99c00d40f4859b584cd1dd6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-17 22:29:51 +0900

    Fixed the radix for control chars

commit 0a218a97ad31f06eb7f59ccdd428fd46c4b93982
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-08-15 12:36:18 +0900

    Expose ec -> backtrace (internal) and use it to implement fiber backtrace.

    See <https://bugs.ruby-lang.org/issues/16815> for more details.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3422

commit c45f5ff2b0b801a94ffe761d83a46760c3d6d33d
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-08-17 17:44:58 +0900

    Clarify coroutine implementation license.

    <https://bugs.ruby-lang.org/issues/16805>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3137

commit a90f29ebb2e3b1b26fb6528104a262537ed251de
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-17 14:27:34 +0900

    procnames-start-lines [ci skip]

commit 352e923242a23ba661a8cf91e4c43c156f7d7519
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-17 14:09:20 +0900

    Revisit "Refactor to reduce "swap" instruction of pattern matching"

    Just moved "case base" after allocating cache space.

commit 86260ee98663f5cc600c149b8c589f1ae9b1f98a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-17 09:29:04 +0900

    * 2020-08-17 [ci skip]

commit 5849309c5a3754c3a9b0d1e42a34e82b94a5104b
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-08-17 09:26:30 +0900

    Revert "Refactor to reduce "swap" instruction of pattern matching"

    This reverts commit 3a4be429b50062122d1616256de38649464d3146.

    To fix following warning:

    ```
    compiling ../compile.c
    ../compile.c:6336:20: warning: variable 'line' is uninitialized when used here [-Wuninitialized]
        ADD_INSN(head, line, putnil); /* allocate stack for cached #deconstruct value */
                       ^~~~
    ../compile.c:220:57: note: expanded from macro 'ADD_INSN'
      ADD_ELEM((seq), (LINK_ELEMENT *) new_insn_body(iseq, (line), BIN(insn), 0))
                                                            ^~~~
    ../compile.c:6327:13: note: initialize the variable 'line' to silence this warning
        int line;
                ^
                 = 0
    1 warning generated.
    ```

commit a73b5cc556bd131fe924ed6bb02b3c5bdf1593e8
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-31 04:48:19 +0900

    Remove the deprecated override of Kernel#open in open-uri

    This was deprecated in 2.7 to resolve [Misc #15893].

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3377

commit 3a4be429b50062122d1616256de38649464d3146
  Author: wanabe <s.wanabe@gmail.com>
  Date:   2020-08-16 18:53:39 +0900

    Refactor to reduce "swap" instruction of pattern matching

commit 5c40c88a3e3361b77662b3f699fbffeb32663ce3
  Author: wanabe <s.wanabe@gmail.com>
  Date:   2020-08-09 17:58:01 +0900

    Adjust sp for `case ... in a: 0 ... end`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3403

commit 691f10dd89e8a3feedab5bea823038469b3d6d66
  Author: wanabe <s.wanabe@gmail.com>
  Date:   2020-08-09 17:49:11 +0900

    Adjust sp for `case ... in *, a, * end`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3403

commit 6c407b3668d7acf8e744878fc3577a014a600bb7
  Author: wanabe <s.wanabe@gmail.com>
  Date:   2020-08-08 23:14:30 +0900

    Adjust sp for `case ... in *v end`/`case ... in v1, v2 end`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3403

commit c866d6563f2295d12225addc2e4f8edb677c4e2d
  Author: wanabe <s.wanabe@gmail.com>
  Date:   2020-08-08 22:34:08 +0900

    Adjust sp for `case ... in v1 ... in v2 end`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3403

commit d5940784263e60140fa15e8ca5ed4d33197cd255
  Author: wanabe <s.wanabe@gmail.com>
  Date:   2020-08-08 22:27:07 +0900

    Adjust sp for `case ... in v1, v2 ... end`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3403

commit 2bbb7c3d1f2dc001354f6d58bf27c7796ea5f17e
  Author: wanabe <s.wanabe@gmail.com>
  Date:   2020-08-08 21:48:35 +0900

    Adjust sp for `case ... in pat => var ... end`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3403

commit 6bc0c6c18b02c5a00774303733bf1e3628f5e6eb
  Author: wanabe <s.wanabe@gmail.com>
  Date:   2020-08-08 21:00:51 +0900

    Adjust sp for `case ... in pat1 | pat2 ... end`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3403

commit 0759862458c25bb8a7832090545c625c364e5d94
  Author: wanabe <s.wanabe@gmail.com>
  Date:   2020-08-08 16:08:47 +0900

    Adjust sp for pattern matching implicit/explicit "else"

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3403

commit c1e7f0c709389a230f8032f3e1fc66148e935425
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-16 08:43:57 +0900

    * 2020-08-16 [ci skip]

commit a7bd0ec5706caf2767b29ab09a3d40d62bab3fc4
  Author: wanabe <s.wanabe@gmail.com>
  Date:   2020-08-08 08:34:22 +0900

    Warn sp overwriting on compile time

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3401

commit ac399c2c7a51b044e23c6dc8f7f9d55ee271d9a5
  Author: wanabe <s.wanabe@gmail.com>
  Date:   2020-08-07 07:56:33 +0900

    Show hidden object and TS_BUILTIN for halfbaked insn data

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3401

commit d75433ae19f1f979ee29149128b24990dd50c28a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-15 14:17:02 +0900

    [DOC] fixed a missing markup

commit 4d7818a29988bbd13c93c18a1c820737755f5293
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-14 14:56:44 +0900

    tool/update-deps --fix

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3419

commit ff30358d13d24d8202f2717c43700be70bdd49d3
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-14 14:45:23 +0900

    RARRAY_AREF: convert into an inline function

    RARRAY_AREF has been a macro for reasons.  We might not be able to
    change that for public APIs, but why not relax the situation internally
    to make it an inline function.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3419

commit 72d0f2f0e0546a4c7c3b9ec85d3f67a36e9c5038
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-15 08:55:26 +0900

    * 2020-08-15 [ci skip]

commit c84ccf1a0780d2542381c904b8dd524f316bb237
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-15 08:55:04 +0900

    Fix links to Dig Methods document (#3421)

    * Fix links to Dig Methods document

    * Fix links to Dig Methods document

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit fee1b98fde20eef7d5b7f717c5988fb2303f54a3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-14 16:33:47 +0900

    [DOC] fixed the method name

commit e658040266fc57422cfe12f5f6655084e695f6e2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-14 16:12:58 +0900

    RSTRING_LEN was not used

commit 4318aba9c94ebff53e4168886e1a35a24013924f
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-08-14 08:51:14 +0900

    re.c: prevent "warning: variable 'n' set but not used"

    by adding MAYBE_UNUSED.

commit 22fd617aa5a8dd9c8426a546e0cb8a64b45c230b
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-14 03:16:27 +0900

    Adding doc/dig_methods.rdoc and links to it (#3416)

    Adds a full discussion of #dig, along with links from Array, Hash, Struct, and OpenStruct.

    CSV::Table and CSV::Row are over in ruby/csv. I'll get to them soon.

    The art to the thing is to figure out how much (or how little) to say at each #dig.

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit cead77d809e2a7610afc68c395f12007472a72a7
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-14 02:16:15 +0900

    * 2020-08-14 [ci skip]

commit 511b55bcefc81c036294dc9a544d14bd342acd3b
  Author: AGSaidi <AGSaidi@users.noreply.github.com>
  Date:   2020-08-14 02:15:54 +0900

    Enable arm64 optimizations that exist for power/x86 (#3393)

    * Enable unaligned accesses on arm64

    64-bit Arm platforms support unaligned accesses.

    Running the string benchmarks this change improves performance
    by an average of 1.04x, min .96x, max 1.21x, median 1.01x

    * arm64 enable gc optimizations

    Similar to x86 and powerpc optimizations.

    |       |compare-ruby|built-ruby|
    |:------|-----------:|---------:|
    |hash1  |       0.225|     0.237|
    |       |           -|     1.05x|
    |hash2  |       0.110|     0.110|
    |       |       1.00x|         -|

    * vm_exec.c: improve performance for arm64

    |                               |compare-ruby|built-ruby|
    |:------------------------------|-----------:|---------:|
    |vm_array                       |     26.501M|   27.959M|
    |                               |           -|     1.06x|
    |vm_attr_ivar                   |     21.606M|   31.429M|
    |                               |           -|     1.45x|
    |vm_attr_ivar_set               |     21.178M|   26.113M|
    |                               |           -|     1.23x|
    |vm_backtrace                   |       6.621|     6.668|
    |                               |           -|     1.01x|
    |vm_bigarray                    |     26.205M|   29.958M|
    |                               |           -|     1.14x|
    |vm_bighash                     |    504.155k|  479.306k|
    |                               |       1.05x|         -|
    |vm_block                       |     16.692M|   21.315M|
    |                               |           -|     1.28x|
    |block_handler_type_iseq        |       5.083|     7.004|
    |                               |           -|     1.38x|

  Notes:
    Merged-By: nurse <naruse@airemix.jp>

commit 787cb0fd868bb6de40dcc78fcc39c28a96c7d561
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-13 20:56:23 +0900

    Replace repeated RSTRING_PTR and RSTRING_LEN with RSTRING_GETMEM

    As now RSTRING_PTR and RSTRING_LEN are functions, they very bother
    stepping in/out during debugging.

commit 014a4fda54cb6897ed54ea9c44376db3459fc46e
  Author: Kasumi Hanazuki <kasumi@rollingapple.net>
  Date:   2020-08-13 11:26:09 +0900

    rb_str_{index,rindex}_m: Handle /\K/ in pattern

    When the pattern Regexp given to String#index and String#rindex
    contain a /\K/ (lookbehind) operator, these methods return the
    position where the beginning of the lookbehind pattern matches, while
    they are expected to return the position where the \K matches.

    ```
    # without patch
    "abcdbce".index(/b\Kc/)  # => 1
    "abcdbce".rindex(/b\Kc/)  # => 4
    ```

    This patch fixes this problem by using BEG(0) instead of the return
    value of rb_reg_search.

    ```
    # with patch
    "abcdbce".index(/b\Kc/)  # => 2
    "abcdbce".rindex(/b\Kc/)  # => 5
    ```

    Fixes [Bug #17118]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3414

commit 5d71eed1a7f0a70db013de59cd7e95bdca0d5c0e
  Author: Kasumi Hanazuki <kasumi@rollingapple.net>
  Date:   2020-08-13 12:37:32 +0900

    rb_str_{partition,rpartition}_m: Handle /\K/ in pattern

    When the pattern given to String#partition and String#rpartition
    contain a /\K/ (lookbehind) operator, the methods return strings
    sliced at incorrect positions.

    ```
    # without patch
    "abcdbce".partition(/b\Kc/)  # => ["a", "c", "cdbce"]
    "abcdbce".rpartition(/b\Kc/)  # => ["abcd", "c", "ce"]
    ```

    This patch fixes the problem by using BEG(0) instead of the return
    value of rb_reg_search.

    ```
    # with patch
    "abcdbce".partition(/b\Kc/)  # => ["ab", "c", "dbce"]
    "abcdbce".rpartition(/b\Kc/)  # => ["abcdb", "c", "e"]
    ```

    As a side-effect this patch makes String#partition 2x faster when the
    pattern is a costly Regexp by performing Regexp search only once,
    which was unexpectedly done twice in the original implementation.

    Fixes [Bug #17119]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3413

commit 69b5241c360aa180550538dba1c7bf0a6cc8cc22
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-12 09:52:12 +0900

    ruby_debug_log: suppress warning

    Old gcc (< 5 maybe?) warns that this variable is not initialized:

        debug.c: In function 'ruby_debug_log':
        debug.c:441:13: warning: 'r' may be used uninitialized in this function [-Wmaybe-uninitialized]
                 if (r && len < MAX_DEBUG_LOG_MESSAGE_LEN) {
                     ^

    I don't know if that is true, but adding "= 0" here must harm no one.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3411

commit 1f9e25cd027ea05311ca25aa9fc09cf935cb5040
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-12 09:46:59 +0900

    MAYBE_UNUSED should just suffice

    This reverts commit c355fa72d4e356378a8b03a67432b52bafcc308b.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3411

commit 4fc6cfbeae3c86e8f3675c70b417356ecd3d4a56
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-08-13 03:43:11 +0900

    Revert "Improve performance of partial backtraces"

    This reverts commit f2d7461e85053cb084e10999b0b8019b0c29e66e.

    Some CI machines are reporting issues with backtrace_mark, so I'm
    going to revert this for now.

commit 6dfd7ad4f5af7aae1e20cbe9ea1ec8b25abd7106
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-13 03:03:49 +0900

    * 2020-08-13 [ci skip]

commit f2d7461e85053cb084e10999b0b8019b0c29e66e
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-24 06:10:04 +0900

    Improve performance of partial backtraces

    Previously, backtrace_each fully populated the rb_backtrace_t with all
    backtrace frames, even if caller only requested a partial backtrace
    (e.g. Kernel#caller_locations(1, 1)).  This changes backtrace_each to
    only add the requested frames to the rb_backtrace_t.

    To do this, backtrace_each needs to be passed the starting frame and
    number of frames values passed to Kernel#caller or #caller_locations.

    backtrace_each works from the top of the stack to the bottom, where the
    bottom is the current frame.  Due to how the location for cfuncs is
    tracked using the location of the previous iseq, we need to store an
    extra frame for the previous iseq if we are limiting the backtrace and
    final backtrace frame (the first one stored) would be a cfunc and not
    an iseq.

    To limit the amount of work in this case, while scanning until the start
    of the requested backtrace, for each iseq, store the cfp.  If the first
    backtrace frame we care about is a cfunc, use the stored cfp to find the
    related iseq.  Use a function pointer to handle the storage of the cfp
    in the iteration arg, and also store the location of the extra frame
    in the iteration arg.

    backtrace_each needs to return int instead of void in order to signal
    when a starting frame larger than backtrace size is given, as caller
    and caller_locations needs to return nil and not the empty array in
    these cases.

    To handle cases where a range is provided with a negative end, and the
    backtrace size is needed to calculate the result to pass to
    rb_range_beg_len, add a backtrace_size static function to calculate
    the size, which copies the logic from backtrace_each.

    As backtrace_each only adds the backtrace lines requested,
    backtrace_to_*_ary can be simplified to always operate on the entire
    backtrace.

    Previously, caller_locations(1,1) was about 6.2 times slower for an
    800 deep callstack compared to an empty callstack.  With this new
    approach, it is only 1.3 times slower. It will always be somewhat
    slower as it still needs to scan the cfps from the top of the stack
    until it finds the first requested backtrace frame.

    Fixes [Bug #17031]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3357

commit 166cacc505e5a0d807712e9cb5b6919a7d190a6e
  Author: Peter Zhu <peter@peterzhu.ca>
  Date:   2020-08-12 17:54:09 +0900

    Fix corruption in ARGF.inplace

    Extension string stored in `ARGF.inplace` is created using an api
    designed for C string constants to create a Ruby string that
    points at another Ruby string. When the original string is swept,
    the extension string gets corrupted.

    Reproduction script (on MacOS):

    ```ruby
    #!/usr/bin/ruby -pi.bak

    BEGIN {
      GC.start(full_mark: true)
      arr = []
      1000000.times do |x|
        arr << "fooo#{x}"
      end
    }

    puts "hello"
    ```

    Co-Authored-By: Matt Valentine-House <31869+eightbitraptor@users.noreply.github.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3409

    Merged-By: nobu <nobu@ruby-lang.org>

commit e79cdcf61b0665d8a9bb309a607227de43e95673
  Author: Kasumi Hanazuki <kasumi@rollingapple.net>
  Date:   2020-08-11 18:32:02 +0900

    string.c(rb_str_split_m): Handle /\K/ correctly

    Use BEG(0) instead of the result of rb_reg_search to handle the cases
    when the separator Regexp contains /\K/ (lookbehind) operator.

    Fixes [Bug #17113]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3407

commit 66efe373116d510c05d57964b5ffa47f1c6e565c
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-12 01:02:18 +0900

    * 2020-08-12 [ci skip]

commit 7930a352a57c42205eaf064c4ae70c16c5f6ed99
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-08-11 16:13:53 +0900

    Test out fix for OpenSSL test flakiness

    `OpenSSL::TestX509Store#test_verify` has been failing intermittently on
    CI about once a day:
      - http://ci.rvm.jp/results/trunk-random2@phosphorus-docker/3121244
      - http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3117661
      - http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3111684

    According to the test:
     > OpenSSL uses time(2) while Time.now uses clock_gettime(CLOCK_REALTIME),
     > and there may be difference.

    This difference is could be the cause for the flaky failures. Let's see
    if giving the certificate more room solves the problem.

    In any case, I will revert this in a week. I think changes to these
    should go to https://github.com/ruby/openssl/?

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3406

commit 42725e3ab448448a0538e6783fd9e14c4b278891
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-08-11 22:49:04 +0900

    Enable s390x invokebuiltin JIT test again

commit 7806b2e28b14c6f4de0d646410ec52514743fc1d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-11 16:29:26 +0900

    Use colorize.rb for non-capable terminals

commit 2e7fe3b687b8bad1452b7643c0063b89c91c930a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-11 16:17:51 +0900

    Add default color for each instance

commit 5af983af4f7722845f73b426cb33b7ba91a1c47c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-11 11:45:54 +0900

    template/prelude.c.tmpl: suppress clang-12 warning

    Clang 12 warns "suspicious concatenation of string literals in an array
    initialization", which is rather annoying than useful in this context.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3405

commit ef2b785b2dd188196e91dd7084a4ac4da42228f2
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-11 10:22:38 +0900

    .github/workflows/compilers.yml: clang-12

    LLVM made release/11.x branch.  Its master is now version 12.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3405

commit acd8ee8dbc0c0c5da8aa486db7dca169d8239196
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-11 11:40:37 +0900

    tool/prelude.c.tmpl: use RubyVM::CEscape

    Do not repeat yourself.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3405

commit b0eb5aa34476636771a6bfa1397115011066c410
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-11 11:36:48 +0900

    RubyVM::CEscape#rstring2cstr: do not escape '

    A single quote "is representable either by itself or by the escape
    sequence", according to ISO/IEC 9899 (checked all versions).  So this is
    not a bug fix.  But the generated output is a bit readable without
    backslashes.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3405

commit d43e99b7220ae3a7fbd58fbc8bde74085f6bd14c
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-08-11 04:47:31 +0900

    Add Method Documentation Guide (#3399)

    This documents how methods for core classes and classes in the
    standard library should be documented.

    Co-authored-by: Eric Hodel <drbrain@segment7.net>

  Notes:
    Merged-By: jeremyevans <code@jeremyevans.net>

commit 404bff567d539aa21cefefcee5adf002c7ea368d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-11 01:33:54 +0900

    * 2020-08-11 [ci skip]

commit c303e21d5222aa10cd1649198893d5bf0da3b63a
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-11 01:33:31 +0900

    Enhanced RDoc for Array (#3400)

    Methods:

        drop
        drop_while
        any?
        all?
        none?
        one?

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 0ca6b973e89889f1ce0dbbc05da780cb75776bfe
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-10 19:45:17 +0900

    Removed non-ASCII code to suppress warnings by localized compilers

commit 17d869c7d65534a18885162ea4daa78ade3254d6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-10 19:39:58 +0900

    Check if C-sources are US-ASCII

    Encoding of C-sources can not be determined, and non-ASCII code
    are often warned by localized compilers.

commit 187c164d714973fcbb87f33139cd863fd8068096
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-10 17:46:32 +0900

    Suppress unused-variable warning

    `key` is not used outside this assertion.

commit c355fa72d4e356378a8b03a67432b52bafcc308b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-10 16:54:09 +0900

    Suppress unused-function warnings

    Calls with a constant argument should be optimized away.

commit 9260b0aece99f4e6a47c34fea9ff09a9af403646
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-10 16:36:35 +0900

    * 2020-08-10 [ci skip]

commit fac62f094e429b0290bb2940077a1c28dc614645
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-10 16:35:42 +0900

    Adjust indent

commit b4b702dd4f6d2dbccc728f59da66b8ed4cfdfd4b
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-08 02:08:56 +0900

    * 2020-08-08 [ci skip]

commit 4126a979ae0aa436e0006887fde4a1838c363cf0
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-08 02:08:36 +0900

    Enhanced RDoc for Array#take and Array#take_while (#3398)

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 615b7fa5572081695be13a1c862aab46c242a02c
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-07 20:52:37 +0900

    Enhanced RDoc for Array#product (#3395)

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 504e632a15a7886ff693a0162e998aed35d7b2ac
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-08-07 14:01:13 +0900

    sync NDEBUG, RUBY_DEBUG, and RUBY_NDEBUG (#3327)

    - When NDEBUG is defined that shall be honoured.
    - When RUBY_DEBUG is defined that shall be honoured.
    - When both are defined and they conflict, warnings shall be rendered.
    - When nothing is specified, nothing shall happen.

  Notes:
    Merged-By: shyouhei <shyouhei@ruby-lang.org>

commit 8a99f820ce208b6d9ddb9d679108b174977514c3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-07 12:28:39 +0900

    Use zlib provided by vcpkg in mswin CI (#3397)

    * Revert "mswin build - install src zlib files after checkout"

    This reverts commit b6175c9e4fe25b978252d8998fe791d65d998fc5.

    * Revert "mswin build - install src zlib files"

    This reverts commit bf758ef8b4e2895bf71a611a7ab2a4f236e260ea.

  Notes:
    Merged-By: hsbt <hsbt@ruby-lang.org>

commit 429efce4ede0828eda450279ca3f7ccffc388211
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-07 00:17:15 +0900

    * 2020-08-07 [ci skip]

commit fcdda2f8a1b8556bc2ad44e75434f8b6b19f1746
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-08-07 00:16:06 +0900

    Add more debug info to test_verify

    http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3111684

commit 99e4852766a83a5342f75400531d569363a67cc2
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-08-06 22:04:39 +0900

    Add verbose message to random failed assertion

    for example:
    http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3111251
    http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3109195

commit 1819652578e8f9fe3606f7a716ec4e427fc55f0a
  Author: Nguyễn Quang Minh <nguyenquangminh0711@gmail.com>
  Date:   2020-08-06 11:56:24 +0900

    [Feature #16513] TracePoint#inspect returns "... file:line" (#3391)

    * Fix debug documents to match Thread#to_s change (Feature #16412 ticket)

    * TracePoint#inspect returns "... file:line" (Feature #16513)

    * Guard older version of Ruby in Tracepoint inspection tests

    * Focus on current thread only when running TracePoint inspection test

  Notes:
    Merged-By: ko1 <ko1@atdot.net>

commit bbbec4b87c1e66909f5bee9acd3e460b8c1ad663
  Author: Jun Aruga <jaruga@redhat.com>
  Date:   2020-07-31 23:08:38 +0900

    Apply timeout-scale to test_thr_kill.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3380

commit 77cfd2e0a13f015bd47cbd111c2d42eaadebc731
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-06 04:58:36 +0900

    * 2020-08-06 [ci skip]

commit e0bc436d9cb4263cd1dcd78e8cba0bb84d2fd28b
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-06 04:58:16 +0900

    Enhanced documentation for Array#repeated_combination (#3392)

    * Enhanced documentation for Array#repeated_combination

    * Enhanced documentation for Array#repeated_combination

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 249833461444ef79b625fb27bf30d366fdc9b8dd
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-05 23:42:58 +0900

    Enhanced documentation for Array#repeated_permutation (#3390)

    * Enhanced documentation for Array#repeated_permutation

    * Enhanced documentation for Array#repeated_permutation

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 8f71bb0e4f76ab12e469d33bc560bd76cc3aaf90
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-05 20:01:03 +0900

    Fixed the inconsistency gemspec location with net-* gems.

commit c87043283ef7114db54857ae13798e3d7cb031c0
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-05 08:05:19 +0900

    * 2020-08-05 [ci skip]

commit 9db5d63ece9f9d794c4a6142593682d8228d4433
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-08-04 22:17:31 +0900

    [DOC] Use oracle url instead of sun url
     [ci skip]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3389

commit e8edc34f0abe176b24975a1fed1f2c3782f0a252
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-08-04 07:31:25 +0900

    Remove unused struct member

    I accidentally added this in 35ba2783fe6b3316a6bbc6f00bf975ad7185d6e0,
    and it's making the size of RVALUE be too big. I'm sorry! orz

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3388

commit d8e78850122d8ddc5b2f133d5c5ffbe8fb25f44c
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-04 04:28:22 +0900

    * 2020-08-04 [ci skip]

commit 3dc313a239787007afdcad8cfaff6f32c3f0dd28
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-08-04 01:22:52 +0900

    Don't pin objects if we're just walking the heap

    Walking the heap can inadvertently pin objects.  Only mark the object's
    pin bit if the mark_func_data pointer is NULL (similar to the mark bits)

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3387

commit 1d637b1f5ec77534ceb700e326a9401a0f32ef0c
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-07-16 21:21:56 +0900

    [ruby/weakref] Use Gemfile instead of Gem::Specification#add_development_dependency.

    https://github.com/ruby/weakref/commit/10d547ba12

commit 9e93596d7b74914c9382b51e0f25890ebd7e27a9
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-27 09:42:54 +0900

    [ruby/ostruct] Drop to Ruby 2.4

    https://github.com/ruby/ostruct/commit/00e8fe3df2

commit 85dc570893c2aaf25501fc780343508c44c6cd1d
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-31 03:37:16 +0900

    [ruby/net-http] Fix SSL session reuse test with LibreSSL 3.2+

    https://github.com/ruby/net-http/commit/5ae9620fbc

commit 20eb9e98b65352422fbb1197eb8699bfcb12d5ef
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-30 04:34:07 +0900

    [ruby/net-http] Switch invalid server name format

    invalid_servername is not a valid name in an SSL request due to
    the use of the underscore, and LibreSSL 3.2.0 will raise an
    exception for this.  These tests are not testing the allowed
    characters in the server name, but how net/http handles cases where
    the server name provided does not match the IP address you are
    trying to connect to, so I think it's better to just modify the
    tests to use a correct format.

    While here, fix a typo in a test name, and use better code in the
    ensure block so the same test doesn't issue both a failure and an
    error.

    https://github.com/ruby/net-http/commit/0e8dc91120

commit e732d376affbf0fea8910ece53338cce57c25ad4
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-27 11:07:26 +0900

    [ruby/cgi] Drop to Ruby 2.4

    https://github.com/ruby/cgi/commit/8a86536e94

commit 3ec860ae8870ee955e34bfa0acc576197012a0c7
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-03 17:52:01 +0900

    net-ftp is under `lib/net` instead of `lib/net/ftp`

commit 2346e2f0db50c577af6568e5697d39553d7ddb67
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-08-03 17:40:05 +0900

    Followed up b2d96abb42abbe2e01f010ffc9ac51f0f9a50002 for net-ftp.

commit 1cc91b6341ae5100e1e0f83c28ee7eb53bd2662f
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-03 01:58:24 +0900

    * 2020-08-03 [ci skip]

commit c987be2552d69eca3da7980e5edb3c11eced4b2f
  Author: Alan Wu <alanwu@ruby-lang.org>
  Date:   2020-08-03 01:56:06 +0900

    Improve docs for Module#remove_class_variable [ci skip]

commit ac69849e49982ea83036c04c5d5f7245e3956a49
  Author: Alan Wu <alanwu@ruby-lang.org>
  Date:   2020-08-02 12:05:19 +0900

    Enable an assert on all configs for debugging

    I'm trying to get a better understanding for rare crashes that happen on
    ci:
     - http://ci.rvm.jp/results/trunk_clang_10@silicon-docker/3101898
     - http://ci.rvm.jp/results/trunk-test@ruby-sky1/2777695

    Looking at the stack trace it looks like a type confusion possibly
    induced by heap corruption. I'm hoping to verify this theory.

commit a1246270c55051413ef5830684baff94e1139814
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-08-02 04:51:15 +0900

    remove accidentally introduced debug code

commit b4f58ea3008e3e86bdc931407c68c6e0497ef078
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-08-02 04:24:47 +0900

    support multiple filters by RUBY_DEBUG_LOG_FILTER

    Now you can specify multiple filters for RUBY_DEBUG_LOG output
    by RUBY_DEBUG_LOG_FILTER=a,b,c (in this case, logs that the
    function name contains a, b or c).

commit f7cf600c8ba483d389ea400071aa2aea2e5a57e0
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-08-02 03:23:16 +0900

    fix mark bit operation.

    To optimize the sweep phase, there is bit operation to set mark
    bits for out-of-range bits in the last bit_t.
    However, if there is no out-of-ragnge bits, it set all last bit_t
    as mark bits and it braek the assumption (unmarked objects will
    be swept).
    GC_DEBUG=1 makes sizeof(RVALUE)=64 on my machine and this condition
    happens.

    It took me one Saturday to debug this.

commit d5bed288894d8a7cec277e4c4079abb40c8e1179
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-02 01:07:29 +0900

    * 2020-08-02 [ci skip]

commit fcdbdff631a1a6bcc2229d448ed7c76041fe3258
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-08-02 01:03:43 +0900

    rb_{ary,fnd}_pattern_info: Remove imemo member to reduce memory usage

    This is a partial revert commit of 8f096226e1b76f95f4d853d3dea2bc75eeeb5244.

    NODE layout:

      Before:

           | ARYPTN | FNDPTN | HSHPTN
        ---+--------+--------+-----------
        u1 | pconst | pconst | pconst
        u2 | unused | unused | pkwargs
        u3 | apinfo | fpinfo | pkwrestarg

      After:

           | ARYPTN | FNDPTN | HSHPTN
        ---+--------+--------+-----------
        u1 | imemo  | imemo  | pkwargs
        u2 | pconst | pconst | pconst
        u3 | apinfo | fpinfo | pkwrestarg

commit b6175c9e4fe25b978252d8998fe791d65d998fc5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-01 17:51:42 +0900

    mswin build - install src zlib files after checkout

    actions/checkout deletes the contents of the source directory.

commit bf758ef8b4e2895bf71a611a7ab2a4f236e260ea
  Author: MSP-Greg <Greg.mpls@gmail.com>
  Date:   2020-07-31 04:23:23 +0900

    mswin build - install src zlib files

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3376

commit e8ce9dfaf45ed92c90548307a901de4bd7799cf7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-01 17:58:24 +0900

    `rb_encoding` is defined as `const`

    Duplicate type qualifier is not needed.

commit b6e6807993c770c5d2e069d8741f5dadf0b38069
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-01 14:48:04 +0900

    Initialize memo pointer and use it consistently to silence gcc 7+

commit 32bec658c1947e8a21884757462342465c089ce0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-08-01 14:15:25 +0900

    Remove obsolete rubygems file

    Fixes a weird error in CodeQL autobuild.

commit d3d68729192edc9a915e1dcfe3ece3773514573a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-08-01 11:29:53 +0900

    * 2020-08-01 [ci skip]

commit eebb1de7c1360d236f9c3fd0db99625506f6bcd7
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-08-01 11:29:34 +0900

    Enhanced RDoc for Array

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3381

    Merged-By: jeremyevans <code@jeremyevans.net>

commit f80020bc50f106a8e20c4868f76228add97048a4
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-25 18:43:41 +0900

    [rubygems/rubygems] Read path binarily

    I believe this should fix a flaky test on Windows.

    https://github.com/rubygems/rubygems/commit/a516b49a0a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit cba805536ebf9c16c6f6438b023cd476a8dfaa93
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-11 16:32:56 +0900

    [rubygems/rubygems] Enable `Layout/LeadingEmptyLines` in rubygems

    https://github.com/rubygems/rubygems/commit/9c17f220af

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit b7e88e3c2f8fde3af2ac8aec30bd7c79ecb41cd9
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-11 05:11:13 +0900

    [rubygems/rubygems] Don't format executables on `gem update --system`

    This restores 3.0 behavior and goes back to not formatting executables
    by default on `gem update --system`. This is friendlier for jruby and
    doesn't really affect OS packagers.

    https://github.com/rubygems/rubygems/commit/1a504b651d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 0e2d8c487c42aa311d329d1f44963cf002e0e598
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-07-31 14:02:42 +0900

    [rubygems/rubygems] unset XDG_* environmental variables for testing of rubygems.

    https://github.com/rubygems/rubygems/commit/539fd9a39a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit aa4ecfe7f7e69a2c477dd9e0cc8ffbe482bbe4cb
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-11 15:52:20 +0900

    [rubygems/rubygems] Revert "Disallow warnings to creep into the test suite"

    This reverts commit 694e6afee769ffb3168a564ee7d315af2a934993.

    It was failed on Windows and I'm unsure why. Also, the check seems
    brittle since it could fail potentially fail because of warnings outside
    of our control.

    https://github.com/rubygems/rubygems/commit/908e9344dd

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit e0bfc77824d2fec95965ff4b46524cc8a85bc24a
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-08 18:13:37 +0900

    [rubygems/rubygems] Remove unnecessary guard clause

    Since 1ccf0912a161d20e0c4a7b139fd76e8739a411ba, this method no longer
    uses `Kernel.gem`, so this guard clause is now unnecessary.

    https://github.com/rubygems/rubygems/commit/8a19e7401c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit e6be06e4ef260a1a96fddd47fd632d61875b8b85
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-23 01:44:59 +0900

    [rubygems/rubygems] Fix some intermittent test failures on truffleruby

    Since they changed their default to not generate documentation on `gem
    install`, we're getting some intermittent test failures. Can be
    reproduced with:

    ```
    TRUFFLERUBYOPT="--experimental-options --testing-rubygems" TESTOPTS=--name="/^\(?:TestGemGemRunner#\(?:test_list_succeeds\)\|TestGemCommandsUpdateCommand#\(?:test_handle_options_system\)\)$/ --seed=54277 --verbose" rake
    ```

    Fix it by resetting all permanent CLI options when CLI runner loads
    configuration.

    https://github.com/rubygems/rubygems/commit/7d896f4b74

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit a9b044e97b710a30f0598b6f85da29217471f030
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-15 15:38:08 +0900

    [rubygems/rubygems] Setup no longer generates formatted executables by default

    Catch up with that change in `gem update --system` tests.

    https://github.com/rubygems/rubygems/commit/127ba14344

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit fe53e5a9f3ff3b0574ec7033571d58f4976baf8c
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-02 22:11:18 +0900

    [rubygems/rubygems] Remove fileutils autoload

    https://github.com/rubygems/rubygems/commit/dca345441f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit fedaa61b3fbcdc6f9ab2199dbbda97eeebfadc58
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-01 16:38:29 +0900

    [rubygems/rubygems] Remove explicit require for autoloaded constant

    https://github.com/rubygems/rubygems/commit/a54230093e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 3921ab8291925f2d177535d38d2aaaa020f5d546
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-13 05:18:01 +0900

    [rubygems/rubygems] Let more exceptions flow

    If any error happens while verifying a package entry, it doesn't mean
    that the package is corrupt. It could be a bug in rubygems, for example.
    This in fact happened in CI and the current error doesn't make it easy
    to troubleshoot the root cause, since it doesn't provide a backtrace.

    See
    https://github.com/rubygems/rubygems/pull/3807/checks?check_run_id=862526615.

    So I propose to let the exception happens. There was something useful
    about the previous message, which is the file entry where the error
    happened, so I'm keeping that information in a warning message.

    https://github.com/rubygems/rubygems/commit/ece87d858f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit ebf008b9aea71fdf9be8dcc92faae1c024201bf9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-09 23:38:34 +0900

    [rubygems/rubygems] Install plugins to user directory

    Fixes the `Gem::FilePermissionError` without the privilege.
    Initialize `@plugins_dir` to the user gem directory, when
    installing with `--user` option.

    https://github.com/rubygems/rubygems/commit/21a71ac769

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 6c71033ac3933cb23d9ee651ce864e164bc9b56f
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-01 18:45:33 +0900

    [rubygems/rubygems] Remove more unnecessary requires

    Since `rubygems/util` is autoloaded.

    https://github.com/rubygems/rubygems/commit/52a9f88b99

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 1b2bda72fcb765c0a1ca8991ad840d37ac27198d
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-12 19:35:57 +0900

    [rubygems/rubygems] Extend the script to allow reverting the patch when tried locally

    https://github.com/rubygems/rubygems/commit/00ebf8c9f7

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 69881a41f22e6d76ce23c97e7026783ea8f2d07c
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-11 18:08:35 +0900

    [rubygems/rubygems] Add a CI test for basic rubygems functionality without openssl

    The whole test suite actually passes on my system, but it has weird
    errors in CI. Since I don't want to spend time on it, instead of running
    the whole test suite, I'm just adding a bare test to check that `gem
    list` works.

    https://github.com/rubygems/rubygems/commit/a40d9a394a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 9057e9c7b1083eb8a6f52fa603508c06a0e8cc60
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-11 18:16:47 +0900

    [rubygems/rubygems] The file is only ever required when openssl is available

    https://github.com/rubygems/rubygems/commit/41976ef3ec

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 6eb89f8637bbe1255b506d9ff447529b82169597
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-11 18:16:19 +0900

    [rubygems/rubygems] Remove now unneeded code

    We patch `net-http-persistent` to not autoload `openssl`.

    https://github.com/rubygems/rubygems/commit/757dec3cf2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit ea8f7d4a81fa9e1696930c63b106cc91be14c29d
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-30 01:43:40 +0900

    [rubygems/rubygems] Gem::Specification#to_ruby doesn't need `openssl`

    The `openssl` require when openssl not present was having the
    side-effect the our custom require fallbacks would end up loading `Gem::Specification.stubs`.

    Co-authored-by: Alyssa Ross <hi@alyssa.is>

    https://github.com/rubygems/rubygems/commit/22c4ded4ad

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 6608bc77b6560caab2b80271b3f48a792ac33463
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-30 04:16:41 +0900

    [rubygems/rubygems] Fix skip message

    https://github.com/rubygems/rubygems/commit/a763e539cd

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit e1494145d9725dba217fbc2bd9645db011fab946
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-30 01:42:29 +0900

    [rubygems/rubygems] Make sure tests at least load without openssl

    https://github.com/rubygems/rubygems/commit/054d57f74b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 779f1a9c69d4fa380a1d3ee7cb0c59a111278de4
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-11 17:48:52 +0900

    [rubygems/rubygems] Set the expected hash in one step

    https://github.com/rubygems/rubygems/commit/25912ce6c9

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 34527927e84ca5020f1385c47b70b92bb574f2bb
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-11 17:47:42 +0900

    [rubygems/rubygems] Remove unnecessary check

    No check is done for the other expectation and they are completely
    symmetric as far as I can see.

    https://github.com/rubygems/rubygems/commit/4de89e0718

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 69fa0d6d30adc876858a9bbc5baddbc9f643b9c7
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-11 17:10:16 +0900

    [rubygems/rubygems] Move openssl require to a separate file

    So it can be reused.

    https://github.com/rubygems/rubygems/commit/b9fc6e40db

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 6b14249c9817b7afdad57de8b444c2ee4f42cd30
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-30 01:40:34 +0900

    [rubygems/rubygems] In the rubies we support `Exception#path` is always there

    https://github.com/rubygems/rubygems/commit/babf943144

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 07dc9691a8221fecf4da32358ab8897529dc7b5c
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-11 19:21:13 +0900

    [rubygems/rubygems] https functionality was merged into `net/https`

    https://github.com/rubygems/rubygems/commit/d81ce9e457

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 0a7f12fcc617905996238f59d4875cbe4d6641d0
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-11 19:20:43 +0900

    [rubygems/rubygems] Only require what we are using

    https://github.com/rubygems/rubygems/commit/d92b94f3cf

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 9ad9c2d9c33d9a135c99dbd15595ff697318c5d8
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-11 19:19:51 +0900

    [rubygems/rubygems] Let the original error happen

    It will give more useful information.

    https://github.com/rubygems/rubygems/commit/efcecb5af5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit b84b4e8bfac71842f795985bea814575f0a1eccb
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-11 17:04:39 +0900

    [rubygems/rubygems] Remove unnecessary stuff

    The `rubygems/security` require already does this.

    https://github.com/rubygems/rubygems/commit/bbb444b6f1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit d3efba0950b3d73e9cea1b8cecf3d0b44323f77e
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-30 01:37:55 +0900

    [rubygems/rubygems] Run `test/rubygems/test_bundled_ca.rb` locally

    It's not that slow.

    https://github.com/rubygems/rubygems/commit/9b928a4503

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit ed3794495d524d64cf0d25d7485c7fde628bd787
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-30 01:37:10 +0900

    [rubygems/rubygems] Remove unused TEST_SSL environment variable

    https://github.com/rubygems/rubygems/commit/1e2c3cf118

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit db2047ebaf4d506420432cf18ca978a1fc63a91f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-25 12:15:22 +0900

    [rubygems/rubygems] Fix encoding mismatch errors on MinGW

    GNU make in MSys is localized to use UTF-8 while Ruby's filesystem
    encoding is set to OEM CodePage (e.g., CP932 in Japanese Edition),
    the read output from the make has broken encoding and results in
    "invalid byte sequence" errors.  As `DESTDIR` is set to a US-ASCII
    7bit clean string, matching as binary encoding should have no
    problems.

    https://github.com/rubygems/rubygems/commit/96a5e7523b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 6c19b0ec6e124be9972e357a0d9080a1c9cbe16e
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-07-29 13:23:59 +0900

    [rubygems/rubygems] Reword warning

    https://github.com/rubygems/rubygems/commit/cbd4abf8cf

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 00bdac18cffce3fb74aa596c828a09e7d52affcd
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-07-29 13:15:09 +0900

    [rubygems/rubygems] Warn on duplicate dependency in a specification

    https://github.com/rubygems/rubygems/commit/af3e5f7883

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 985309ac38c212de327e419ad4a7bcf9e7b28267
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-14 20:16:34 +0900

    [rubygems/rubygems] Support PATH's using `File::ALT_SEPARATOR` in `Gem::Installer`

    Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com>

    https://github.com/rubygems/rubygems/commit/710b969b60

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 04d3e0727a15367971678ff913402745cbaede5e
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-14 20:40:27 +0900

    [rubygems/rubygems] Move traling `if` to the same line for readablity

    https://github.com/rubygems/rubygems/commit/d722b8b578

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit c090c64b4faa429c9f0f7c361e932e6b1a960a3d
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-14 20:16:09 +0900

    [rubygems/rubygems] Prefer the standard separator on Windows

    It seems like the most common case since it requires no tricks on our
    CI environment.

    Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com>

    https://github.com/rubygems/rubygems/commit/751c475574

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 65a4b03781764cccf7153847b996ebd1db65335f
  Author: Colby Swandale <me@colby.fyi>
  Date:   2020-07-28 21:21:48 +0900

    [rubygems/rubygems] fix missing identation

    https://github.com/rubygems/rubygems/commit/2cca6714f3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 561576367beeb1237a3821db1b0ab9ef66e9fb56
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-07-23 22:11:24 +0900

    [rubygems/rubygems] Deduplicate the requirement operators in memory

    https://github.com/rubygems/rubygems/commit/9963d33cf2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 1a935606b5e307375ce9d4215a46da2ca91dc1d6
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-25 00:09:50 +0900

    [rubygems/rubygems] Fix Kernel#warn override to handle backtrace location with nil path

    It's very unlikely to hit this case, but it is possible, as
    Thread::Backtrace::Location#path can return nil if the location is
    a cfunc with no previous iseq.  See location_path in vm_backtrace.c
    in Ruby.

    https://github.com/rubygems/rubygems/commit/511935645a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 331fe6a88f96d9f986da55e003e896c2bc181db0
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-07-11 04:51:45 +0900

    [rubygems/rubygems] Ignore internal frames in RubyGems' Kernel#warn

    * See https://github.com/oracle/truffleruby/issues/2046
    * `<internal:` is a common prefix also used by core Ruby files in CRuby.
    * test_no_kernel_require_in_*warn_with_uplevel already test this.
    * Unfortunately just skipping `<internal:` in the Ruby implementation
      is not enough, because RubyGems' #warn would not skip the
      `<internal:` require (TruffleRuby defines #require in Ruby),
      and the Ruby implementation's #warn would not skip
      RubyGems's #require. The #caller_locations(0) look like this:

      warnee.rb:1:in `<top (required)>' # where #warn is called
      <internal:core> core/kernel.rb:234:in `gem_original_require' # not skipped by RubyGems' warn, skipped by the Ruby impl
      rubygems/core_ext/kernel_require.rb:54:in `require' # not skipped by the Ruby impl's warn, what would be shown without this fix
      warn.rb:1:in `<main>' # what would be correct

      warn.rb is
      require "warnee"
      warnee.rb is
      puts caller_locations(0), nil
      warn "oops", uplevel: 1

    https://github.com/rubygems/rubygems/commit/7c838f7419

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 14ab281faa7f740afd41ce4b43b00edb73eff990
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-09 04:14:18 +0900

    [rubygems/rubygems] Disallow warnings to creep into the test suite

    https://github.com/rubygems/rubygems/commit/694e6afee7

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 9d6123da157c027b749c22e559d91c232ae1f296
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-09 03:17:33 +0900

    [rubygems/rubygems] Fix test warning

    https://github.com/rubygems/rubygems/commit/f4c4cddb68

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 06f84d05678aa516c9bc97719eff44e4355d3c59
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-09 04:13:33 +0900

    [rubygems/rubygems] Don't `super` on main test setup

    The `teardown` method doesn't call it either and I don't think it's
    necessary.

    https://github.com/rubygems/rubygems/commit/ca2a5d485d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit d0cc4ecb8f6a30b340d06e9ef1cf90264eba675a
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-09 04:13:05 +0900

    [rubygems/rubygems] Remove very old compatibility code

    https://github.com/rubygems/rubygems/commit/6e4bef758b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 1260d22cae8697fc2f8e3999190a228cf23e7823
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-09 01:42:47 +0900

    [rubygems/rubygems] Extract some common code into a private method

    https://github.com/rubygems/rubygems/commit/d1be8cdb3a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit d5b5a7ab31099a14b5933696991dfc55c37005cc
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-09 01:38:01 +0900

    [rubygems/rubygems] Remove very old TODO note

    It was added 10 years ago on a "146 additions, 170 deletions" commit
    named "Deprecation removals and minor cleanup." that didn't explain much
    other than that.

    This TODO doesn't necessarily apply nowadays. I don't see how anyways.
    TODO notes, if useful at all, should include a clear explanation of what
    should be done either via the note itself or the commit message. This
    note doens't meet any of these.

    So I want to remove it because it distracts me every time I go through
    it.

    https://github.com/rubygems/rubygems/commit/58d81e8a32

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 76722c4928d92fa6cc4a927203eab8a036516e23
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-07-06 22:18:05 +0900

    [rubygems/rubygems] Optimize Gem.already_loaded?

    Profiling a simple `ruby -e '1'` I see:

    ```
    ==================================
      Mode: wall(10)
      Samples: 3414 (55.10% miss rate)
      GC: 856 (25.07%)
    ==================================
         TOTAL    (pct)     SAMPLES    (pct)     FRAME
           689  (20.2%)         669  (19.6%)     Gem.already_loaded?
           462  (13.5%)         462  (13.5%)     (marking)
           393  (11.5%)         393  (11.5%)     (sweeping)
           815  (23.9%)         365  (10.7%)     Gem::Specification.load
          1050  (30.8%)         156   (4.6%)     Gem.register_default_spec
           100   (2.9%)          84   (2.5%)     Gem::Specification#files
            64   (1.9%)          64   (1.9%)     Gem::BasicSpecification#internal_init
           136   (4.0%)          59   (1.7%)     <top (required)>
          2312  (67.7%)          58   (1.7%)     <top (required)>
            57   (1.7%)          57   (1.7%)     RbConfig.expand
            81   (2.4%)          55   (1.6%)     Gem::Requirement.parse
           191   (5.6%)          51   (1.5%)     <top (required)>
           128   (3.7%)          47   (1.4%)     Gem::Requirement#initialize
            41   (1.2%)          41   (1.2%)     Gem.suffix_regexp
           229   (6.7%)          35   (1.0%)     <module:Gem>
           260   (7.6%)          34   (1.0%)     Kernel#require
    ```

    So clearly `Gem.already_loaded?` is a major hotspot.

    After this optimization, it's down to:
    ```
    ==================================
      Mode: wall(10)
      Samples: 2653 (58.21% miss rate)
      GC: 718 (27.06%)
    ==================================
         TOTAL    (pct)     SAMPLES    (pct)     FRAME
           416  (15.7%)         416  (15.7%)     (marking)
           715  (27.0%)         312  (11.8%)     Gem::Specification.load
           299  (11.3%)         299  (11.3%)     (sweeping)
           279  (10.5%)         279  (10.5%)     Gem.already_loaded?
           564  (21.3%)         106   (4.0%)     Gem.register_default_spec
            95   (3.6%)          80   (3.0%)     Gem::Specification#files
            72   (2.7%)          72   (2.7%)     Gem::BasicSpecification#internal_init
           129   (4.9%)          58   (2.2%)     <top (required)>
            53   (2.0%)          53   (2.0%)     RbConfig.expand
          1697  (64.0%)          52   (2.0%)     <top (required)>
            68   (2.6%)          49   (1.8%)     Gem::Requirement.parse
           183   (6.9%)          48   (1.8%)     <top (required)>
           112   (4.2%)          44   (1.7%)     Gem::Requirement#initialize
           220   (8.3%)          33   (1.2%)     <module:Gem>
           250   (9.4%)          32   (1.2%)     Kernel#require
    ```

    The idea is that the vast majority of the time `already_loaded?` won't match
    anything. So by first looking for candidate paths that `end_with?` the file we
    look for, we save `default_gem_load_paths.size` iterations and string concatenations.

    https://github.com/rubygems/rubygems/commit/c60ce88d49

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 832fe778796026389f05330242795a004e442360
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-07-07 20:22:51 +0900

    Bump version to 3.2.0.rc.1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 734c5276f0ad1215eeba2f5884b384b1ffbbefc7
  Author: Bart de Water <496367+bdewater@users.noreply.github.com>
  Date:   2020-06-30 07:31:15 +0900

    [rubygems/rubygems] Simplify digest name selection and use SHA256

    The previous commit introduces the Gem::Security.create_digest method, allowing to:
    - decouple algorithm choice from implementation (OpenSSL or Ruby built-in)
    - untangle the SHA512 fallback for TarWriter from the generic hashing digest choice (undoing commit 9471f8ed2bdc12248d2619bbbce6e53cd6c16cb6)

    https://github.com/rubygems/rubygems/commit/1bc03231e4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit 8161cf85ba4f9091176536bcac9107879e4293a1
  Author: Bart de Water <496367+bdewater@users.noreply.github.com>
  Date:   2020-06-29 03:39:26 +0900

    Stop using deprecated OpenSSL::Digest constants

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit e7b6e0ff5823c422cd3e508d2b7104a91a2e36f6
  Author: Karol Bucek <kares@users.noreply.github.com>
  Date:   2020-06-23 06:15:45 +0900

    [rubygems/rubygems] remove explicit require(s) for auto-loaded constant(s)

    the Gem module's auto-loads will handle loading these as needed,

    this started as a redundancy found in *rubygems.rb* which had:
    `autoload :Specification, 'rubygems/specification'` as well as
    `require 'rubygems/specification'`

    https://github.com/rubygems/rubygems/commit/43ceae7ac0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit c3b480b7764e7854b42c212e77a0ffe402dba6cb
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-06-25 14:58:59 +0900

    [rubygems/rubygems] Test files should not be included in spec.files

    https://github.com/rubygems/rubygems/commit/0c0760b734

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit a89665b7b1abb5bb6005fd638dc920848cc50f72
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-13 19:01:07 +0900

    Enforce no empty lines around class body in rubygems

    To normalize the code style with `bundler`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3379

commit a6bfc951aa9c48e2a4608a9ae84e2e3b4fd9b390
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-31 04:39:54 +0900

    Document Array#flatten{,!} accept explicit nil argument [ci skip]

    Fixes [Bug #10475]

commit 753351999052034c70f740cddb310428d79beb7d
  Author: Aaron Patterson <aaron.patterson@gmail.com>
  Date:   2020-07-29 04:56:36 +0900

    NODE_MATCH needs reference updating

commit b933b43b673811b51e3b11720259b1dfbaab8f74
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-31 00:59:33 +0900

    * 2020-07-31 [ci skip]

commit 47f2c5429b1d42ecb8abb082f2e4e265800ab66d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-31 00:54:34 +0900

    Added NUL-contained cases

commit 352895b7511d26b40023549b6eb6e06a243c9bbd
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-07-22 12:47:23 +0900

    [ruby/racc] Return `nil` for all syntax errors

    https://github.com/ruby/racc/commit/51817ce0f6

commit 1b1ea7b3bc9484e6e59d716fce2965a2f39d1e3d
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-07-30 05:59:06 +0900

    Fix Array#flatten for recursive array when given positive depth [Bug #17092]

commit 2bd1f827f14e06575e128a5e4928cee79592e61b
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-07-30 21:21:08 +0900

    Promote io-nonblock to the default gems.

commit d75b42a70aa4c4ceed3f4d71a51aba3586ebbf2e
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-07-30 21:10:28 +0900

    Promote io-wait to the default gems

commit ec1ab1d46542a5332b887b750f694836fd5e44b9
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-07-30 21:01:22 +0900

    Add explicitly require for Dir.mktmpdir

commit b2d96abb42abbe2e01f010ffc9ac51f0f9a50002
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-29 00:31:52 +0900

    Extract version number from the source

    "requiring version.rb" strategy has some issues.

    - cannot work when cross-compiling
    - often introduces wrong namespace
    - must know the superclasses
    - costs at each runtime than at build-time

    etc.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3375

commit cfbae7dae052180e5dde05a27948ae8d779eccab
  Author: Espartaco Palma <esparta@gmail.com>
  Date:   2020-06-07 17:01:37 +0900

    [skip-ci] Clarification for dup vs clone docs

    Both clone & dup returns a new object when executed
    on the documentation looks like they are returning the
    same object cloned or dup'ed which is true for method
    as extend, but not for the above mentioned.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3192

commit 265968d675ce6f52a69e5d8ddaa82b41f89a3d2c
  Author: Jun Aruga <jaruga@redhat.com>
  Date:   2020-07-24 03:28:58 +0900

    Apply timeout-scale to test_nogvl_poll.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3354

commit 35e5b8fb82ffd09ea34af88834588aa078ee9db3
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-07-30 07:25:24 +0900

    Enhanced RDoc for Array (#3372)

  Notes:
    Merged-By: marcandre <github@marc-andre.ca>

commit 28cd254b498e34b3fb205cfb116bff3f946d2fdc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-30 02:28:46 +0900

    Set cloned flag after checked if copiable

commit 478dc67cf5043ef8aa3692ab17669606e364fe7c
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-30 01:10:26 +0900

    * 2020-07-30 [ci skip]

commit 241244739f2b721ac7aa0961bd90d904c5e3fff6
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-07-29 03:39:27 +0900

    Fix arity of Hash#to_proc [Bug #12671]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3370

commit f79dc8741f631f5572f4d2fa3cb7cad39b1356bb
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-29 23:02:33 +0900

    rbinstall.rb: fix generated script name to set mode

commit f0affcdbf6fde6d7d99eb608ce02bcfe2d867553
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-29 22:47:00 +0900

    rbinstall.rb: fix dry-run mode

commit 0d632a956cc4a58457d78f884ff62ca8605056e2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-29 21:08:48 +0900

    transient_heap_status_cstr() is used only for debugging

commit c904844578745859e275fbcc79264ef737457f36
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-29 00:31:28 +0900

    Skip already extracted gems

commit ed22bf47cc551bb26f17fbaebadd06d1ff2b8948
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-07-29 18:45:39 +0900

    display stderr output even if core dump files

    On btest, stderr messages are not displayed if core files are
    generated. There is no reason to skip it, so this patch display
    stderr and check core files.

commit dd6f5aba0e07c6e65cad026317d1a77dbb72f56e
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-07-29 17:45:02 +0900

    add debug output.

commit 520a734ad9c7348f4e4858ee24640f42c88fd389
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-25 07:21:08 +0900

    Fix Time#ceil when result should be the same as the receiver

    Fixes [Bug #17025]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3362

commit 1027520fec934490fa3995e91bf6f84c15629c6a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-29 04:06:15 +0900

    * 2020-07-29 [ci skip]

commit e1b6e1d12607ee25a11feb7fcbe81ca1bc4b8cad
  Author: BurdetteLamar <burdettelamar@yahoo.com>
  Date:   2020-07-24 05:06:14 +0900

    Enhanced RDoc for Array [ci skip]

commit 946cd6c5348d7dd12ecc41e79c3ca9803d2ca7f0
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-07-28 19:51:07 +0900

    Use https instead of http

commit f44114b502f4ae793f95d0be14b094cfe7c4c0e7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-28 16:43:38 +0900

    Do not assume all compilers accept same flags as gcc

commit 7fb12be99fecc5029d540924fc25a1457472451c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-27 15:52:42 +0900

    [ruby/net-ftp] Moved Net::Ftp::Version to Net::FTP

    On case-insensitive filesystem, generated Net/FTP.html is
    overwritten by Net/Ftp.html.

    https://github.com/ruby/net-ftp/commit/14a6ff5134

commit da31900d9d9e4e9dcd6381a23dd863b18fe65e3d
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-07-08 17:32:28 +0900

    vm_backtrace.c: let rb_profile_frames show cfunc frames

    ... in addition to normal iseq frames.
    It is sometimes useful to point the bottleneck more precisely.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3299

commit e4b63202eb25ee86c5173364c13a8ead02419f7d
  Author: Sergio <25378688+sergioro9@users.noreply.github.com>
  Date:   2020-04-30 00:39:09 +0900

    Remove unnecessary word from comment

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3070

commit 09e9f7cf7a1e882c9bd199f93b8dcf933a6ae631
  Author: Simon Perepelitsa <sema@sema.in>
  Date:   2020-07-11 04:38:32 +0900

    [DOC] Clarify ObjectSpace return values are in bytes [ci skip]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3308

commit db0eab1c6f6612b5f49b79918be2ff55b2196352
  Author: Vít Ondruch <vondruch@redhat.com>
  Date:   2020-07-23 01:30:45 +0900

    Remove `EnvUtil.rubyexec`, because it is not used anywhere.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3351

commit 126fd5f15cff0d3bf314d90d8c21a3ae25ae8e68
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-07-28 04:41:08 +0900

    Update to ruby/spec@07164da

commit 7429841ab6494b849106e6d3b119f147adfee3b7
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-07-28 04:41:03 +0900

    Update to ruby/mspec@9cffee9

commit 35ba2783fe6b3316a6bbc6f00bf975ad7185d6e0
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-07-24 08:00:28 +0900

    Use a linked list to eliminate imemo tmp bufs for managing local tables

    This patch changes local table memory to be managed by a linked list
    rather than via the garbage collector.  It reduces allocations from the
    GC and also fixes a use-after-free bug in the concurrent-with-sweep
    compactor I'm working on.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3360

commit c5ae79d7e953e778c89d0991e82b62a3d78fb5be
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-28 00:18:40 +0900

    * 2020-07-28 [ci skip]

commit eeef16e190cdabc2ba474622720f8e3df7bac43b
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-11 06:38:00 +0900

    Prevent SystemStackError when calling super in module with activated refinement

    Without this, if a refinement defines a method that calls super and
    includes a module with a module that calls super and has a activated
    refinement at the point super is called, the module method super call
    will end up calling back into the refinement method, creating a loop.

    Fixes [Bug #17007]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3309

commit cb5127927a2b6ac4fa143dff44d4d896ed4a6372
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-27 15:25:35 +0900

    * 2020-07-27 [ci skip]

commit c4f8095e9732aa82669a45ea55b8c24200c5dae8
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-07-27 15:23:52 +0900

    Use typewriter notation for var[:sym] correctly

commit a8e5f78585a1f135c039ac9002865d2b4937de12
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-26 21:24:27 +0900

    * 2020-07-26 [ci skip]

commit d210a39774a691d0239f2d887f001098fade5ec5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-26 21:24:07 +0900

    Fixed a typo

commit 3ead2770a1fd7452a9b875a8be7b93335f41abda
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-24 21:08:50 +0900

    Respect visibility in non-array Enumerable#inject [Bug #13592]

commit 2735da2039b9e441e41b11b606ba362db350a658
  Author: S.H <gamelinks007@gmail.com>
  Date:   2020-07-24 20:17:31 +0900

    Fix Time#to_a behavior with timezone [Bug #17046]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3355

    Merged-By: nobu <nobu@ruby-lang.org>

commit 922fe4da3f6a2ecef5f89e6b7dbb760b7afe2314
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-24 11:11:15 +0900

    * 2020-07-24 [ci skip]

commit ba99eae2a596658a71079975fb7d53ae1f2341a5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-23 18:31:23 +0900

    [ruby/optparse] Fix ls-files matching regexp

    As splitting by NUL means to allow the file names to contain
    newlines, path names should match at beginning-of-string instead
    of beginning-of-line.

    https://github.com/ruby/optparse/commit/df3933aa2b

commit 098e8c2873ed7cfa276aa87967ce28ac711cbb30
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-07-23 23:44:25 +0900

    Suppress "assigned but unused variable" warnings

commit e43d62957599ea6607ceb851b7bd9d90148de16b
  Author: Tom Rothe <info@tomrothe.de>
  Date:   2020-06-22 00:12:34 +0900

    [ruby/observer] add symbol usage example to Observer#add_observer [doc]

    https://github.com/ruby/observer/commit/62a94e3799

commit 54acb3dd52a5fe75c32c3e36a6984d3ec4314a72
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-22 09:52:50 +0900

    Improved Enumerable::Lazy#zip

    |                    |compare-ruby|built-ruby|
    |:-------------------|-----------:|---------:|
    |first_ary           |    290.514k|  296.331k|
    |                    |           -|     1.02x|
    |first_nonary        |    166.954k|  169.178k|
    |                    |           -|     1.01x|
    |first_noarg         |    299.547k|  305.358k|
    |                    |           -|     1.02x|
    |take3_ary           |    129.388k|  188.360k|
    |                    |           -|     1.46x|
    |take3_nonary        |     90.684k|  112.688k|
    |                    |           -|     1.24x|
    |take3_noarg         |    131.940k|  189.471k|
    |                    |           -|     1.44x|
    |chain-first_ary     |    195.913k|  286.194k|
    |                    |           -|     1.46x|
    |chain-first_nonary  |    127.483k|  168.716k|
    |                    |           -|     1.32x|
    |chain-first_noarg   |    201.252k|  298.562k|
    |                    |           -|     1.48x|
    |chain-take3_ary     |    101.189k|  183.188k|
    |                    |           -|     1.81x|
    |chain-take3_nonary  |     75.381k|  112.301k|
    |                    |           -|     1.49x|
    |chain-take3_noarg   |    101.483k|  192.148k|
    |                    |           -|     1.89x|
    |block               |    296.696k|  292.877k|
    |                    |       1.01x|         -|

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3339

commit 6b3cff12f6add831c678ce7a5288097714bc6850
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-22 00:58:48 +0900

    Improved Enumerable::Lazy#flat_map

    |        |compare-ruby|built-ruby|
    |:-------|-----------:|---------:|
    |num3    |     96.333k|  160.732k|
    |        |           -|     1.67x|
    |num10   |     96.615k|  159.150k|
    |        |           -|     1.65x|
    |ary2    |    103.836k|  172.787k|
    |        |           -|     1.66x|
    |ary10   |    109.249k|  177.252k|
    |        |           -|     1.62x|
    |ary20   |    106.628k|  177.371k|
    |        |           -|     1.66x|
    |ary50   |    107.135k|  162.282k|
    |        |           -|     1.51x|
    |ary100  |    106.513k|  177.626k|
    |        |           -|     1.67x|

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3339

commit 89a86788e66def6f2778926528f63e353935574b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-21 09:11:20 +0900

    New functions to pass more elements than passed

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3339

commit 347639ad8ad9fe2c6e88ff9b4faa21a11568bf6a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-23 14:55:53 +0900

    Removed fragile tests in https://github.com/ruby/ruby/pull/3349

commit ff397d0016b515c8a998ece4a73168c0c6061f0e
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-22 16:18:01 +0900

    dln.h: delete unused codes

    defines.h already has them.  Also __cplusplus can never be defined here.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3348

commit c4fc737f755f35ae1ddcf41dd06aad7b23be21da
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-22 16:11:08 +0900

    include/ruby/util.h: delete unused codes

    - util.h includes defines.h,
    - ... which includes ruby/backward/2/stdarg.h,
    - ... which always defines _.

    This `#ifndef _` must never happen.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3348

commit 1d8b689b9efaaa4555bcbbc6538884e94ae5e19b
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-07-23 09:46:24 +0900

    Remove unused field in rb_iseq_constant_body

    This was introduced in 191ce5344ec42c91571f8f47c85be9138262b1c7
    and has been unused since beae6cbf0fd8b6619e5212552de98022d4c4d4d4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3353

commit caf565f7bf9b279449c893b9e812c466a26e8f4b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-23 11:48:59 +0900

    Ensure time object meets a given condition [Bug #17042]

commit afacf85e443cc64dd41c248659b65476434b4175
  Author: S.H <gamelinks007@gmail.com>
  Date:   2020-07-23 11:35:20 +0900

    Merge pull request #3352 from S-H-GAMELINKS/bug/17042-strftime

    Fix Time#strftime with timezone [Bug #17042]

  Notes:
    Merged-By: nobu <nobu@ruby-lang.org>

commit 8ed687a4d7b7a77f30f8e937f58aae74bfb699b6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-23 11:32:54 +0900

    Test for weeknumber with timezone [Bug #17042]

commit f120e6520063913229a659741d96187eb2f7dd82
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-23 01:08:06 +0900

    [ruby/optparse] Define OptionParser::Version

    https://github.com/ruby/optparse/commit/4c0021b5b2

commit cd429e68d2ab19aa7deabd2433dc43b374271414
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-23 01:05:15 +0900

    [ruby/optparse] Update required ruby version

    Now needs `DidYouMean#formatter` which is provided since
    did_you_mean 1.2, which requires ruby 2.5.

    https://github.com/ruby/optparse/commit/d44bb5c715

commit 6a0cb1d649ecfc3e2af922c74ce82b3ff95fb12a
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-07-22 19:47:14 +0900

    Avoid allocating a string when dumping an anonymous module or class

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3349

commit 5d04ac6ea2fefa4d6e4d22ab9c9903b8ff160167
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-07-23 09:06:49 +0900

    Enhanced RDoc for Array (#3350)

    * Enhanced RDoc for Array

    Methods:

        ==
        eql?
        hash
        include?
        <=>

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 37e6c83609ac9d4c30ca4660ee16701e53cf82a3
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-07-23 06:27:03 +0900

    Lazily insert origins on prepend to save memory

    98286e9850936e27e8ae5e4f20858cc9c13d2dde made it so that
    `Module#include` allocates an origin iclass on each use. Since `include`
    is widely used, the extra allocation can contribute significantly to
    memory usage.

    Instead of always allocating in anticipation of prepend, this change
    takes a different approach. The new setup inserts a origin iclass into
    the super chains of all the children of the module when prepend happens
    for the first time.

    rb_ensure_origin is made static again since now that adding an origin
    now means walking over all usages, we want to limit the number of places
    where we do it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3331

commit fdcbb288ab0faf888ed3412113e0064f3a98e1a5
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-23 00:35:16 +0900

    * 2020-07-23 [ci skip]

commit d47e124857ecdccfeb0766c04cf1ef2cdfdd08bc
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-05-30 07:54:30 +0900

    Switch reserved for numbered parameter warning to SyntaxError

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3163

commit 50aac2ffd59c7b0d871a82c23048846ad2f3f38b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-22 21:26:21 +0900

    Share the size for sigaltstack between configure.ac and signal.c

commit 8b0dc77a621ded75f72486c33f55404ce73f00d7
  Author: Jake Zimmerman <zimmerman.jake@gmail.com>
  Date:   2020-07-11 04:05:34 +0900

    configure.ac: Bump the size of sigaltstack

    The RubyVM uses C macro defines to feature detect whether
    `backtrace(2)` support is available, and if so it includes C level backtraces
    when the RubyVM itself crashes.

    But on my machine, C level backtraces from `vm_dump.c` didn't work when
    using a version of Ruby built on the machine, but worked fine when using a
    version of Ruby built on another machine and copied to my machine.

    The default autoconf test for backtraces uses a sigaltstack size that is
    too small, so the SIGSEGV signal handler itself causes a SIGSEGV).
    I noticed that signal.c uses a larger sigaltstack size:

    https://github.com/ruby/ruby/blob/v2_6_5/signal.c#L568

    The specific variables it looks at:

    - `HAVE_BACKTRACE`

      this is a macro defined by autoconf because there is a line in the
      configure script like `AC_CHECK_FUNCS(backtrace)` (see the autoconf
      docs for more).

    - `BROKEN_BACKTRACE`

      this comes from a custom program that Ruby's configure script runs to
      attempt to figure out whether actually using backtrace(2) in a real
      program works. You can see the autoconf program here.

      <https://github.com/ruby/ruby/blob/v2_6_5/configure.ac#L2817-L2863>

    It uses sigaltstack and SA_ONSTACK to create a separate stack for
    handling signals.

    The problem was: SIGSTKSZ (which comes from a system header!) was not
    suggesting a large enough stack size. When checking on an Ubuntu 16.04
    box, we found that SIGSTKSZ was 8192 and MINSIGSTKSZ was 2048.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3307

commit 7befc0cdfcf972023842eca5836fe4709ec2ad46
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-07-22 18:38:51 +0900

    Promote optparse to default gems

commit a50750c8a960ef62b3e1dbd78b12056f0512b17d
  Author: BurdetteLamar <burdettelamar@yahoo.com>
  Date:   2020-07-22 02:55:28 +0900

    Enhanced RDoc for Array

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3318

commit d29de7b31bad1848f8baaa49b00e4203057032a7
  Author: BurdetteLamar <burdettelamar@yahoo.com>
  Date:   2020-07-22 02:07:26 +0900

    Enhanced RDoc for Array

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3318

commit 8a974e0fcb3f2648dd75993b4c4a1625a50e986f
  Author: BurdetteLamar <burdettelamar@yahoo.com>
  Date:   2020-07-15 06:04:06 +0900

    Enhanced RDoc for Array

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3318

commit 20172672db8d6c090148c67183e4574669ee0c86
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-07-22 04:11:38 +0900

    Add require 'irb/ruby-lex' to use RubyLex

commit ee2529dffe475567059b3234bf6f765fcc7b81e4
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-07-22 03:49:17 +0900

    Sometimes result indicator (=>) isn't shown

commit 0faf02718a75fb7c338c9ec7c27b284b4cf2f874
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-07-22 03:13:10 +0900

    Use simple assersion

commit 1d0e8fd4bb92cbd91c37757ff3b84603754e1b4a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-22 02:42:15 +0900

    * 2020-07-22 [ci skip]

commit 02951a45f0684b647499a214870a39acf1b6f422
  Author: hyrious <hyrious@outlook.com>
  Date:   2020-07-21 23:55:04 +0900

    [ruby/rdoc] Create link to unary operator methods correctly

    https://github.com/ruby/rdoc/commit/54500cf12a

commit 7693aa705619752b57de192951cc688338653715
  Author: Benoit Tigeot <benoit@hopsandfork.com>
  Date:   2020-07-03 05:33:09 +0900

    [ruby/rdoc] Remove empty lines from html file by using ERB trim_mode flag

    https://github.com/ruby/rdoc/commit/9e27299a46

commit 38480ad5078ac1d83031d6b9e25070508b9c034e
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-06-12 07:02:28 +0900

    [ruby/rdoc] Fix parsing of rb_define_module_under

    Fixes Ruby Bug #15819

    https://github.com/ruby/rdoc/commit/94a052d833

commit f76d67f484b55131f45586e5f515db61e9bd41e7
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-05-26 23:25:50 +0900

    [ruby/rdoc] Fix RDoc::Context#instance_method_list

    The warn method returns nil, it's a bug of #instance_method_list.

    https://github.com/ruby/rdoc/commit/a20df89263

commit f6e789e3b07ede0b5842c7f64940e4cd9ed876fd
  Author: Nobuhiro IMAI <nov@yo.rim.or.jp>
  Date:   2020-03-02 22:16:11 +0900

    [ruby/irb] handle rescue modifier properly

    https://github.com/ruby/irb/commit/6de1341f5e

commit 22d38d54751e3e23144d4b4e1fb8ed67626c89c8
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-06-24 18:41:10 +0900

    [ruby/irb] Add test_eval_object_without_inspect_method

    https://github.com/ruby/irb/commit/c0d9a26bce

commit b40e925c92753640ae05951fe9f69604b41fab32
  Author: Masataka Pocke Kuwabara <kuwabara@pocke.me>
  Date:   2020-06-10 22:01:57 +0900

    [ruby/irb] Fix error when `inspect` is called but not found in inspector

    https://github.com/ruby/irb/commit/ce6d53e6d9

commit 4268084d699922d7650b0bf6327042f3331d5ca3
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-06-09 00:10:14 +0900

    [ruby/irb] Add encoding magic comments of editors

    https://github.com/ruby/irb/commit/f8c10ea24b

commit c72a2fad9717a6090aa792c31eb0043886d0fb39
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-06-07 23:29:01 +0900

    [ruby/irb] Simplify RubyLex.compile_with_errors_suppressed

    nobu-san reviewed,

    https://github.com/ruby/irb/pull/106#pullrequestreview-423400033
    > How about lexer = Ripper::Lexer.new(";\n#{code}", nil, 0)?
    > Encoding pragma is effective only at the beginning.
    > And the semicolon and newline will be skipped because the position is before
    > the initial pos.

    I employ the way.

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

    https://github.com/ruby/irb/commit/e593cc65b7

commit 1dfd24a7fc4e2877d49d2a3326925080e2972cf1
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-06-01 19:22:50 +0900

    [ruby/irb] Suppress incomplete encoding magic comment error

    https://github.com/ruby/irb/commit/443e90af80

commit 78ccab25306d15c325baa0761d9505ac23956f22
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-06-01 08:53:07 +0900

    [ruby/irb] Suppress incomplete coding magic comment error

    https://github.com/ruby/irb/commit/6a457edbd1

commit 48eb1ad2c3aa1a14bd8ef61cbd72a791b0b67418
  Author: Tanaka Akira <akr@fsij.org>
  Date:   2020-07-21 20:28:36 +0900

    [DOC] time.c document updated.

    * fraction -> subsecond
      for consistency with method name

    * The sentence,
      "A non-portable feature allows the offset to be negative on some systems.",
      is removed.
      Time before 1970 should work portably now.
      If localtime() doesn't work before 1970,
      Ruby should extrapolate it.

    * Time::new -> Time.new
      "::" for method call is not common notation now.

    * Time#to_i truncates subsecond

    * Time#to_f approximates a value in Time object

    * Time#to_r
      The sentence,
      "You can use this method to convert _time_ to another Epoch.",
      is removed.
      It is not clear because no actual example of "another Epoch" is given.

    * Time#usec truncates fraction of microseconds.

    * Time#nsec truncates fraction of nanoseconds.

    * describe Time#inspect shows subsecond since Ruby 2.7.0.

commit 73ee1295a33c51f24e774b273fdeca5910ce5ba8
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-07-21 04:38:07 +0900

    Add memsize support for the call cache table

    Each class/module/iclass can potentially have their own cc table.
    Count their malloc usage.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3336

commit ac3dbbd4db20ec225cb579eb0293900fbc517d53
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-21 09:18:37 +0900

    * 2020-07-21 [ci skip]

commit a8eecceaef16e76a29face4d817f12e41a1de3dd
  Author: Gabriel Nagy <gabrielnagy@me.com>
  Date:   2020-07-20 17:24:24 +0900

    [ruby/csv] Bump minimum ruby version to 2.5.0 (#159)

    A dependency to stringio was added to csv, which requires Ruby version
    >= 2.5. Bump the gemspec version accordingly.
    https://github.com/ruby/csv/commit/bc5a26029f

commit c6f389d84e0f0df535579fb0d378c04fae2c4614
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-07-20 16:02:47 +0900

    [ruby/csv] Move doc/* to doc/csv/* to work in ruby/ruby too

    https://github.com/ruby/csv/commit/910f8e0c5d

commit 935d0b3d05dfc8b30bba505792129bf0e33ebe3b
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-07-20 09:42:28 +0900

    [ruby/csv] Enhanced RDoc for several methods (#158)

    * Enhanced RDoc for several methods

    * Update lib/csv.rb

    Co-authored-by: Sutou Kouhei <kou@cozmixng.org>

    Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
    https://github.com/ruby/csv/commit/72e8b00e51

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3335

commit 78893f16b237ac5d761d96aed7428fc7640a4dab
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-07-20 06:37:56 +0900

    [ruby/csv] Bump version

    https://github.com/ruby/csv/commit/f9cd046d66

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3335

commit d919b0e4f9ec77f35bd3891eefe016e2922a758e
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-07-20 06:28:26 +0900

    [ruby/csv] Require stringio 0.1.3 or later

    https://github.com/ruby/csv/commit/09dd9f2771

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3335

commit 16daee1c75828b8157e8b24f0a02bf064fa07ae7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-19 16:57:03 +0900

    [ruby/stringio] Bump version to 0.1.3

    https://github.com/ruby/stringio/commit/376516cd2d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3334

commit ddb2acbba60302201f01175f019d8ecd99934add
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-19 16:08:03 +0900

    [ruby/stringio] No compatibility check in US-ASCII case

    https://github.com/ruby/stringio/commit/59df1c8293

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3334

commit c62aff16325c6b170f437f7ebe97c09387464ada
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-19 11:38:58 +0900

    [ruby/stringio] Added non-ASCII but convertible encoding case

    https://github.com/ruby/stringio/commit/1d28e5c969

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3334

commit a7c67fc6da1248e98bfa40e961d82471ece0f5aa
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-19 01:30:01 +0900

    [ruby/stringio] Removed wrong UNREACHABLE

    https://github.com/ruby/stringio/commit/f528538d10

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3334

commit 574871781b8fede4ffd2f11f084d87d4f9539745
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-19 00:44:56 +0900

    [ruby/stringio] Bump version to 0.1.2

    https://github.com/ruby/stringio/commit/8cbe3f7397

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3334

commit 6ff9604f85bf5ffcb6dbfd9ff99ab420c9a5f415
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-18 23:52:27 +0900

    [ruby/stringio] Raise an error if encoding conversion not succeeded

    As `rb_str_conv_enc()` returns the argument string object itself
    unchanged when any conversion failed, check the incompatibility in
    that case.

    Fixes https://github.com/ruby/stringio/issues/13

    https://github.com/ruby/stringio/commit/ede6bdcc71

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3334

commit 840115bf46476dc2b3c175f7716b4d6000906f40
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-20 13:38:37 +0900

    Make StringIO encoding fixed

    Get rid of affects by default external encoding.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3334

commit d2bf6133f6f37279505ab8f9b1dcfc5a48b70345
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-20 13:31:41 +0900

    Remove trailing spaces [ci skip]

commit 1b3a6847be83ed1269b6eb87016c721ca33da8e5
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-07-20 09:42:57 +0900

    Move declarations to private `internal/thread.h` header.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3323

commit f3462d99a3dd8d535eda287b000cb035bade522c
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-07-18 12:10:17 +0900

    Rename `rb_current_thread_scheduler` to `rb_thread_scheduler_if_nonblocking`.

    Correctly capture thread before releasing GVL and pass as argument to
    `rb_thread_scheduler_if_nonblocking`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3323

commit 9f6a3d030682e9f99c77c2ef31881f9801c3979e
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-07-18 14:34:54 +0900

    Add multi-threaded I/O test.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3323

commit e6e9cef06e9023a80991518297d9f2c0c12488ce
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-07-16 12:19:47 +0900

    Improve consistency of tests.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3323

commit a3ac1bf450d2aa0c6b0b34fee417992b4352ff2c
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-07-18 19:02:07 +0900

    Add more timeouts to macos, mjit, ubuntu and windows workflows.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3329

commit da0e8158c91a3e49fda3acc15c51a4339965289b
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-20 03:35:19 +0900

    * 2020-07-20 [ci skip]

commit 4fcfa85cb6a44b4e8c7a47578b50064711dff404
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-07-19 06:25:05 +0900

    [ruby/csv] CSV.generate_line: use the encoding of the first non ASCII field as the expected encoding

    See also: https://github.com/ruby/stringio/issues/13#issuecomment-660543554

    https://github.com/ruby/csv/commit/004cf49d18

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 178649e6dcb679f4b42cbf723d4f34f81a591304
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-07-16 06:10:38 +0900

    [ruby/csv] force_quotes: add support for specifying the target indexes or names

    GitHub: fix GH-153

    Reported by Aleksandr. Thanks!!!

    https://github.com/ruby/csv/commit/8812c58a26

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit d9749b4715168ccce020dd43b4815e365881f73e
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-07-16 05:37:17 +0900

    [ruby/csv] RDoc for converters (#157)

    * More on RDoc for converters

    * More on RDoc for converters

    * Fix indent

    Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
    https://github.com/ruby/csv/commit/6044976160

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit d7c42df0b103fb24d39d5f52b792f21afa71daa7
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-07-04 23:25:31 +0900

    [ruby/csv] Adding call-seq to methods RDoc (#155)

    * Adding call-seq to methods RDoc

    Co-authored-by: Sutou Kouhei <kou@cozmixng.org>


    https://github.com/ruby/csv/commit/dbd860c1cd

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 544d82f49b4b1486ae2791a35b6e5cce3e1abed1
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-07-03 11:06:26 +0900

    [ruby/csv] RDoc: summary lists for options (#154)

    * RDoc: summary lists for options

    * Enhanced RDoc for certain attributes and instance methods

    * Enhanced RDoc for certain attributes and instance methods

    * Enhanced RDoc for certain attributes and instance methods

    * Enhanced RDoc for certain attributes and instance methods
    https://github.com/ruby/csv/commit/72d8a25dc9

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 40c50236291e39ceb2159439295137f194d0dbc2
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-07-02 05:15:13 +0900

    [ruby/csv] RDoc remark about instance methods (#152)


    https://github.com/ruby/csv/commit/76379bbe62

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit a0bee2bbd6f85bb6c8de5d109eb60ab0ee39cdbb
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-07-01 10:30:49 +0900

    [ruby/csv] Revised introductory RDoc (#151)


    https://github.com/ruby/csv/commit/60f6f1c28f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit da83401ba4813cd55d7d462ebfd78f0575ec4ce9
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-29 06:25:31 +0900

    [ruby/csv] Enhanced RDoc for filter (#149)

    * Enhanced RDoc for filter

    * Correct return values for ::filter, ::foreach, ::parse

    * Enhanced RDoc for filter

    * Remove "returns nil"s

    Co-authored-by: Sutou Kouhei <kou@clear-code.com>
    https://github.com/ruby/csv/commit/2c347f9a3d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 66b5cedc29de49c564839011c2bcb61552d26b88
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-27 06:29:57 +0900

    [ruby/csv] Enhancements for RDoc (#148)

    Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
    https://github.com/ruby/csv/commit/25dd4cddbb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 7bf13c51838a4a71fc55712079c5b243c517021c
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-25 12:38:36 +0900

    [ruby/csv] Improve RDoc for common options (#146)


    https://github.com/ruby/csv/commit/223cbee35d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit d9eff306f5806c6a1b79019ec44395e4cc816218
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-25 06:04:25 +0900

    [ruby/csv] Organize files in doc/ (#145)

    https://github.com/ruby/csv/commit/bc9ea859b0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 920a16893ad5b76bcb357d45f2c0b9d91d09268e
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-19 07:02:02 +0900

    [ruby/csv] RDoc for parse_line (adds headers examples) (#143)

    * RDoc for parse_line (adds headers examples)

    * RDoc for parse_line (adds headers examples)
    https://github.com/ruby/csv/commit/a161be928e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 6106b7badd7a8f71549caf72e7824ba55a0cab51
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-19 05:21:37 +0900

    [ruby/csv] Added headers to RDoc for CSV.foreach (#142)

    * Added headers: to RDoc for CSV.foreach

    * Correct options remark for CSV.generate

    * Improve citation for option headers
    https://github.com/ruby/csv/commit/b01945ec3a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit e4742fec64ed555a8b879481679d4fb9a1c8368a
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-17 08:35:28 +0900

    [ruby/csv] Add headers cases to CSV.parse (#141)

    * Add headers cases to CSV.parse

    * Adjust call-seq for CSV.parse

    * Update csv.rb
    https://github.com/ruby/csv/commit/848c760c43

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 9901bb4c73131ca80a1924d45425d8011a591cbd
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-16 06:43:36 +0900

    [ruby/csv] Add missing file doc/argument_io.rdoc (#140)


    https://github.com/ruby/csv/commit/e37f04aa5c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 013cca1f9a87eebba61e11ebcf97109dde009d37
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-15 09:09:58 +0900

    [ruby/csv] doc: fix return value of open {} and use File.open {} (#139)

    * Enhanced RDoc for CSV

    * Repair example code for foreach
    https://github.com/ruby/csv/commit/16b425eb37

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 7c55c961475619126cfb45331ac7a0724f99a536
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-14 03:26:30 +0900

    [ruby/csv] Rdoc (#137)

    Enhancements for open, parse, minor tweaks.
    https://github.com/ruby/csv/commit/35392f4e45

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit f89186aebb3efb7c0111a3db44f542c858b7f6e3
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-12 06:31:52 +0900

    [ruby/csv] Add document for CSV.instance (#136)

    Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
    https://github.com/ruby/csv/commit/85e293c1ba

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 1ac702cd29786085d5bfe618eef9e9d9817e76f3
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-10 08:28:35 +0900

    [ruby/csv] Add RDoc links for delegated methods (#135)


    https://github.com/ruby/csv/commit/1a4b96b418

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 08e70126aeca4edcdeab7dc292acda2f50cc41a1
  Author: Koichi ITO <koic.ito@gmail.com>
  Date:   2020-06-04 12:33:47 +0900

    [ruby/csv] Add `invalid: :replace` for `CSV.open` (#130)

    This PR adds `invalid: :replace` for `CSV.open`. It is a PR similar to #129.
    https://github.com/ruby/csv/commit/5bf687341c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit cee10c1b7033f4682b3f4c76220c0c190e70aa1a
  Author: Koichi ITO <koic.ito@gmail.com>
  Date:   2020-06-04 12:08:05 +0900

    [ruby/csv] Fix an error for `CSV.open` (#131)

    Follow up to https://github.com/ruby/csv/pull/130/files#r434885191.

    This PR fixes `ArgumentError` for `CSV.open` when processing
    invalid byte sequence in UTF-8.
    https://github.com/ruby/csv/commit/a4b528c209

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 4e33a878793a5ced47a4f14b8a73cbc2795d97b7
  Author: Koichi ITO <koic.ito@gmail.com>
  Date:   2020-06-02 08:30:25 +0900

    [ruby/csv] Add `undef: :replace` for `CSV.open` (#129)

    This PR adds `undef: :replace` option for `CSV.open`.

    `File.open` has `undef: :replace` option, but `CSV.open` does not.
    It would be convenient if `CSV.open` could have a shortcut by having
    `undef: :replace` option.
    https://github.com/ruby/csv/commit/cff8b18480

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit cf8157e0016dd0eb60fe6f03bef168261f729b83
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-05-27 06:13:05 +0900

    [ruby/csv] RDoc for foreach, generate (#127)

    * Rdoc for foreach

    * Enhanced Rdoc for CSV.generate
    https://github.com/ruby/csv/commit/8c26c0ab1f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 731c0eb44d93bcce951e447c52b4763418b5bcdd
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-05-18 06:03:03 +0900

    [ruby/csv] Bump version

    https://github.com/ruby/csv/commit/c6577e5b6e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 9e6d54a501fc1864515274a2e45058584e32fe3f
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-05-18 06:01:57 +0900

    [ruby/csv] Enhanced Rdoc (#124)

    * Enhanced Rdoc for ::new

    * Rdoc for parse_line

    * More on parse_line

    * Make ::new neater with :call-seq:

    * Make better use of :call-seq:

    * Rdoc for generate_line

    * Respond to review
    https://github.com/ruby/csv/commit/0d42df39cb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit e3808c5acad20f0c70e2994346fc7ea2c48269f1
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-05-18 05:59:14 +0900

    [ruby/csv] Add missing document files to .gem

    GitHub: fix GH-125

    Reported by joast. Thanks!!!

    https://github.com/ruby/csv/commit/bf41fa94cf

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 71bee3819f6211e48dd42ff1611131e5f431d658
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-05-17 12:14:05 +0900

    [ruby/csv] Bump version

    https://github.com/ruby/csv/commit/936f15f3cd

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 1822b19221400da9e238c03b21f734159fb7fe6f
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-05-17 12:02:55 +0900

    [ruby/csv] Don't drop stack trace in CSV.parse_line

    GitHub: fix GH-120

    Reported by Kyle d'Oliveira. Thanks!!!

    https://github.com/ruby/csv/commit/2959483f90

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit cf7e472ab412044d97d6ec5263daed456c4f2724
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-05-17 11:58:07 +0900

    [ruby/csv] test scanner: specify encoding explicitly

    https://github.com/ruby/csv/commit/6e83a1de9c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit b8084b5cb4e20d463938b518dd12f91290c3fb1a
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-05-17 11:51:06 +0900

    [ruby/csv] Fix a bug that write_nil_value or write_empty_value don't work with non String

    GitHub: fix GH-123

    Reported by asm256. Thanks!!!

    https://github.com/ruby/csv/commit/b4492139be

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 5359121a56e90bd4b42a6638046ca34ea72dee8d
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-05-13 08:33:33 +0900

    [ruby/csv] Revert "test: use binary mode explicitly for Ruby 2.7"

    This reverts commit 736174d28413a4c36630b0daf2f170c8d2fc9abe.

    It doesn't solve anything.

    https://github.com/ruby/csv/commit/0ee3bdd0d3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 0ee5578e8caa8562cc48234684aaab086a3e13e9
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-05-13 08:27:05 +0900

    [ruby/csv] test: use binary mode explicitly for Ruby 2.7

    https://github.com/ruby/csv/commit/736174d284

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 6ba1abd40c4610506a638246431660a32a9b1798
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-05-13 06:42:45 +0900

    [ruby/csv] Enhanced Rdoc for CSV (#122)

    https://github.com/ruby/csv/commit/cd670595d5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 033514c62fef937dda904daa3b73b2b9750913f0
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-05-09 06:32:02 +0900

    [ruby/csv] Bump version

    https://github.com/ruby/csv/commit/edc6cb9022

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 814bfc8adc128ed050f2b60a423beb86e00fc6ec
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2019-12-25 06:59:43 +0900

    [ruby/csv] Fix a parse bug when split character exists in middle of column value

    GitHub: fix #115

    Reported by TOMITA Masahiro. Thanks!!!

    https://github.com/ruby/csv/commit/398b3564c5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit aeac7db8236ad43d8c8992fd1b9d120d567754ec
  Author: TOMITA Masahiro <tommy@tmtm.org>
  Date:   2019-12-25 06:32:53 +0900

    [ruby/csv] Fix docs for :strip option (#114)


    https://github.com/ruby/csv/commit/fb10925271

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 3c5b67e0db22ec9a15cef6c4961abf6f91373dd3
  Author: Seiei Miyagi <hanachin@gmail.com>
  Date:   2019-11-25 10:06:59 +0900

    [ruby/csv] Ensuring StringIO's encoding in CSV.generate (#111)


    https://github.com/ruby/csv/commit/dbf55ef008

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit d57bc03ba98649661c7dedbb46ec2f2bb6bee9be
  Author: Mike MacDonald <crazymykl@gmail.com>
  Date:   2019-11-03 12:48:22 +0900

    [ruby/csv] Do not loop forever when skip_lines regexp matches zero length with anchors (#110)

    * Do not loop forever when skip_lines regexp matches zero length with anchors

    * Remove needless white spaces

    * Add missing eos check in skip_needless_lines

    * Simplify test

    https://github.com/ruby/csv/commit/3b15d4a3e8

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit b219cd5ac36ffb733e3eccd98d53ecf660dee5bf
  Author: Jim Kane <fastjames@gmail.com>
  Date:   2019-10-22 19:01:24 +0900

    [ruby/csv] Make CSV::Row#dup return a usable Row (#108)

    * Make CSV::Row#dup return a usable Row

    Previously, calling `dup` on a `CSV::Row` object yielded an object whose
    copy was too shallow. Changing the clone's fields would also change the
    fields on the source. This change makes the clone more distinct from the
    source, so that changes can be made to its fields without affecting the
    source.

    * Simplify

    https://github.com/ruby/csv/commit/64a1ea06fc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 9141aae8c2e2cf9ccf38a8c12828b284297c264b
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2019-10-16 09:36:06 +0900

    [ruby/csv] Suppress warnings

    https://github.com/ruby/csv/commit/b37df55f46

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 172cfce6dc7a96ec0f7eac4f0d674ed772d0d098
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2019-10-12 07:45:45 +0900

    [ruby/csv] Bump version

    https://github.com/ruby/csv/commit/284ce810bc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit d03a7c6a25fad2393d8eb2cccd1680e37206cd7e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-19 20:47:28 +0900

    Revert "test/csv/write/test_general.rb: suppress warnings"

    This reverts commit 375cf129189f32f7be76ac525035bcde691a63e7, to
    sync csv from the upstream.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3332

commit 05bf811c2839628aaef3d565daedb28be80d47ef
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-17 02:11:35 +0900

    Special case Range#max for integer beginning and Float::Infinity end

    Popular Ruby libraries such as Rails and Rubocop relying on the
    previous behavior, even though it is technically a bug. The
    correct behavior is probably raising RangeError, since that is what
    an endless range raises.

    Related to [Bug #17017]

commit d637208abd0ae7ccf0539679ca52df1caada4db7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-19 23:13:21 +0900

    Fixed a typo

commit 2eaa53e9a38b46442508878ac1795d91688701e3
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-19 01:19:01 +0900

    * 2020-07-19 [ci skip]

commit 8a5ad2b77d7a24e4f8f4fef179ae5efced935f91
  Author: Michael Kohl <me@citizen428.net>
  Date:   2020-07-19 01:18:40 +0900

    Fix Range#max for beginless Integer ranges [Bug #17034]

    * Fix Range#max for beginless Integer ranges
    * Update test/ruby/test_range.rb
    * Fix formatting

    https://github.com/ruby/ruby/pull/3328

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

  Notes:
    Merged-By: nobu <nobu@ruby-lang.org>

commit b4e784434c54348283c079efb1b8ab9de13c0603
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-07-18 23:45:25 +0900

    Optimize Array#min (#3324)

    The benchmark result is below:

    |                |compare-ruby|built-ruby|
    |:---------------|-----------:|---------:|
    |ary2.min        |     39.105M|   39.442M|
    |                |           -|     1.01x|
    |ary10.min       |     23.995M|   30.762M|
    |                |           -|     1.28x|
    |ary100.min      |      6.249M|   10.783M|
    |                |           -|     1.73x|
    |ary500.min      |      1.408M|    2.714M|
    |                |           -|     1.93x|
    |ary1000.min     |    828.397k|    1.465M|
    |                |           -|     1.77x|
    |ary2000.min     |    332.256k|  570.504k|
    |                |           -|     1.72x|
    |ary3000.min     |    338.079k|  573.868k|
    |                |           -|     1.70x|
    |ary5000.min     |    168.217k|  286.114k|
    |                |           -|     1.70x|
    |ary10000.min    |     85.512k|  143.551k|
    |                |           -|     1.68x|
    |ary20000.min    |     43.264k|   71.935k|
    |                |           -|     1.66x|
    |ary50000.min    |     17.317k|   29.107k|
    |                |           -|     1.68x|
    |ary100000.min   |      9.072k|   14.540k|
    |                |           -|     1.60x|
    |ary1000000.min  |     872.930|    1.436k|
    |                |           -|     1.64x|

    compare-ruby is 9f4b7fc82e.

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit a63f520971787aa7b32b27486e9a5bb732d2814e
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-07-18 23:45:00 +0900

    Optimize Array#max (#3325)

    The benchmark result is below:

    |                |compare-ruby|built-ruby|
    |:---------------|-----------:|---------:|
    |ary2.max        |     38.837M|   40.830M|
    |                |           -|     1.05x|
    |ary10.max       |     23.035M|   32.626M|
    |                |           -|     1.42x|
    |ary100.max      |      5.490M|   11.020M|
    |                |           -|     2.01x|
    |ary500.max      |      1.324M|    2.679M|
    |                |           -|     2.02x|
    |ary1000.max     |    699.167k|    1.403M|
    |                |           -|     2.01x|
    |ary2000.max     |    284.321k|  570.446k|
    |                |           -|     2.01x|
    |ary3000.max     |    282.613k|  571.683k|
    |                |           -|     2.02x|
    |ary5000.max     |    145.120k|  285.546k|
    |                |           -|     1.97x|
    |ary10000.max    |     72.102k|  142.831k|
    |                |           -|     1.98x|
    |ary20000.max    |     36.065k|   72.077k|
    |                |           -|     2.00x|
    |ary50000.max    |     14.343k|   29.139k|
    |                |           -|     2.03x|
    |ary100000.max   |      7.586k|   14.472k|
    |                |           -|     1.91x|
    |ary1000000.max  |     726.915|    1.495k|
    |                |           -|     2.06x|

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 9f60ceec54a8c05d198d1722c65c8a29e4c71e35
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-15 23:41:37 +0900

    Suppress bell during the test

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3322

commit 6f5f15f1e45219ab03d194ce0377907734fb12e4
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-18 08:37:44 +0900

    * 2020-07-18 [ci skip]

commit 8d2333019abb1f8ad882dadf9096f81e9f427c6e
  Author: Masataka Pocke Kuwabara <kuwabara@pocke.me>
  Date:   2020-07-11 16:01:05 +0900

    Fix MonitorMixin when the super's initialize has kwargs

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3310

commit 1fb4e28002327c1224c3ed32783160b011f14747
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-13 11:43:24 +0900

    skip inlining cexpr! that are not attr! inline

    Requested by ko1.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3314

commit 5d5b8a33f648753f69e10df5d3793bdaa83cfc1f
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-16 10:44:19 +0900

    * 2020-07-16 [ci skip]

commit 238464863a039b1d36f009d4447fab42f1a855bf
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-07-15 21:58:01 +0900

    Remove fiber HTTP test.

    The HTTP test hits a remote website which isn't always available and is
    not self-contained. Ideally we will rewrite this test with an internal
    web server.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3321

commit 9f4b7fc82e45531e0057f807548a4d1c2b248186
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-15 23:30:32 +0900

    Check warning flags only if available to run with old versions

commit 579645d9f870fa4116dcd3200bbbb6e2c0b7f400
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-15 18:46:07 +0900

    Fixed infinite loop at error in printing cause [Bug #17033]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3320

commit 79d06483a8ac98a87e5c32d3a34823382a72a0da
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-15 16:36:57 +0900

    Close sockets if blocking to fix leaked fds

commit 5783d0dbfc517c7c9e1fc7d6c10134a36e50449e
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-02 03:22:40 +0900

    Import remaining changes

    The "sync with commits" scripts failed to properly import these for some
    reason.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 0c8d90b5269829d9209a409163832998d5d77af4
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-01 22:09:44 +0900

    [rubygems/rubygems] Unswallow `Gem::Package::FormatError`

    This error happen in a CI run, and as it is currently, it doesn't give
    any useful information about the underlying cause. Let's not swallow the
    original error.

    https://github.com/rubygems/rubygems/commit/8c17ba2f45

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 1f7195421ec9f6f8cadf8f573a01b644b44ab0da
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-07-01 16:03:10 +0900

    [rubygems/rubygems] July man pages

    https://github.com/rubygems/rubygems/commit/58d9a3de5b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit fd709382b62ded5065941e75ed1c73e1df75a142
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-07-01 03:00:19 +0900

    [rubygems/rubygems] Tag the specs with :readline

    The newly added specs needs to be tagged as
    :readline, otherwise they fail on Windows with
    the backtrace: `ZeroDivisionError: divided by 0`.

    Such issues are already being skipped on Windows.

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/391f860af4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit c44c7019b5b320d427b9cf560fdb7790fd5c775f
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-07-01 01:38:54 +0900

    [rubygems/rubygems] Add tests with different flag combinations

    Since this PR was made because we missed checking
    RuboCop offenses with different flags, therefore
    adding tests so that all flag combinations are
    tested.

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/d08250efc2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 4f9c673cabcf9ae1d7ac2aa9d4a632f41ae76e38
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-22 19:41:13 +0900

    [rubygems/rubygems] Allow setting a tag prefix to be used by gem release tasks

    https://github.com/rubygems/rubygems/commit/679008f23a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit ca133c03669d495d297579e1f14bc904db591e1d
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-30 18:12:59 +0900

    [rubygems/rubygems] Fix line spacing to make Layout/EmptyLines happy

    The Gemfile wasn't properly put in the last commit.
    As a result, Layout/EmptyLines inspected an offense
    in the Gemfile.

    This also fixes the spec w.r.t change in the task
    default.

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/d1418fddd3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 95f90e3d2bbbe4b3efd193c3df3ff06373c6cdba
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-30 17:28:14 +0900

    [rubygems/rubygems] Add blank lines to make Bundler/OrderedGems happy

    If the blank lines aren't used, then rubocop tries to
    sort them in alphabetical order within their section.
    Thus, adding lines so rubocop considers them as
    different sections and doesn't try to sort them.

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/cf44b18f0f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 281898ed6c9a6f4f1e62acf1f4df0c7dcfc741e3
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-30 17:16:25 +0900

    [rubygems/rubygems] Fix Rakefile to make Style/SymbolArray happy

    In case of multiple Rake tasks, the default tasks would
    look something like this:
    `task default: [:spec, :rubocop]`

    Instead, they should use %i and look something like this:
    `task default: %i[spec rubocop]`

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/487ecd59ce

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 8c65f612f4e4caaecfd3291907f48c9e075c0319
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-30 16:05:38 +0900

    [rubygems/rubygems] Fix remaining RuboCop issues

    With #3731 and #3740 merged, this covers up the
    remaining part of the issues.
    This was discovered when one tries to create a gem
    with a different framework.
    Could be reproduced with:
    `bundle gem foo --ext --test=test-unit`

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/51b6457150

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 40f73b3a0031e7bdbfbace37304602e0efc891fa
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-06-29 02:08:10 +0900

    [rubygems/rubygems] Avoid calling LoadError#message because of its slowness

    Instead we can rely on `LoadError#path`

    https://github.com/rubygems/rubygems/commit/16d5c3b43c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 2fafc08aa34ddba39d0bfdb6e7c5de4f7bf7f55e
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-25 02:53:16 +0900

    [rubygems/rubygems] Remove unneeded trailing conditions on exitstatus

    https://github.com/rubygems/rubygems/commit/27e0e4ecb6

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 547ba6608e3e81674f829b75fcb0a9023889e235
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-25 02:59:50 +0900

    [rubygems/rubygems] Easier way to find path to ruby binary

    https://github.com/rubygems/rubygems/commit/cdc201f5c4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 16823d4a05580e041ff514122de5f3a3fbcef409
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-25 02:52:14 +0900

    [rubygems/rubygems] Remove unnecessary assertions on exitstatus

    Since our helpers now raise by default if the subcommand fails, these
    will never actually fail and are not necessary.

    https://github.com/rubygems/rubygems/commit/6153b9321e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit e2837a77be2164fa17be046eabb93cbb63f77311
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-25 01:50:19 +0900

    [rubygems/rubygems] Constrain (shipped) RuboCop's version

    Right now, we're not specifying the version constraints
    on RuboCop that is shipped when a new gem is created.
    This can break specs which runs rubocop on a new
    skeleton gem as the newer versions of RuboCop are
    released.

    This commit ensures that the specs don't break by
    constraining the RuboCop version.

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/0b47243edd

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 17b92d221f1edc9053f5abbefe49f5ffc3babb0e
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-22 07:48:05 +0900

    [rubygems/rubygems] No need to update remotes

    Everything is already fetched locally.

    https://github.com/rubygems/rubygems/commit/9c304639b1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit d189d31ce9693b2c04a2710c8be90f26917b9222
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-22 07:46:50 +0900

    [rubygems/rubygems] Git clone already takes care of this

    https://github.com/rubygems/rubygems/commit/6e0c28d3ab

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit a73ea2126fe12f80a3edde167c78bf35884f895e
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-22 07:06:16 +0900

    [rubygems/rubygems] Clone rubygems from the local repo

    It simplifies things and should avoid issues like the one we had where
    the master branch had a bad `.gitattributes` file and changing it on a
    PR would be disregarded.

    In order for this to work, we need to make sure to fetch all tags from
    the repository, so that they can properly be checked out later. This
    does not apply to the case of testing against `RGV=..`, since no extra
    cloning is needed there.

    https://github.com/rubygems/rubygems/commit/d088d936b8

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 5ebca6d709c273b5daed7bc52f180af2ed86d080
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-22 05:17:34 +0900

    [rubygems/rubygems] Skip this spec on ruby_core workflow

    ruby_core has an 'ast.rb' file that gets in the
    middle and breaks this spec, so it's better we skip
    this test on this workflow for now.

    Also, slightly change the spec name from "run" to
    "runs" and change the last assertion, it's cleaner
    to check empty error.
    Thanks to David Rodríguez for this!

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/ba8eaa70c3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit d0810fdee453fef24492dcfdb0876d57f3b90d6a
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-22 02:53:23 +0900

    [rubygems/rubygems] Use latest version of rubocop for RUBY_VERSION > 2.4

    With older versions of rubocop, the dependency on
    `jaro_winkler` seems to be a pain.
    However, in the later versions of rubocop, this
    dependency was dropped. So we only need to use
    the older version for ruby2.3.

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/9cd87eaee3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 077dcacb0892d8cd36cc45ae8869031c62502919
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-22 01:13:46 +0900

    [rubygems/rubygems] Use `--config .rubocop.yml` instead

    because rubocop configuration inheritance is
    messed up and when using `--ignore-parent-exclusion`,
    even though the exit status is 0, the example
    still fails because of the configuration issue.

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/3e20b2738c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit ecb87b55d8ef3e2e9b5ce2c66d51d65228316754
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-21 20:16:34 +0900

    [rubygems/rubygems] Lock rubocop version to 0.80.1

    The later RuboCop versions don't work with ruby2.3
    so we should lock the version to what works with
    ruby2.3 as we haven't dropped the support yet.

    And since we're using the older version of rubocop,
    also fix `Max` value of `LineLength` to 120, which
    is the current standard. Without this, rubocop
    will throw the line length offenses.

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/46d0a800a2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 215f7c31658a649efa276e18811d69f111931f0f
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-21 05:37:14 +0900

    [rubygems/rubygems] Fix linting and make Style/RedundantInterpolation happy

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/83e330fa87

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 4875a96eddacc4c95f6b5d4129d919c7548b5082
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-21 05:22:11 +0900

    [rubygems/rubygems] Fix test to run rubocop on the generated gem

    With this, it will be ensured that the generated
    (skeleton) gem will have no offenses.

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/47411262e0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit b28c6d04d0989fa01842435f617e96420a8b4743
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-21 05:12:34 +0900

    [rubygems/rubygems] Make Style/HashSyntax cop happy

    Previously, we were using the old syntax like:
    `task :default => :spec`, but now this commit
    uses the new Ruby 1.9 hash syntax.

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/b41d0fdb56

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 449d24200b94ac5d849314125d2930e04d20ee6e
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-20 01:44:21 +0900

    [rubygems/rubygems] WIP: add test to run rubocop on the generated gem

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/730b770f8a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit cbe4d29c2da9913c77289cdaf9d949a7c24154c5
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-20 01:41:13 +0900

    [rubygems/rubygems] Roll back to Dir.chdir block

    since without that, evaluating the gemspec from
    outside `File.expand_path( __dir__)` won't work.

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/9e5e52a1d9

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 084489be87cb006a283bb5413921bf8099e80ca9
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-19 21:54:11 +0900

    [rubygems/rubygems] Fix tests pertaining to newgem

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/e2ee0b7de3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 3b0d2a3d6ddd4f3d361e15af96881275e8923a5e
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-19 19:44:18 +0900

    [rubygems/rubygems] Fix RuboCop offenses

    These offenses appear when you create a gem with
    `bundle gem foo` and run `rubocop` over it.

    Initially, there were around 45 offenses detected,
    but with #3731 and this, the number of offenses
    have been reduced to 2.

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/fe9dcaa1b4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 2b73f26fdefc88d25daf0d712105f4340c239062
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-21 21:44:19 +0900

    [rubygems/rubygems] Show also output from all commands on rubygems checkout errors

    https://github.com/rubygems/rubygems/commit/1fe24e471d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 5ae80c52075c4cfade4bb10e94fef3a525ed54f5
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-21 21:56:33 +0900

    [rubygems/rubygems] Remove `--quiet` flag to `git checkout`

    Since we don't show this output by default, it's better to be verbose
    in case we happen to need more info.

    https://github.com/rubygems/rubygems/commit/baa4ccf5a6

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 23cf99e99dbae352f8497fb20cc92248c9b63580
  Author: MSP-Greg <Greg.mpls@gmail.com>
  Date:   2020-06-18 11:26:13 +0900

    [rubygems/rubygems] Bundler specs - Windows - remove skips, File.open => File.readlines

    Using File.open without a block leaves a file reference that causes issues with file operations

    commands/binstubs_spec.rb
    install/gems/compact_index_spec.rb
    install/gems/dependency_api_spec.rb
    install/gems/standalone_spec.rb
    runtime/executable_spec.rb

    https://github.com/rubygems/rubygems/commit/4b9a6ca156

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit ad743337b376d8e2a9dae7350b0e89eed636c5bb
  Author: MSP-Greg <Greg.mpls@gmail.com>
  Date:   2020-06-17 10:36:12 +0900

    [rubygems/rubygems] bundler/spec/commands/binstubs_spec.rb - remove global Windows skip

    Added one skip for:
    bundle binstubs <gem>
    when the gem exists in the lockfile
    when generating bundle binstub outside bundler
    should abort

    https://github.com/rubygems/rubygems/commit/b77b484889

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit f3ad8a00e260184be1b63231e2f99a1ef73eba60
  Author: MSP-Greg <Greg.mpls@gmail.com>
  Date:   2020-06-17 10:31:15 +0900

    [rubygems/rubygems] bundler/lib/bundler/installer.rb - fix Windows 'executable_stubs'

    Windows normal shell requires binstubs with *.cmd extensions

    https://github.com/rubygems/rubygems/commit/b46326eb1f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3275

commit 48ba9b6106949f042b12a85c851b785f1e430eca
  Author: Sora Morimoto <sora@morimoto.io>
  Date:   2020-07-15 07:24:06 +0900

    Update actions/cache from v1 to v2

    Signed-off-by: Sora Morimoto <sora@morimoto.io>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3319

commit c25d249e63e74499a017330e4281d934911365d4
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-07-15 13:34:54 +0900

    RBasci::flags (VALUE) doesn't match int.

    The type of RBasic::flags is VALUE, and INT2FIX(flags) does not
    make sense. Use correct type to represent.

commit dfe88350df42a30aaeea71fa3b045f6d25fa5b75
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-15 11:22:10 +0900

    * 2020-07-15 [ci skip]

commit fc220b129dff62c1aba7dcf9851519ed6e57f75d
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-07-15 11:21:33 +0900

    rubygems is needed to run solo-file test

commit c87ee8005b496e6c676076afabc962077e799c49
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-07-15 11:21:14 +0900

    rubygems is needed to run solo-file test

commit e60cd14d85b35c9e60485e640c08eebf539c1cfc
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-08 15:44:41 +0900

    ON_DEBUG: delete unused macro

    This is no longer used.

commit 8d3a08457292d027070920e4fb3244445a142a3d
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-14 13:15:06 +0900

    _mjit_compile_invokebuiltin: sp_inc can be negative

    Was my bad to assume sp_inc was positive.  Real criteria is the
    calculated sp is non-negative.  We have to assert that.

commit 8900a25581822759daca528d46a75e0b743fc22e
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-14 02:09:38 +0900

    Fix Range#{max,minmax} for range with integer beginning and non-integer end

    Previously, for inclusive ranges, the max would show up as the
    end of the range, even though the end was not an integer and would
    not be the maximum value.  For exclusive ranges, max/minmax would
    previously raise a TypeError, even though it is possible to get the
    correct maximum.

    This change to max/minmax also uncovered a similar error in cover?,
    which calls max in certain cases, so adjust the code there so that
    cover? still works as expected.

    Fixes [Bug #17017]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3306

    Merged-By: jeremyevans <code@jeremyevans.net>

commit a1bcfbe30c0bc8dcd4f575e6f74cb92b4453f1ba
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-14 02:07:08 +0900

    * 2020-07-14 [ci skip]

commit 46d1777a43ef88a8a0cdff041e4c1c3776161fc9
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-07-14 02:06:27 +0900

    Remove --jit-min-calls for now

    --jit-min-calls=5 is too unstable

commit c2a6295ec04a191c689d22254ac1ad5d665e27ad
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-12 00:09:04 +0900

    Make the mkmf methods private in the global [Bug #16896]

commit d99d96cc6d139b9496fa33b81d378481a8c6388b
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-07-13 14:10:57 +0900

    Add --jit-min-calls=5 (#3313)

    * RUN_OPTS needs to be specified for overriding it

    * Add --jit-min-calls=5

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 2e5a711f47799b333c57cf7b2351642b105e072a
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-13 12:45:26 +0900

    common.mk: add missing dependency

commit 927fe2422fe8ca3ee50b76c3ee82d3238ea2daca
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-13 12:27:53 +0900

    mk_builtin_loader.rb: STACK_ADDR_FROM_TOP unusable

    Stacks are emulated in MJIT, must not touch the original VM stack.

    See also http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3061353

commit 16bc9bf7e85ed301498ccdea04569af1808559c2
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-07-13 11:33:40 +0900

    [DOC] Use https:// instead of http:// [ci skip]

commit 7e536b3be26ae48738a036a58be8dfa380bd21da
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-12 14:53:54 +0900

    builtin.h: avoid copy&paste

    Instead of doubling the invokebuiltin logic here and there, use the same
    insns.def definition for both MJIT/non-JIT situations.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3305

commit 802bcd3ec81c1f5de77dbfbe8d9934c5760c85d7
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-11 14:25:51 +0900

    fix MJIT link error

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3305

commit 4506f6119a047eea5a76db89834c31578780c442
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-10 18:31:26 +0900

    %p is not portable across platforms

    This commit fixes compiler error on MSVC.  %p on that platform is not
    suitable to represent a compile-time constant.

    https://ci.appveyor.com/project/ruby/ruby/builds/34017163/job/vj2a8uk3gwv9yxak#L24381

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3305

commit 2363a16e9ac3d8ba9608502d9969a39cce03ff17
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-10 14:54:01 +0900

    add comments

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3305

commit 5783d84a170356a30b7cc578493880eb67ebda56
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-10 14:53:48 +0900

    fix typo

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3305

commit 9721f477c7f33d64af94fad4a1ca51f739b0b08f
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-10 11:49:50 +0900

    inline Primitive.cexpr!

    We can obtain the verbatim source code of Primitive.cexpr!.  Why not
    paste that content into the JITed program.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3305

commit f66e0212efe4f6572d5e81741e831ab735cc2fee
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-09 21:43:42 +0900

    precalc invokebuiltin destinations

    Noticed that struct rb_builtin_function is a purely compile-time
    constant.  MJIT can eliminate some runtime calculations by statically
    generate dedicated C code generator for each builtin functions.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3305

commit 5d02c1dd14648d95178ac5ec756f5b03fe00d549
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-13 00:35:38 +0900

    * 2020-07-13 [ci skip]

commit 6c8af6b6f281c73058627eb6906b3399f5062a31
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-13 00:31:12 +0900

    sync_default_gems.rb: Updated comments

    * removed out-of-date and duplicate list
    * stated that everything synced from github

commit 49cb2345c657c805762a368cf46a1cbb75c6ca92
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-13 00:30:44 +0900

    sync_default_gems.rb: Added `list` subcommand

commit 6cd600ef697ef046651028538ab59233c335e5c6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-12 23:59:18 +0900

    sync_default_gems.rb: Ignore conflicted files in toplevel more

commit 162d08b8541167a089b2c504d3437b577c38c3f9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-12 23:40:27 +0900

    sync_default_gems.rb: Added -e option to edit when conflicted

commit 99a9c3fe2eaab8157765d792dc871da6daea0327
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-12 14:09:48 +0900

    Fixed yday and wday with timezone [Bug #17024]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3312

commit 90935ff29424c4542d2122f4097ec684cb4b3adf
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-12 17:30:52 +0900

    * 2020-07-12 [ci skip]

commit 9b433d34da90b0e706a388fe67cdfc386a8c2212
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-07-12 17:30:29 +0900

    bidecimal: improve tests' independence (#3297)

    Tests depending on the rounding mode must specify the appropriate rounding
    mode and restore to the original mode at the end.

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 3b96ad9b54455aef66edd758fa1ef931fa748ce5
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-07-11 22:01:56 +0900

    Enhanced RDoc for Array#fill (#3301)

    * Enhanced RDoc for Array#fill

    * Update array.c

    There's one more at 5072.  I'll get it.

    Co-authored-by: Eric Hodel <drbrain@segment7.net>

    * Update array.c

    Co-authored-by: Eric Hodel <drbrain@segment7.net>

    * Update array.c

    Co-authored-by: Eric Hodel <drbrain@segment7.net>

    * Update array.c

    Co-authored-by: Eric Hodel <drbrain@segment7.net>

    * Update array.c

    Co-authored-by: Eric Hodel <drbrain@segment7.net>

    * Update array.c

    Co-authored-by: Eric Hodel <drbrain@segment7.net>

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit eaa2de3112397443181881b9c55e54cd7b701d86
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-11 15:19:03 +0900

    Fixed a comment, wrong binary prefix [ci skip]

commit cbf52087a2d4ac3c2db698ddc5b0b023f6bb2eca
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-07-10 07:37:03 +0900

    Fix missing imemo cases in objspace_dump by refactoring

    imemo_callcache and imemo_callinfo were not handled by the `objspace`
    module and were showing up as "unknown" in the dump. Extract the code for
    naming imemos and use that in both the GC and the `objspace` module.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3304

commit 021cec938af55a7ef368eadc99a6e3ff2252510e
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-11 07:31:51 +0900

    Clarify behavior of super in method in module included in refinement [ci skip]

    Fixes [Bug #16977]

commit c786954bf82f4d66fd407dc9c92bbc190a32a7b5
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-11 01:34:33 +0900

    * 2020-07-11 [ci skip]

commit ddd9704ae9bf884d867b6f57a16c095a79393fff
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-06-03 02:35:00 +0900

    Encode ' as &apos; when using encode(xml: :attr)

    Fixes [Bug #16922]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3177

commit 82489f02429c14f945dbef787308d13adfa0018d
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-07-10 19:27:11 +0900

    Show messages around the line when replacing failed in format_changelog

commit 615758bd823d52e542976bbc83a728c1bad28ade
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-07-10 16:47:26 +0900

    Fix an inaccurate comment in test_jit

commit 7fa3c71becd6d9b11d1574b3537a3b2993a7046c
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-07-10 16:42:43 +0900

    Make sure vm_call_cfunc uses inlined cc

    which is checked by the first guard. When JIT-inlined cc and operand
    cd->cc are different, the JIT-ed code might wrongly dispatch cd->cc even
    while class check is done with another cc inlined by JIT.

    This fixes SEGV on railsbench.

commit 4989987419c42b04fbf3b0634ddaeace49108689
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-10 13:02:31 +0900

    Explicit conversion to boolean to suppress shorten-64-to-32 warnings

commit a82252df4244c4e92331ade58fc795b448ced3fc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-10 12:48:47 +0900

    Fixed another typo

commit 234f8eee33459e67f9d9c42c2a7dcdfe8711bcb7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-10 12:32:48 +0900

    Fixed typos

commit e4ee99209932e424be426c5f4cad7e9704522e34
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-07 09:02:22 +0900

    vm_push_frame_debug_counter_inc: use branches

    Ko1 doesn't like previous code.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3296

commit 0e276dc458f94d9d79a0f7c7669bde84abe80f21
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-06 15:10:10 +0900

    vm_push_frame: move assignments around

    Struct assignment using a compound literal is more readable than before,
    to me at least.  It seems compilers reorder assignments anyways.
    Neither speedup nor slowdown is observed on my machine.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3296

commit 215c6fa3d012221d89420cbdf1416f65d7179a24
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-06 15:39:26 +0900

    RUBY_CONST_ASSERT: use STATIC_ASSERT instead

    Static assertions shall be done using STATIC_ASSERT these days.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3296

commit 4b8170ce8027863b2085c105f4c4aaad0489328b
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-06 14:58:57 +0900

    vm_push_frame: move assertions out of the function

    These assertions are purely static.  Ned not be checked on-the-fly.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3296

commit 1d93705d6a76f805d1ca5153cb5f4c59ce58c754
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-06 12:53:37 +0900

    vm_push_frame: hoist out debug codes

    Made it a bit readable.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3296

commit db7f3496dd4485149c68912677f231dc434824b7
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-06 11:51:53 +0900

    nobody uses the return value of vm_push_frame

    Surprised to see such a waste of time in this super duper hot path.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3296

commit ba81bc24e62d03cc0f4c05cf4e2b378696631568
  Author: Masataka Pocke Kuwabara <kuwabara@pocke.me>
  Date:   2020-07-10 07:01:10 +0900

    Add instance_methods to class generated by DelegateClass

    Also, make DelegateClass.instance_method fallback to superclass.

    Fixes [Bug #16982]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3221

    Merged-By: jeremyevans <code@jeremyevans.net>

commit 7a479b30b647c38ded91e45c9e8e22d30b671e07
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-10 06:50:04 +0900

    * 2020-07-10 [ci skip]

commit e1bbb9ea9ce205320267783960cfb2e9215d5f52
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-10 06:47:13 +0900

    Document that Kernel#load will load relative to current directory [ci skip]

    Update and format the Kernel#load documentation to separate the
    three cases (absolute path, explicit relative path, other), and
    also document that it raises LoadError on failure.

    Fixes [Bug #16988]

commit addbb7d16e952e87133f210b3fc612e38a37c369
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-07-09 18:14:53 +0900

    Fix typos [ci skip]

commit cb0404cc51c83cd6f5a1f0dd3874cfdeaf3aa552
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-09 13:56:06 +0900

    * 2020-07-09 [ci skip]

commit a0a5eec0e70aa5bd6ba170b89f6ecb2b7c16fbbd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-08 23:52:41 +0900

    Bail out when unsupported coroutine target

commit 9fc25811d59422355fc3a0ed0f28155e4e47267f
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-07-08 23:27:10 +0900

    Enhanced RDoc for Array (#3282)

    Methods:

        reject!
        reject
        delete_if
        zip
        transpose
        replace
        clear

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 23655e6de5ee989feb8c65c7061fe9a71579dc54
  Author: Watson <watson1978@gmail.com>
  Date:   2020-07-05 14:43:29 +0900

    Fix build error on Apple silicon macOS

    This patch will fix following build error on macOS 11.0 + Xcode 12 beta.

    ```
    $ ./configure
    $ make V=1
            BASERUBY = /Users/watson/.rbenv/shims/ruby --disable=gems
            CC = clang -fdeclspec
            LD = ld
            LDSHARED = clang -fdeclspec -dynamiclib
            CFLAGS = -O3 -ggdb3 -Wall -Wextra -Werror=deprecated-declarations -Werror=division-by-zero -Werror=implicit-function-declaration -Werror=implicit-int -Werror=misleading-indentation -Werror=pointer-arith -Werror=shorten-64-to-32 -Werror=write-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Werror=extra-tokens -std=gnu99  -pipe
            XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -DRUBY_DEVEL=1 -fvisibility=hidden -DRUBY_EXPORT -fPIE -DCANONICALIZATION_FOR_MATHN -I. -I.ext/include/arm64-darwin20 -I./include -I. -I./enc/unicode/12.1.0
            CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT
            DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -fstack-protector-strong -Wl,-pie -framework Security -framework Foundation
            SOLIBS = -lpthread -ldl -lobjc
            LANG = ja_JP.UTF-8
            LC_ALL =
            LC_CTYPE =
            MFLAGS =
    Apple clang version 12.0.0 (clang-1200.0.22.19)
    Target: arm64-apple-darwin20.0.0
    Thread model: posix
    InstalledDir: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
    clang -fdeclspec -O3 -ggdb3 -Wall -Wextra -Werror=deprecated-declarations -Werror=division-by-zero -Werror=implicit-function-declaration -Werror=implicit-int -Werror=misleading-indentation -Werror=pointer-arith -Werror=shorten-64-to-32 -Werror=write-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Werror=extra-tokens -std=gnu99  -pipe  -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -DRUBY_DEVEL=1 -fvisibility=hidden -DRUBY_EXPORT -fPIE -DCANONICALIZATION_FOR_MATHN -I. -I.ext/include/arm64-darwin20 -I./include -I. -I./enc/unicode/12.1.0 -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT    -o cont.o -c cont.c
    In file included from cont.c:19:
    ./coroutine/ucontext/Context.h:32:5: error: 'getcontext' is deprecated: first deprecated in macOS 10.6 [-Werror,-Wdeprecated-declarations]
        getcontext(&context->state);
        ^
    /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ucontext.h:37:6: note: 'getcontext' has been
          explicitly marked deprecated here
    int  getcontext(ucontext_t *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
         ^
    In file included from cont.c:19:
    ./coroutine/ucontext/Context.h:51:5: error: 'makecontext' is deprecated: first deprecated in macOS 10.6 [-Werror,-Wdeprecated-declarations]
        makecontext(&context->state, (void(*)(void))coroutine_trampoline, 2, (void*)start, (void*)context);
        ^
    /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ucontext.h:38:6: note: 'makecontext' has been
          explicitly marked deprecated here
    void makecontext(ucontext_t *, void (*)(), int, ...) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) __WATCHOS_PROHI...
         ^
    In file included from cont.c:19:
    ./coroutine/ucontext/Context.h:59:5: error: 'swapcontext' is deprecated: first deprecated in macOS 10.6 [-Werror,-Wdeprecated-declarations]
        swapcontext(&current->state, &target->state);
        ^
    /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ucontext.h:40:6: note: 'swapcontext' has been
          explicitly marked deprecated here
    int  swapcontext(ucontext_t * __restrict, const ucontext_t * __restrict) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_2_0, __IPHONE_...
         ^
    3 errors generated.
    make: *** [cont.o] Error 1
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3289

commit 11af12026eff782c18244d8b5f431f73cdf29dd2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-08 18:26:57 +0900

    Hoisted out functions for no name rest argument symbol

commit 6a0553231547644f06c9f16f0e28e0337185fb79
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-08 18:07:30 +0900

    Constified NODE pointer in ASTNodeData

commit ff5e66034006a875125581114cce19d46843b32a
  Author: manga_osyo <manga.osyo@gmail.com>
  Date:   2020-07-07 20:18:18 +0900

    Added `NODE_SPECIAL_EXCESSIVE_COMMA` info to `ARGS` of `RubyVM::AbstractSyntaxTree`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3298

commit 57cde28c20ac0714b5dfad97414f71d9af373084
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-08 10:00:30 +0900

    * 2020-07-08 [ci skip]

commit ecfc09d053dc4bc9d413d94cd10b64aa05e4015b
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-07-08 09:58:48 +0900

    gc.c: Cast int literal "1" to bits_t

    ... because shifting by more than 31 bits has undefined behavior
    (depending upon platform). Coverity Scan found this issue.

commit b06a4dc6f1fbef12ff7b4d57e7b5f12fd1f6cb5b
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-06-26 07:20:25 +0900

    Expand heap pages to be exactly 16kb

    This commit expands heap pages to be exactly 16KiB and eliminates the
    `REQUIRED_SIZE_BY_MALLOC` constant.

    I believe the goal of `REQUIRED_SIZE_BY_MALLOC` was to make the heap
    pages consume some multiple of OS page size.  16KiB is convenient because
    OS page size is typically 4KiB, so one Ruby page is four OS pages.

    Do not guess how malloc works
    =============================

    We should not try to guess how `malloc` works and instead request (and
    use) four OS pages.

    Here is my reasoning:

    1. Not all mallocs will store metadata in the same region as user requested
    memory.  jemalloc specifically states[1]:

    > Information about the states of the runs is stored as a page map at the beginning of each chunk.

    2. We're using `posix_memalign` to request memory.  This means that the
       first address must be divisible by the alignment.  Our allocation is
       page aligned, so if malloc is storing metadata *before* the page,
       then we've already crossed page boundaries.

    3. Some allocators like glibc will use the memory at the end of the
       page.  I am able to demonstrate that glibc will return pointers
       within the page boundary that contains `heap_page_body`[2].  We
       *expected* the allocation to look like this:

    ![Expected alignment](https://user-images.githubusercontent.com/3124/85803661-8a81d600-b6fc-11ea-8cb6-7dbdb434a43b.png)

       But since `heap_page` is allocated immediately after
       `heap_page_body`[3], instead the layout looks like this:

    ![Actual alignment](https://user-images.githubusercontent.com/3124/85803714-a1c0c380-b6fc-11ea-8c17-8b37369e17ee.png)

       This is not optimal because `heap_page` gets allocated immediately
       after `heap_page_body`.  We frequently write to `heap_page`, so the
       bottom OS page of `heap_page_body` is very likely to be copied.

    One more object per page
    ========================

    In jemalloc, allocation requests are rounded to the nearest boundary,
    which in this case is 16KiB[4], so `REQUIRED_SIZE_BY_MALLOC` space is
    just wasted on jemalloc.

    On glibc, the space is not wasted, but instead it is very likely to
    cause page faults.

    Instead of wasting space or causing page faults, lets just use the space
    to store one more Ruby object.  Using the space to store one more Ruby
    object will prevent page faults, stop wasting space, decrease memory
    usage, decrease GC time, etc.

    1. https://people.freebsd.org/~jasone/jemalloc/bsdcan2006/jemalloc.pdf
    2. https://github.com/ruby/ruby/commit/33390d15e7a6f803823efcb41205167c8b126fbb
    3  https://github.com/ruby/ruby/blob/289a28e68f30e879760fd000833b512d506a0805/gc.c#L1757-L1763
    4. https://people.freebsd.org/~jasone/jemalloc/bsdcan2006/jemalloc.pdf page 4

    Co-authored-by: John Hawthorn <john@hawthorn.email>

commit b02a9584a14b45c7f62dcfdf371d41f451bc6701
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-07 00:26:58 +0900

    * 2020-07-07 [ci skip]

commit 2c6512fe67a275ce4d251f3c5d304bc523597f42
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-06-28 06:10:42 +0900

    Get rid of the redundant stat() in rb_check_realpath_internal

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3267

commit 167d139487d67613bd02522e24476f06ffa137b7
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-07-06 16:11:51 +0900

    Inline builtin struct aref

    We don't do this for aset because it might raise a FrozenError.

    ```
    $ benchmark-driver -v --rbenv 'before;after;before --jit;after --jit' benchmark/mjit_struct_aref.yml --repeat-count=4
    before: ruby 2.8.0dev (2020-07-06T01:47:11Z master d94ef7c6b6) [x86_64-linux]
    after: ruby 2.8.0dev (2020-07-06T07:11:51Z master 85425168f4) [x86_64-linux]
    last_commit=Inline builtin struct aref
    before --jit: ruby 2.8.0dev (2020-07-06T01:47:11Z master d94ef7c6b6) +JIT [x86_64-linux]
    after --jit: ruby 2.8.0dev (2020-07-06T07:11:51Z master 85425168f4) +JIT [x86_64-linux]
    last_commit=Inline builtin struct aref
    Calculating -------------------------------------
                                 before       after  before --jit  after --jit
    mjit_struct_aref(struct)    34.783M     34.810M       48.321M      58.378M i/s -     40.000M times in 1.149996s 1.149097s 0.827794s 0.685192s

    Comparison:
                 mjit_struct_aref(struct)
                 after --jit:  58377836.7 i/s
                before --jit:  48321205.7 i/s - 1.21x  slower
                       after:  34809935.5 i/s - 1.68x  slower
                      before:  34782736.5 i/s - 1.68x  slower
    ```

commit d94ef7c6b61c89f2c16c1d13af18310b9cd65d89
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-06 10:46:57 +0900

    Run method_missing in the same execution context

commit efe851a0dfb94f9a3ec001f9a996f57529900f17
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2019-12-25 15:26:23 +0900

    [ruby/bigdecimal] Version 2.0.1

    https://github.com/ruby/bigdecimal/commit/3fa4f2ac67

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3295

commit 6a826eb4b08484cb3b6279da905f5b9e03e0df5f
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2019-12-23 11:07:23 +0900

    [ruby/bigdecimal] Return US-ASCII string from BigDecimal#to_s

    Fixes #159

    https://github.com/ruby/bigdecimal/commit/57ee92e700

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3295

commit e794d96ca439a698483b2e76d104b77a1cfdcc94
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2019-10-09 10:51:25 +0900

    [ruby/bigdecimal] Drop Ruby 2.3 support

    https://github.com/ruby/bigdecimal/commit/79a819d205

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3295

commit 40b82afe6a20749a375d36ce17e941e890ef8b0e
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2019-10-09 10:50:59 +0900

    [ruby/bigdecimal] Support Ruby < 2.6

    https://github.com/ruby/bigdecimal/commit/61ec452599

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3295

commit 03a33603c66bf6eca6937d221f87daf3f5a489f7
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2019-10-09 10:39:39 +0900

    [ruby/bigdecimal] Add Complex#to_d

    https://github.com/ruby/bigdecimal/commit/97e794ac97

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3295

commit 6607212224401d852c0056b841be7ff95236e8f7
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-10-10 06:10:04 +0900

    [ruby/bigdecimal] Make tests pass on Ruby 2.4

    https://github.com/ruby/bigdecimal/commit/9d19e842ee

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3295

commit d36b197d7c1ce5684fb215697dc2d404cbd730d0
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-10-09 07:23:46 +0900

    [ruby/bigdecimal] Remove definition of BigDecimal#initialize_copy

    This leaves the default definition, which will raise FrozenError.

    https://github.com/ruby/bigdecimal/commit/05e843d838

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3295

commit f00efef30ad6eca30e5674493dacbd25b425a4eb
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2019-10-09 10:27:08 +0900

    [ruby/bigdecimal] Support a Complex in Kernel.BigDecimal()

    https://github.com/ruby/bigdecimal/commit/00795cb01f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3295

commit ceb9d516c6d17b0619cf53dfba7cb7b29fe073e4
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-10-09 07:23:46 +0900

    [ruby/bigdecimal] Undef BigDecimal#initialize_copy

    Both BigDecimal#clone and BigDecimal#dup return self, there is no
    reason to have initialize_copy exposed as a Ruby method.

    The same is true for initialize_clone and initialize_dup.

    https://github.com/ruby/bigdecimal/commit/aaf237fa9e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3295

commit d69510b6cda4024237de8f5766d85397abd5e434
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-06 01:14:42 +0900

    Removed ext/bigdecimal/util/depend unused since dd0c75fdc2104a6ba38b68d4431a572504a3bbc2

commit 1aed23c18d2b62bbe68c704fbe6f2d633ffe71ce
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-06 00:33:03 +0900

    tool/sync_default_gems.rb: Accept multiple commit ranges

commit 8e189df32cacef4b21e357a590d349330532baf5
  Author: manga_osyo <manga.osyo@gmail.com>
  Date:   2020-07-05 20:58:55 +0900

    Add operator info to `OP_ASGN2` of `RubyVM::AbstractSyntaxTree`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3294

commit 988b4bc9eab1e22e4bef7812e878c8ef4ed5ac0f
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-06 00:28:53 +0900

    * 2020-07-06 [ci skip]

commit 41fef191d138b4cd1620505db62e13df79f4b9c2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-05 22:08:04 +0900

    tool/sync_default_gems.rb: Added bigdecimal

commit 6236bbf3636165aff524c128a841189bf43af057
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-05 21:59:22 +0900

    Removed duplicate test with test_BigDecimal_bug7522

commit 4ea57c2a393ab38e632a2255b5799e9c2e8e07ee
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-05 19:15:03 +0900

    Escape `#` for GNU make 3

commit 12b377a96cc0f35e437c34cf117172be550cf900
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-05 19:00:46 +0900

    Updated bundled gems

commit 358f91bf6f9999ba4683f702bc47483789bd4e7e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-05 18:59:06 +0900

    Skip comment and empty lines in gems/bundled_gems file

commit 41168f69fbeb32cfc88210911d62e419b8116589
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-05 17:27:12 +0900

    Prefix export symbol prefix to coroutine_transfer

commit 04c704c5c967ea9bded6bf645439fe59c7d9f7d6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-05 17:12:20 +0900

    Removed trailing spaces [ci skip]

commit 95f5fd9a55cf9d885ec01d50de6eddada4379839
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-07-05 10:43:08 +0900

    fix up Primitive.cinit! code

    Recent changes break Primitive.cinit!(c_code) so fix it.

commit e4f7eee009ebe1f23ee3e5ea69ccd9ea1530bc6f
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-07-05 07:37:20 +0900

    Check ROBJECT_EMBED on guards-merged ivar access

    Fix CI failure like
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3043247
    introduced by a69dd699ee630dd1086627dbca15a218a8538b6f

commit c1463625555b061a2b94c3b6c5581730b482a285
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-07-05 02:12:02 +0900

    Use static variables in Range#minmax

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3286

commit c4bdb6428e046d1f80cbb23b8b0c683bc481979f
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-05 02:02:44 +0900

    * 2020-07-05 [ci skip]

commit bf1a6771f305ea286a3ae575676924551c03e857
  Author: Sam Bostock <sam.bostock@shopify.com>
  Date:   2020-07-04 11:56:07 +0900

    Fix non-numeric exclusive Range#minmax bug

    The implementation of Range#minmax added in d5c60214c45 causes the
    following incorrect behaviour:

      ('a'...'c').minmax => ["a", ["a", "b"]]

    instead of

      ('a'...'c').minmax => ["a", "b"]

    This is because the C implementation of Range#minmax (range_minmax)
    directly delegates to the C implementation of Range#min (range_min) and
    Range#max (range_max), without changing the execution context.

    Range#max's C implementation (range_max), when given a non-numeric
    exclusive range, delegates to super, which is meant to call
    Enumerable#max. However, because range_max is called directly by
    range_minmax, super calls Enumerable#minmax instead, causing the
    incorrect nesting.

    Perhaps it is possible to change the execution context in an optimized
    manner, but the simplest solution seems to be to just explicitly
    delegate from Range#minmax to Range#min and Range#max.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3285

commit 9fc564cfef22a2a4eb7af8b2e1df84e4d473cae6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-07-04 19:38:27 +0900

    Ignore rbenv version file, and moved dot files  [ci skip]

commit 74e1bca79d703f2658ac9cfa6d990e7e77c59757
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-07-04 17:23:34 +0900

    support all locals for cexpr!, cstmt!

    Primitve.cexpr! and .cstmt! can access Ruby's parameter and
    *local variables* (note that local parameters are also local
    variables). However recent changes only allow to access
    parameters. This patch fix it.

    For example, the following code can work:

    def foo a, b, k: :kw, **kwrest
      c = a + b
      d = k
      e = kwrest
      p Primitive.cstmt!(%q(rb_p(rb_ary_new_from_args(5, a, b, c, d, e));
                            return Qnil;))
    end

commit 7a5da7d55d40e431e561ab2c891b7cab155e74db
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-15 23:48:33 +0900

    Allow hidden files with a hyphen to be source controlled

    Latest bundler includes a file named `.gitlab-ci.yml.tt`. Because of
    this too specific .gitignore entry, it was failing to be properly
    imported.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3230

commit 24fa37d87a24dc932c1d778bcaf91204f5c12a76
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-07-04 10:02:43 +0900

    Make Kernel#then, #yield_self, #frozen? builtin (#3283)

    * Make Kernel#then, #yield_self, #frozen? builtin

    * Fix test_jit

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit a69dd699ee630dd1086627dbca15a218a8538b6f
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-07-04 09:52:52 +0900

    Merge ivar guards on JIT (#3284)

    when an ISeq has multiple ivar accesses.

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit ccb2e6eaa5849b57c4322865835cbc8c120f3874
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-04 01:52:54 +0900

    * 2020-07-04 [ci skip]

commit f3a0d7a2035e9f5e0c70effd55732607e3def263
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-07-04 01:52:35 +0900

    Rewrite Kernel#tap with Ruby (#3281)

    * Rewrite Kernel#tap with Ruby

    This was good for VM too, but of course my intention is to unblock JIT's inlining of a block over yield
    (inlining invokeyield has not been committed though).

    * Fix test_settracefunc

    About the :tap deletions, the :tap events are actually traced (we already have a TracePoint test for builtin methods),
    but it's filtered out by tp.path == "xyzzy" (it became "<internal:kernel>"). We could trace tp.path == "<internal:kernel>"
    cases too, but the lineno is impacted by kernel.rb changes and I didn't want to make it fragile for kernel.rb lineno changes.

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit e8010c7401764f54173ffbe8c2bde38cd6d216fa
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-07-03 23:49:36 +0900

    Enhanced RDoc for Array (#3276)

    *Methods:

        keep_if
        delete
        delete_at
        slice!

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit a0f12a0258e4020bd657ee80b7d8f22bd33ea223
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-07-03 16:56:44 +0900

    Use ID instead of GENTRY for gvars. (#3278)

    Use ID instead of GENTRY for gvars.

    Global variables are compiled into GENTRY (a pointer to struct
    rb_global_entry). This patch replace this GENTRY to ID and
    make the code simple.

    We need to search GENTRY from ID every time (st_lookup), so
    additional overhead will be introduced.
    However, the performance of accessing global variables is not
    important now a day and this simplicity helps Ractor development.

  Notes:
    Merged-By: ko1 <ko1@atdot.net>

commit 8655c2e69041cc812d30c2e951a8ac9ea7a60c47
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-07-03 16:55:54 +0900

    RUBY_DEBUG_LOG: Logging debug information mechanism (#3279)

    * RUBY_DEBUG_LOG: Logging debug information mechanism

    This feature provides a mechanism to store logging information
    to a file, stderr or memory space with simple macros.

    The following information will be stored.
      * (1) __FILE__, __LINE__ in C
      * (2) __FILE__, __LINE__ in Ruby
      * (3) __func__ in C (message title)
      * (4) given string with sprintf format
      * (5) Thread number (if multiple threads are running)

    This feature is enabled only USE_RUBY_DEBUG_LOG is enabled.
    Release version should not enable it.

    Running with the `RUBY_DEBUG_LOG` environment variable enables
    this feature.

      # logging into a file
      RUBY_DEBUG_LOG=/path/to/file STDERR

      # logging into STDERR
      RUBY_DEBUG_LOG=stderr

      # logging into memory space (check with a debugger)
      # It will help if the timing is important.
      RUBY_DEBUG_LOG=mem

    RUBY_DEBUG_LOG_FILTER environment variable can specify the filter string.
    If "(3) __func__ in C (message title)" contains the specified string, the
    information will be stored (example: RUBY_DEBUG_LOG_FILTER=str will enable
    only on str related information).

    In a MRI source code, you can use the following macros:
      * RUBY_DEBUG_LOG(fmt, ...): Above (1) to (4) will be logged.
      * RUBY_DEBUG_LOG2(file, line, fmt, ...):
        Same as RUBY_DEBUG_LOG(), but (1) will be replaced with given file, line.

  Notes:
    Merged-By: ko1 <ko1@atdot.net>

commit 01776ca1c0eb368dd820a3259288466076d9cd46
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-07-03 12:50:37 +0900

    Ignore conftest.c under the ext directories for CodeQL analysis

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3280

commit 1e039474a2d55bdc7cfc5a01b4d8cf00ae446a76
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-07-03 11:45:58 +0900

    test/json/json_fixtures_test.rb: Prevent an "out of range" warning

    ```
    /home/mame/work/ruby/.ext/common/json/common.rb:263: warning: Float 23456789012E666 out of range
    ```

commit 05a12297c3acaa3ab01f4cc61535d982878b78de
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-03 11:27:07 +0900

    * 2020-07-03 [ci skip]

commit e6a8590aa4216915ee15a7b231189254b03c22b1
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-07-03 11:05:08 +0900

    Reintroduce c565dfb09ad7d55fa671f65cea7088a914bf1931

commit 59ded36c60b9420d1071679510acc07424b235f3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-07-02 20:48:56 +0900

    Expose `assert_pattern_list` for drb test with test-unit gem.

commit 08ba5bec2b42cf18231b3b045fd6a592e5bacbf4
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-02 14:34:56 +0900

    * 2020-07-02 [ci skip]

commit bf3f03c9258dab45fee891007c7806f2d095db09
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-07-02 09:44:23 +0900

    integer.rbinc: do not generate C functions

    This changeset changes for instance Integer#integer? from:

        == disasm: #<ISeq:to_i@<internal:integer>:66 (66,2)-(69,5)> (catch: FALSE)
        0000 opt_invokebuiltin_delegate_leave       <builtin!_bi7/0>, 0       (68)[LiCa]
        0003 leave                                                            (69)[Re]

    to:

        == disasm: #<ISeq:to_i@<internal:integer>:66 (66,2)-(69,5)> (catch: FALSE)
        0000 putself                                                          (68)[LiCa]
        0001 leave                                                            (69)[Re]

    which is of course faster.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3277

commit 49029811d998d919c1f31f39e7a4b82f42ff3eaa
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-30 18:39:56 +0900

    Reduced working `Rational` object allocations

    When rationalizing negative values.

commit 254bed302752a401b5fcc3b6c65a9c93711d91d6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-30 18:34:32 +0900

    Renamed `nurat_sub` compliant with `rb_rational_plus`

commit 53d2bfd540c1c9b1038c0b1150b2f397e54b0322
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-30 18:15:31 +0900

    Added a few integer case short-circuits

commit 29ecce4d72db6efc261ace8f951a922bf6b84166
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-30 14:59:44 +0900

    Replaced f_odd_p with rb_int_odd_p

commit 68d7e93b3baf91ac7d7cc100b75bab81ba7dee76
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-07-01 18:51:19 +0900

    * 2020-07-01 [ci skip]

commit 0aac138e0b507c8a361f7cf2f30c276e7110ea33
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-07-01 18:50:39 +0900

    Merge json-2.3.1 from flori/json

commit 26041da2fbca4cfeffaee13b66f90310d5d72e18
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-06-30 13:28:23 +0900

    [flori/json] Typo fix

    https://github.com/flori/json/commit/26c1769969

commit d69b55ac05e67a22ce3fb0783cced2460b45a52b
  Author: BurdetteLamar <burdettelamar@yahoo.com>
  Date:   2020-06-29 03:55:17 +0900

    [flori/json] Added :call-seq: to RDOc for some methods

    https://github.com/flori/json/commit/ee5b6a74e9

commit cb3e62511c7c7a7d568342d82b641e491ce589e1
  Author: Watson <watson1978@gmail.com>
  Date:   2018-02-27 22:40:58 +0900

    [flori/json] Use frozen string for hash key

    When use non-frozen string for hash key with `rb_hash_aset()`, it will duplicate and freeze it internally.
    To avoid duplicate and freeze, this patch will give a frozen string in `rb_hash_aset()`.

    ```
    Warming up --------------------------------------
                    json    14.000  i/100ms
    Calculating -------------------------------------
                    json    148.844  (± 1.3%) i/s -    756.000  in   5.079969s
    ```

    ```
    Warming up --------------------------------------
                    json    16.000  i/100ms
    Calculating -------------------------------------
                    json    165.608  (± 1.8%) i/s -    832.000  in   5.025367s
    ```

    ```
    require 'json'
    require 'securerandom'
    require 'benchmark/ips'

    obj = []

    1000.times do |i|
      obj << {
        "id": i,
        "uuid": SecureRandom.uuid,
        "created_at": Time.now
      }
    end

    json = obj.to_json

    Benchmark.ips do |x|
      x.report "json" do |iter|
        count = 0
        while count < iter
          JSON.parse(json)
          count += 1
        end
      end
    end
    ```

    https://github.com/flori/json/commit/18292c0c1d

commit 7d8ce96de6b977cebf6d9698235a8de8f8d808e1
  Author: BurdetteLamar <burdettelamar@yahoo.com>
  Date:   2020-06-26 06:49:39 +0900

    [flori/json] RDoc enhancements

    https://github.com/flori/json/commit/ada48f0236

commit be6447381cdcb19b49360911eedca402578fd086
  Author: BurdetteLamar <burdettelamar@yahoo.com>
  Date:   2020-06-26 03:58:45 +0900

    [flori/json] RDoc enhancements

    https://github.com/flori/json/commit/470d909c0d

commit 99980b3034f59eb1253411f1220e1591f47a49c1
  Author: BurdetteLamar <burdettelamar@yahoo.com>
  Date:   2020-06-26 02:09:28 +0900

    [flori/json] RDoc enhancements

    https://github.com/flori/json/commit/7bee2c7c13

commit fe10323a35d20d7ab5d4291e23eb04fb3ef77a2b
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-06-25 15:42:44 +0900

    [flori/json] Fix test that wasn't testing anything

    https://github.com/flori/json/commit/d5c6566b41

commit 4689fd5f9982a148052d76e8e1a7bd85256baec6
  Author: BurdetteLamar <burdettelamar@yahoo.com>
  Date:   2020-05-06 21:59:54 +0900

    [flori/json] Rdoc enhancements

    https://github.com/flori/json/commit/e7e3732130

commit 1351374bd14d4d134726889ba195609b4f745ea6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-03 08:40:11 +0900

    Split visibility cases

commit 52ef2477e41caed01a4edc2f667306740d9b589c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-03 08:31:00 +0900

    Extracted METHOD_ENTRY_CACHEABLE macro

commit 74ac12830b2a623aeadd0bd5036e651114d0da7f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-03 08:21:22 +0900

    Evaluate macros argument just once

commit 7cb8904a12c850ee30dcd67817fa2f9dc3fee813
  Author: Samuel Giddins <segiddins@segiddins.me>
  Date:   2020-06-30 16:13:17 +0900

    Extract correct processor name for ARM64 Macs

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3272

commit 15a312ed40eaeeea4e9f1d51ad34b179e276179a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-30 17:14:18 +0900

    * 2020-06-30 [ci skip]

commit eefc2d8a3c62fa7d8cf1f1674fcb33addc8962be
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-30 17:13:37 +0900

    Fix a typo [ci skip]

commit 3621a7debf746723281900851e009c2111fc1f56
  Author: Bart de Water <bartdewater@gmail.com>
  Date:   2020-06-29 06:18:34 +0900

    Avoid deprecated OpenSSL::Digest constants

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3270

commit 1ce9c37257111df15ca646c526b86798fab5775e
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-29 12:33:17 +0900

    Revert "RBIMPL_UNREACHABLE_RETURN: evaluate the argument"

    This reverts commit c8dc2bf1401fc01d35a4a7587ed224f1f2fe29e6.

    No longer necessary.

commit 94ab244b43e1aa59dfef9f200b1c253f70975c7e
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-29 11:43:48 +0900

    rb_class_modify_check: add UNREACHABLE

    (I was not aware of this because I use clang, but) it seems gcc cannot
    detect reachablility of this point.  It renders an unused variable
    warning, which is a false positive.  Let us suppress the compiler.

    https://github.com/ruby/ruby/runs/816997191#step:9:62

commit 1020e120e060c00eca456d5a129c344daa472407
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-29 11:06:18 +0900

    * 2020-06-29 [ci skip]

commit a523eca1c2581be92cab4b1461e3dd65102d99bf
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-25 14:03:23 +0900

    rb_enc_symname_type: refactor split

    Reduce goto by splitting the function.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 2bd0f37e2bb5300991b2b497b57446a115904ee1
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-25 10:26:34 +0900

    glob_opendir: move cleanup codes at the end

    Nobu likes this arrangement.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit da8af471fb0989fe317ae4170dfa7ba7189d9a2e
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-25 09:50:06 +0900

    find_time_t: reset status before goto

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit de3e931df7abdc3ee22dbb7543e86af6d00ee899
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-24 16:23:59 +0900

    add UNREACHABLE_RETURN

    Not every compilers understand that rb_raise does not return.  When a
    function does not end with a return statement, such compilers can issue
    warnings.  We would better tell them about reachabilities.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit c8dc2bf1401fc01d35a4a7587ed224f1f2fe29e6
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-24 16:19:55 +0900

    RBIMPL_UNREACHABLE_RETURN: evaluate the argument

    Prevent casual typos inside of UNREACHABLE_RETURN(...).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit bacd03ebdfdd3940084cb54ffc0c2a75b0a4e8d0
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-24 11:15:38 +0900

    compile_redo: fix wrong condition

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 2b636dc81dcc2540e0548c856ac495722fcd3959
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-24 11:04:19 +0900

    make_exception: early return

    The rb_exc_new3() result is already ready to be returned.  No need to
    fall through the switch.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 801752f577712b1eb81de224743865fce8f21adf
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-24 10:58:13 +0900

    builtin_class_name: add variant that return VALUE

    Found that `if (builtin_class_name) { printf } else { printf }` happens
    twice.  It would be better if we could eliminate those if statements.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 2071c61e4216b5de347b327acd60fa1b4affeec2
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-22 12:28:30 +0900

    tracepoint_inspect: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 1bf0d3617172da9fe8b5e99796d8d85412c14f6a
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-22 11:07:26 +0900

    vm_getivar: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 6e67b30503f2931d9538d439545c3b1cff51fc80
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-22 11:00:31 +0900

    method_missing: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit edb1680a0549b64347518e90c6c083cb76f48521
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-22 10:59:19 +0900

    rb_method_call_status: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit f12efec2c2698fb1ea775ce3d260a35628303833
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-22 10:57:01 +0900

    vm_exec_handle_exception: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit b95b249784d51697f9f890d6f2a4fba5be08e342
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-22 10:18:28 +0900

    rb_mod_remove_cvar: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 1e9d58391c4f6b070d6713270a24181e7ec113a5
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-22 10:15:32 +0900

    rb_copy_generic_ivar: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit fc45a061b9c317bfe1f7a9b726e7056db93950c8
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-22 09:25:25 +0900

    generic_ivar_update: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 421db59c9e2b9bdc1a91de50db1d0ffdb4663bd8
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-19 15:51:17 +0900

    rb_path_to_class: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 3d636eccfc8412423ee592a65f4e5aaf4308c683
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-19 14:14:02 +0900

    make_econv_exception: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit fd0e93588675982832ee075d11d9953aca97407e
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-19 12:59:31 +0900

    time_mload: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit ed6938ef5063db1ca82d9c078bb37216b1ea7eba
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-19 12:57:39 +0900

    indent [ci skip]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 83f6de869190780e6e930caa64bd81374547a97c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-19 12:56:13 +0900

    find_time_t: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit ce6be8889f10632f8ee0a52aaf86a4a598e74af1
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-19 12:44:57 +0900

    utc_offset_arg: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 1c0a97bfad9943d796ef9ba5e28c967397a80b77
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-19 12:39:16 +0900

    vtm_add_offset: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 0fc569361bfef9a48a6ad54b075047f02b51b4e2
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-19 11:58:50 +0900

    num_exact: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit f402dc35572ae6167737e82585f92d3cc861d1da
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-19 10:56:25 +0900

    rb_szqueue_push: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 8fc8912109cf7426afe6334850204744988c7a3d
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-19 10:50:43 +0900

    exec_recursive: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 08fc718e8c3a949c17d2b894a441ef183c28d8ac
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-19 10:47:46 +0900

    indent [ci skip]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit ad6512f359fe38d587715c618380e245af586be1
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-19 10:46:55 +0900

    rb_enc_synmane_type: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 5f926b2b0013fc196ba627e70b7961a71aabca11
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-18 16:55:52 +0900

    rb_str_partition: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit e3d821a36ce9040542bb3fb8e1fa97df3fd06499
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-18 16:52:17 +0900

    rb_str_crypt: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit a5ae9aebbc3d373d664747e5bfac5f47d3ac4102
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-18 16:44:49 +0900

    trnext: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit c7a40731549ce0dd6b52af512ebc0c588bce05f4
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-18 16:36:35 +0900

    chompped_length: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit fdae2063fb4730c0194e2a312ff250902a23df08
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-18 15:24:56 +0900

    get_pat_quoted: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 673ddea934db68a074e25925602a32b2994e3b06
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-18 15:24:16 +0900

    get_pat: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 31e5d138d71f186c5ab86b6a13b3b7472a693f80
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-18 15:21:18 +0900

    rb_str_slice_bang: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 19f2cabed88943f8adae00c9588e47f7e9112a9e
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-18 13:41:34 +0900

    rb_str_aset: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 841eea4bcbfe22d6d1a71381cd1e98ca6b6cfde7
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-18 13:18:12 +0900

    rb_str_subpat_set: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 0358846f8cb32b3b4e724685b1d72b16fbc8596c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-18 10:29:25 +0900

    rb_str_update: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit d49924ed81af7f5f00841ce7b4aa423a924d3af0
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-17 16:05:43 +0900

    rb_str_match: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit c422fc4bbcb58a16fc84a287baa3cb2d454d7a81
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-17 16:02:18 +0900

    rb_str_rindex_m: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit c29ec1ef1a88626319c39db02e7574c13f9b72d3
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-17 15:31:10 +0900

    rb_str_index_m: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 6df790f22ed48c9998c12dc5eaccf9d13e545185
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-17 14:59:44 +0900

    rb_enc_cr_str_buf_cat: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 31a770ac4827b6c9404d9506d234c23fd00da0f4
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-17 14:49:16 +0900

    rb_strftime_with_timespec: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit b5eeb3453e7c3047ce3e4f39e8ae89af4fafb16f
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-17 14:28:54 +0900

    trap_handler: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 224e9c383598a9f09a5fa5736a098be538316311
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 15:46:30 +0900

    signm2signo: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 7cf4625690454db5001ec5b13a88ef0d53a85bc9
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 15:32:39 +0900

    feature_option: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 689dd3aecbf6177caad793c18c1c6ab4a7cc2150
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 15:18:55 +0900

    parse_rat: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit d7eec15f8e7e8667cdca144a1e288a3f72015d30
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 14:42:24 +0900

    rb_rational_cmp: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 9c5804ac1ce78126670082327fa3ab80cff0ee25
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 14:31:11 +0900

    range_each: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit cc27cd26d728d285aed728e730994d31f5ac1241
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 13:02:03 +0900

    rand_range: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 08202d1f0e120bc09431149e3fe2284f992dbb6d
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 12:53:24 +0900

    check_exec_redirect: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 92986313161c36157187ed7078fc4909bbf9bc04
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 12:27:33 +0900

    check_exec_redirect_fd: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 2bfac015d3742408d0c4d9f2220413992d0e49c6
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 12:24:30 +0900

    proc_binding: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 3db159193ed86b6db409e00ac73adab143283b4e
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 12:18:51 +0900

    rb_obj_singleton_method: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 8b9b51bb3ba246590e528702285f5f5e92271b50
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 12:00:49 +0900

    rb_method_name_error: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 2390a8bd2ef197faf94b5251ee9a0ea582ff6fb4
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 11:27:30 +0900

    bind_local_variable_get: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 82ed66a75a7abbf3b6e18be962ed9c11029b6722
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 11:22:04 +0900

    rb_cstr_to_dbl_raise: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 06ed9a7a045ab4a1e2e98910b06b988e6434fc44
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 10:56:56 +0900

    rb_convert_to_integer: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 268962077a84d4d24401986af56992aeb39a8146
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 10:53:31 +0900

    rb_mod_const_location: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 60212cd8eef55b1b3c4482dfd0c65d2151cb2d30
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 10:52:30 +0900

    rb_mod_const_defined: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 3b8d9badab0433e3022c2d423c3f53b00de634d7
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 10:50:53 +0900

    rb_mod_const_get: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 1f6e74106f452057d857e7f935b13b2064cfac98
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 10:49:02 +0900

    class_or_module_required: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 03354feb6a01b048039cc586dd7135ee71446821
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 10:39:07 +0900

    fix_pow: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 250189f54f2cf690195573ee82082c42b21ccac6
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 10:05:46 +0900

    int_pow: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit bf19820bb383cffd2b85cc0c2c6a6e72f5e5f471
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-16 09:42:18 +0900

    flo_to_s: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 41703fcfabee00320f67875d743f4bc002eb65c9
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 16:09:33 +0900

    r_object0: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 6575766ea04ec49a77dad36d4a200fbd7b263d22
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 16:04:52 +0900

    search_required: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit e551dfda9f09b69eb242db8877407daaa2537c4b
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 15:31:07 +0900

    rb_feature_p: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 9e92292e307fcdb3ef8e44f942135116de6616cf
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 15:26:31 +0900

    rb_io_modestr_fmode: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 0e4ee71546665744a3c658bc708738b4e01d39ce
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 15:23:16 +0900

    rb_io_each_codepoint: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 1e8461424c10f8b22a926b2c6bc12dbf3eea4610
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 15:12:54 +0900

    rb_hash_transient_heap_evacuate: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 5f6053824551aec947a1c53d08975595aca1e513
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 15:02:53 +0900

    any_hash: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit b5adaa8dbdd6ce929faf9e22badbf520e9b0850b
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 14:52:02 +0900

    goruby_options: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit c5f43451389a9a19d14c34e553d271038a87be99
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 14:36:41 +0900

    get_envparam_double: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 228118482e4df04e42b64bca09f7bf2306c2314f
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 14:31:31 +0900

    gc_marks_finish: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit e9cb092b2d4ce21dbf124ea614adaa13e12178f0
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 14:27:29 +0900

    rb_f_stat: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 4606ec4925756d9e7b7c9648787d614be3102ced
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 12:38:19 +0900

    make_exception: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 13bdbfcecbe7652c4c8315d1c615e205b83123e8
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 12:01:50 +0900

    setup_exception: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 0b1b73451528d946060f4876aa38fc3278899deb
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 11:58:30 +0900

    rb_class_modify_check: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit a2677815f5e18116e37d7eb1d3e876798eb8e6d8
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 11:37:35 +0900

    rb_check_typeddata: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit c47b805d8cf28d105139b422ed2d30c5e0617a29
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 10:40:52 +0900

    add spaces [ci skip]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit d060ebf83c74b79fd8315e6428bad53a0b0d3fce
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-15 10:13:10 +0900

    sum_iter: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 5e960545193eeb7f52acc7ec505d908db3785e30
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-12 14:24:41 +0900

    dln_find_1: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 99073f49bf97e1d2f2caab97045de5011edf04b8
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-12 14:08:48 +0900

    glob_opendir: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 70857ae1aa06c85f4c2366aed9a716dfa778ca1b
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-12 14:00:35 +0900

    glob_make_pattern: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 9c92dcf366d2f66a085bd23f0b4934415e1a15b2
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-12 13:57:30 +0900

    ibf_dump_object_object: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit a8d992ac000d4cc8f8fe691d22c45e5b8db95f2d
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-12 13:45:01 +0900

    compile_call: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit aa2cb7f7228baa5a5fffab733f3960546c852aa5
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-12 13:39:10 +0900

    compile_redo: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit cf29de7e6e92497c31ef08b567fcfe1b72bfaff7
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-12 12:48:28 +0900

    compile_next: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit cc1e9b8e1178cf4284fbcae1a94950e580491a05
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-11 15:18:42 +0900

    compile_break: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 1f90690a1d2931e960a54056de089d163b689ed4
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-11 14:44:24 +0900

    compile_branch_condition: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit a6b1454a5d6a9d489e3ed70114e43a5d3a9467ec
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-11 14:33:36 +0900

    optimize_checktype: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit a5342f46e6efc88bd0c0af9d30ba8af7194eb005
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-11 14:28:21 +0900

    iseq_set_exception_table: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit a93da4970be44a473b7b42e7516eb2663dece2c3
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-11 14:20:24 +0900

    cmp_clamp: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 3a3728e4b37b422dae617ed75520e28426835053
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-11 13:53:16 +0900

    singleton_class_of: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 86e3d63772533d6b301ab0d9e73b719c47d96f7f
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-12 12:35:45 +0900

    SPECIAL_SINGLETON: no longer used

    This macro does not improve any readability and/or runtime performance.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 8d182b04ed04378877e743535658be41a05aef74
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-11 13:23:56 +0900

    builtin_lookup: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 9ec4f1f205f7106e7b2e82abd69dbbc58978c586
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-11 13:18:22 +0900

    rb_big_aref: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 184f0ab4c9e56e338de5b6fa7115c38406a184d4
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-11 12:56:05 +0900

    rb_int_parse_cstr: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 5a7c0dd038773ada3b729df1417d4e4ad84944e3
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-11 12:53:12 +0900

    str2big_scan_digits: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 4dfc2f2e3d95b4b9a3b79c1fdf2eb721beacdc0c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-11 12:45:30 +0900

    bary_mul_karatsuba_branch: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit e634a9d1a562ad28385de5a6a298ea84ab11c5fa
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-11 12:00:43 +0900

    node_children: do not goto into a branch

    Was this an autogenerated function?  This tendency of avoiding empty
    branches are no longer preserved (see for instance NODE_IVAR).  Let's
    just delete those unnecessary jumps into branches.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 4f2425549a870d8c42ff26812aa53ab93bba5bc8
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-11 11:45:03 +0900

    rb_ary_slice_bang: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 73f98d25ebe5ec83865f3d9b7d1dbe9540f5c62b
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-11 11:31:27 +0900

    ary_join_1: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 4dc83eefcea94dec999a7a66ffab4f1d96b9ed2c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-11 10:48:59 +0900

    rb_ary_aset: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 2d6f8db3d60e0c54cc51d2bd5ed6b86af7ef15ae
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-12 11:04:46 +0900

    add spaces [ci skip]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 86c869fb5967e1e75691721683c43c1d12f05966
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-11 10:28:34 +0900

    ary_ensure_room_for_unshift: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 2e8d8d10f211b52f520109a8bfdd3bb3a6eab8c0
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-10 13:42:30 +0900

    rb_ary_behead: do not goto into a branch

    I'm not necessarily against every goto in general, but jumping into a
    branch is definitely a bad idea.  Better refactor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3247

commit 09b936d89cb66e38db46dbe782aa5f22f94656bc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-28 14:13:48 +0900

    Calculate header line count instead of hardcoding

commit 1020f7e3aaad9071d59df19c3377c3462af13f7c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-28 14:12:26 +0900

    Replace separators in input file name in header too

commit 44a659ad976221cfec3355e036daeb4e4942db55
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-28 13:20:40 +0900

    Replace ALT_SEPARATOR with SEPARATOR also in output file name

    To suppress warnings by Visual C.
    ```
    ./integer.rb(5) : warning C4129: 'i' : unrecognized character escape sequence
    ./kernel.rb(21) : warning C4129: 'k' : unrecognized character escape sequence
    ```

commit 48fb6299c6ad4fe970c05c5e30a0f6284d771164
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-28 10:34:01 +0900

    [ruby/fiddle] support for very old libffi

    Define `Fiddle::TYPE_VARIADIC` only when `ffi_prep_cif_var` is
    available, otherwise skip the test for it.

commit 0703e014713ae92f4c8a2b31e385718dc2452eac
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-28 02:07:47 +0900

    Mark some Integer methods as inline (#3264)

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 247dd8743e153eb31d31472c81dfb64da25d7600
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-28 02:03:05 +0900

    * 2020-06-28 [ci skip]

commit c405a8d37abacfe9d2ceee165c59bc58c6982bd2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-28 00:57:37 +0900

    [ruby/fiddle] try bundled libffi by default

    If no installed libffi found, use bundled libffi unless explicitly
    `--disable-bundled-libffi` option is given.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3265

commit f2bcdc7283f2137e0916e251df3a52c40b1f6151
  Author: Sutou Kouhei <kou@cozmixng.org>
  Date:   2020-06-27 11:01:22 +0900

    [ruby/fiddle] Support MSWIN (#43)

    https://github.com/ruby/fiddle/commit/f16e7ff6e0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3265

commit a40b390b1775eec264fedc0bbd4504861e61c7e4
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-06-27 08:31:59 +0900

    [ruby/fiddle] test windows: use _snprintf

    https://github.com/ruby/fiddle/commit/aa261bdb9f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3265

commit 6429b6d973597a6347c650ebb6d3fb1bf81f5031
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-06-27 07:27:05 +0900

    [ruby/fiddle] Add missing include

    https://github.com/ruby/fiddle/commit/4ca61efcd7

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3265

commit ae18220f9904c70304bd1672eecadbb3618fc7e5
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-06-27 07:25:47 +0900

    [ruby/fiddle] Add support for variadic arguments

    GitHub: fix GH-39

    Reported by kojix2. Thanks!!!

    https://github.com/ruby/fiddle/commit/6c4cb904dc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3265

commit 9f740acaf960c0d8fa4b72050f057bc157db31ce
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-06-27 07:11:19 +0900

    [ruby/fiddle] Use meaningful variable name

    https://github.com/ruby/fiddle/commit/2cac24b7c8

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3265

commit 50fbd00e76f2a7a6ed17e73605fa69ce80cafb01
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-06-27 07:10:37 +0900

    [ruby/fiddle] Use "do { } while (0)" to ensure requiring ";"

    https://github.com/ruby/fiddle/commit/2155ae5979

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3265

commit 0faf6c8c0e70b885f7275771a95b554e725f8b94
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-06-27 23:40:16 +0900

    Update to ruby/spec@6c466d4

commit 25fbc886669f4ce82ccdc546ebb79c3fa98dc90a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-27 23:13:58 +0900

    Removed non-ASCII code to suppress warnings by localized compilers

commit b3fa158d1c4d8e03b8dc04f1e4f9940a8a4ef44c
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-06-27 22:51:37 +0900

    Update to ruby/spec@b6b7752

commit 64d8c0815e6ab042e8a67a670bda9f34404fa662
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-06-27 22:51:35 +0900

    Update to ruby/mspec@6cb1f10

commit 609ac6ee2c30ec8d91f3a97648565cf0bcaa3b0d
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-27 14:41:38 +0900

    Revert "Try increasing read timeout of rinda tests"

    This reverts commit 5c03e4680e724faeedb2c5fc1581d5fcb66aaff2.

    I gave up stabilizing Rinda::TupleSpaceProxyTest#test_cancel_02. As the
    test uses sleep, it's probably not gonna be stable with --jit-wait.

    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3028276
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3028065
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3027857
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3027441

commit 600f3990d671103d50b8eb868d7ce3bd72130902
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-06-27 13:53:47 +0900

    Cosmetic change

commit 7a5a0dfa5e0deec3d7eec4015577fdd08a753489
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-06-27 13:52:23 +0900

    Suppress "assigned but unused variable" warnings

commit c9ee34a18bb833b11ce64f6d35fa0e7f1a865a14
  Author: Vladimir Dementyev <dementiev.vm@gmail.com>
  Date:   2020-06-15 04:00:51 +0900

    Add #deconstruct cache to find pattern

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3104

commit 5320375732a400ef915c8acbf810aed4ac5261b7
  Author: Vladimir Dementyev <dementiev.vm@gmail.com>
  Date:   2020-03-04 08:42:48 +0900

    Optimize array pattern matching by caching #deconstruct value

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3104

commit 6770d8f1b066908e5fb7401860fd6455df961281
  Author: Vladimir Dementyev <dementiev.vm@gmail.com>
  Date:   2020-03-04 08:45:57 +0900

    Add pattern matching with arrays benchmark

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3104

commit d6c9c014e2dd85b3aee1d02f561f1376f266870b
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-27 10:55:39 +0900

    * 2020-06-27 [ci skip]

commit 74c345c7b8f1cef11a3da9b07390b92e790a72e4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-27 02:05:39 +0900

    Removed no longer used flags

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3262

commit 61984d4760889fd098dff006b2cf6506aa8fb341
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-27 00:47:36 +0900

    Not to rewrite node while compiling

    Moved this hack mark to an argument to `compile_hash`.
    > Bad Hack: temporarily mark hash node with flag so
    > compile_hash can compile call differently.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3262

commit ad1ebefefe0375c9aa3d322327d7833d1fa384df
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-26 17:40:18 +0900

    Avoid duplicated "when"s [ci skip]

commit a0aacd2efcec336eefa3ba17d56af1eaae896ef0
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-26 17:36:23 +0900

    Add a NEWS placeholder for disposable cc [ci skip]

    asked by ko1 to put this.

commit 200c5f4075cb1d179c2eba5b30b5b0a500870f67
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-26 16:54:05 +0900

    Add NEWS entries about JIT optimizations

    and a related VM improvement.

    JIT related commits:

    * Code size reduction
      * Deduplicate functions on JIT compaction 818d6d33368a396d9cd3d1a34a84015a9e76c5c8
      * Avoid always inlining cold paths of ivar fcd257629063a345c48ff2d8057fa8ab910881f2
      * Inline only fast path of rb_class_of b16a2aa938d091c387a7437d94dac7f7bb829ba2
      * Eliminate a call instruction on deopt 61b14bb32b7e62760225cb2207df5fe87e5339ab
    * Cold path partitioning
      * Mark method call slow paths as COLDFUNC 0e5a58b6bf6aae72b6290a8d68e0a1b6d9eb4f79
      * Mark vm_stackoverflow as NOINLINE COLDFUNC 9d71373c237876038cbac63bb0132907a78288a2
      * Create mjit_exec_slowpath and mark it as NOINLINE COLDFUNC 083a17a82ad4c1f80cfb9e84cfb1bff5586470b1
    * Primitive.attr! 'inline' / Integer#zero? 7561db8c009bb79a75024fa4ed0350bfb3d0626c
      * Kernel#class 946e5cc668f66a4a0b79461047d3fcba8b71eef0
      * (more to come...)
    * Properly generate opt_send for cfunc cc 7982dc1dfd5df000b7361ccb7bc820da4f3547b8
    * Optimize exivar access b736ea63bd4ce4e2fc81dfa73938b39fa70f659c
    * Make JIT-ed leave leaf 151f8be40d385ada2ebf7feb84210ed7db7ef4df
    * Inline vm_call_cfunc b9d3ceee8f8e4fade1eddc0c18abee59f9c1eee7

    VM:

    * Enable fastpath on invokesuper 5c2768181382bf84137759efea66f3aaf212665d
      * History: https://speakerdeck.com/k0kubun/ruby-3-samituto?slide=40 (in Japanese)

commit 4949df498a4ca67234c42f00b8e2b513a6a2b6c6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-26 15:27:18 +0900

    [ruby/fiddle] Fixed typos

    https://github.com/ruby/fiddle/commit/a09e66adf4
    https://github.com/ruby/fiddle/commit/6cab9b45d6
    https://github.com/ruby/fiddle/commit/ab72b19bed

commit 40b40523dcf957fa9459c1c1037ad79d73867f83
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-26 15:50:18 +0900

    Show what's inlined first in "JIT inline" log

    and add a debug log

commit 7982dc1dfd5df000b7361ccb7bc820da4f3547b8
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-26 15:27:46 +0900

    Decide JIT-ed insn based on cached cfunc

    for opt_* insns.

    opt_eq handles rb_obj_equal inside opt_eq, and all other cfunc is
    handled by opt_send_without_block. Therefore we can't decide which insn
    should be generated by checking whether it's cfunc cc or not.

    ```
    $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark/mjit_opt_cc_insns.yml --repeat-count=4
    before --jit: ruby 2.8.0dev (2020-06-26T05:21:43Z master 9dbc2294a6) +JIT [x86_64-linux]
    after --jit: ruby 2.8.0dev (2020-06-26T06:30:18Z master 75cece1b0b) +JIT [x86_64-linux]
    last_commit=Decide JIT-ed insn based on cached cfunc
    Calculating -------------------------------------
                         before --jit  after --jit
            mjit_nil?(1)      73.878M      74.021M i/s -     40.000M times in 0.541432s 0.540391s
             mjit_not(1)      72.635M      74.601M i/s -     40.000M times in 0.550702s 0.536187s
         mjit_eq(1, nil)       7.331M       7.445M i/s -      8.000M times in 1.091211s 1.074596s
         mjit_eq(nil, 1)      49.450M      64.711M i/s -      8.000M times in 0.161781s 0.123627s

    Comparison:
                         mjit_nil?(1)
             after --jit:  74020528.4 i/s
            before --jit:  73878185.9 i/s - 1.00x  slower

                          mjit_not(1)
             after --jit:  74600882.0 i/s
            before --jit:  72634507.6 i/s - 1.03x  slower

                      mjit_eq(1, nil)
             after --jit:   7444657.4 i/s
            before --jit:   7331304.3 i/s - 1.02x  slower

                      mjit_eq(nil, 1)
             after --jit:  64710790.6 i/s
            before --jit:  49449507.4 i/s - 1.31x  slower
    ```

commit 9dbc2294a6c35f201d9a05d8b02f818c05d6f399
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-26 14:21:12 +0900

    Collect insns from a child process

    to make sure :opt_invokebuiltin_delegate_leave doesn't become
    :(trace_)opt_invokebuiltin_delegate.

    This is to prevent a warning like
    > /tmp/ruby/v3/src/trunk-test/test/ruby/test_jit.rb:618: warning:
    'opt_invokebuiltin_delegate_leave' insn is not included in the script.
    Actual insns are: opt_invokebuiltin_delegate leave

commit a640bcee048a25730d259e6e95568111d70443f1
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-26 14:15:01 +0900

    test/ruby/test_settracefunc.rb: Suppress a warning

    http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200626T033003Z.log.html.gz
    ```
    /home/chkbuild/chkbuild/tmp/build/20200626T033003Z/ruby/test/ruby/test_settracefunc.rb:2299: warning: ambiguous first argument; put parentheses or a space even after `/' operator
    ```

commit 5c03e4680e724faeedb2c5fc1581d5fcb66aaff2
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-26 14:11:40 +0900

    Try increasing read timeout of rinda tests

    To prevent random failure with --jit-wait like
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3026615

commit 8070cb56db18966b7186255d46eef869e7fdd9cb
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-06-26 10:21:56 +0900

    fix return event and opt_invokebuiltin_delegate_leave (#3256)

    If :return event is specified for a opt_invokebuiltin_delegate_leave
    and leave combination, the instructions should be
      opt_invokebuiltin_delegate
      trace_return
    instructions. To make it, opt_invokebuiltin_delegate_leave
    instruction will be changed to opt_invokebuiltin_delegate even if
    it is not an event target instruction.

  Notes:
    Merged-By: ko1 <ko1@atdot.net>

commit 289a28e68f30e879760fd000833b512d506a0805
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-26 00:21:39 +0900

    * 2020-06-26 [ci skip]

commit 2d89af45ea8b3f521102c05694f419ecd8254e69
  Author: Richard Schneeman <richard.schneeman+foo@gmail.com>
  Date:   2020-06-25 23:34:11 +0900

    Add require to Delegator examples

    In Ruby 2.7.1 SimpeDelegator cannot be used without requiring `delegate` this PR adds the require to the first example for each class so that devs don't have to hunt for what require to use.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3254

commit 6fdd5e26c648367b50e8d36cbb3ee257065f58c6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-25 18:21:41 +0900

    Removed duplicate target

    While `spec/bundler` and `spec/bundler/` are treated different
    targets by GNU make 4, the same target by GNU make 3.  The latter
    target, ending with a slash, was to run `test-bundler-parallel`,
    instead of `spec/bundler/%`.

commit 9a78e24f7d269c9688a0fa50c82751b5ec8d512a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-25 15:44:47 +0900

    Removed nonsense `rubygems_version` in input gemspec files

    As it is ignored and set at building packages automatically, it is
    just nonsense to set in gemspec file for input.

commit 4eff8a662a4bf12dc0c2e5d87b1578f03d872722
  Author: noraj <alexandre.zanni@europe.com>
  Date:   2020-01-04 00:10:42 +0900

    [flori/json] add metadata

    https://github.com/flori/json/commit/9f430a7bba

commit 1b076ca30d42a711041394836e7cca147edbcae7
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2019-12-29 19:59:55 +0900

    [flori/json] Gem::Specification#date is set automatically by RubyGems.org.

    https://github.com/flori/json/commit/1920653013

commit 4dbb10f29f3710c7ba5f9062b870e47710f2f735
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2019-12-23 08:49:50 +0900

    [flori/json] keyword argument is provided after Ruby 2.0+

    https://github.com/flori/json/commit/78ec5e2bd3

commit bb4a2351cb86ae7e2603e1280e1eb756c89c7029
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-25 14:58:22 +0900

    Do not JIT inline builtin methods

    It's probably not worth it because there's nothing we can optimize in
    such builtin methods. It's worth JIT only when inlined.

commit ab62aa7037f30dbab04a9455a328496287c968da
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-25 14:43:13 +0900

    Run a TracePoint test in an insolated process

    to prevent a random failure like
    http://ci.rvm.jp/results/trunk-random2@phosphorus-docker/3024287

commit 5e860ed4c16e1fe6978754691584041d6a8cb93a
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-25 03:31:42 +0900

    [ci skip] Enhanced RDoc for Array (#3252)

    Methods:

        map/collect
        map!/collect!
        values_at
        select/filter
        select!/filter!

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 3d8705dcfdd567278c833c252ea11c018c0d3890
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-25 01:14:26 +0900

    Drop token info for endless method definition

    Because it does not have closing `end`.

commit 419b0596a2ada720ae1b3f2c1bd3ab5e12819ac8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-25 01:13:46 +0900

    [ripper] added endless method definition event tests

commit 5dfe95d10ec1dfeb4e114911367d37214c3b3f07
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-25 00:20:44 +0900

    * 2020-06-25 [ci skip]

commit fe82f72951cb5c558c8a2953392c321137500a4f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-24 23:55:29 +0900

    AST.of needs SCRIPT_LINES__ filled with a newline

commit 263b941321c3de6afc8f9dafbc2625f866b7437e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-24 19:53:14 +0900

    [ripper] fix mismatched indentations warning [Bug #16981]

    The scanner location has to be set from `lex.ptok` before it is
    flushed by dispatching the scanner event.

commit 7f29e34f35d63f0eda0f9adec12d5ec766c1b1b1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-24 19:50:51 +0900

    [ripper] fail unless got warning as expected

commit 50c63ab38da95d17687d9fe9a74eb6ad79973f64
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-24 16:29:53 +0900

    Fix a random test failure by TracePoint

    A test worker process may already be enabling TracePoint, which results
    in changing the insn name in this test.

    http://ci.rvm.jp/results/trunk-random0@phosphorus-docker/3022750

commit 737da8d383e116c83fb356386322626f039deb06
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-24 15:57:26 +0900

    Add another missing cast

commit e0037997d9683d4242e3a417b43980bc0ad19cd2
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-24 15:56:01 +0900

    Include workflow name in a notification of Compilations

commit 6ecef1199e176753b69bcbe10fc6e66d1df06985
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-24 15:50:31 +0900

    Add missing cast

commit 946e5cc668f66a4a0b79461047d3fcba8b71eef0
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-24 15:49:03 +0900

    Annotate Kernel#class as inline (#3250)

    ```
    $ benchmark-driver -v --rbenv 'before;after;before --jit;after --jit' benchmark/mjit_class.yml --repeat-count=4
    before: ruby 2.8.0dev (2020-06-23T07:09:54Z master 37a2e48d76) [x86_64-linux]
    after: ruby 2.8.0dev (2020-06-23T17:29:56Z inline-class 0ff147c007) [x86_64-linux]
    before --jit: ruby 2.8.0dev (2020-06-23T07:09:54Z master 37a2e48d76) +JIT [x86_64-linux]
    after --jit: ruby 2.8.0dev (2020-06-23T17:29:56Z inline-class 0ff147c007) +JIT [x86_64-linux]
    Calculating -------------------------------------
                             before       after  before --jit  after --jit
        mjit_class(self)    39.219M     40.060M       53.502M      69.202M i/s -     40.000M times in 1.019915s 0.998495s 0.747631s 0.578021s
           mjit_class(1)    39.567M     41.242M       52.100M      68.895M i/s -     40.000M times in 1.010935s 0.969885s 0.767749s 0.580591s

    Comparison:
                     mjit_class(self)
             after --jit:  69201690.7 i/s
            before --jit:  53502336.4 i/s - 1.29x  slower
                   after:  40060289.1 i/s - 1.73x  slower
                  before:  39218939.2 i/s - 1.76x  slower

                        mjit_class(1)
             after --jit:  68895358.6 i/s
            before --jit:  52100353.0 i/s - 1.32x  slower
                   after:  41241993.6 i/s - 1.67x  slower
                  before:  39567314.0 i/s - 1.74x  slower
    ```

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 3e02cd518fbe4d91c2aca7fbc3c5aafa387d3cb7
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-24 15:41:57 +0900

    Trace :return of builtin methods

    using opt_invokebuiltin_delegate_leave insn.

    Since Ruby 2.7, :return of methods using builtin have not been traced properly.

commit fbb32b1f483925987d225b4dc08efd197775bcae
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-24 15:18:18 +0900

    * 2020-06-24 [ci skip]

commit b71047cca35a4a1a2813ee0a91c024ba3e49d3cc
  Author: Masataka Pocke Kuwabara <kuwabara@pocke.me>
  Date:   2020-06-23 21:11:03 +0900

    Fix RubyVM::AbstractSyntaxTree document

    RubyVM::AbstractSyntaxTree is a module actually, but the document says "class".

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3251

commit dc351ff984de001863d5167adf9ebd2fb317becd
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-23 22:58:26 +0900

    [ci skip] Enhanced RDoc for Array (#3237)

    Methods:

        #rotate!
        #rotate
        #sort!
        #sort
        #bsearch
        #bsearch_index

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 37a2e48d76efc047c140db984f816514ec5a1048
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-23 15:30:37 +0900

    Avoid generating opt_send with cfunc cc with JIT

    only for opt_nil_p and opt_not.

    While vm_method_cfunc_is is used for opt_eq too, many fast paths of it
    don't call it. So if it's populated, it should generate opt_send,
    regardless of cfunc or not. And again, opt_neq isn't relevant due to the
    difference in operands.
    So opt_nil_p and opt_not are the only variants using vm_method_cfunc_is
    like they use.

    ```
    $ benchmark-driver -v --rbenv 'before2 --jit::ruby --jit;before --jit;after --jit' benchmark/mjit_opt_cc_insns.yml --repeat-count=4
    before2 --jit: ruby 2.8.0dev (2020-06-22T08:37:37Z master 3238641750) +JIT [x86_64-linux]
    before --jit: ruby 2.8.0dev (2020-06-23T01:01:24Z master 9ce2066209) +JIT [x86_64-linux]
    after --jit: ruby 2.8.0dev (2020-06-23T06:58:37Z master 17e9df3157) +JIT [x86_64-linux]
    last_commit=Avoid generating opt_send with cfunc cc with JIT
    Calculating -------------------------------------
                         before2 --jit  before --jit  after --jit
            mjit_nil?(1)       54.204M       75.536M      75.031M i/s -     40.000M times in 0.737947s 0.529548s 0.533110s
             mjit_not(1)       53.822M       70.921M      71.920M i/s -     40.000M times in 0.743195s 0.564007s 0.556171s
         mjit_eq(1, nil)        7.367M        6.496M       7.331M i/s -      8.000M times in 1.085882s 1.231470s 1.091327s

    Comparison:
                         mjit_nil?(1)
            before --jit:  75536059.3 i/s
             after --jit:  75031409.4 i/s - 1.01x  slower
           before2 --jit:  54204431.6 i/s - 1.39x  slower

                          mjit_not(1)
             after --jit:  71920324.1 i/s
            before --jit:  70921063.1 i/s - 1.01x  slower
           before2 --jit:  53821697.6 i/s - 1.34x  slower

                      mjit_eq(1, nil)
           before2 --jit:   7367280.0 i/s
             after --jit:   7330527.4 i/s - 1.01x  slower
            before --jit:   6496302.8 i/s - 1.13x  slower
    ```

commit 6aa3aaac054619942762447bd60a5e26966305c2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-23 15:52:37 +0900

    lldb_cruby.py: show the sign of Bignum [ci skip]

commit 078e94106d7ffb171fcc8067679268b62369e506
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-23 13:55:17 +0900

    [ruby/psych] Fixup 05d7e818a6abe3ee1c56b6be92f086647d73141c

    https://github.com/ruby/psych/commit/4e7794fc2c

commit 7cdfc2b5fc447af34ef31b731823eed0d5cbc894
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-23 13:48:01 +0900

    [ruby/psych] Bump version strings for header file

    https://github.com/ruby/psych/commit/68da645c7e

commit 70a459986988fecf245cf5eb62e7982e790c8260
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-23 13:40:15 +0900

    [ruby/psych] Bump libyaml version to 0.2.5

    https://github.com/ruby/psych/commit/39996192cc

commit 666c077691a5521cb82254911f0abb9575cac9a1
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-06-09 00:52:41 +0900

    [ruby/psych] Fix anchor lookup with symbolized names

    https://github.com/ruby/psych/commit/ef74fc01e2

commit e9adc2f4208797cb506f67c3e2fdc7966a6748e5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-23 14:51:28 +0900

    Match the output without encoding for localized compilers

commit 9ce20662093647877d9835abbe73c71379e77146
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-23 09:34:18 +0900

    Improved error messages for mjit option

    and default jit-verbose to 1 if no argument.

commit c3ba2db48b1ab53fb459910eef50a7ccbb624e17
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-23 09:32:59 +0900

    Removed execpath argument of path_check_0 as always TRUE now

commit 61374839e4132aec92e00eb8d2fdb0619a0307cf
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-23 07:59:07 +0900

    Removed fpath_check, no longer used since taint flag was removed

commit e2d94f61c89563aa61147a5ee07cc75cde9abe7b
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-06-23 07:22:48 +0900

    Convert RMoved to a doubly linked list

    This commit converts RMoved slots to a doubly linked list. I want to
    convert this to a doubly linked list because the read barrier (currently
    in development) must remove nodes from the moved list sometimes.
    Removing nodes from the list is much easier if the list is doubly
    linked.  In addition, we can reuse the list manipulation routines.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3249

commit 574a4f0217c77c0ee77890c5ee2fdaafcddfa6fb
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-23 02:45:08 +0900

    Skip test_read_body_block_mod for --jit-wait

commit 079ed74d690f1efadd64138983ef2fb9ffbd1aff
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-23 00:31:05 +0900

    * 2020-06-23 [ci skip]

commit ec9a9aaa5171f176076f52180248329de9920ff6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-23 00:14:39 +0900

    Ignore configurations in un-built extension libraries

    Exclude linker flags for external libraries used by no longer
    built extension libraries when static-linked-ext.

commit 6adbdb56edcf62c11229e1c9c6f75656700f1c5f
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-22 18:34:24 +0900

    Fix Encoding::CompatibilityError in `FileUtils::Entry_#join`

commit 3a1e63e54064496755e9e306f10c72fafc5bd162
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-22 18:23:58 +0900

    Fix typos

commit 7ac6c967e49d1e3ad46be20aca98e8f1df2c2d5b
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-22 18:15:21 +0900

    Revert d231b8f95b35d8a344cec4f62d7bbdf360a70e1c and add debug print

commit 78352fb52ed2c15fe0d74c02ea29b7e5a28b18c0
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-22 17:44:11 +0900

    Compile opt_send for opt_* only when cc has ISeq

    because opt_nil/opt_not/opt_eq populates cc even when it doesn't
    fallback to opt_send_without_block because of vm_method_cfunc_is.

    ```
    $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark/mjit_opt_cc_insns.yml --repeat-count=4
    before --jit: ruby 2.8.0dev (2020-06-22T08:11:24Z master d231b8f95b) +JIT [x86_64-linux]
    after --jit: ruby 2.8.0dev (2020-06-22T08:53:27Z master e1125879ed) +JIT [x86_64-linux]
    last_commit=Compile opt_send for opt_* only when cc has ISeq
    Calculating -------------------------------------
                         before --jit  after --jit
            mjit_nil?(1)      54.106M      73.693M i/s -     40.000M times in 0.739288s 0.542795s
             mjit_not(1)      53.398M      74.477M i/s -     40.000M times in 0.749090s 0.537075s
         mjit_eq(1, nil)       7.427M       6.497M i/s -      8.000M times in 1.077136s 1.231326s

    Comparison:
                         mjit_nil?(1)
             after --jit:  73692594.3 i/s
            before --jit:  54106108.4 i/s - 1.36x  slower

                          mjit_not(1)
             after --jit:  74477487.9 i/s
            before --jit:  53398125.0 i/s - 1.39x  slower

                      mjit_eq(1, nil)
            before --jit:   7427105.9 i/s
             after --jit:   6497063.0 i/s - 1.14x  slower
    ```

    Actually opt_eq becomes slower by this. Maybe it's indeed using
    opt_send_without_block, but I'll approach that one in another commit.

commit 3238641750c1f6d9e6be5d74fadc53e512638fe2
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-22 17:37:37 +0900

    Use filesystem encoding for file path only

    `path_info` contains filesystem encoding and binary.
    Example is `"/webrick.cgi/%A5%DB%A4%B2/%A4%DB%A4%B2"` in `TestWEBrickCGI#test_cgi`.

commit 61743f0c830498cba3c098a3d9e38644b159c563
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-22 17:31:07 +0900

    Add tests of nested multibyte path and DirectoryIndex

commit d231b8f95b35d8a344cec4f62d7bbdf360a70e1c
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-22 17:07:49 +0900

    Fix remove_entry error when path encoding is not compatible UTF-8

commit 48d7ebe6fc7dec0856498ddb93695c3797ae0101
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-22 17:05:33 +0900

    Check symlink in tmpdir and do not use empty path

commit 4c5780e51ef1cd122c6cff863657bd7c523d65ec
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-22 16:54:27 +0900

    Share warmup logic across MJIT benchmarks

commit faf93e45459793870346f17472a30f90c9b2f5b7
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-22 16:20:30 +0900

    The RUBYOPT= comment is no longer needed

commit 8838600c1e7bcf913cbdc43caee50baa1c65cd4a
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-22 16:17:09 +0900

    Stop relying on `make benchmark`'s `-I$(srcdir)/benchmark/lib`

    These days I don't use `make benchmark`. The YAML files should be
    executable with bare `benchmark-driver` CLI without passing
    `RUBYOPT=-Ibenchmark/lib`.

commit 7658a0f8fe9586b66f2a8f1efb652d2bcffad358
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-22 15:21:47 +0900

    Try increasing read_timeout a little more

    It failed again
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3018488

commit eed4aaa0bf8aa3109936c4276a71c0cdab4d54d6
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-22 08:16:10 +0900

    Increase read_timeout for --jit-wait

    This tries to fix a random failure like
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3017837

commit 54ad2bd6d09b8a04baef60dde2998bd40e73db36
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-22 06:17:12 +0900

    Use canary cond also if not VM_CHECK_MODE to suppress warnings

commit 0e3ead344cbc8a01d476b0c313517cf405a59b66
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-22 02:27:23 +0900

    * 2020-06-22 [ci skip]

commit d9f608b6869abccb86aefd2d1be227a5ea40e4d1
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-22 02:27:04 +0900

    Verify builtin inline annotation with VM_CHECK_MODE (#3244)

    * Verify builtin inline annotation with VM_CHECK_MODE

    * Remove static to fix the link issue on MJIT

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit aec8e6d379a9dbb6c871090d93a3db4e60954b94
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-21 23:14:30 +0900

    test/ruby/test_jit.rb: Change the condition to detect RHEL 7.1 s390x

commit ec07e2de1a15ac8ab54b6275c8d09aa615fbb1db
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-21 18:14:32 +0900

    Increase read timeout of FTP tests with --jit-wait

    Trying to eliminate some newer random failures
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3016543

commit 426db4cd90c9539118c62ade917d936ce2e99be0
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-21 16:34:31 +0900

    Fix -Wmaybe-uninitialized at vm_invoke_block

commit 995923b7f9178c234f8c685f434407eb4f0eeb5c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-20 19:21:35 +0900

    [DOC] Mentioned that `Time.parse` method is not a validator

commit 956d18722384b01690040de8828eb8f81c1bfd97
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-20 19:08:01 +0900

    [ruby/date] [DOC] Mentioned alternative `strptime` methods

    https://github.com/ruby/date/commit/5f4ac92947

commit 67e544cbe15abb852742236f9de1b3b9a9add676
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-20 18:26:12 +0900

    [ruby/date] [DOC] Emphasized that `parse` methods are not validators

    https://github.com/ruby/date/commit/81a057db11

commit 538276aa777e4abfb6eaf55466043a3752fbb8ec
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-21 15:23:28 +0900

    Skip a test_jit with builtin for rhel_zlinux

    Either 95b0fed371 or 7561db8c00 started to cause
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20200621T053303Z.fail.html.gz

    But so far no idea why it's happening. Until I get direct ssh access to
    debug the details, let me skip this as it's essentially not ruby's fault.

commit ccd2f99e71162bddc24bf2ff76576c3ce65fcbb8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-21 11:31:48 +0900

    Prefer more descriptive assertion methods

commit 838d695c1652913ab5806ed677eab9b90b92becc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-21 10:34:07 +0900

    Prefer ruby_install_name as runner

    `Gem::Commands::EnvironmentCommand` expects that `Gem.ruby` has
    the transformed basename.

commit 7561db8c009bb79a75024fa4ed0350bfb3d0626c
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-21 09:13:03 +0900

    Introduce Primitive.attr! to annotate 'inline' (#3242)

    [Feature #15589]

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit d95249ade34626dc3ae82f8bfc84e1668b1b8d01
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-21 08:14:49 +0900

    C-expression does not include a semicolon

commit cc14319b7142afe110f215801131588f1fdf32f0
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-21 06:55:30 +0900

    * 2020-06-21 [ci skip]

commit 95b0fed3714b87dcb40a16f33d9e3160f9945e38
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-21 06:55:09 +0900

    Make Integer#zero? a separated method and builtin (#3226)

    A prerequisite to fix https://bugs.ruby-lang.org/issues/15589 with JIT.
    This commit alone doesn't make a significant difference yet, but I thought
    this commit should be committed independently.

    This method override was discussed in [Misc #16961].

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit b68ddcf30ce1dc2788d3bd3d10169726feada1f2
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-20 06:06:26 +0900

    [ruby/date] Bump version to 3.0.1

    https://github.com/ruby/date/commit/47cca1b76b

commit 97e8b7d0983bb22ecd707449819933fb543143d4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-12 15:32:09 +0900

    [ruby/date] Promote simple date to complex date to load fractional date (Fixes #20)

    https://github.com/ruby/date/commit/e022e8b3ce

commit ad156f7e2caa28f429a9f05f3b9b184118b85432
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-06-12 03:40:45 +0900

    [ruby/date] Fix cannot load complex into simple error when loading marshal dump (Fixes #20)

    This problem exists because Marshal.load calls Date.allocate, which
    uses a SimpleDateData.  There doesn't seem to be any support for
    taking an existing Date instance and converting it from SimpleDateData
    to ComplexDateData.  Work around this issue by making Date.allocate
    use a ComplexDateData.  This causes problems in Date#initialize,
    so remove the Date#initialize method (keeping the date_initialize
    function, used internally for Date.civil). Alias Date.new to
    Date.civil, since they do the same thing.

    https://github.com/ruby/date/commit/6bb8d8fa0f

commit d1af2345c927a06e01002a351f0c2e36319860b7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-20 14:07:45 +0900

    Removed space lines

commit e8b2578d31fd0eaf0d05ea3f669bffe1e80db00f
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-06-20 11:11:50 +0900

    Remove unused variables

commit a3c8ade1b34700f126abfea1480322ef36932d61
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-19 15:10:29 +0900

    test/coverage/test_coverage.rb: Add a test for [Bug #16967]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3240

commit 50efa18c6cf102e070ba0f95edc01c72516495a3
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-19 14:52:35 +0900

    compile.c: Improve branch coverage instrumentation [Bug #16967]

    Formerly, branch coverage measurement counters are generated for each
    compilation traverse of the AST.  However, ensure clause node is
    traversed twice; one is for normal-exit case (the resulted bytecode is
    embedded in its outer scope), and the other is for exceptional case (the
    resulted bytecode is used in catch table).  Two branch coverage counters
    are generated for the two cases, but it is not desired.

    This changeset revamps the internal representation of branch coverage
    measurement.  Branch coverage counters are generated only at the first
    visit of a branch node.  Visiting the same node reuses the
    already-generated counter, so double counting is avoided.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3240

commit bc0aea080446298eb4a778f941c8469842bbf033
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-19 12:59:47 +0900

    compile.c: pass NODE* instead of a quadruple of code location

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3240

commit 4b523e79a0ee0070b07331dd57153c1f3a5dbca6
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-19 12:48:30 +0900

    compile.c (branch_coverage_valid_p): Refactored out

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3240

commit 37cd877dbd70745c05aab7e1e155beb5ae6ad772
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-19 12:43:58 +0900

    compile.c: Use functions for building branch coverage instructions

    instead of maros.  Just refactoring.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3240

commit 878af5147def7fed089d3cc388742f0111db58ae
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-06-02 04:28:05 +0900

    Implement Proc#== and #eql?

    Previously, these were not implemented, and Object#== and #eql?
    were used.  This tries to check the proc internals to make sure
    that procs created from separate blocks are treated as not equal,
    but procs created from the same block are treated as equal, even
    when the lazy proc allocation optimization is used.

    Implements [Feature #14267]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3174

commit b3aff6a11cbc96e5fc6c615d3f7a7a11fda6f59a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-20 00:20:43 +0900

    * 2020-06-20 [ci skip]

commit 640e6c9be61d8f9d349f4e70869d0ac23cda7b0c
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-20 00:17:07 +0900

    Use section sign instead of Hiragana Letter A

    It can convert to Windows-1252and Windows-31J.

    ```
    "\u00a7".encode("Windows-1252") #=> "\xA7"
    "\u00a7".encode("Windows-31J")  #=> "\x{8198}"
    ```

    https://github.com/ruby/ruby/runs/788357527?check_suite_focus=true#step:14:959
    ```
      1) Failure:
    WEBrick::TestFileHandler#test_cjk_in_path [D:/a/ruby/ruby/src/test/webrick/utils.rb:72]:
    exceptions on 2 threads:
    webrick log start:
      [2020-06-19 14:49:38] ERROR Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and Windows-1252
            D:/a/ruby/ruby/src/lib/webrick/httpservlet/filehandler.rb:341:in `+'
            D:/a/ruby/ruby/src/lib/webrick/httpservlet/filehandler.rb:341:in `set_filename'
            D:/a/ruby/ruby/src/lib/webrick/httpservlet/filehandler.rb:310:in `exec_handler'
            D:/a/ruby/ruby/src/lib/webrick/httpservlet/filehandler.rb:245:in `do_GET'
            D:/a/ruby/ruby/src/lib/webrick/httpservlet/abstract.rb:105:in `service'
            D:/a/ruby/ruby/src/lib/webrick/httpservlet/filehandler.rb:241:in `service'
            D:/a/ruby/ruby/src/lib/webrick/httpserver.rb:140:in `service'
            D:/a/ruby/ruby/src/lib/webrick/httpserver.rb:96:in `run'
            D:/a/ruby/ruby/src/lib/webrick/server.rb:307:in `block in start_thread'
    ```

commit 32e2440a66366c712808e4bd03d9978861643a9e
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-19 23:06:38 +0900

    Fix `ERROR ArgumentError: invalid byte sequence in UTF-8`

    http://ci.rvm.jp/results/trunk-test@ruby-sky1/3012894
    ```
    /tmp/ruby/v3/src/trunk-test/tool/lib/minitest/unit.rb:199:in `assert': webrick log start: (MiniTest::Assertion)
      [2020-06-19 23:01:59] ERROR ArgumentError: invalid byte sequence in UTF-8
            /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/filehandler.rb:336:in `scan'
            /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/filehandler.rb:336:in `set_filename'
            /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/filehandler.rb:310:in `exec_handler'
            /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/filehandler.rb:245:in `do_GET'
            /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/abstract.rb:105:in `service'
            /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/filehandler.rb:241:in `service'
            /tmp/ruby/v3/src/trunk-test/lib/webrick/httpserver.rb:140:in `service'
            /tmp/ruby/v3/src/trunk-test/lib/webrick/httpserver.rb:96:in `run'
            /tmp/ruby/v3/src/trunk-test/lib/webrick/server.rb:307:in `block in start_thread'
    ```

commit 97c1782db634ab0344fbc829477897d5de034475
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-19 22:47:08 +0900

    Use filesystem encoding as FileHandler's encoding

    instead of `@root.encoding`.
    And fallback to ASCII-8BIT when filesystem encoding is US-ASCII.

    When `@root.encoding` is not compatible filesystem encoding,
    `Encoding::CompatibilityError` raised at `webrick/httpservlet/filehandler.rb:341`.
    So `DocumentRoot` must be compatible with filesystem encoding.

commit 78d4eace02c3c03b65d775a3bb7537f2a6e8c6e7
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-19 22:08:19 +0900

    Do not change local_path encoding in WEBrick::HTTPServlet::DefaultFileHandler

    This reverts 750203c514e0e9a49f7d53fb54084e6844fca42a and 93e6fa1d319d19ce7fba37e4b9924862447b9f38

commit 6fe1919486111bcdd5ef41fea15b0e82f7f50d82
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-19 20:06:26 +0900

    Fix failure on mswin CI

    https://rubyci.org/logs/mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-master/log/20200619T054159Z.fail.html.gz
    ```
      1) Failure:
    WEBrick::TestFileHandler#test_cjk_in_path [D:/tmp/mswin-build20200619-14304-utgij/ruby/test/webrick/utils.rb:72]:
    exceptions on 2 threads:
    webrick log start:
      [2020-06-19 16:28:42] ERROR `/あ.txt' not found.

    webrick log end
    Filesystem encoding is Windows-31J.
    <"200"> expected but was
    <"404">.
    ---
    <[]> expected but was
    <["[2020-06-19 16:28:42] ERROR `/\xE3\x81\x82.txt' not found.\n"]>.
    ```

    `prevent_directory_traversal` treats `path_info` as filesystem encoding.
    So path_info should be filesystem encoding in request URL.

    On some environments, fallback to ASCII-8BIT when EncodingError.

commit daa9dcd57ecb84e108d2390a361790f29ed415e7
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-19 20:12:49 +0900

    Hide error location from error message

commit 63aadc237f48be23803acae724401f8b4221fa38
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-31 15:52:32 +0900

    [Feature #16254] Use `Primitive.func` style

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3165

commit 49f0fd21e468e567dc122547d516eef42c0ce0d3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-31 15:51:40 +0900

    [Feature #16254] Allow `Primitive.func` style

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3165

commit d863f4bccdd1b5566fbdbe87af766e54b995f8af
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-18 10:43:26 +0900

    [Feature #16254] Use `__builtin.func` style

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3165

commit c8703a17ceedae4a72f83c962a4d098731a85dda
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-18 10:09:28 +0900

    [Feature #16254] Allow `__builtin.func` style

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3165

commit f3e081c6b6f877c498ce9203429ee4fd7e812837
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-19 15:35:14 +0900

    Build configured extension libraries only

    Consider the libraries, which remain exts.mk but not listed in
    ext/configure-ext.mk, removed.

commit aa21a775a652098d7c27ab86e365d205314685fd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-19 14:42:26 +0900

    Configure only directories having extconf.rb

commit 1e7c0ccb0dbe4d65f914a3547aa6ea2503199f01
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-19 14:02:46 +0900

    Now bundled gems are extracted under .bundle/gems

commit 0d38a51ec42af3bcef46344d55e3bf1a871d8dc0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-19 12:07:05 +0900

    Clean exts.mk under each extension library

commit 946fdeaddc7bc8e98a0d903c0dcdc1463176b882
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-19 10:45:13 +0900

    test/ruby/test_refinement.rb: suppress warning by $VEROBSE = nil

    http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200619T003004Z.log.html.gz
    ```
    /home/chkbuild/chkbuild/tmp/build/20200619T003004Z/ruby/test/ruby/test_refinement.rb:2428: warning: method redefined; discarding old foo
    /home/chkbuild/chkbuild/tmp/build/20200619T003004Z/ruby/test/ruby/test_refinement.rb:2418: warning: previous definition of foo was here
    ```

commit d76296d8bb8dab8bc6ea90d1a858689f17e3e0a5
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-19 07:40:44 +0900

    Revert accidentally style-format

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3234

commit e92a9399cc2f904693e177945a65115cbced4db3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-18 21:11:19 +0900

    Added sdbm entry to NEWS

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3234

commit 70b8bdbc90cb39938e1b5bae9f1abc2af91ba58b
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-18 21:09:07 +0900

    Removed sdbm entries from doc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3234

commit 16854c95c2d6e47d06c12d0569aa46b49160839f
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-18 21:08:11 +0900

    Removed sdbm entries from toolchanins

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3234

commit 343ad9eff5b8e4c776c1bf193fc125f9ba1cd612
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-18 21:06:20 +0900

    Removed sdbm and it tests

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3234

commit adbdf11f94afd52d276c7891515e0eb808f6003f
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-06-18 23:01:36 +0900

    [open3] only close streams if a block is passed

    Ref: 5429deb075beb9a2b67adae269bbac16325876d1

    The previous change totally broke `popen2e` in this usage:

    ```ruby
    require 'open3'
    stdin, stdout, process = Open3.popen2e("cat")
    puts stdout.read
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3236

commit 42b4234ba486d4613f0e8b7c9e67bc37d511fa37
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-19 00:58:50 +0900

    Add links [ci skip]

commit 26c1cf6a6066f90c0c2be7e84e68f75fb920b0d9
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-19 00:53:33 +0900

    test/webrick/test_httpresponse.rb: Use a longer indicator for crack

    "hack" was too short.  The tests checks the error html, which includes
    hostname.  GitHub Actions hostname seems randomly generated, and it may
    include the indicator string.

    https://github.com/ruby/ruby/runs/784896235
    ```
      1) Failure:
    WEBrick::TestHTTPResponse#test_prevent_response_splitting_cookie_headers_cr [/home/runner/work/ruby/ruby/src/test/webrick/test_httpresponse.rb:71]:
    Expected /hack/ to not match "HTTP/1.1 500 Internal Server Error\r\nContent-Type: text/html; charset=ISO-8859-1\r\n\r\n<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">\n<HTML>\n  <HEAD><TITLE>Internal Server Error</TITLE></HEAD>\n  <BODY>\n    <H1>Internal Server Error</H1>\n    WEBrick::HTTPResponse::InvalidHeader\n    <HR>\n    <ADDRESS>\n     WEBrick/1.6.0 (Ruby/2.8.0/2020-06-18) at\n     fv-az89.dddawhu1s14uzpjkiz5fhackre.cx.internal.cloudapp.net:80\n    </ADDRESS>\n  </BODY>\n</HTML>\n".
    ```

    This change uses longer indicator "cracked_indicator_for_test" instead.

commit c0591b8477edfa59bba566acbb8e0550fa31caff
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-06-19 00:47:02 +0900

    Update NEWS.md [ci skip]

commit b6d6b896159390014020caac69fa465029af5460
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-06-02 07:54:47 +0900

    Allow refining a frozen class

    Doing so modifies the class's method table, but not in a way that should
    be detectable from Ruby, so it may be safe to avoid checking if the
    class is frozen.

    Fixes [Bug #11669]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3175

commit 95dc9c07f3a895f45cfb5dab235cd78f157a9e51
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-06-11 10:53:25 +0900

    Raise RuntimeError for class variable overtaken in nonverbose mode

    900e83b50115afda3f79712310e4cb95e4508972 changed from a warning
    to an error in this case, but the warning was only issued in
    verbose mode, and therefore the error was only raised in verbose
    mode.  That was not intentional, verbose mode should only change
    whether warnings are emitted, not other behavior.  This issues
    the RuntimeError in all cases.

    This change broke a couple tests, as the tests actually issued
    the warning and therefore now raise an error.  This wasn't caught
    earlier as test_variable suppressed the warning in this case,
    effectively setting $VERBOSE = false around the code that warned.
    basictest isn't run in verbose mode and therefore didn't expose
    the issue previously. Fix these tests.

    Fixes [Bug #14541]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3210

commit aae8223c7076483f1f1641181088790b2f3a66dd
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-05-29 06:59:11 +0900

    Dup splat array in certain cases where there is a block argument

    This makes:

    ```ruby
      args = [1, 2, -> {}]; foo(*args, &args.pop)
    ```

    call `foo` with 1, 2, and the lambda, in addition to passing the
    lambda as a block.  This is different from the previous behavior,
    which passed the lambda as a block but not as a regular argument,
    which goes against the expected left-to-right evaluation order.

    This is how Ruby already compiled arguments if using leading
    arguments, trailing arguments, or keywords in the same call.

    This works by disabling the optimization that skipped duplicating
    the array during the splat (splatarray instruction argument
    switches from false to true).  In the above example, the splat
    call duplicates the array.  I've tested and cases where a
    local variable or symbol are used do not duplicate the array,
    so I don't expect this to decrease the performance of most Ruby
    programs.  However, programs such as:

    ```ruby
      foo(*args, &bar)
    ```

    could see a decrease in performance, if `bar` is a method call
    and not a local variable.

    This is not a perfect solution, there are ways to get around
    this:

    ```ruby
      args = Struct.new(:a).new([:x, :y])
      def args.to_a; a; end
      def args.to_proc; a.pop; ->{}; end
      foo(*args, &args)
      # calls foo with 1 argument (:x)
      # not 2 arguments (:x and :y)
    ```

    A perfect solution would require completely disabling the
    optimization.

    Fixes [Bug #16504]
    Fixes [Bug #16500]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3157

commit 6439c939db2da90501dfd5a03a43a7506cd94f56
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-19 00:18:51 +0900

    * 2020-06-19 [ci skip]

commit 41582d5866ae34c57094f70f95c3d31f4a1fa4ff
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-06-04 04:14:49 +0900

    Make Module#prepend affect the iclasses of the module

    3556a834a2847e52162d1d3302d4c64390df1694 added support for
    Module#include to affect the iclasses of the module.  It didn't add
    support for Module#prepend because there were bugs in the object model
    and GC at the time that prevented it.  Those problems have been
    addressed in ad729a1d11c6c57efd2e92803b4e937db0f75252 and
    98286e9850936e27e8ae5e4f20858cc9c13d2dde, and now adding support for
    it is straightforward and does not break any tests or specs.

    Fixes [Bug #9573]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3181

commit 750203c514e0e9a49f7d53fb54084e6844fca42a
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-18 23:42:02 +0900

    lib/webrick/httpservlet/filehandler.rb: always handle a path as UTF-8

    https://rubyci.org/logs/mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-master/log/20200618T113134Z.fail.html.gz
    ```
      1) Failure:
    WEBrick::TestFileHandler#test_cjk_in_path [D:/tmp/mswin-build20200618-84004-1t0dh8f/ruby/test/webrick/utils.rb:72]:
    exceptions on 2 threads:
    webrick log start:
      [2020-06-18 22:18:07] ERROR `/??.txt' not found.

    webrick log end
    Filesystem encoding is Windows-31J.
    <"200"> expected but was
    <"404">.
    ```

commit 50c13eb718d961c333ac832e734dae21ca7a8330
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-18 23:00:59 +0900

    NEWS about Hash#except ENV#except [Feature #15822]

commit 82ca8c73034b0a522fd2970ea39edfcd801955fe
  Author: Timo Schilling <timo@schilling.io>
  Date:   2019-05-04 22:37:38 +0900

    Add Hash#except ENV#except [Feature #15822]

commit a5bc0b8f8ccb31c23223dcbfd6acee3e8390d020
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-18 22:30:04 +0900

    [ci skip] Enhanced RDoc for Array (#3224)

    Methods:

        #to_a
        #to_h
        #to_ary
        #reverse!
        #reverse

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit c5ee078c5f8461ab3b377527440c889df6726d90
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-13 01:47:53 +0900

    [rubygems/rubygems] Disable parallel installation by default on Windows

    Since we enabled parallel installation by default, we've fixed all the
    issues related to it that have come up, except for a Windows issue that
    we haven't yet figured out. This issue is hit by our specs on a daily
    basis and there's no reason to believe that it won't be hit by end users
    in a similar way.

    So, both to stop the testing flakyness and to prevent regressions in the
    default behavior on Windows, I'd rather leave the default as it was
    before on Windows for now.

    https://github.com/rubygems/rubygems/commit/5d8ab57131

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 7aa6fec45f70cb83876ff22940f22078f0f1e95e
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-13 01:29:34 +0900

    [rubygems/rubygems] Remove unused method

    https://github.com/rubygems/rubygems/commit/b1b39b8c06

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 5f8ee14b9bc550394541a78046ce43b5ba59d924
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-15 01:21:09 +0900

    [rubygems/rubygems] Make sure to pass URI's to `:git`

    Passing paths should work in most cases, but on Windows the driver
    letter is interpreted as the scheme and causes some case mismatches
    because

    ```
    irb> URI.parse("E:").to_s
    => "e:"
    ```

    We fix this by passing file URI's instead.

    https://github.com/rubygems/rubygems/commit/b6bc517628

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit f217faf1da7dd38a5f110162adfb94c94782e06b
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-15 02:42:31 +0900

    [rubygems/rubygems] Better skip messages

    https://github.com/rubygems/rubygems/commit/4f519638ae

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 414b1485d6c87182e1797049346f8fff37904c40
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-17 04:01:58 +0900

    [rubygems/rubygems] More portable PATH edition

    https://github.com/rubygems/rubygems/commit/a6d50afad0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 22ee047f7328f05e75634d4c4b177a94642c4032
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-16 22:37:21 +0900

    [rubygems/rubygems] Only add .rubocop.yml when --rubocop flag is passed

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/ef2dae4222

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit ec98d5615360c33fa2419b22cf2ac7d1834d9c18
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-16 21:36:48 +0900

    Ship default .rubocop.yml

    Currently, there is no `.rubocop.yml` shipped by default.
    So when a user runs `rubocop` after creating a new gem via
    `bundle gem foo`, it throws a bunch of offenses.

    With the default `.rubocop.yml` present, the number of those
    offenses significantly reduce by 25.

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit d9c888d394575cd612c3af7f7bb82d0d01511428
  Author: Utkarsh Gupta <utkarsh@debian.org>
  Date:   2020-06-16 22:37:21 +0900

    [rubygems/rubygems] Only add .rubocop.yml when --rubocop flag is passed

    Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

    https://github.com/rubygems/rubygems/commit/ef2dae4222

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit f9de8ccf1e26c9774cd1ebdb587b8edbb08b4d7b
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-16 19:29:57 +0900

    Rename hidden templates

    Because they don't play nice with ruby-core's gitignore and cause issues
    with ruby-core integration.

    Also, because it's consistent with other templates such as `gitignore.tt`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 30f9fbdce87825877e41b4fbdb5d7b695f3297aa
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-05 01:30:11 +0900

    Undeprecate the `--no-cache` flag

    This is not a remembered option, so it shouldn't have been deprecated.
    At least not for that reason.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit be2dbfc5b5a9ca387baef04b5107787f047d0a71
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-11 22:36:58 +0900

    Removed the old file with https://github.com/rubygems/rubygems/pull/3667

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 9cc784784979620ea0353c09c778e41146b36d26
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-04 03:46:35 +0900

    s/sys_exec!/sys_exec

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 77df7ccc101432a80c7dd6f525dfc4484f6aa898
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-04 03:50:27 +0900

    [rubygems/rubygems] Remove now unused "bang helpers"

    https://github.com/rubygems/rubygems/commit/84e4c58e83

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit ea4824ee0ffcea5fcfacfe40b4f399efe310455a
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-04 03:48:46 +0900

    [rubygems/rubygems] s/run!/run

    https://github.com/rubygems/rubygems/commit/e3f60d8aec

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 596588c6978b1bef4a19328a978ff063d05cb6ab
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-04 03:47:59 +0900

    [rubygems/rubygems] s/ruby!/ruby

    https://github.com/rubygems/rubygems/commit/a73fa0760e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit a572e78201e1a4f5a44b6e354dc7b91f5f6d9c93
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-04 03:46:54 +0900

    [rubygems/rubygems] s/gem_command!/gem_command

    https://github.com/rubygems/rubygems/commit/f52733f6a4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 696a50751bc3257e5a75b4f0eb89ccef7ec89363
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-04 03:46:03 +0900

    [rubygems/rubygems] s/install_gemfile!/install_gemfile

    https://github.com/rubygems/rubygems/commit/4d1a0c465a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 1436b5026cd1b2ac4b428955aeadaac8e8b12b1b
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-04 03:45:36 +0900

    [rubygems/rubygems] s/bundle!/bundle

    https://github.com/rubygems/rubygems/commit/746a4b3d74

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 481840ff18b2d66b20a42240829e06829c34f8f7
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-06-03 05:26:57 +0900

    Generalize CI templates

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 1cb88eb2ba04a5e23f7e6827e81654e87af771ca
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-06-03 05:02:48 +0900

    Use consistent filenaming for Travis template

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 9292313e0cfe4e57afb7e1316cb1bec3f7eb082c
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-06-02 10:08:09 +0900

    Update github workflow template

    * https://github.com/ruby/setup-ruby is now the more recommended action

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 90f3591744330009971a116a8d0bc100eed59ebe
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-30 12:29:31 +0900

    Update CI templates

    * Next version of Bundler will auto choose jobs by default
    * --retry 3 is already default

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit a1a5973daaf7f433886eed9fe503982cffcf5b99
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-06-03 23:06:03 +0900

    [rubygems/rubygems] Prefer using bundle! to avoid unnecessary swallowing of errors

    https://github.com/rubygems/rubygems/commit/6bac832a58

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 1a9a4f962e9d91940986b990a5c72305056f1e3a
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-06-03 23:00:17 +0900

    [rubygems/rubygems] Fix nonexistent constant in CircleCI template

    Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
    https://github.com/rubygems/rubygems/commit/851f8afad1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit f6c8ca03595ba7e105e0e0d56e075babca70b5bd
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-06-03 05:09:47 +0900

    [rubygems/rubygems] Move already configured --test hint to before test file creation

    https://github.com/rubygems/rubygems/commit/9e5f7a9099

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 0ba2f3e8a9ceee6561c2aa2116b37aeddf891a3e
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-06-02 09:59:53 +0900

    [rubygems/rubygems] Move already configured --ci hint to before CI file creation

    https://github.com/rubygems/rubygems/commit/2af2abe5fd

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 091daaa715e80a3964d7ddbcb53b40857d9399a8
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-31 15:58:16 +0900

    [rubygems/rubygems] Lower verboseness of user-facing text for bundle gem

    https://github.com/rubygems/rubygems/commit/288f073c3c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit fedd3201f34c76ad684fa28d7300bade5d0d7256
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-31 15:07:24 +0900

    [rubygems/rubygems] Fix --ci flag manpage documentation

    https://github.com/rubygems/rubygems/commit/515effe8de

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit a476d67f3503978e6f265ed921401d3625cd2372
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-30 18:22:34 +0900

    [rubygems/rubygems] Rebuild man pages for bundle gem

    https://github.com/rubygems/rubygems/commit/b5a9cec1be

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 8e3136a03bdaf1aa405a07e689206080f3dfed7b
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-30 18:06:57 +0900

    [rubygems/rubygems] Make test framework/CI configuration for bundle gem consistent

    * Add hints for --ci option

    https://github.com/rubygems/rubygems/commit/5f779f45b0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit a80a5706b1d6737b866a164ad672a80de669dec1
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-30 12:30:01 +0900

    [rubygems/rubygems] Remove extra whitespace

    https://github.com/rubygems/rubygems/commit/9986cd01fc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 27e07cd34f3184f3e3c94e44cf3ce5edf053789b
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-29 23:40:16 +0900

    [rubygems/rubygems] Set CI global config to false in gem_helper_spec

    https://github.com/rubygems/rubygems/commit/39b18fe7fc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 760edb3743127eba0a926f117ebb16f7b11bcde2
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-29 23:37:45 +0900

    [rubygems/rubygems] Fix CI spec typo

    Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>
    https://github.com/rubygems/rubygems/commit/24f3739585

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 52a900773e560e2dd5938a057ee743c8111642eb
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-28 18:48:15 +0900

    [rubygems/rubygems] Incorporate naming/grammar suggestions from olleolleolle

    https://github.com/rubygems/rubygems/commit/80571452ca

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit e6479ac3f69ff1d27646ba9e44a829c3d00a1374
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-28 16:37:05 +0900

    [rubygems/rubygems] Move CI specs below test framework specs

    https://github.com/rubygems/rubygems/commit/d8e416d89b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 0d3c185b59e38eeb92c32a49b0a8c5c57c337054
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-28 16:32:00 +0900

    [rubygems/rubygems] Remove shared examples for present test framework

    * `bundle gem` has new option to select CI provider

    https://github.com/rubygems/rubygems/commit/320f3546c1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 25ac5b360610760dfdf78f56bc065eff1e0a43c9
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-28 16:25:01 +0900

    [rubygems/rubygems] Separate CI and test framework shared examples

    * `bundle gem` has new option to choose CI provider other than Travis CI

    https://github.com/rubygems/rubygems/commit/afaecf16de

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit b46895aa9313e407212d7071e6e073c40ef03c2e
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-28 16:21:04 +0900

    [rubygems/rubygems] Extract shared example for absence of CI files

    https://github.com/rubygems/rubygems/commit/22cb599bcc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 3a2016b99424170c1dba9d73a8b313f39f4864b6
  Author: Andre Arko <andre@arko.net>
  Date:   2020-03-08 12:41:42 +0900

    [rubygems/rubygems] minor language tweaks, small code refactor

    https://github.com/rubygems/rubygems/commit/84e9f3711c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 6f9faa66fa31a38f151503ae7f8cc8e70323f92f
  Author: Colby Swandale <me@colby.fyi>
  Date:   2020-02-09 11:13:01 +0900

    [rubygems/rubygems] update question text

    https://github.com/rubygems/rubygems/commit/f14c8a5ec2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit cc059b16b253d0f9622fa0c51606e722b190b526
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-11 21:54:04 +0900

    Manually cherry-picked at https://github.com/rubygems/rubygems/commit/80260b3496e357bf96ffe6f381e29bf25b6749cb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 9be1baedbc14be036342cca3e363ae6f44153990
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-07 21:59:32 +0900

    [rubygems/rubygems] Remove unnecessary `bundle install`

    These specs doesn't really need an installed bundle, they only need a
    `Gemfile`.

    https://github.com/rubygems/rubygems/commit/06c85683ae

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 61b6f53337cb71b35c56d480ec6044ba7e85cb71
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-04 01:43:17 +0900

    [rubygems/rubygems] Make helpers raise by default

    https://github.com/rubygems/rubygems/commit/ade0c441d5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 529a9e8a1f804332461a8519fe46dd78f3cb4265
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-08 00:58:40 +0900

    [rubygems/rubygems] Fix a couple of specs that were loading an incorrect bundler

    We have a check on an `at_exit` hook that checks that system bundler is
    never loaded instead of our development copy. The check was failing in
    these cases, but in a silent way because the errors were being swallowed.

    This commit changes these specs to make sure they load the right
    bundler.

    https://github.com/rubygems/rubygems/commit/cd1c1bc297

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 5d78fb1c9a874285a4031675afd0385011a5d1f3
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-07 23:18:01 +0900

    [rubygems/rubygems] Change spec to do the right thing on bundler 3

    On bundler 3, the `--deployment` flag doesn't exist, so the `bundle
    install --deployment` command was failing silently and the spec was
    verifying a different scenario.

    Change the spec to work the same regardless of bundler's major version.

    Also, from the spec description it was not apparently that a specific
    case involving deployment mode was being tested, so I reworded it to
    make it more apparent.

    https://github.com/rubygems/rubygems/commit/3e33e2b927

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 974c40c842b34bc05724e9432e443301a4b2649f
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-07 22:54:38 +0900

    [rubygems/rubygems] Fix some sudo specs to do the right thing on bundler 3

    On bundler 3, where the default install path is `.bundle`, these specs
    were trying to change permissions of the
    `.bundle/ruby/<ruby_abi_version>` folder, which didn't exist yet,so the
    permission changing command was failing and the spec was not testing the
    right thing.

    Change the specs so that the permissions are correctly changed, by first
    configuring the local path to be `.bundle` (which creates the `.bundle`
    folder), and then changing permissions of the `.bundle` folder
    explicitly, which exists already.

    https://github.com/rubygems/rubygems/commit/2833162fb0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 5454415750fe3e7dd3b4a5e55f128c4393657eaf
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-07 22:28:16 +0900

    [rubygems/rubygems] Fix spec to test the right thing on bundler 3

    Bundler 3 installs by default to `.bundle`. That means that, because the
    `bar` gem was not previously available at this location but as a system
    gem, the initial `bundle install` was silently failing. As a
    consequence, the spec was not testing the exact scenario it meant to
    test.

    https://github.com/rubygems/rubygems/commit/202399521c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 9939f4ad43f631d497e5e0f2b9b5dba3877d7f98
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-07 22:05:28 +0900

    [rubygems/rubygems] Remove bad `bundle install`

    This spec is specifically testing for the case where there's no
    `Gemfile.lock` file and it's only doing the expected thing because the
    `bundle install` command is silently failing. Remove the `bundle
    install` to reduce confusion.

    https://github.com/rubygems/rubygems/commit/ec39fbde0e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 8d7ed194cbf0e116af9183cf7347aded1ac37172
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-07 21:54:36 +0900

    [rubygems/rubygems] Simplify `bundle update --ruby` specs

    They don't need to run that many commands, and the new version is also
    more readable in my opinion.

    https://github.com/rubygems/rubygems/commit/efff3e3210

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 66b327af5619a2e0de89b7d25c75f378164304d6
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-07 21:23:45 +0900

    [rubygems/rubygems] Fix redundant commands

    They are preceded by `install_gemfile` calls, which mean `bundle
    install` is being run twice for no reason.

    https://github.com/rubygems/rubygems/commit/d2b2d10862

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit cceb77f57b17a25a16b26a406f5ea7a89f275949
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-07 21:16:42 +0900

    [rubygems/rubygems] Fix unintended Gemfile installation

    This command is failing because of the same reason that the subsequent
    `bundle exec` is failing: the gemspec is invalid. The `bundle install`
    here deviates the `bundle exec` focus from the test and is unnecessary:
    all we need is a `Gemfile` that will trigger the `bundle exec`, so let's
    create and avoid the extra command.

    https://github.com/rubygems/rubygems/commit/eb83cf6cf1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 6aafea2d99f61026e447fab74ef4b489a2d1aa6a
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-07 21:00:59 +0900

    [rubygems/rubygems] Remove failing command that doesn't affect the spec

    This command was silently failing but doesn't really affect the outcome
    of the spec.

    https://github.com/rubygems/rubygems/commit/7880d08146

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit a8f9a97d49af4c814c899fda2a47a715ae740f62
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-07 05:29:56 +0900

    [rubygems/rubygems] Remove broken test

    It turns out that this test is checking essentially nothing useful. The
    paperclip gem doesn't exist in our setup, so initial install is failing
    and the test is only checking that calling `bundle check` 3 times on a
    broken setup always returns the same thing.

    I went to the history of this test:

    * https://github.com/rubygems/bundler/commit/105654a31e07e9b0a198f1a5a5ec94e365854edf
    * https://github.com/rubygems/bundler/commit/ae53be1f8748bfc41bc6565dc4922a1c0ac80998
    * https://github.com/rubygems/bundler/commit/d19f4a7b32ccf4ec4ecda5c7c0354adc81e1efb6
    * https://github.com/rubygems/bundler/commit/092f169d01472336598e29b32550399991940d63
    * https://github.com/rubygems/bundler/commit/36878435b5f0be75fc6f2e07cebd7f15aaddadf0

    And have finally decided to remove it since I'm not sure changing it to
    something else will lead to testing something useful and not already
    tested.

    https://github.com/rubygems/rubygems/commit/6184322967

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit acd82bd923ddaa2e3f5afbdc8fc087d28b62f55d
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-07 01:41:41 +0900

    [rubygems/rubygems] Fix silently broken spec

    This spec was broken. The second `bundle install` was silently failing.
    This means that the spec was actually checking an scenario completely
    different from the one that was supposed to be tested. And also a very
    dummy one: that running `bundle cache` twice doesn't cache a completely
    unrelated gem.

    https://github.com/rubygems/rubygems/commit/f11a5d2df9

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit b0f07aff0bf8f5701de24b01df50dd86c87b4763
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-07 01:34:34 +0900

    [rubygems/rubygems] Remove incorrect tags

    The inner specs have separated specs for the `< 3` and `= 2` cases, so
    this outer tag is incorrect.

    https://github.com/rubygems/rubygems/commit/61e905ca27

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 8c686475c85d4019467d119499593afdf0974edc
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-07 01:27:42 +0900

    [rubygems/rubygems] Migrate some specs to use "the new way"

    The commands these specs run were throwing warnings in bundler 2, and
    failing on bundler 3, effectively testing a different scenario to what
    they were supposed to.

    https://github.com/rubygems/rubygems/commit/97ac1ced49

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit 94fc709dd19ec6c6396982fef06e9b7d3ce8ae48
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-07 20:23:10 +0900

    [rubygems/rubygems] s/rails_fail/rails_pinned_to_old_activesupport/

    The `rails_fail` name is misleading because there's no specific reason
    why such a gem would need to fail. As a matter of fact, `bundle
    install`'ing a Genfile with only that dependency like the spec the
    previous commit adds is not expected to fail.

    https://github.com/rubygems/rubygems/commit/b947f40701

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit f8f3f11ed580074960e5de1de4552bdf14d7d70d
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-07 20:07:27 +0900

    [rubygems/rubygems] Fix `only_update_to_newer_versions` regression

    The `only_update_to_newer_versions` feature flag will enable some new
    behaviour in bundler 3 (or maybe earlier if we decide to consider it a
    bug fix) that prevents `bundle update` from unexpectedly downgrading
    direct dependencies.

    This seems reasonable, but the current implementation is adding
    additional requirements for all locked dependencies, not only from the
    ones in the `Gemfile`. That causes some situations where the `Gemfile`
    is edited and will resolve to older versions to start failing.

    This commit fixes the problem by making sure extra requirements are
    added exclusively for direct dependencies in the `Gemfile`, not for all
    direct dependencies in the lock file.

    https://github.com/rubygems/rubygems/commit/128b4596e1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3212

commit a447563cf899f2a33511c12735160a8bbd0efecd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-18 09:00:34 +0900

    [DOC] Added Exception.exception to Exception.new [ci skip]

commit cf1ee151b1cf7553fd0fce86a39eed4a4133ae46
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-18 11:29:56 +0900

    Read in ASCII-8BIT to get rid of invalid encoding error

commit 575539706496875ab36111d32f3d9ef2b9376854
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-18 10:18:32 +0900

    test/webrick/test_filehandler.rb: implicitly fall back to UTF-8

    https://ci.appveyor.com/project/ruby/ruby/builds/33588714/job/hcgin7xo3sarr0r2
    ```
      2) Failure:
    WEBrick::TestFileHandler#test_cjk_in_path
    [D:/a/ruby/ruby/src/test/webrick/utils.rb:72]:
    exceptions on 1 threads:
    U+3042 to WINDOWS-1252 in conversion from UTF-8 to WINDOWS-1252
    ```

commit 82354afbf910f7de47384204f3a0aa3b8d87c0ce
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-18 09:40:44 +0900

    test/webrick/test_filehandler.rb: remove unused variable

commit bed17974a1563852c3d1d2b7b24033ed0beaa33e
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-18 09:37:54 +0900

    test/webrick/test_filehandler.rb: no `.encode("filesystem")` if US-ASCII

    http://ci.rvm.jp/logfiles/brlog.trunk-theap-asserts.20200618-002305
    ```
    I, [2020-06-18T00:28:11.661066 #31625]  INFO -- :   1) Failure:
    I, [2020-06-18T00:28:11.661157 #31625]  INFO -- : WEBrick::TestFileHandler#test_cjk_in_path [/tmp/ruby/v3/src/trunk-theap-asserts/test/webrick/utils.rb:72]:
    I, [2020-06-18T00:28:11.661216 #31625]  INFO -- : exceptions on 1 threads:
    I, [2020-06-18T00:28:11.661269 #31625]  INFO -- : U+3042 from UTF-8 to US-ASCII
    ```

commit 35a67418160ebde3901c1a6f1413a950a867514f
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-18 09:19:43 +0900

    Revert "[DOC] Added Exception.exception to Exception.new [ci skip]"

    This reverts commit 957825639c1422777c09578d4a03adf571eac55d.

    Do not use [ci skip]!!!!

commit 2d817e05649d4cc7f3be7185be4bc016ee836e07
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-18 09:11:02 +0900

    test/webrick/test_filehandler.rb: Second try to fix the CI error

    93e6fa1d319d19ce7fba37e4b9924862447b9f38 failed to fix the issue.
    I suspect that the request path must be encoded as filesystem encoding.

commit 957825639c1422777c09578d4a03adf571eac55d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-18 09:00:34 +0900

    [DOC] Added Exception.exception to Exception.new [ci skip]

commit e14cba354ca031b48de0720fe0d96c04d9bb3439
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-18 08:59:47 +0900

    [DOC] argument to Exception#excepton is optional [ci skip]

commit cc46d514dcc2d61f7bc8a7b1ff01dd01fd10dd9b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-17 23:22:37 +0900

    $(PREP) is needed to run $(MINIRUBY)

commit 41a4c80d284a24360d3a6c5b6e5ca408ccca6efc
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-18 01:16:21 +0900

    * 2020-06-18 [ci skip]

commit e544a3a23cb80460d77dcb145ad1ff84f77524c0
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-18 01:16:01 +0900

    Remove obsoleted opt_call_c_function insn (#3232)

    * Remove obsoleted opt_call_c_function insn

    * Keep opt_call_c_function with DEFINE_INSN_IF

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit e30ff63fd4eb24fd638259cb10638668f0f2ceeb
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-17 23:28:51 +0900

    test/rubygems/test_gem_package.rb: Skip a test when TMPDIR is too long

    to suppress the following failure:

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20200617T130007Z.fail.html.gz
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/android29-x86_64/ruby-master/log/20200617T131443Z.fail.html.gz
    ```
    1) Failure:
    TestGemPackage#test_extract_symlink_parent_doesnt_delete_user_dir
    [/export/home/chkbuild/chkbuild-gcc/tmp/build/20200617T130007Z/ruby/test/rubygems/test_gem_package.rb:620]:
    --- expected
    +++ actual
    @@ -1 +1 @@
    -"installing into parent path /export/home/chkbuild/chkbuild-gcc/tmp/build/20200617T130007Z/ruby/tmp/test_rubygems_15916/extract/user/dir of /export/home/chkbuild/chkbuild-gcc/tmp/build/20200617T130007Z/ruby/tmp/test_rubygems_15916/extract/subdir is not allowed"
    +"installing into parent path link/dir of /export/home/chkbuild/chkbuild-gcc/tmp/build/20200617T130007Z/ruby/tmp/test_rubygems_15916/extract/subdir is not allowed"
    ```

    These CI environments use very long TMPDIR for some reason.
    The test case creates a directory in TMPDIR and attempts to add a
    symbolic link to the path into a tarball.  However, tar format limits
    the maximum length up to 99, so the path is truncated.
    This truncation makes the path check of `Gem::Package#install_location`
    pass through, and then the check of `#mkdir_p_safe` raises an error.
    The error message is slightly different from the expected value, so the
    test fails.

    I'm unsure what to do, so I tentatively skip the test when TMPDIR is
    long.  I'll create a ticket into rubygems bug tracker.

commit b1d74afd3a869c4dbdd5c2834d9b7b7ea6c4dad1
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-17 02:40:12 +0900

    Speed up setup test by not installing docs

    This also makes this test consistent with the other tests in this file.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3213

commit 3d8e0d8e50bfafa523ad8fbbc7206712bb7de4da
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-16 20:15:22 +0900

    Skip `test_gem_package_task` if `rake` not present

    Instead of erroring.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3213

commit 967dba157ca8a4864435d6dd0cf0bb68f83dafe1
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-16 20:14:32 +0900

    Simplify handling of a `LoadError`

    The `LoadError` has a `path` reader in all supported rubies.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3213

commit e0337ce597f2259ac862bd9462601af0c03d51d9
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-16 20:14:10 +0900

    Remove unnecessary explicit `rake` activation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3213

commit 7b5a779576eca72c42a584fdf432231e34f704dc
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-16 20:13:47 +0900

    Remove unnecessary stuff from base test case

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3213

commit 66b0677bcfcdbb2ae992f538b9ebd89dfea9e27a
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-17 00:40:24 +0900

    Tweaks to play nicer with ruby-core parallelized tests

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3213

commit 106d616cc8a5c95a2944f9ea3d7f99ee54042cdd
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-16 23:26:31 +0900

    Make sure to only reset "dummy" $LOADED_FEATURES

    Namely, those generated under `/tmp`.

    The previous approach was brittle and broken in the case of ruby-core,
    because under that setup, the current folder is in the original
    `$LOAD_PATH`, and dummy features are created under `./tmp`, so they were
    failing to be reset.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3213

commit f5459acd79c30dbea3062e48fb2b12d510c5b868
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-12 00:30:45 +0900

    Make sure tmp folder exists before calling `Dir.tmpdir`

    This was guaranteed by our gitignore setup where a `tmp/` folder is
    always present right after cloning the repository, but was not
    guaranteed under the ruby-core setup.

    This alternative approach should always work.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3213

commit 97819759de9a3a62bb7a4c137d8aa3eb75138e04
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-11 19:10:55 +0900

    Revert "Revert "[rubygems/rubygems] Use a local temporary directory""

    This reverts commit 20971d0df41368e0f946683823bc786514e16fef.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3213

commit dd1bfbc0613c1131b1c31f02e336f88255eb3cab
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-15 19:26:52 +0900

    Remove unneeded code

    This was added ~8 years to fix some json warning but I'm pretty sure
    it's not needed anymore.

    This has caused several issues in both ruby-core and rdoc test suite and
    it doesn't make much sense to me these days so let's kill it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3213

commit 7325bed2b45bc7678b95e1f79e151a7a779f7484
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-17 12:08:34 +0900

    Show filesystem encoding in failure message

    `test_cjk_in_path` failed on mswinci yet.

    https://rubyci.org/logs/mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-master/log/20200616T192319Z.fail.html.gz
    ```
      1) Failure:
    WEBrick::TestFileHandler#test_cjk_in_path [D:/tmp/mswin-build20200617-120024-1brdn58/ruby/test/webrick/utils.rb:72]:
    exceptions on 2 threads:
    webrick log start:
      [2020-06-17 06:12:53] ERROR `/あ.txt' not found.

    webrick log end.
    <"200"> expected but was
    <"404">.
    ---
    <[]> expected but was
    <["[2020-06-17 06:12:53] ERROR `/\xE3\x81\x82.txt' not found.\n"]>.
    ```

commit af6e63a9df5cd21d57a7a431cf5b45234d1f1b20
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-17 09:58:35 +0900

    rb_method_name_error: delete unused code

    If you look at the code flow (break -> goto), this assignment never
    makes any sense.  Should just remove.

    I _guess_ this behaviour is unintended.  Original code at commit
    4dc1a2180946ab793adee5eb235fc4ee8fa4cefe did something.  It might be
    the code flow that is buggy.  However rubyspec already includes this
    particular edge case at ruby/core/module/undef_method_spec.rb.  I don't
    think we can change the way it is any longer.

commit ccb7a4b9f22c6ef8d51517322f82031fadf68769
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-15 10:00:12 +0900

    Replaced accessors of `Struct` with `invokebuiltin`

commit b06d7c5521bd55d82eef96efcc2c7df1c29a3e5d
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-06-17 07:18:35 +0900

    ISeq created with callback is special, translation cannot be applied

commit 4dba8b4027e1f3366c2e04dd7554eb65edbea983
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-06-17 06:45:45 +0900

    Assert iclass property and remove dead code

    Iclass objects are never made from other iclass objects.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3218

    Merged-By: XrXr

commit b50e74b4f82b649a59002741ce8a9ecbc834515c
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-17 02:14:20 +0900

    * 2020-06-17 [ci skip]

commit eaf76be08720fe11e7faf5c3011d9fe58fe3cec4
  Author: S.H <gamelinks007@gmail.com>
  Date:   2020-06-17 02:13:54 +0900

    Remove unused else if statements in int_even_p func (#3220)

    * remove else if & rb_funcall

    * fix int_even_p impl

    * fix rb_int_odd_p implementation

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit b877928ca562ce1769d821769d3e417ed973b156
  Author: Akinori MUSHA <knu@idaemons.org>
  Date:   2020-06-16 23:23:13 +0900

    Fix the ArgumentError message in shellsplit

    Change "double quote" to just "quote" because the message is about any type of quotes.

commit 68e43103442b95ebfa133e238550159fc3d1197d
  Author: Akinori MUSHA <knu@idaemons.org>
  Date:   2020-06-16 23:15:51 +0900

    Improve the document of Shellwords

    - Improve careless examples
      - Insert `--` before a file name for cat(1)
      - Insert `-e` before a search pattern for grep(1)

    - Add a caution about passing an arbitrary argument to a command

commit 318d52e820c9ed1bc4c12aa97af49a89953649bc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-16 18:44:58 +0900

    Revert "Replaced accessors of `Struct` with `invokebuiltin`"

    This reverts commit 19cabe8b09d92d033c244f32ff622b8e513375f1,
    which didn't support tool/lib/iseq_loader_checker.rb.

commit 26c179d7e7e7ae0eb21050659c3e8778358230ab
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-16 01:03:15 +0900

    Check argument to ObjectSpace._id2ref

    Ensure that the argument is an Integer or implicitly convert to,
    before dereferencing as a Bignum.  Addressed a regression in
    b99833baec2.

    Reported by u75615 at https://hackerone.com/reports/898614

commit 19cabe8b09d92d033c244f32ff622b8e513375f1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-15 10:00:12 +0900

    Replaced accessors of `Struct` with `invokebuiltin`

commit 84160dc29bf156aa7290236dcf42a8f601129cac
  Author: S.H <gamelinks007@gmail.com>
  Date:   2020-06-16 17:47:59 +0900

    Add static modifier for rb_int_ceil & rb_int_floor (#3217)

  Notes:
    Merged-By: ko1 <ko1@atdot.net>

commit d9c880404578f891ec5de5e13346e46e1a6ea94b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-16 12:29:02 +0900

    Update without touch-unicode-files

commit 466d3e68da5df4f76d87332ff6786a391cc8bde4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-16 11:44:31 +0900

    Just update sources in CI without fetching

    Also install external libraries only, extract-gems does not work
    unless base ruby is available.

commit b52862d35f21710d473921b625f2104be01db900
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-16 00:29:55 +0900

    * 2020-06-16 [ci skip]

commit e38470729672f589417f4843c508bc46c60a5238
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-16 00:26:17 +0900

    Updated builtin type names

    Fixnum and Bignum have been unified to Integer already.

commit 7a571103f231e8f9e7200aa40b9a56c3f34a2e80
  Author: Josef Šimánek <josef.simanek@gmail.com>
  Date:   2020-06-15 07:28:25 +0900

    Exit with non-zero status on disabled gem system update.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3229

commit 3ab1cfc325811b862cb81d0360bf83216cd6f235
  Author: Josef Šimánek <josef.simanek@gmail.com>
  Date:   2020-06-14 07:26:23 +0900

    Add Gem.disable_system_update_message to disable gem update --system if needed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3229

commit 49c42b6012264890bedb572e5e0c6fc4750aaf9a
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-13 00:16:37 +0900

    Remove encoding magic comments

    They are no longer needed since ruby 2.0.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3229

commit 2b4abcff90a3c4c4d07e0929e1f99afbfeb57a4e
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-12 18:37:38 +0900

    Deprecate `Gem::Util.silent_system`

    There's better tools for this job.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3229

commit afce7eb39ec58f9ec65b3cf53059a4bc3bd58cbd
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-24 20:54:22 +0900

    Replace `Gem::Util.silent_system` with better tools

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3229

commit c61031d6b66674cf57211ff52677c223fe1d17ac
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-02-25 23:45:32 +0900

    Remove modelines for consistency

    No other files in the repo include this.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3229

commit 4784264729b062300998a61e3b1e978a259221c9
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-28 00:44:25 +0900

    Remove random code

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3229

commit 955f1837a180d8936f90ab6cf039ccb8f751be72
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-11 02:46:05 +0900

    Use space inside block braces everywhere

    To make rubygems code style consistent with bundler.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3229

commit ef481c120c55bf0351a586739f9b5d704f3f7a7d
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-08 03:36:53 +0900

    Fix ruby-head failing tests

    In `ruby-head` (where system rubygems already has the `XDG` standard
    implementation), some tests currently depend on the presence of a
    `~/.gem` folder in the home of the user that runs the tests. If that
    file is present, tests pass, otherwise they don't.

    For example, the following passes if you have a `~/.gem` folder but
    fails otherwise with:

    ```
    $ rake TESTOPTS="--name=/TestGemCommandsGenerateIndexCommand#test_execute$\|TestGemCommandsUpdateCommand#test_execute_user_install/ -v"
    Run options: "--name=/TestGemCommandsGenerateIndexCommand#test_execute$|TestGemCommandsUpdateCommand#test_execute_user_install/" -v --seed 17318

    # Running:

    TestGemCommandsGenerateIndexCommand#test_execute = 0.02 s = .
    TestGemCommandsUpdateCommand#test_execute_user_install = /rubygems/test/rubygems/test_gem_commands_update_command.rb:412: warning: instance variable @user_install not initialized
    0.04 s = F

    Finished in 0.095337s, 20.9783 runs/s, 20.9783 assertions/s.

      1) Failure:
    TestGemCommandsUpdateCommand#test_execute_user_install [/rubygems/test/rubygems/test_gem_commands_update_command.rb:414]:
    user_install must be set on the installer

    2 runs, 2 assertions, 1 failures, 0 errors, 0 skips
    rake aborted!
    Command failed with status (1)

    Tasks: TOP => default => test
    (See full trace by running task with --trace)

    ```

    This is because the very initial `require` of the default `did_you_mean`
    gem that ruby does on startup runs _before_  the global `setup` hook of
    our tests run. During this require `Gem.data_home` and its value is
    memoized to a path in the real users home (not the fake user's home that
    our tests setup, since that code hasn't run yet). Then that memoized
    value is used when looking for the default folders to look for gems, and
    since there's no `~/.gem` folder, its value is actually used as part of
    the `Gem.user_dir` folder in `Gem::Specification.dirs` (this is how
    we've approached backwards compatibility for the `XDG` feature). That
    means dummy test gems with the `--user-install` flag are installed to
    global, real locations and everything is messed up.

    This commit fixes the issue by resetting the `Gem.data_home` value in
    case it has already been memoized.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3211

commit c3ecd1cbd37db93fe181f00dd0c43059d2f3fcec
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-11 19:12:13 +0900

    Revert "Revert "[rubygems/rubygems] Remove unneeded global teardown""

    This reverts commit ac2c07e98373bb62be618001c897fa9d5809d8a4.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3211

commit 3a2628025ed82b833483e8c42e08a0f7d12668ad
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-11 19:12:01 +0900

    Revert "Revert "[rubygems/rubygems] Remove unneeded teardown""

    This reverts commit ceacb06311cf150cd3682b277bbe6cf7e7bbbc30.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3211

commit 2a20c179822ef72bb0d7329c22cbe1732f5e307b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-15 16:20:56 +0900

    Prefer String#each_byte when using a block

commit 8f99bfa26d0bd99089f0f38af3666a89e8432265
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-15 13:18:56 +0900

    tool/lib/minitest/unit.rb: Reproducible shuffle of test suites

    ... based on CRC32 of names of the test suites.

    Formerly, `make test-all` randomized the order of the test suites by
    using `Array#shuffle`.  It also shows `--seed N` to reproduce the order,
    but it was not reproducible when a suite set is different.

    This change sorts the suites by CRC32 hash of the suite names with a
    salt generated by the seed.

commit 094fb6ae0d1df90751a3d0a5c90f97cd96550f16
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-15 04:03:42 +0900

    Accommodate process title spec to ruby-core setup

    I'm guessing the commands under ruby-core setup are very long, so the
    title gets truncated. Use a shorter title, since the test doesn't really
    care.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3225

commit 117b504b98add70984313d96e9d4b67d74b10c8b
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-12 04:05:17 +0900

    Fix most exec specs

    The `gem_command` helper was failing to require `support/hax.rb`, which
    takes care of making sure rubygems actually picks up the right `ruby`
    executable under ruby-core setup (`ENV["RUBY"]`). This caused binstubs
    to be generated with a wrong shebang, and that caused `bundle exec` to
    not work. The error message was pretty confusing though due to
    https://bugs.ruby-lang.org/issues/16952.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3225

commit f5f6415f264400e44888afb9335f76bd46e3f69d
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-14 20:10:58 +0900

    A help message to `tool/sync_default_gems.rb`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3223

commit 93e6fa1d319d19ce7fba37e4b9924862447b9f38
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-15 10:43:01 +0900

    Use filesystem encoding in do_GET of filehandler

    Try to fix 404 error on mswinci.

    https://rubyci.org/logs/mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-master/log/20200614T225859Z.fail.html.gz
    ```
      1) Failure:
    WEBrick::TestFileHandler#test_cjk_in_path [D:/tmp/mswin-build20200615-24932-11ykstf/ruby/test/webrick/utils.rb:72]:
    exceptions on 2 threads:
    webrick log start:
      [2020-06-15 09:48:29] ERROR `/あ.txt' not found.

    webrick log end.
    <"200"> expected but was
    <"404">.
    ---
    <[]> expected but was
    <["[2020-06-15 09:48:29] ERROR `/\xE3\x81\x82.txt' not found.\n"]>.
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3227

commit 80bd3aa32b92f952dab4330281ff049739439568
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-15 07:00:54 +0900

    Try using longer read_timeout for --jit-wait

    failure on TestFTP.

    When we skip a test, the place to hang (long wait for compilation)
    just moves to another test and it doesn't seem to finish.
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3003055

commit c8111c7eb5c9852efd1bbb13c437e66c573275d2
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-15 00:00:12 +0900

    * 2020-06-15 [ci skip]

commit b8804010fbb2750730a49166d63d63e211bc8b2a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-14 23:59:48 +0900

    Remove non-US-ASCII characters [ci skip]

commit d23917dd85972b231ebe15b9d2fb6625a2bb8e08
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-14 16:09:00 +0900

    Support arguments of singleton method

commit b22bfdaa9ad0ae96f79ee75503c85908fa2ec934
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-14 16:08:33 +0900

    Fixed up rest, keywords, keyword rest and block arguments

commit 997133d5959d73663988814704b2e390a75ea718
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-14 15:45:24 +0900

    Make __builtin_cexpr! and __builtin_cstmt! work again

    with Ripper.

    a3e6f52c17061f012c4e638b3343b57752ed7603 introduced __builtin_cexpr! and
    __builtin_cstmt!, but nobody has used them and then they broke on
    79292b30884ebcd8be028a7f3c9ccafd7759f2ae by undefined `params`.

    This patch fixes the undefined `params`, but still we're not using them
    yet.

commit 454e8120dbd4216f6da641e0b4d996710ad2ebc6
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-14 11:15:23 +0900

    Add ubuntu-20.04 and rename to ubuntu-18.04 from ubuntu-latest

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3222

commit 97614c55215afcc834c78aa27e34388cd0ca4c84
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-06-14 13:06:42 +0900

    apinfo/fpinfo should always be non-NULL

commit ddded1157a90d21cb54b9f07de35ab9b4cc472e1
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-06-14 09:24:36 +0900

    Introduce find pattern [Feature #16828]

commit f7906a7e31e6b1cfa135ecea69deb8827e8c8803
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-06-14 09:23:43 +0900

    push_pktbl is needed for hash pattern, not for array pattern

commit a451648b21ff9b9018ef28f9981112687ef745c5
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-14 08:34:13 +0900

    * 2020-06-14 [ci skip]

commit 1583c743d52a0ba94c98c2723b9e595b5e400c6e
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-06-14 08:32:29 +0900

    Skip test_getbinaryfile_command_injection on --jit-wait

    Timeout-based test often fails with --jit-wait as a false positive.
    Like other tests in the TestFTP, let me skip this as well.

    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3001181
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3000134
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2999923
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2998857

commit 2496bdb28f46d984b4721c4d8c8995ff50c9e6bd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-01 18:33:52 +0900

    Extracted argument forwarding staffs

commit 8e5352569bf6386109e2578df534410e1e771af3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-13 22:59:26 +0900

    [ripper] use Ripper DSL

commit 8b58f1d8c79e495580abdf6b550f0ef7e1b6b991
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-13 23:14:17 +0900

    [ci skip] Enhanced RDoc for Array (#3219)

    Methods:

        #join
        #inspect/#to_s
        #to_a

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 1efc3d6d65405631630e32bdcc5274bb49f44222
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-13 22:57:31 +0900

    Suppress warnings [Feature #15973]

commit 1f1b62fb7bb0855788f3da7fdcf9e440ff617fb3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-13 08:09:00 +0900

    Added install-dbg

    Scripts to run the interpreter via debugger.

commit eabdad5e2f66355558286f38ba60703b1bfc8e89
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-13 01:32:31 +0900

    [ci skip] Enhanced Rdoc for Array (#3216)

    Methods:

        #insert
        #each
        #each_index
        #reverse_each
        #length
        #empty?

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 90412d7a639069a045b3e06e37b709044833cf9a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-13 01:13:53 +0900

    * 2020-06-13 [ci skip]

commit b212c7c7d136dad7391874c5c9ba0b77df5653e2
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-06-13 01:11:43 +0900

    Update example code in Enumerator#chunk documentation [ci skip]

    The code assumed that /usr/share/dict/words did not use mixed
    case, and it does at least on a few operating systems.

    From CryptoRAT (Luke Elliot)

    Fixes [Bug #16957]

commit 510df47f5f7f83918d3aa00316c8a5b959d80d7c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-12 19:00:27 +0900

    Revert "[ruby/fileutils] Make verbose output go to stdout instead of stderr"

    This reverts commit 7cddb844e6d51f954c6669341b9cc656bd7d3492,
    because the test of rake 13.0.1 is depending on the previous
    behavior.

commit cc9ca468fecd153596c25877006f208161e477fb
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-10-03 01:39:02 +0900

    [ruby/fileutils] Fix #install with "X" mode option

    `FileUtils#install` methed raises an unexpected `TypeError`, when
    called with `mode:` option which has `"X"`.

    ```
    $ ruby -rfileutils -e 'FileUtils.install("tmp/a", "tmp/b", mode: "o+X")'
    /opt/local/lib/ruby/2.7.0/fileutils.rb:942:in `directory?': no implicit conversion of File::Stat into String (TypeError)
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:942:in `block (3 levels) in symbolic_modes_to_i'
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:933:in `each_char'
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:933:in `each'
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:933:in `inject'
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:933:in `block (2 levels) in symbolic_modes_to_i'
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:931:in `each'
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:931:in `each_slice'
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:931:in `block in symbolic_modes_to_i'
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:926:in `each'
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:926:in `inject'
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:926:in `symbolic_modes_to_i'
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:973:in `fu_mode'
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:883:in `block in install'
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:1588:in `block in fu_each_src_dest'
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:1604:in `fu_each_src_dest0'
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:1586:in `fu_each_src_dest'
            from /opt/local/lib/ruby/2.7.0/fileutils.rb:877:in `install'
            from -e:1:in `<main>'
    ```

    In spite of that `symbolic_modes_to_i` considers the `File::Stat`
    `path` case at the beginning, in `"X"` case, `path` is passed to
    `FileTest.directory?` method which requires a `String`.  In such
    case, the mode in `path` should be examined instead.

    https://github.com/ruby/fileutils/commit/af675af6b2

commit 7cddb844e6d51f954c6669341b9cc656bd7d3492
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-03-10 01:42:40 +0900

    [ruby/fileutils] Make verbose output go to stdout instead of stderr

    Verbose output is not error output, and should be sent to
    stdout and not stderr.

    Fixes Ruby bug 4436

    https://github.com/ruby/fileutils/commit/563a383025

commit e2678781c739edb17f1744d35a9958146e880996
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-06-12 17:28:58 +0900

    prevent memory allocation for GC tests

    We observed test failures on test_latest_gc_info with random
    order CI.
    http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/2998078l0ll

    To solve it, use a pre-allocated hash object and rehearsal.

commit 1f4db23ac1160bb73afb6d7dfd439ccb64d81bc2
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-12 10:35:44 +0900

    .gdbinit: struct RHash::basic is not a pointer

commit c74b044aabcac6fd31b5e86725755a5305b55445
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-12 10:23:15 +0900

    .gdbinit: as.heap.aux.shared no longer exist

    Maybe 182ae1407b3f6597cdbf6872f788c1ed3aa22a35 missed it.

commit a6cf2f3d22a78aeae9d7f36cc78a195deb686705
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-10-28 08:03:07 +0900

    Make mutating the result of SortedSet#to_a not affect the set

    Fixes [Bug #15834]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3215

commit e100fcbdd1e81c23e3b4c87964aff210232903a8
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-06-11 07:44:52 +0900

    Prohibit setting class variable on frozen module through inheritance

    Setting class varibles goes through the ancestor list which can
    contain iclasses. Iclasses share a lot of information with the
    module they are made from, but not the frozen status.

    Check the frozen status of the module instead of the iclass.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3203

commit 631c01f5ae64d1034ec719c9f97da906e7f508b3
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-12 00:55:31 +0900

    * 2020-06-12 [ci skip]

commit eb5ecc2ea81d954c62375aa0757760bc65dea062
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-12 00:55:11 +0900

    Enhanced Rdoc for Array#rindex and Array#[]= (#3204)

    * Enhanced Rdoc for Array#rindex and Array#[]=

    * Enhanced Rdoc for Array#rindex and Array#[]=

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 2188d6d160d3ba82432c87277310a4d417e136d5
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-06-11 09:50:35 +0900

    Warn when passing a non-literal block to Kernel#lambda

    Implements [Feature #15973]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3209

commit 5349506eb4c0668fa1d6f512e4dae1021a9a7460
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-11 14:49:10 +0900

    Updated autogenerated dependencies

    Sorted the lines asnd added mjit_build_dir.o dependencies.

commit 2dd61df69f776f275ee68e9c4f0abbecd50a9379
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-11 17:12:11 +0900

    Revert encoding to `::Encoding::UTF_8` if `fu_windows?`

commit 59646e8e29e58bd6b4d0e622e76072ee47d0ae34
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-11 16:29:31 +0900

    Fix error in `remove_entry`

    When `LANG=C`, dir is `UTF-8` and `base` is 'ASCII-8BIT` in `FileUtils::Entry_#join`.
    So `Encoding::CompatibilityError` occurred and files are not removed.

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/arch/ruby-master/log/20200611T060002Z.fail.html.gz
    ```
      1) Error:
    WEBrick::TestFileHandler#test_cjk_in_path:
    Errno::ENOTEMPTY: Directory not empty @ dir_s_rmdir - /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/tmp/???20200611-1887828-3nn72a
        /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1460:in `rmdir'
        /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1460:in `block in remove_dir1'
        /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1471:in `platform_support'
        /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1459:in `remove_dir1'
        /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1452:in `remove'
        /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:780:in `block in remove_entry'
        /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1509:in `ensure in postorder_traverse'
        /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1509:in `postorder_traverse'
        /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:778:in `remove_entry'
        /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/tmpdir.rb:97:in `mktmpdir'
        /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/test/webrick/test_filehandler.rb:292:in `test_cjk_in_path'
    ```

commit a6713a5758da2698c0633a658d7bdf77d940c9af
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-11 13:18:28 +0900

    Refined ioctl error description

commit c1d1f92e8a18c34f4ef2361d4cd4fdae89d9d2af
  Author: Masataka Pocke Kuwabara <kuwabara@pocke.me>
  Date:   2020-03-31 20:06:23 +0900

    [ruby/logger] Mention `File::Null` in Logger#new document

    https://github.com/ruby/logger/commit/2e772770be

commit c7da0fcb39b837a253f5e6d2d666637a390301e6
  Author: Masataka Pocke Kuwabara <kuwabara@pocke.me>
  Date:   2020-03-30 19:39:29 +0900

    [ruby/logger] Mention behavior when logdev is a nil in the document

    https://github.com/ruby/logger/commit/8dc270ee23

commit ae93ebae677f685aab155d7982c64c1cb6e4b69c
  Author: Lourens Naudé <lourens@bearmetal.eu>
  Date:   2020-03-29 01:16:00 +0900

    [ruby/logger] Let Logger#reopen not raise on nil log devices

    https://github.com/ruby/logger/commit/da7bf844e5

commit f3e12caa088cc893a54bc2810ff511e4c89b322b
  Author: Lourens Naudé <lourens@bearmetal.eu>
  Date:   2020-03-29 01:11:41 +0900

    [ruby/logger] Let File::NULL ("/dev/null", "NUL" etc.) be considered a nil log device

    https://github.com/ruby/logger/commit/b42a1b99aa

commit 13baa2b5a5eddce9402480d5929261040651f2a0
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-27 10:01:44 +0900

    [ruby/matrix] Drop to Ruby 2.4 and 2.5

    https://github.com/ruby/matrix/commit/3244d82804

commit e698bf1a7f06452c9509f33e865cc9797dde15b9
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-04-03 17:29:12 +0900

    [ruby/webrick] Fix httpd error in CJK directory

    [Bug #16753]

    https://github.com/ruby/webrick/commit/83cf440858

commit 6742fcf5531f29b1cce33ab32895513b87f3f53e
  Author: John W Higgins <wishdev@gmail.com>
  Date:   2020-05-22 03:22:18 +0900

    [ruby/webrick] Extract creation of Net::HTTP in httpproxy

    https://github.com/ruby/webrick/commit/e58195faf8

commit fdd475386d25948fc9c82930c9c7e2feb6e69e84
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2019-12-19 10:18:52 +0900

    Gem::Specification#date is set automatically by RubyGems.org.

commit 3b3a9edf488dd2f2f7d45a5e243d2c9b00b4455b
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-27 11:01:55 +0900

    Drop to Ruby 2.4

commit 44581d98bb2f6bd96a07f9fe335bf70de8d82302
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-26 19:03:31 +0900

    [ruby/net-imap] Drop to Ruby 2.4

    https://github.com/ruby/net-imap/commit/c3256e3848

commit aa8ca03f3991e76ea184ee3bca16b1726c15fdab
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-27 11:33:57 +0900

    [ruby/delegate] Fixed superclass missmatch

    https://github.com/ruby/delegate/commit/3ab3add800

commit 1fb16dbb6e28b9f32f92554d29e646e088b21a98
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-11 09:49:42 +0900

    Adjusted indents [ci skip]

commit f3e927b0cc1fcbf03abea7f66b1a3736a270a8de
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-06-11 07:17:54 +0900

    Make proc/Proc.new without block an error instead of warning

    The warning for these was added in 2.7.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3208

commit f48fce4981574f7df33982eb901c94e8f4d6d4ab
  Author: Jean byroot Boussier <jean.boussier+github@shopify.com>
  Date:   2020-06-11 06:54:15 +0900

    Fix a typo in instance_variable_set documentation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3207

commit 0213f5b08a470d322edb54bda85523d05b2ea4c7
  Author: Peter Zhu <peter@peterzhu.ca>
  Date:   2020-06-10 23:17:56 +0900

    Fix ASan crash

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3205

commit 04fddf35734f04fd16824a847cad499465663a5f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-10-01 12:29:48 +0900

    ENV.delete should return the result of block on non-existing key

    Fixes [Bug #16173]

    Co-Authored-By: Burdette Lamar <burdettelamar@yahoo.com>
    Co-Authored-By: Jeremy Evans <code@jeremyevans.net>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3206

commit aab2a7cfcea8e21d3902c378e355f1a8ea97c6d5
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-11 02:54:05 +0900

    * 2020-06-11 [ci skip]

commit 573e8d7736c84149ae298f4a8ed532525b6645d0
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-06-11 02:49:28 +0900

    Change language used in instance_variable_set documentation [ci skip]

    This uses less harsh language recommended by duerst.

    Fixes [Misc #15265]
    Fixes [Misc #15748]

commit 96d184aa49ac48298501722d9d0c50180df04122
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-10 21:59:30 +0900

    Run spec/bundler without a sub-make

commit 73ca989a8175dfdfbc92a31aac7bb6252ee4fe2c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-10 19:59:52 +0900

    spec/bundler must not be run by mspec

commit 998ccb083135d65361b3b1e6c40c660bb627f31b
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-05-16 01:53:10 +0900

    [rubygems/rubygems] Use parenthesis for clarity for ternary condition
    https://github.com/rubygems/rubygems/commit/d1247472b9

commit b62e9c912d744a1742a41be252855511f0a48032
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-05-16 01:51:32 +0900

    [rubygems/rubygems] Increase timeouts in test_gem_stream_ui.rb

    * 0.1s is really short and fails in CI: #3622
    https://github.com/rubygems/rubygems/commit/d8495ae1c1

commit 8d4b2594086d753bc3e7e5dd16ec827bc360be58
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-10 20:45:29 +0900

    Enhanced Rdoc for Array#fetch and Array#index (#3202)

    * Enhanced Rdoc for Array#fetch and Array#index
    * Couple of tweaks (per review) in Rdoc for Hash

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 21df4dce5308bb0e04e09dc654cdc92af000caf6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-10 19:42:27 +0900

    Skip updating exts in test-all to reduce the turnaround time

commit 5648976c3c207b0f750a5ce26ba4862c63f6a626
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-10 10:19:48 +0900

    vm_call_method: avoid marking on-stack object

    This callcache is on stack, must not be GCed.  However its contents are
    copied from other materials, which can be an ordinal object.  Should
    set a flag to make sure it is properly skipped by the GC.

commit 8bee9e5cd5e806f94fa727fa58a85effae908c57
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-10 09:52:54 +0900

    doc/contributing.rdoc: Now ruby >= 2.2 or 2.3 is required to build ruby

commit 41b8866e75ff817de0062571cabb30402f683c19
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-10 09:29:37 +0900

    This document is stale status.

      Now, You can see the all of contributors at https://github.com/ruby/ruby/graphs/contributors

commit ad0eccf840f692694e63ec72c8496dc106e603ed
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-06-10 08:30:55 +0900

    Work around infinite loop when overriding method visibility in prepended module (#3201)

    For ZSUPER methods with no defined class for the method entry, start the next lookup at the superclass of the origin class of the method owner, instead of the superclass of the method owner.

    Fixes [Bug #16942]

  Notes:
    Merged-By: jeremyevans <code@jeremyevans.net>

commit 9491bd89dace4fa26f1e5333d0ebbca14749eb3e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-10 00:00:39 +0900

    Reduced job number to run tests on MinGW

    It seems too heavy as fails more often than before.

commit 62ce8f96cd1bf8df50ac7aa1a6f5aa616f24b944
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-06-10 05:46:29 +0900

    Revert "Combine sweeping and moving"

    This reverts commit 02b216e5a70235f42f537e895d6f1afd05d8916a.
    This reverts commit 9b8825b6f94696c9659f93f5da9bf02644625f67.

    I found that combining sweep and move is not safe.  I don't think that
    we can do compaction concurrently with _anything_ unless there is a read
    barrier installed.

    Here is a simple example.  A class object is freed, and during it's free
    step, it tries to remove itself from its parent's subclass list.
    However, during the sweep step, the parent class was moved and the
    "currently being freed" class didn't have references updated yet.  So we
    get a segv like this:

    ```
    (lldb) bt
    * thread #1, name = 'ruby', stop reason = signal SIGSEGV
      * frame #0: 0x0000560763e344cb ruby`rb_st_lookup at st.c:320:43
        frame #1: 0x0000560763e344cb ruby`rb_st_lookup(tab=0x2f7469672f6e6f72, key=3809, value=0x0000560765bf2270) at st.c:1010
        frame #2: 0x0000560763e8f16a ruby`rb_search_class_path at variable.c:99:9
        frame #3: 0x0000560763e8f141 ruby`rb_search_class_path at variable.c:145
        frame #4: 0x0000560763e8f141 ruby`rb_search_class_path(klass=94589785585880) at variable.c:191
        frame #5: 0x0000560763ec744e ruby`rb_vm_bugreport at vm_dump.c:996:17
        frame #6: 0x0000560763f5b958 ruby`rb_bug_for_fatal_signal at error.c:675:5
        frame #7: 0x0000560763e27dad ruby`sigsegv(sig=<unavailable>, info=<unavailable>, ctx=<unavailable>) at signal.c:955:5
        frame #8: 0x00007f8b891d33c0 libpthread.so.0`___lldb_unnamed_symbol1$$libpthread.so.0 + 1
        frame #9: 0x0000560763efa8bb ruby`rb_class_remove_from_super_subclasses(klass=94589790314280) at class.c:93:56
        frame #10: 0x0000560763d10cb7 ruby`gc_sweep_step at gc.c:2674:2
        frame #11: 0x0000560763d1187b ruby`gc_sweep at gc.c:4540:2
        frame #12: 0x0000560763d101f0 ruby`gc_start at gc.c:6797:6
        frame #13: 0x0000560763d15153 ruby`rb_gc_compact at gc.c:7479:12
        frame #14: 0x0000560763eb4eb8 ruby`vm_exec_core at vm_insnhelper.c:5183:13
        frame #15: 0x0000560763ea9bae ruby`rb_vm_exec at vm.c:1953:22
        frame #16: 0x0000560763eac08d ruby`rb_yield at vm.c:1132:9
        frame #17: 0x0000560763edb4f2 ruby`rb_ary_collect at array.c:3186:9
        frame #18: 0x0000560763e9ee15 ruby`vm_call_cfunc_with_frame at vm_insnhelper.c:2575:12
        frame #19: 0x0000560763eb2e66 ruby`vm_exec_core at vm_insnhelper.c:4177:11
        frame #20: 0x0000560763ea9bae ruby`rb_vm_exec at vm.c:1953:22
        frame #21: 0x0000560763eac08d ruby`rb_yield at vm.c:1132:9
        frame #22: 0x0000560763edb4f2 ruby`rb_ary_collect at array.c:3186:9
        frame #23: 0x0000560763e9ee15 ruby`vm_call_cfunc_with_frame at vm_insnhelper.c:2575:12
        frame #24: 0x0000560763eb2e66 ruby`vm_exec_core at vm_insnhelper.c:4177:11
        frame #25: 0x0000560763ea9bae ruby`rb_vm_exec at vm.c:1953:22
        frame #26: 0x0000560763ceee01 ruby`rb_ec_exec_node(ec=0x0000560765afa530, n=0x0000560765b088e0) at eval.c:296:2
        frame #27: 0x0000560763cf3b7b ruby`ruby_run_node(n=0x0000560765b088e0) at eval.c:354:12
        frame #28: 0x0000560763cee4a3 ruby`main(argc=<unavailable>, argv=<unavailable>) at main.c:50:9
        frame #29: 0x00007f8b88e560b3 libc.so.6`__libc_start_main + 243
        frame #30: 0x0000560763cee4ee ruby`_start + 46
    (lldb) f 9
    frame #9: 0x0000560763efa8bb ruby`rb_class_remove_from_super_subclasses(klass=94589790314280) at class.c:93:56
       90
       91           *RCLASS_EXT(klass)->parent_subclasses = entry->next;
       92           if (entry->next) {
    -> 93               RCLASS_EXT(entry->next->klass)->parent_subclasses = RCLASS_EXT(klass)->parent_subclasses;
       94           }
       95           xfree(entry);
       96       }
    (lldb) command script import -r misc/lldb_cruby.py
    lldb scripts for ruby has been installed.
    (lldb) rp entry->next->klass
    (struct RMoved) $1 = (flags = 30, destination = 94589792806680, next = 94589784369160)
    (lldb)
    ```

commit b85b866300ad705be01961ba673262d1e54ea828
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-10 03:57:41 +0900

    Enhanced Rdoc for Array (#3193)

    Methods:

        #freeze
        #<<
        #push
        #pop
        #shift
        #unshift
        #slice
        #at
        #first
        #last

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 6c5cdc88b059553c8d95ddda2397c06482e23d85
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-10 02:45:32 +0900

    * 2020-06-10 [ci skip]

commit 2ba2b32d9e8c6337d8f2292433b3ad920c7fa5ef
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-06-09 08:55:10 +0900

    Freeing cc tables doesn't need access to ID

    We don't need to resolve symbols when freeing cc tables, so this commit
    just changes the id table iterator to look at values rather than keys
    and values.

commit 7f3efee1024ba46189aa4a65d08bb87fdcf1bb24
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-09 22:47:29 +0900

    the default gems couldn't use ruby2_keywords gem.

      We avoid to use the current delegate library under the Ruby 2.7.

commit cbb9935fc40b67d5f41ed6cdef1fa11d4445fd77
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-09 22:25:46 +0900

    Use the dedicated conversion macro

commit 101d56ddca818cad0e3ebe95e5e080fcac957b1b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-09 21:42:06 +0900

    Improved assertions

commit c8cd6b2003b6787630637d93b4d2930c7fa5590e
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-09 21:30:36 +0900

    Added ruby2_keywords for Ruby 2.6 and 2.5

commit 31419f46fcfa754428ba7526ee7c300c8a28670a
  Author: pavel <pavel.rosicky@easy.cz>
  Date:   2020-02-18 02:34:21 +0900

    [ruby/fcntl] add F_GETPIPE_SZ and F_SETPIPE_SZ

    https://github.com/ruby/fcntl/commit/39e0faedc5

commit bee63ab97a29ecf951d42c5c85d7e0383e170a99
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2019-12-05 21:22:19 +0900

    [ruby/fcntl] Use Gemfile instead of Gem::Specification#add_development_dependency.

commit 28f4b5af4511bc746e1dfedd498aa6d29293b71e
  Author: dsisnero <dsisnero@users.noreply.github.com>
  Date:   2019-12-04 05:26:35 +0900

    [ruby/dbm] Update dbm.gemspec
    https://github.com/ruby/dbm/commit/25a6f365bb

commit 63872c7e31b7a183d8fd0caec2878ea9c4b73ef3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2019-12-01 08:02:06 +0900

    [ruby/gdbm] Workaround for GitHub Actions

    https://github.com/ruby/gdbm/commit/f42103fe93

commit b6bae0ec4433bcea6ba94a50de344c2e3b90fee9
  Author: nicholas a. evans <nicholas.evans@gmail.com>
  Date:   2020-06-09 13:30:43 +0900

    Return seconds slept after Thread.scheduler wait_sleep

    Kernel#sleep should still return seconds slept, even when using a
    Thread.scheduler. The return value of Scheduler#wait_sleep can be
    ignored.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3198

commit 964829495cbf7bff6ca8a03b6d90f81de4d0efba
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-09 18:47:16 +0900

    Removed + token from single test runner recipes [ci skip]

    These test runners do not deal with `-n` make flag.

commit 195075e8f5f2220a0a1f00f5cfd2ad98681e71d5
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-06-09 15:52:25 +0900

    disable GC on a test

    CI fails with GC while `foo{}`, so that disable GC for this script.

commit 366646c15e841c7a5e4fa9f85abf4b7afa871e21
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-09 13:12:10 +0900

    Added CodeQL scanning by GitHub (#3196)

    Added configuration for CodeQL scanning by GitHub

  Notes:
    Merged-By: hsbt <hsbt@ruby-lang.org>

commit f4950145cff638c4713e5cd06aead0e41c338e61
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-09 12:38:46 +0900

    mjit_mark_cc_entries: should consider VM_CALLCACHE_UNMARKABLE

    Now that vm_empty_cc is VM_CALLCACHE_UNMARKABLE, it has to be properly
    ruled out from being GCed.

commit adfd4f3916df3e7becae28ff1eb5721900daf959
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-09 11:46:01 +0900

    .github: add test for -DMJIT_FORCE_ENABLE

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3197

commit 8664f19796336080de093a75b921aa13fd0db049
  Author: taki <taki@users.noreply.github.com>
  Date:   2020-03-15 07:20:09 +0900

    [ruby/singleton] Remove unnecessaray space

    https://github.com/ruby/singleton/commit/b7c583f5cd

commit 1016cff4ff43d8977bda01cc59867e75ad238836
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-08 14:26:49 +0900

    rb_eql_opt,rb_equal_opt: purge stale cc

    When on USE_EMBED_CI, cd is stored statically.  Previous use could cache
    stale cd->cc, which could have already been GCed.  Need flush them.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit ffe58b9c8bde9fa95e91a458e334b375a37ef974
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-05 15:55:05 +0900

    vm_ccs_push: do not cache non-heap entries

    Entires not GC-able must be considered to be volatile.  Not eligible for
    later use.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit e1e84fbb4f7df57d48fd2b1331edd0d521df7812
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-03 18:25:13 +0900

    VM_CI_NEW_ID: USE_EMBED_CI could be false

    It was a wrong idea to assume CIs are always embedded.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit 324038c66edc947a7738440621587575355087a4
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-04 13:03:13 +0900

    eliminate C99 compound literals

    Ko1 prefers variables be assgined, instead of bare literals in function
    arguments.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit 98d099be7e6d0251a7909dfeed10b13f453cc0f4
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-03 18:33:59 +0900

    vm_empty_cc: fix MSVC compile error

    Seems they do not allow compound literals for static variables. See
    https://github.com/ruby/ruby/runs/733735274

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit 4fbe86d0e22e06ecd4f79282fc66ddc40d963d60
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-03 15:06:18 +0900

    vm_call_method: use struct assignment

    This further reduces the generated binary of vm_call_method from 566
    bytes to 545 bytes on my machine, according to nm(1).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit 88e6799759374cbd6af77a5feb596d806b4e1bd9
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-03 14:59:33 +0900

    vm_empty_cc: refactor use macro

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit 46728557c16be2693c81c7c5ca51ea161ef28f65
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-01 16:01:30 +0900

    rb_vm_call0: on-stack call info

    This changeset reduces the generated binary of rb_vm_call0 from 281
    bytes to 211 bytes on my machine.  Should reduce GC pressure as well.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit db406daa60c1cc1585dd8a7227a87d45bbd3cb89
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-01 15:56:54 +0900

    vm_yield_setup_args: refactor use macro

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit 367263c3dd7df3c412e29cefb55561d10715a96a
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-01 15:02:44 +0900

    vm_call_method: no call vm_cc_fill

    This changeset reduces the generated binary of vm_call_method from 600
    bytes to 566 bytes on my machine, according to nm(1).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit fb3f1f95e88218fed75593af4058bb8e65a7ffb7
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-01 14:16:55 +0900

    vm_call_refined: no call vm_cc_fill

    This changeset reduces the generated binary of vm_call_method_each_type
    from 2,442 bytes to 2,378 bytes on my machine, according to nm(1).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit be5dfdd8a2d67dd845081c63b6994148930c5c53
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-01 14:01:51 +0900

    vm_call_zsuper: no call vm_cc_fill

    This changeset reduces the generated binary of vm_call_method_each_type
    from 2,522 bytes to 2,442 bytes on my machine, according to nm(1).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit dbbde61cefdcdef9054dde2e799e1ff9df343575
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-01 13:52:31 +0900

    vm_call_method_missing_body: on-stack call info

    This changeset reduces the generated binary of
    vm_call_method_missing_body from 604 bytes to 532 bytes on my machine.
    Should reduce GC pressure as well.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit 9c287f8caa1fdfc9820ab3f6b01fed252dff77b5
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-01 13:43:47 +0900

    vm_call_symbol: on-stack call info

    This changeset reduces the generated binary of vm_call_symbol from 808
    bytes to 798 bytes on my machine.  Should reduce GC pressure as well.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit 62b471bd441c841e8dedc209512227722dd542e6
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-01 13:26:44 +0900

    vm_call_alias: no call vm_cc_fill

    This changeset reduces the generated binary of vm_call_alias from 188
    bytes to 149 bytes on my machine, according to nm(1).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit 97f456374d73a8510ecfce44f3ed3b775e57f3a0
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-01 13:07:49 +0900

    rb_eql_opt: fully static call data

    This changeset reduces the generated binary of rb_eql_opt from 86 bytes to
    20 bytes on my machine, according to nm(1).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit 3da9c519737ba4c64eaaf2ee4af341c430fbad0a
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-03 14:23:23 +0900

    rb_vm_search_method_slowpath: skip vm_empty_cc

    Now that vm_empty_cc is statically allocated outside of the object
    space.  It shall not be GCed.  Here, because vm_search_cc can return
    that.  Must not be blindly passed to RB_OBJ_WRITE, unless assertions
    fail on RGENGC_CHECK_MODE, like this:

    -- C level backtrace information
    -------------------------------------------
    ruby(rb_print_backtrace+0x19) [0x5555557fd579] vm_dump.c:757
    ruby(rb_vm_bugreport+0x151) [0x5555557fd6f1] vm_dump.c:955
    ruby(rb_bug+0x1d6) [0x5555558d6396] error.c:660
    ruby(check_rvalue_consistency_force+0x707) [0x5555555adb97] gc.c:1289
    ruby(check_rvalue_consistency+0x1a) [0x555555598a0a] gc.c:1305
    ruby(RVALUE_OLD_P+0x15) [0x5555555975d5] gc.c:1382
    ruby(rb_gc_writebarrier+0x9f) [0x55555559753f] gc.c:6882
    ruby(rb_obj_written+0x3a) [0x5555557a025a] include/ruby/internal/rgengc.h:180
    ruby(rb_obj_write+0x41) [0x5555557a1a81] include/ruby/internal/rgengc.h:195
    ruby(rb_vm_search_method_slowpath+0x5a) [0x5555557a125a] vm_insnhelper.c:1603
    ruby(vm_search_method_fastpath+0x197) [0x5555557d8027] vm_insnhelper.c:1638
    ruby(vm_search_method+0xea) [0x5555557d7d2a] vm_insnhelper.c:1650
    ruby(vm_search_method_wrap+0x29) [0x5555557dbaf9] vm_insnhelper.c:4091
    ruby(vm_sendish+0xa9) [0x5555557dba39] vm_insnhelper.c:4143
    ruby(vm_exec_core+0xe357) [0x5555557b0757] insns.def:801
    ruby(rb_vm_exec+0x12c) [0x5555557d17cc] vm.c:1942
    ruby(invoke_block+0xea) [0x5555557f42fa] vm.c:1058
    ruby(invoke_iseq_block_from_c+0x16e) [0x5555557f3eae] vm.c:1130
    ruby(invoke_block_from_c_bh) vm.c:1148
    ruby(vm_yield+0x71) [0x5555557f3c41] vm.c:1193
    ruby(rb_yield_0+0x25) [0x5555557ca615] vm_eval.c:1141
    ruby(rb_yield_1+0x27) [0x5555557ca5c7] vm_eval.c:1147
    ruby(rb_yield+0x34) [0x5555557ca654] vm_eval.c:1157
    ruby(rb_ary_collect+0xb0) [0x555555828320] array.c:3186
    ruby(call_cfunc_0+0x29) [0x5555557f0f39] vm_insnhelper.c:2385
    ruby(vm_call_cfunc_with_frame+0x278) [0x5555557eca98] vm_insnhelper.c:2553
    ruby(vm_sendish+0xd0) [0x5555557dba60] vm_insnhelper.c:4146
    ruby(vm_exec_core+0xe0f8) [0x5555557b04f8] insns.def:782
    ruby(rb_vm_exec+0x12c) [0x5555557d17cc] vm.c:1942
    ruby(invoke_block+0xea) [0x5555557f42fa] vm.c:1058
    ruby(invoke_iseq_block_from_c+0x16e) [0x5555557f3eae] vm.c:1130
    ruby(invoke_block_from_c_bh) vm.c:1148
    ruby(vm_yield+0x71) [0x5555557f3c41] vm.c:1193
    ruby(rb_yield_0+0x25) [0x5555557ca615] vm_eval.c:1141
    ruby(rb_yield_1+0x27) [0x5555557ca5c7] vm_eval.c:1147
    ruby(rb_yield+0x34) [0x5555557ca654] vm_eval.c:1157
    ruby(rb_ary_each+0xa5) [0x55555581c795] array.c:2242
    ruby(call_cfunc_0+0x29) [0x5555557f0f39] vm_insnhelper.c:2385
    ruby(vm_call_cfunc_with_frame+0x278) [0x5555557eca98] vm_insnhelper.c:2553
    ruby(vm_sendish+0xd0) [0x5555557dba60] vm_insnhelper.c:4146
    ruby(vm_exec_core+0xe0f8) [0x5555557b04f8] insns.def:782
    ruby(rb_vm_exec+0x12c) [0x5555557d17cc] vm.c:1942
    ruby(invoke_block+0xea) [0x5555557f42fa] vm.c:1058
    ruby(invoke_iseq_block_from_c+0x16e) [0x5555557f3eae] vm.c:1130
    ruby(invoke_block_from_c_bh) vm.c:1148
    ruby(vm_yield+0x71) [0x5555557f3c41] vm.c:1193
    ruby(rb_yield_0+0x25) [0x5555557ca615] vm_eval.c:1141
    ruby(rb_yield_1+0x27) [0x5555557ca5c7] vm_eval.c:1147
    ruby(rb_yield+0x34) [0x5555557ca654] vm_eval.c:1157
    ruby(rb_ary_each+0xa5) [0x55555581c795] array.c:2242
    ruby(call_cfunc_0+0x29) [0x5555557f0f39] vm_insnhelper.c:2385
    ruby(vm_call_cfunc_with_frame+0x278) [0x5555557eca98] vm_insnhelper.c:2553
    ruby(vm_sendish+0xd0) [0x5555557dba60] vm_insnhelper.c:4146
    ruby(vm_exec_core+0xe0f8) [0x5555557b04f8] insns.def:782
    ruby(rb_vm_exec+0x19f) [0x5555557d183f] vm.c:1951
    ruby(rb_iseq_eval+0x30) [0x5555557d2530] vm.c:2190
    ruby(load_iseq_eval+0xd6) [0x5555555fa7e6] load.c:592
    ruby(require_internal+0x25e) [0x5555555f7f5e] load.c:1022
    ruby(rb_require_string+0x27) [0x5555555f74e7] load.c:1094
    ruby(rb_f_require_relative+0x5f) [0x5555555f758f] load.c:837
    ruby(call_cfunc_1+0x30) [0x5555557f0f70] vm_insnhelper.c:2391
    ruby(vm_call_cfunc_with_frame+0x278) [0x5555557eca98] vm_insnhelper.c:2553
    ruby(vm_call_cfunc+0xad) [0x5555557e521d] vm_insnhelper.c:2574
    ruby(vm_call_method_each_type+0xc7) [0x5555557e4af7] vm_insnhelper.c:3040
    ruby(vm_call_method+0x19c) [0x5555557e45dc] vm_insnhelper.c:3144
    ruby(vm_call_general+0x2d) [0x5555557c8c3d] vm_insnhelper.c:3176
    ruby(vm_sendish+0xd0) [0x5555557dba60] vm_insnhelper.c:4146
    ruby(vm_exec_core+0xe357) [0x5555557b0757] insns.def:801
    ruby(rb_vm_exec+0x12c) [0x5555557d17cc] vm.c:1942
    ruby(rb_iseq_eval_main+0x30) [0x5555557d2670] vm.c:2201
    ruby(rb_ec_exec_node+0x16b) [0x55555557e39b] eval.c:296
    ruby(ruby_run_node+0x72) [0x55555557e1f2] eval.c:354
    ruby(main+0x78) [0x55555557a5d8] main.c:50

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit 8f3d4090f037ae35fc9ba6380ee284aec837201f
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-29 16:04:53 +0900

    rb_equal_opt: fully static call data

    This changeset reduces the generated binary of rb_equal_opt from 129 bytes
    to 17 bytes on my machine, according to nm(1).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit 77293cef91a9aa424c086ae05f03211d9a8a87d3
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-29 15:20:57 +0900

    vm_ci_markable: added

    CIs are created on-the-fly, which increases GC pressure.  However they
    include no references to other objects, and those on-the-fly CIs tend to
    be short lived.  Why not skip allocation of them.  In doing so we need
    to add a flag denotes the CI object does not reside inside of objspace.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit 3928c151a63b273ff10feb43906d6590c6592d1a
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-05 10:14:06 +0900

    vm_search_method_fastpath: avoid rb_vm_empty_cc()

    This is such a hot path that it's worth eliminating a function call.  Use
    the static variable directly instead.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit 877238f2d3522381f184d44b308f6e3b68367c56
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-06-03 14:21:54 +0900

    check_cfunc: add assertions

    For debug.  Must not change generated binary unless VM_ASSERT is on.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3179

commit 42a2fa3b175b6420a23f22441179521b4193ddd7
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-06-09 07:08:15 +0900

    fix debugging output

commit 0ba27259d390e902139c0e2e94b9d18ef227748e
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-03-13 07:34:45 +0900

    Fix crashes in the peephole optimizer on OpenBSD/sparc64

    These crashes are due to alignment issues, casting ADJUST to INSN
    and then accessing after the end of the ADJUST.  These patches
    come from Stefan Sperling <stsp@apache.org>, who reported the
    issue.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2961

commit 711031de688ef464d5570560aabad989467c4328
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-09 00:34:38 +0900

    * 2020-06-09 [ci skip]

commit a3cc9b3c8e8e55660e434015654dfc4e11e3a3ab
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-09 00:27:04 +0900

    Avoid requiring "psych/versions"

    This leads to double requiring "ext/psych/lib/psych/versions.rb" and
    ".ext/common/psych/versions.rb", which produces doxens of warnings
    during `make test-all`.

    http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200608T123004Z.log.html.gz
    ```
    [15092/20234]
    TestRDocOptions#test_init_with_encoding/home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/ext/psych/lib/psych.rb:233: warning: already initialized constant Psych::LIBYAML_VERSION
    /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/.ext/common/psych.rb:233: warning: previous definition of LIBYAML_VERSION was here
    /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/ext/psych/lib/psych.rb:235: warning: already initialized constant Psych::NOT_GIVEN
    /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/.ext/common/psych.rb:235: warning: previous definition of NOT_GIVEN was here
    /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/ext/psych/lib/psych.rb:271: warning: method redefined; discarding old load
    /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/.ext/common/psych.rb:271: warning: previous definition of load was here
    ...
    ```

    The same issue happened in fiddle.gemspec, and this change applies the
    same fix as [fiddle](https://github.com/ruby/fiddle/issues/34).

commit 465b5dc124917b828a5964c50c4e470a0c03dcf4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-08 13:13:17 +0900

    Fixed main dependency

    `programs` has depended on the "fake" script, which is used by
    `test-spec` and etc.

commit a4f3e1762aa195969ace000ac0dc8d300dda85cb
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-08 11:44:13 +0900

    Fixed test dependencies

    All tests of `test-all` or more require not only the `main` but
    also extension libraries.

commit b12197dbbbcb547e6b40342e621d478f4a371d8e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-08 09:25:53 +0900

    Updated the benchmark-driver version

commit d0b2332e938e06b6f5b4baf07db4a65543d2a204
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-08 09:25:22 +0900

    Defaulted benchmark output to markdown with comarison

commit 11a6c405bc906deb720bb4df3f564f338b4afc4a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-08 03:47:09 +0900

    * 2020-06-08 [ci skip]

commit 7c2f742c40d9cbe663253755fb2db4b78443595f
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-08 03:46:43 +0900

    Enhanced Rdoc for Hash (#3187)

    Methods:

        #<=
        #<
        #>=
        #>
        #to_proc

    Also, a small amount of housekeeping: Adding backslash to some class name to prevent linking.

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit c0ba35f3344652bca7768cf37f367ff40f5e973e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-01 23:43:31 +0900

    Differentiate `...` in lambda arguments

commit 9d24ddbb53b296105177e1badce226c4e575dcc7
  Author: Ryuta Kamizono <kamipo@gmail.com>
  Date:   2020-06-07 07:39:41 +0900

    Fix `make benchmark` example

    `make benchmark ARGS=../benchmark/erb_render.yml` does not work.

    ```
    % make benchmark ARGS=../benchmark/erb_render.yml
    /Users/kamipo/.rbenv/shims/ruby --disable=gems -rrubygems -I./benchmark/lib ./benchmark/benchmark-driver/exe/benchmark-driver \
                        --executables="compare-ruby::/Users/kamipo/.rbenv/shims/ruby --disable=gems -I.ext/common --disable-gem" \
                        --executables="built-ruby::./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems --disable-gem" \
                        ../benchmark/erb_render.yml
    Traceback (most recent call last):
            6: from ./benchmark/benchmark-driver/exe/benchmark-driver:112:in `<main>'
            5: from ./benchmark/benchmark-driver/exe/benchmark-driver:112:in `flat_map'
            4: from ./benchmark/benchmark-driver/exe/benchmark-driver:112:in `each'
            3: from ./benchmark/benchmark-driver/exe/benchmark-driver:122:in `block in <main>'
            2: from /Users/kamipo/.rbenv/versions/2.6.6/lib/ruby/2.6.0/psych.rb:577:in `load_file'
            1: from /Users/kamipo/.rbenv/versions/2.6.6/lib/ruby/2.6.0/psych.rb:577:in `open'
    /Users/kamipo/.rbenv/versions/2.6.6/lib/ruby/2.6.0/psych.rb:577:in `initialize': No such file or directory @ rb_sysopen - ../benchmark/erb_render.yml (Errno::ENOENT)
    make: *** [benchmark] Error 1

    % make benchmark ARGS=benchmark/erb_render.yml
    /Users/kamipo/.rbenv/shims/ruby --disable=gems -rrubygems -I./benchmark/lib ./benchmark/benchmark-driver/exe/benchmark-driver \
                        --executables="compare-ruby::/Users/kamipo/.rbenv/shims/ruby --disable=gems -I.ext/common --disable-gem" \
                        --executables="built-ruby::./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems --disable-gem" \
                        benchmark/erb_render.yml
    Calculating -------------------------------------
                         compare-ruby  built-ruby
              erb_render     825.454k    783.664k i/s -      1.500M times in 1.817181s 1.914086s

    Comparison:
                           erb_render
            compare-ruby:    825454.4 i/s
              built-ruby:    783663.8 i/s - 1.05x  slower

    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3191

commit fa37a220f6a0edfd9741c7fd849a537232ea6dba
  Author: szTheory <szTheory@users.noreply.github.com>
  Date:   2020-06-04 21:20:51 +0900

    docs: fix typo

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3183

commit f8b4340fa2c254cd093ebc3bc70d2d0c46ea9997
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-05-29 03:09:44 +0900

    Add leading arguments support to arguments forwarding

    The idFWD_KWREST sections may be wrong. However, the existing
    idFWD_KWREST sections for ... without leading arguments are already
    broken.

    Implements [Feature #16378]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3190

commit 4178cbd2974fc0022823392c2460e09df2517a6e
  Author: Yuki Nishijima <yk.nishijima@gmail.com>
  Date:   2020-06-07 03:13:19 +0900

    Remove experimental feaures and related code completely

    Original pull request: https://github.com/ruby/did_you_mean/pull/147

commit 6d4ab96c475e7187069f3f3733fac32d6e03257c
  Author: Yuki Nishijima <yk.nishijima@gmail.com>
  Date:   2020-06-07 02:48:24 +0900

    Make test for no method error more reliable

    This test should not depend on the bahaviour of the did_you_mean gem.

commit 2a042f08a5a6a758338bcd7681a213be2d8f8a72
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-07 02:02:29 +0900

    * 2020-06-07 [ci skip]

commit 7cfd6a0bb920a43bc9df57f35d9ccacf01e65563
  Author: Yuki Nishijima <yk.nishijima@gmail.com>
  Date:   2020-06-05 13:53:10 +0900

    Fix build failures

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3135

commit e5f54465284b4505042fca10ace998e1d29c2313
  Author: Yuki Nishijima <yk.nishijima@gmail.com>
  Date:   2020-05-23 06:17:10 +0900

    Sync did_you_mean

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3135

commit 0c00a4176ba353d59d8c991428574ef2c2676674
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-06 16:44:14 +0900

    Hash marks in Makefile need to be escaped [Bug #16935]

commit ba6f1bcce920004d913a517fb23f9c87f62a2f2f
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-06 11:02:31 +0900

    * 2020-06-06 [ci skip]

commit e38a2ecffd51a2fe09548b322cb19293c6d024ef
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-06 00:35:45 +0900

    Run tests in more parallel

commit cf1adf985ab78507250db0e217a0fdd779e2c6e6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-05 21:54:39 +0900

    Aligned test-bundler-parallel at the end of the test order

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3189

commit 53c0737ae4d961a88880b8e20242a11919bdade6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-05 21:39:45 +0900

    Try test-bundler-parallel in GitHub Actions

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3189

commit e11ffe0aaf1f5dc8345795097f09d094f523c9c6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-05 21:34:26 +0900

    Fixup test-bundler-parallel

    * Do not chdir in the runner process, to access miniruby.  Chdir
      in worker processes instead.
    * GNU make does not export newly added environment variables by
      default, set PARALLEL_TESTS_EXECUTABLE in the runner.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3189

commit 0afbfddc0d74e95e9c79090d9324cc27d9b44c32
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-05 19:20:48 +0900

    Fixup 347127794e8041a1257b7241bbbdd9d0db2921a5

commit 347127794e8041a1257b7241bbbdd9d0db2921a5
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-05 19:01:39 +0900

    spec/bundler/support/parallel.rb is no longer used parallel_rspec.

commit 7e289cdf3fed588b2d5a6973e29f9ff95cb8d76c
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-06-04 02:18:34 +0900

    [ruby/psych] Fixing compatibility with libyaml 0.2.5

    The main issue is that commas aren't allowed in local tags.  libyaml
    was updated to follow the spec, and our tests were out of date.

    See: https://github.com/yaml/libyaml/issues/196

    https://github.com/ruby/psych/commit/3f5e520fd3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3188

commit 6b9e363aa08d7e9db9554827c6998af60ab39abc
  Author: Po-Chuan Hsieh <sunpoet@sunpoet.net>
  Date:   2020-04-07 04:08:04 +0900

    [ruby/psych] Add LICENSE to the gem

    https://github.com/ruby/psych/commit/02919596fa

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3188

commit cd3d035e8a0d8555748f564f10ea00458a60355c
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-02-14 08:26:37 +0900

    [ruby/psych] Remove unnecessary version guard from versions.rb

    Removing it triggers the following warnings when running `bundle` under
    jruby from the root of the `psych` repo prints the following warnings:

    ```
    /path/to/jruby-9.2.9.0/lib/ruby/gems/shared/gems/psych-3.1.0-java/lib/psych/versions.rb:7: warning: already initialized constant VERSION
    /path/to//jruby-9.2.9.0/lib/ruby/gems/shared/gems/psych-3.1.0-java/lib/psych/versions.rb:10: warning: already initialized constant DEFAULT_SNAKEYAML_VERSION
    ```

    This is because bundler loads the versions file relatively from the
    local gemspec, and then internally loads the psych gem, causing the
    redefinition warnings.

    Instead, we modify the $LOAD_PATH so that when working locally on the
    `psych` repo, the local version of `psych` gets used.

    https://github.com/ruby/psych/commit/a3fc8191a7

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3188

commit f2459763862fa2eef6929557a87763fe5ff5c470
  Author: Mark Thorn <mcthorn@gmail.com>
  Date:   2020-03-04 03:03:28 +0900

    [ruby/psych] Fix ArgumentError with leading and trailing underscores in number strings.

    https://github.com/ruby/psych/commit/ac2d2c9b1b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3188

commit 5ed58b90d188b26e5369397b48edaba287ab09fe
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-02-27 02:36:11 +0900

    [ruby/psych] Fix gem installation

    Current version is not installable because the gemspec is invalid, since
    it includes a `.travis.yml` file that no longer exists, so `rake
    install` fails like this:

    ```
    $ rake install
    rake aborted!
    WARNING:  See https://guides.rubygems.org/specification-reference/ for help
    ERROR:  While executing gem ... (Gem::InvalidSpecificationException)
        [".travis.yml"] are not files
    ```

    https://github.com/ruby/psych/commit/32b18ca7ca

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3188

commit f641d78a6fcf0b96c50077503a763478d0599fe5
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2019-07-25 05:01:20 +0900

    [ruby/psych] Implement `freeze` option for Pysch.load

    https://github.com/ruby/psych/commit/7dae24894d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3188

commit 4085c51a5175aeff2aeb8b849214c2899a79eb19
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2019-07-25 04:35:55 +0900

    [ruby/psych] Implement a freeze load option

    https://github.com/ruby/psych/commit/04f97f7a56

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3188

commit 591a3326e33889858276d66b157125273491edee
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2019-07-25 04:20:40 +0900

    [ruby/psych] Refactor `symbolize_names`

    https://github.com/ruby/psych/commit/3e472ab2d7

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3188

commit efa8df2886d575ddd4b4ab75dd9c7586e0e3a1d4
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-05 11:45:30 +0900

    `local_address` may raise IOError in debug print

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/wsl2/ruby-master/log/20200605T020004Z.fail.html.gz
    ```
    [  984/20282] IMAPTest#test_connection_closed_without_greeting#<Thread:0x000055b6e9589d28 /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:133 run> terminated with exception (report_on_exception is true):
    /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/.ext/common/socket.rb:252:in `local_address': closed stream (IOError)
            from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/.ext/common/socket.rb:252:in `connect_address'
            from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `block (2 levels) in test_connection_closed_without_greeting'
            from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `each_object'
            from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `each'
            from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `map'
            from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `block in test_connection_closed_without_greeting'
            from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:134:in `block in start_server'
    ```

commit e17028e48bcddaef2fb6ded37e8f104886120465
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-06-05 10:48:47 +0900

    Add sockets to debug print

    debug print does not include `in_tcp_socket_2`,
    so I think other socket connected to server socket.
    Add sockets to debug print, and check other socket is in same process or not.

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20200604T160009Z.fail.html.gz
    ```
      1) Failure:
    IMAPTest#test_connection_closed_without_greeting [/export/home/chkbuild/chkbuild-gcc/tmp/build/20200604T160009Z/ruby/test/net/imap/test_imap.rb:523]:
    [Net::IMAP::Error] exception expected, not #<RuntimeError: {:server=>#<TCPServer:(closed)>,
     :port=>35490,
     :server_created=>
      {:server=>"#<TCPServer:fd 10, AF_INET6, ::1, 35490>", :t=>45917010.30510591},
     :in_start_server_before_accept=>{:t=>45917010.305154555},
     :in_tcp_socket=>
      {:host=>"::1",
       :port=>35490,
       :server=>"#<TCPServer:fd 10, AF_INET6, ::1, 35490>",
       :t=>45917010.40560127},
     :in_start_server=>
      {:sock_addr=>["AF_INET6", 35490, "::1", "::1"],
       :sock_peeraddr=>["AF_INET6", 51584, "::1", "::1"],
       :t=>45917010.40767231},
     :in_start_server_sock_closed=>{:t=>45917010.40770047},
     :in_rescue=>
      {:e=>#<Errno::EINVAL: Invalid argument - connect(2) for [::1]:35490>,
       :server_addr=>"::1",
       :t=>45917010.40867455}}
    >.
    ```

commit 449b62ba0115fbe054e8f5e3a36f849e47e0f4a1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-05 10:20:38 +0900

    Skip tests which do not work until installed when load-relative

commit 073ff7397255c0827463759952982ad901fce7e2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-05 10:20:06 +0900

    Show better failure messages

commit a16fcb420549ae45f7e29a923d2230b0980071f3
  Author: Kir Shatrov <shatrov@me.com>
  Date:   2020-06-05 00:25:20 +0900

    Update docs in net/http.rb

    ...to reflect that Net::HTTP.start accepts keep_alive_timeout as an option.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3185

commit 4bff8e84232594ecb9914e2a8437b7c40a63b799
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-06-04 19:37:09 +0900

    Ensure that the head of the vacancy list is correctly inserted into the linked list.

    See <https://bugs.ruby-lang.org/issues/16814> for more details.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3182

commit e262452b562da16ad9b25d718a8cf817305c1645
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-05 07:33:20 +0900

    * 2020-06-05 [ci skip]

commit cfcb52fbe367d5f9259cad376510daefd442cbb9
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-03 23:54:21 +0900

    Enable `Style/MethodCallWithoutArgsParentheses` in rubygems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 77ba8a1d610114cdaf59993dceeb3ebf6f624436
  Author: Yuki Nishijima <yk.nishijima@gmail.com>
  Date:   2020-05-26 09:34:56 +0900

    [rubygems/rubygems] Use LoadError#path to figure out the argument passed to 'require'

    https://github.com/rubygems/rubygems/commit/5995394ec4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 5bbddba20b25cb2ddb7fbc82c355fb2f25633f73
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-22 02:19:50 +0900

    [rubygems/rubygems] Modify `RakeFileUtils.verbose_flag` only when needed

    https://github.com/rubygems/rubygems/commit/d490309d75

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit b35793e0e74c8abc39d0ae58f75a6ea10983749c
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-22 01:52:30 +0900

    [rubygems/rubygems] Fix test warnings

    Since `rake package` started printing to stdout by default, we get these
    warnings printed when running rubygems tests:

    ```
    $ rake
    Run options: --seed 6097

    # Running:

    ...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................mkdir -p pkg
    mkdir -p pkg/pkgr-1.2.3
    rm -f pkg/pkgr-1.2.3/x
    ln x pkg/pkgr-1.2.3/x
    rm -f pkg/pkgr-1.2.3/y
    ln y pkg/pkgr-1.2.3/y
    cd pkg/pkgr-1.2.3
    cd -
    ....

    Finished in 50.578889s, 43.0812 runs/s, 134.8191 assertions/s.
    2179 runs, 6819 assertions, 0 failures, 0 errors, 0 skips
    Coverage report generated for Unit Tests to /home/deivid/Code/rubygems/coverage. 8080 / 8978 LOC (90.0%) covered.
    ```

    The reason is that, although these tests wrap the
    `Rake.application["package"].invoke` with a `capture_io` block, the rake
    application initialization happens outside of this block, and a copy of
    `$stdout` is saved in there, and that's where the task prints. So the
    `capture_io` `$stdout` and `$stderr` dance is not effective.

    To fix, we move the `Rake` application initialization inside the
    `capture_io` block.

    https://github.com/rubygems/rubygems/commit/7f6e2398a5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 8739bc449f7f560fe0c5addf7da2e73f4537b0cf
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 23:31:25 +0900

    [rubygems/rubygems] Only run optional validations in packaging contexts

    https://github.com/rubygems/rubygems/commit/f4fe949dfa

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit e9c8066bd965634475f4273406fd0e0f6f5e5988
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 22:57:45 +0900

    [rubygems/rubygems] Split validations into required and optional

    https://github.com/rubygems/rubygems/commit/55b09a7aa2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 455330143aed490f867cde2c1a5d0db81c2b7c76
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 22:50:43 +0900

    [rubygems/rubygems] Mention that some validations only warn

    https://github.com/rubygems/rubygems/commit/32c7f7f484

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 257e6cda329dcc1d68e5d35893f5877de91d5978
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 22:49:50 +0900

    [rubygems/rubygems] Reword `validate` method header

    It's not so basic anymore, and it does much more than validating
    required fields.

    https://github.com/rubygems/rubygems/commit/3c0be4cdeb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit fc10f35f3d4054fa035603b83bb43de51e9af98b
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 22:47:46 +0900

    [rubygems/rubygems] Reuse `error` helper

    https://github.com/rubygems/rubygems/commit/3a44b6f846

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 3cfe190099bd4354b39d4276eec97bdef44255a2
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 22:47:18 +0900

    [rubygems/rubygems] Move docs to a better place

    https://github.com/rubygems/rubygems/commit/c87ac90528

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 15018f20ddfb18f87bff11e20ac1b23f4d9fa2be
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 22:45:33 +0900

    [rubygems/rubygems] Deprecate some methods that are only there for compatibility

    https://github.com/rubygems/rubygems/commit/b4948bda74

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 5eacf4e72cffadde3c4c2b6dada6cd5343310ae3
  Author: Olle Jonsson <olle.jonsson@auctionet.com>
  Date:   2020-04-20 05:39:42 +0900

    Enable rubocop-performance StartWith cop

      - this would keep the could-be-a-string-method matches few

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit f8f5e7fadf689a11a8ee28b7af4e7777e2dec1ea
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-25 23:55:16 +0900

    [rubygems/rubygems] Respect files loaded from default gems before rubygems

    https://github.com/rubygems/rubygems/commit/f3da3c1190

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit ff5ca548c3540c5a98a3851248248de117b2bf2f
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-05-09 20:10:17 +0900

    [rubygems/rubygems] Use a real file to run the test

    * JRuby doesn't support multi-line -e.

    https://github.com/rubygems/rubygems/commit/1fb6657a7d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit ae3d0d8a20c74e8163957deddc30ac81e40be353
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-05-09 19:40:57 +0900

    [rubygems/rubygems] Add a more comprehensive and reliable test for upgraded default gems

    * Test that the correct version is loaded and that the default gem is
      not loaded at all.

    https://github.com/rubygems/rubygems/commit/ee08508b2a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 345461018da1ba5a6aa5b14762e7d8d159f864c1
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-04-23 05:17:50 +0900

    [rubygems/rubygems] Relax test to still check we're calling the expected Ruby

    * But not enforce that error looks like
      /full/path/to/ruby/bin/ruby: No such file or directory
      but instead allow
      truffleruby: No such file or directory

    A typical output for gem_make.out looks like:
    current directory: /.../rubygems/tmp/test_rubygems_112388/gemhome/gems/a-2
    /.../ruby-2.6.6/bin/ruby -I /.../rubygems/lib -r ./siteconf20200422-112388-nyrcy0.rb extconf.rb ''
    /.../ruby-2.6.6/bin/ruby: No such file or directory -- extconf.rb (LoadError)

    https://github.com/rubygems/rubygems/commit/e6e08882cc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 5f0e84ba8df4faf5f58882958a79a794b95e94c8
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-04-23 04:20:06 +0900

    [rubygems/rubygems] Fix check for testing in the ruby repository

    * When testing in the rubygems/rubygems repository, the previous code would
      move the lib/ dir at the end of $LOAD_PATH, which would cause to load
      a mix of lib/ RubyGems and in-stdlib-dir RubyGems, which blows up.

    https://github.com/rubygems/rubygems/commit/f6f6f00ed1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 709d58446f5f059a7808d2dcb6bd839f0238f04a
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-04-23 04:23:14 +0900

    [rubygems/rubygems] Clarify what test_activate_via_require_respects_loaded_files does and tests

    * Clearly require the benchmark stdlib instead of far away in test_case.rb

    https://github.com/rubygems/rubygems/commit/d74b9ca04c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 5c1957e95c649659b0e5abb184393c4c7ee34cd7
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-04-23 03:13:30 +0900

    [rubygems/rubygems] Simplify #warn test to not rely on the effect of -C on -I

    https://github.com/rubygems/rubygems/commit/382642a0d4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit b9d431a7b129635356d03bb0bbdb9b5060a35729
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-24 03:18:41 +0900

    [rubygems/rubygems] Remove direct reference to PR

    The code is quite different now, so I think the link might be even
    confusing. If you want to know more, use git history.

    https://github.com/rubygems/rubygems/commit/db872c7a18

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit f0f138aa5d5857fb435bfaef95201d530f6d35da
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-21 22:20:57 +0900

    [rubygems/rubygems] Fix `$LOADED_FEATURES` cache sometimes not respected

    In the cases where the initial manually `-I` path resolution succeeded,
    we were passing a full path to the original require effectively skipping
    the `$LOADED_FEATURES` cache. With this change, we _only_ do the
    resolution when a matching requirable path is found in a default gem. In
    that case, we skip activation of the default gem if we detect that the
    required file will be picked up for a `-I` path.

    https://github.com/rubygems/rubygems/commit/22ad5717c3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 07dca5c02c95322a39833705d3acd87b3adb00ac
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-19 21:32:12 +0900

    [rubygems/rubygems] Extract a local outside the loop

    https://github.com/rubygems/rubygems/commit/da1492e9d7

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 5aa5aad48aa3effce60de3559d9bd107bfc9a91d
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-19 21:08:19 +0900

    [rubygems/rubygems] Refactor `Gem.load_path_insert_index`

    https://github.com/rubygems/rubygems/commit/ae95885dff

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit a18e81d797135de6e143a600e4f4d2b00ab23bf9
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-19 21:00:00 +0900

    [rubygems/rubygems] Fix performance regression in `require`

    Our check for `-I` paths should not go through all activated gems.

    https://github.com/rubygems/rubygems/commit/00d98eb8a3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 8c8364c84e53303baf3828fd5266cb5aec54c582
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-16 22:42:27 +0900

    Fix `ruby setup.rb` warnings

    Currently we get the following warnings on `ruby setup.rb`:

    ```
    /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/exceptions.rb:281: warning: already initialized constant Gem::UnsatisfiableDepedencyError
    /home/deivid/Code/rubygems/lib/rubygems/exceptions.rb:281: warning: previous definition of UnsatisfiableDepedencyError was here
    /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/user_interaction.rb:557: warning: already initialized constant Gem::StreamUI::ThreadedDownloadReporter::MUTEX
    /home/deivid/Code/rubygems/lib/rubygems/user_interaction.rb:557: warning: previous definition of MUTEX was here
    /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/ext/builder.rb:20: warning: already initialized constant Gem::Ext::Builder::CHDIR_MUTEX
    /home/deivid/Code/rubygems/lib/rubygems/ext/builder.rb:20: warning: previous definition of CHDIR_MUTEX was here
    /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/ext/ext_conf_builder.rb:14: warning: already initialized constant Gem::Ext::ExtConfBuilder::FileEntry
    /home/deivid/Code/rubygems/lib/rubygems/ext/ext_conf_builder.rb:14: warning: previous definition of FileEntry was here
    /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/version.rb:158: warning: already initialized constant Gem::Version::VERSION_PATTERN
    /home/deivid/Code/rubygems/lib/rubygems/version.rb:158: warning: previous definition of VERSION_PATTERN was here
    /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/version.rb:159: warning: already initialized constant Gem::Version::ANCHORED_VERSION_PATTERN
    /home/deivid/Code/rubygems/lib/rubygems/version.rb:159: warning: previous definition of ANCHORED_VERSION_PATTERN was here
    /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:14: warning: already initialized constant Gem::Requirement::OPS
    /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:14: warning: previous definition of OPS was here
    /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:24: warning: already initialized constant Gem::Requirement::SOURCE_SET_REQUIREMENT
    /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:24: warning: previous definition of SOURCE_SET_REQUIREMENT was here
    /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:27: warning: already initialized constant Gem::Requirement::PATTERN_RAW
    /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:27: warning: previous definition of PATTERN_RAW was here
    /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:32: warning: already initialized constant Gem::Requirement::PATTERN
    /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:32: warning: previous definition of PATTERN was here
    /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:37: warning: already initialized constant Gem::Requirement::DefaultRequirement
    /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:37: warning: previous definition of DefaultRequirement was here
    /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:42: warning: already initialized constant Gem::Requirement::DefaultPrereleaseRequirement
    /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:42: warning: previous definition of DefaultPrereleaseRequirement was here
    /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:311: warning: already initialized constant Gem::Version::Requirement
    /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:311: warning: previous definition of Requirement was here
    /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/command.rb:626: warning: already initialized constant Gem::Command::HELP
    /home/deivid/Code/rubygems/lib/rubygems/command.rb:626: warning: previous definition of HELP was here
      Successfully built RubyGem
      Name: bundler
      Version: 2.2.0.dev
      File: bundler-2.2.0.dev.gem
    Bundler 2.2.0.dev installed
    RubyGems 3.2.0.pre1 installed
    Regenerating binstubs
    Regenerating plugins

    ------------------------------------------------------------------------------

    RubyGems installed the following executables:
            /home/deivid/.rbenv/versions/2.7.1/bin/gem
            /home/deivid/.rbenv/versions/2.7.1/bin/bundle

    ```

    This is because the `$LOAD_PATH` entry added by `setup.rb` is relatively
    and when the offending require happens, we're installing `bundler` and
    have switched folders to `bundler/`. So the require fallsback to the
    system rubygems.

    To avoid that, add an absolute path to the `$LOAD_PATH`.

    On jruby, somehow the $LOAD_PATH is manipulated so that we end up
    requiring stuff inside the built package even if we have specified the
    `-I` flag, so we get redefinition warnings anyways.

    I'm not sure about the root cause, but relative requiring fixes it, and
    it's faster anyways.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 464e094fce3267d44c6878fda5481b178df42f94
  Author: Josef Šimánek <josef.simanek@gmail.com>
  Date:   2020-05-09 07:23:19 +0900

    [rubygems/rubygems] Require ext only in validate_extension, mention gemspec in warning.

    https://github.com/rubygems/rubygems/commit/5e31e1a421

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit b7adb10e3986ac8334b5f304321dda6f8d135e69
  Author: Josef Šimánek <josef.simanek@gmail.com>
  Date:   2020-05-01 07:55:07 +0900

    [rubygems/rubygems] Add build warning when rake based extension is present, but rake is not specified as dependency.

    https://github.com/rubygems/rubygems/commit/75fe5475b6

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit f61ee674d8c5871e8e81b1a7f5884635a0ee9803
  Author: Olle Jonsson <olle.jonsson@auctionet.com>
  Date:   2020-04-20 01:06:02 +0900

    [rubygems/rubygems] Prefer start_with? and end_with? over regex.

      - In one of the cases, filenames were checked for ending with "gz" -
        this is changed to check for ending with ".gz"
      - The change was made to make it even easier to read the code, and to
        match only from the start of the input (as opposed to start of the
        line)

    https://github.com/rubygems/rubygems/commit/aac4290271

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit dd5b918cbead5fdb641118aa4e4d90e013f90df1
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-02 17:24:32 +0900

    [rubygems/rubygems] Fix template cleanup as well

    https://github.com/rubygems/rubygems/commit/10cc79ee21

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit e4d0cca24ae07d7b9797c384a9b6d82983f269e4
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-02 17:19:41 +0900

    [rubygems/rubygems] Fix installing template files with dots

    https://github.com/rubygems/rubygems/commit/a82a77251d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 1f9e684c7755c2b65a68565807f4547f1692b616
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-02 17:15:39 +0900

    [rubygems/rubygems] Remove unnecessary parenthesis

    https://github.com/rubygems/rubygems/commit/97772bb066

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 9c55172bd08e7a3b92d521b680fd1aa095b86c85
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-06-03 23:39:55 +0900

    [rubygems/rubygems] Move require to the top

    https://github.com/rubygems/rubygems/commit/e6cabc3f1e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit de3f183c2a2da499da5d4349c82f122bef1fc68b
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-06-03 13:41:21 +0900

    [rubygems/rubygems] Use ruby_with_rubygems_in_load_path helper

    https://github.com/rubygems/rubygems/commit/5e6d82b1f2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 4edfc50283b3b209a008b04505d01c07b40b1eff
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-05-31 15:06:06 +0900

    [rubygems/rubygems] Make sure rubygems/package can be directly required reliably

    https://github.com/rubygems/rubygems/commit/73c199b087

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 8e5fe13c089717c9516b1a7eb0fe22d0fbe7b25f
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-19 19:08:43 +0900

    [rubygems/rubygems] Delay `fileutils` loading to fix some warnings

    If the following conditions are met:

    * You have a default version of fileutils and a higher version of
    fileutils installed as a regular gem. This case is common on ruby 2.6.

    * You use a bundler generated binstub on a gem setup with a `Gemfile`
    using the `gemspec` DSL.

    Then `fileutils` redefinition warnings happen because of the following:

    The gist of a bundler generated binstub is:

    ```ruby
    require "bundler/setup"
    load Gem.bin_path("rake", "rake")
    ```

    First configure bundler, then load the requested gem.

    When `require "bundler/setup"` is called under the previously mentioned
    setup, `ext_conf_builder.rb` ends up being required because of the new
    validation that gemspecs with rake extensions depend on `rake`. And that
    loads the latest version of `fileutils` because of using "rubygems
    monkeypatched require" that auto-chooses the latest version of default
    gems.

    After that, when `Gem.bin_path` gets called, `ext_conf_builder.rb` gets
    required again, but this time already using "bundler's unmonkeypatched
    require" which means the default version is chosen and thus the
    redefinition warning happens.

    The solution as usual is to lazily load `fileutils`.

    https://github.com/rubygems/rubygems/commit/08d64e5f06

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 3660d14de60ac4a2b420601db5b16c104a0c7858
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-16 21:45:08 +0900

    [rubygems/rubygems] Make `rake package` log messages to stdout by default

    The logging to $stderr is only happening due to a bug in `FileUtils`.
    Logging messages are not errors.

    https://github.com/rubygems/rubygems/commit/4d1b6659e6

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit f7d3522a54627b6d2fec0606fff5612ba52f2731
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-16 21:43:21 +0900

    [rubygems/rubygems] Move setting verbosity to each test

    So that I can add a separate test that doesn't set it.

    https://github.com/rubygems/rubygems/commit/5726cb418c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 01fcc291dc8a4c43c0763ebbb04e2e9e137cc738
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-16 21:42:34 +0900

    [rubygems/rubygems] Don't leave side effects on verbosity

    https://github.com/rubygems/rubygems/commit/c58e711598

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 5c35fedaf2586afab27d7e11a83b5aa32cbf727c
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-16 21:41:41 +0900

    [rubygems/rubygems] Remove unnecessary rescue and loading of bundler

    https://github.com/rubygems/rubygems/commit/7ecc216505

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 28be8e04805170607656dd218f3164611d5cdd74
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-19 03:14:36 +0900

    [rubygems/rubygems] Remove explicit `psych` activation

    We don't need to explicitly activate `psych` since `require` will take
    care of that automatically.

    We don't need to care about a minimum version either since the oldest
    ruby we support at the moment ships with a `psych` version higher than
    2.0.0.

    https://github.com/rubygems/rubygems/commit/1ccf0912a1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 459eb684b7a90e11ba5812ce9bb518f4940d3519
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-04 21:15:34 +0900

    Manually pick from rubygems/rubygems changes at

    https://github.com/rubygems/rubygems/pull/3666/commits/ca5bf584026c9fd3a288eb10c65493e9f01ccc44

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 4d233d18a2d8ad21513de818f4d089ce46ef484c
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-26 02:45:22 +0900

    Re-record all cassettes

    I had to pin `redis-namespace` in our spec to 1.6.0 because on ruby
    2.3.0 the spec no longer resolved to that version, so the cached `.gem`
    file was missing there.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 0fb2a7fa1cd9348fba04e15bbc115776f4cc6d0a
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-24 18:20:02 +0900

    Fix `bin/rake spec:realworld:record`

    Previously it was failing and not recording. Also, the
    `BUNDLER_SPEC_FORCE_RECORD` environment variable was forcing every
    request to be recorded, including duplicated requests to the same
    endpoint. That meant the recorded `versions` file would be incorrect
    because it would contain the result of the last request, which would be
    `304 NOT MODIFIED`.

    So, to rerecord, delete cassettes and let them be recorded when needed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 0ae5cd55e5c764c8fb14c63eb663cdbff355434e
  Author: Carsten Wirth <carsten.wirth@homeday.de>
  Date:   2019-11-26 23:48:55 +0900

    [rubygems/rubygems] Remove multiline gem specifications correctly

    https://github.com/rubygems/rubygems/commit/8dca0ad56e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit c91915c1838e2492a433b00179f0cef5d72abde0
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-22 20:19:06 +0900

    [rubygems/rubygems] Fix typo

    Co-authored-by: Carsten Wirth <carsten.wirth@homeday.de>

    https://github.com/rubygems/rubygems/commit/c7c5ca68db

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 1feffe12d444dc3585abf07e3e7b1b4bcffe3ca7
  Author: Jakob Krigovsky <jakob@krigovsky.com>
  Date:   2020-05-12 04:39:29 +0900

    Link to pre-filtered issue list

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit f9872c50cc6cc91767733757984b5af1bd49dc7d
  Author: Jakob Krigovsky <jakob@krigovsky.com>
  Date:   2020-05-08 03:02:21 +0900

    Update links from rubygems/bundler to rubygems/rubygems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 9139acca66086d0d6c0867ff02b8cb8c338df5d4
  Author: DEVRAJ KUMAR <43830009+devraj-kumar@users.noreply.github.com>
  Date:   2020-04-11 07:20:19 +0900

    [rubygems/rubygems] Fix `bundle info` not indicating a gem which has been deleted, unlike `bundle show`

    Co-Authored-By: David Rodríguez <deivid.rodriguez@riseup.net>

    https://github.com/rubygems/rubygems/commit/2851b40ffb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit f0ae5ac3135a6cf26666ec6ba33d34a738df7573
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-24 21:48:38 +0900

    [rubygems/rubygems] Display test_framework_hint before prompting for user selection

    * On ubuntu-bundler/ubuntu_bundler3, longer lines of text get cut off
    after ~50 characters
    * Example: https://github.com/rubygems/rubygems/pull/3544/checks?check_run_id=703658810

    https://github.com/rubygems/rubygems/commit/6a17847fd8

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 0d240de2f32d877ca714ef6c0b51667367ec1498
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-23 19:13:56 +0900

    [rubygems/rubygems] Tag test framework hint specs and use out helper

    https://github.com/rubygems/rubygems/commit/1db61b5b5e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 154c2717da6bb59f1b2739777b01cea98b667751
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-23 02:00:00 +0900

    [rubygems/rubygems] Add user hint specs for bundle gem --test

    https://github.com/rubygems/rubygems/commit/1d2292a88f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 58267fa59e6ea2e4e90a7459a5d7d2f0f57d4f02
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-22 11:27:12 +0900

    [rubygems/rubygems] Conditionally display test framework help text

    https://github.com/rubygems/rubygems/commit/8b51a86265

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 3c9d3d18f6d54b4e11c22e1b0f5cecce2bb26c0a
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-05-21 19:22:47 +0900

    [rubygems/rubygems] Rebuild bundler man pages

    * Recently built man pages on my branch had odd whitespace/characters
    resulting from using the macOS installed version of groff (v1.19) and
    homebrew's (v1.24)
    * Followed the advice in this pull request:
    https://github.com/rubygems/rubygems/pull/3394
    * Encountered invalid byte sequence sed error, found this link:
    https://lists.gnu.org/archive/html/groff/2014-10/msg00072.html

    https://github.com/rubygems/rubygems/commit/f379d1d70e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit f75bd9bb8bf1764de613ab1b601d21c46b1d4681
  Author: Frank Lam <ryzingsun11@yahoo.com>
  Date:   2020-04-24 17:00:59 +0900

    [rubygems/rubygems] Fix bundle gem ignoring global gem.test config

    * bundle gem previously ignored gem.test when passed empty -t flag,
    defaulting to RSpec
    * bundle gem will now ask user for test framework when passed empty -t
    flag and gem.test is set to false, but will not overwrite gem.test
    * thor option parsing for String types falls back to human name for nil,
    so setting lazy_default to nil won't work
    * https://github.com/erikhuda/thor/blob/c5161501e0cfac7a8c5b838a9c6084c275f03c0d/lib/thor/parser/options.rb#L224

    Default to Bundler.settings["gem.test"] for empty --test

    Add shared examples for test framework to newgem spec

    Add examples for empty --test flag to newgem spec

    Simplify conditional for prompting test framework

    Follow naming conventions for bundler settings

    Add more descriptive test framework help text for bundle gem

    Update man pages for bundler

    https://github.com/rubygems/rubygems/commit/ab0785a09f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 603edfcaa0aa6ea6660d045194769046d24a59aa
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-31 00:37:56 +0900

    [rubygems/rubygems] Fix parallel installer race condition

    The main thread may detect that installation has finished and thus
    abort, while the thread responsible for installing the spec that failed
    has not yet set the error message.

    In this case, the install process will abort with a mysterious "empty"
    exception. I can be force the issue to reproduce by applying the
    following patch:

    ```diff
    diff --git a/bundler/lib/bundler/installer/parallel_installer.rb b/bundler/lib/bundler/installer/parallel_installer.rb
    index 3dee9f4664..7827a11d11 100644
    --- a/bundler/lib/bundler/installer/parallel_installer.rb
    +++ b/bundler/lib/bundler/installer/parallel_installer.rb
    @@ -166,6 +166,7 @@ module Bundler
             spec_install.post_install_message = message unless message.nil?
           else
             spec_install.state = :failed
    +        sleep 1
             spec_install.error = "#{message}\n\n#{require_tree_for_spec(spec_install.spec)}"
           end
           Plugin.hook(Plugin::Events::GEM_AFTER_INSTALL, spec_install)
    @@ -183,6 +184,7 @@ module Bundler
         end

         def finished_installing?
    +      sleep 0.5
           @specs.all? do |spec|
             return true if spec.failed?
             spec.installed?
    diff --git a/bundler/lib/bundler/rubygems_gem_installer.rb b/bundler/lib/bundler/rubygems_gem_installer.rb
    index 8ce33c3953..c585cd517b 100644
    --- a/bundler/lib/bundler/rubygems_gem_installer.rb
    +++ b/bundler/lib/bundler/rubygems_gem_installer.rb
    @@ -42,6 +42,7 @@ module Bundler
           return true unless source = @package.instance_variable_get(:@gem)
           return true unless source.respond_to?(:with_read_io)
           digest = source.with_read_io do |io|
    +        raise BundlerError, "asdafss"
             digest = SharedHelpers.digest(:SHA256).new
             digest << io.read(16_384) until io.eof?
             io.rewind
    ```

    and running `bin/rspec spec/install/gems/compact_index_spec.rb:892` will
    result in

    ```
    Run options:
      include {:locations=>{"./spec/install/gems/compact_index_spec.rb"=>[892]}}
      exclude {:jruby=>true, :readline=>false, :permissions=>false, :no_color_tty=>false, :ruby_repo=>false, :bundler=>"!= 2", :git=>"!= 2.26.2", :rubygems=>"!= 3.2.0.pre1", :realworld=>true, :sudo=>true}

    Randomized with seed 59277
    F

    Retried examples: 0

    Failures:

      1) compact index api checksum validation raises when the checksum is the wrong length
         Failure/Error: expect(err).to include("The given checksum for rack-1.0.0 (\"checksum!\") is not a valid SHA256 hexdigest nor base64digest")

           expected "" to include "The given checksum for rack-1.0.0 (\"checksum!\") is not a valid SHA256 hexdigest nor base64digest"

           Commands:
           $ /home/deivid/.rbenv/versions/2.7.1/bin/ruby -I/home/deivid/Code/rubygems/rubygems/bundler/spec -r/home/deivid/Code/rubygems/rubygems/bundler/spec/support/artifice/compact_index_wrong_gem_checksum.rb -r/home/deivid/Code/rubygems/rubygems/bundler/spec/support/hax.rb /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/bin/bundle install --verbose --retry 0
           Running `bundle install --retry 0 --verbose` with bundler 2.2.0.dev
           Found changes from the lockfile, re-resolving dependencies because the list of sources changed, the dependencies in your gemfile changed, you added a new platform to your gemfile
           HTTP GET http://localgemserver.test/versions
           HTTP 200 OK http://localgemserver.test/versions
           Fetching gem metadata from http://localgemserver.test/
           Looking up gems ["rack"]
           HTTP GET http://localgemserver.test/info/rack
           HTTP 200 OK http://localgemserver.test/info/rack
           Resolving dependencies...
           Using bundler 2.2.0.dev
           0:  bundler (2.2.0.dev) from /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/specifications/bundler-2.2.0.dev.gemspec
           Fetching rack 1.0.0
           Installing rack 1.0.0
           Bundler::InstallError:
           /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer/parallel_installer.rb:199:in `handle_error'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer/parallel_installer.rb:102:in `call'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer/parallel_installer.rb:78:in `call'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:271:in `install_in_parallel'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:197:in `install'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:92:in `block in run'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/process_lock.rb:12:in `block in lock'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/process_lock.rb:9:in `open'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/process_lock.rb:9:in `lock'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:73:in `run'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:25:in `install'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli/install.rb:66:in `run'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli.rb:261:in `block in install'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/settings.rb:121:in `temporary'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli.rb:260:in `install'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/vendor/thor/lib/thor.rb:399:in `dispatch'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli.rb:30:in `dispatch'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/vendor/thor/lib/thor/base.rb:476:in `start'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli.rb:24:in `start'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/exe/bundle:49:in `block in <top (required)>'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/exe/bundle:37:in `<top (required)>'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/bin/bundle:23:in `load'
             /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/bin/bundle:23:in `<main>'
           # $? => 5
         # ./spec/install/gems/compact_index_spec.rb:892:in `block (3 levels) in <top (required)>'
         # ./spec/spec_helper.rb:104:in `block (4 levels) in <top (required)>'
         # ./spec/spec_helper.rb:104:in `block (3 levels) in <top (required)>'
         # ./spec/support/helpers.rb:352:in `block in with_gem_path_as'
         # ./spec/support/helpers.rb:366:in `without_env_side_effects'
         # ./spec/support/helpers.rb:348:in `with_gem_path_as'
         # ./spec/spec_helper.rb:101:in `block (2 levels) in <top (required)>'
         # ./spec/spec_helper.rb:73:in `block (2 levels) in <top (required)>'
         # ./spec/support/rubygems_ext.rb:90:in `load'
         # ./spec/support/rubygems_ext.rb:90:in `gem_load_and_activate'
         # ./spec/support/rubygems_ext.rb:18:in `gem_load'

    Finished in 3.01 seconds (files took 0.14209 seconds to load)
    1 example, 1 failure

    Failed examples:

    rspec ./spec/install/gems/compact_index_spec.rb:886 # compact index api checksum validation raises when the checksum is the wrong length

    Randomized with seed 59277
    ```

    Without any mention to `BundlerError` and the original "asdafss" message.

    Fix the issue by making sure the error message is set before the ":failed"
    status.

    https://github.com/rubygems/rubygems/commit/83c8feb2c4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit e413e746afd20a7a0629c3e3c572d6d3dffc1c16
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 19:46:16 +0900

    [rubygems/rubygems] Remove `forgotten_command_line_usages` from specs

    Instead, use the non-deprecated option except when specifically testing
    deprecated CLI flags. In that case, pass the flag directly and limit
    the specs to `bundler < 3`.

    https://github.com/rubygems/rubygems/commit/3d5e186241

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 61b61f426a796871c27a0a9e4eedb31057864165
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 19:27:15 +0900

    [rubygems/rubygems] Reword specs to not mention deprecated flags

    https://github.com/rubygems/rubygems/commit/f878a81f22

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit f02f19d62f70bc3b38ff9f2902f99e3bfefefa23
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 20:06:07 +0900

    [rubygems/rubygems] Rewrite dependency API specs to use new deployment mode

    Some of them were passing "by chance" because they used a `bundle
    install` command that failed, but the assertion was using the result of
    the previous. Others were skipped on bundler 3. Now they all pass in all
    versions.

    https://github.com/rubygems/rubygems/commit/cedf611e11

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 5c924f597f7d633543589de152d09011a3fc2d21
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 01:04:41 +0900

    [rubygems/rubygems] Make `forgotten_command_line_options` always "forget" options

    https://github.com/rubygems/rubygems/commit/4d39338670

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 99dc55987d539e1f665ff30e03479f31dbbead72
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 01:03:32 +0900

    [rubygems/rubygems] Improve specs testing option remembering behavior

    By making them more explicit.

    https://github.com/rubygems/rubygems/commit/9979c5a811

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit b2a460ea3e4abf0322c0a5475ce2d89fde46b4c2
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 06:06:34 +0900

    [rubygems/rubygems] Centralize `with` and `without` setting

    https://github.com/rubygems/rubygems/commit/5e854722e2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 9422162f71e0d0f04034293125f925086abbbaf9
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 06:02:28 +0900

    [rubygems/rubygems] Remove redundant subtraction

    https://github.com/rubygems/rubygems/commit/365b46329b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 97d05c9db38f92b214cd30bb821ce29add20f082
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 06:00:19 +0900

    [rubygems/rubygems] Remove unnecessary option mutation

    https://github.com/rubygems/rubygems/commit/744c03d144

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 332ecb0ad1fd5cda138a36cc40891d78517d1fff
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 05:38:04 +0900

    [rubygems/rubygems] Fix `bundle install` unintentionally saving configuration

    Even if no explicit flags were passed to it.

    https://github.com/rubygems/rubygems/commit/0598cbb68c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 6b7a0c0ca7102c2891b75cd6ef7429dd90d931c3
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 05:51:57 +0900

    [rubygems/rubygems] Move all `without` and `with` option handling together

    https://github.com/rubygems/rubygems/commit/5e47879330

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 052d66050a8524f70d90223c015d5a0452bfc88b
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 04:12:21 +0900

    [rubygems/rubygems] Change descriptions to not mention deprecated flags

    https://github.com/rubygems/rubygems/commit/731b3783f1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit fed9419e55159bc6e53cc7590188ba6fb92d31fe
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 05:41:56 +0900

    [rubygems/rubygems] Fix flag name in spec descriptions

    https://github.com/rubygems/rubygems/commit/6395392b83

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 5989827dc7e39f882b61c1650c87d14599d21033
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 04:10:08 +0900

    [rubygems/rubygems] Improve wording of some specs

    https://github.com/rubygems/rubygems/commit/3372b21553

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit ff74725dc3fe5be418f230bf09409b1de6e74349
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-29 04:04:23 +0900

    [rubygems/rubygems] Remove old no longer meaningful spec

    This spec was originally written many years ago to verity gems were
    properly "remembered" in the lock file. At this point, the test feels a
    bit dummy since the first `bundle install` already runs on a "clean
    machine".

    https://github.com/rubygems/rubygems/commit/dbfefb3f5a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 09602f4301ccf64d1b27e62d71f00569d1d78a72
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-28 01:30:46 +0900

    [rubygems/rubygems] Revert multi ruby{,gems} version requirement fix

    This reverts commit 20f06d9e178211a3016133852b72d21ac7bb93ad, reversing
    changes made to f2b30cb70df8a518bef0e8a64bbceb86234d922d.

    https://github.com/rubygems/rubygems/commit/40802bdb18

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 592762069d025148463266187d6519c4799353dc
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-26 03:32:23 +0900

    [rubygems/rubygems] Support running specs against a tarball

    When bundler specs are run from a ruby tarball (ruby-core does this),
    there's no git folder, so `git ls-files` fails.

    Support this case by making specs rely on the list of files from the
    bundler gemspec instead, and invert the spec that makes sure we ship the
    right set of files.

    As per the other quality specs, skip them in this case.

    https://github.com/rubygems/rubygems/commit/b28d5ec931

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit bd9a6ba4ef26d1dea61efcb9d170c7d6ad805a27
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-27 19:51:09 +0900

    [rubygems/rubygems] Remove unintended extra space

    https://github.com/rubygems/rubygems/commit/1cc02930f3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 9f7bfba54ffee1bdc30aa7a08a1be1847c89a60a
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-04 20:31:18 +0900

    Revert "Fix a error in a `before(:suite)` hook"

    This reverts commit 67d2a715ca35090fbb3ab13df5b7348b1807dd47.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 1ab410caf8612589b37309b8cb1fa2f50bb1e097
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-06-04 20:31:11 +0900

    Revert "Fix a failure in bundle version with version outputs the version with build metadata"

    This reverts commit fcc8be0198a16cc5fa7d4827be0c781209b70f98.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 1161191a2a0411842a146bda95d6d9ce7aa0ee00
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-25 23:18:29 +0900

    [rubygems/rubygems] Test against compact_index 0.13.0

    https://github.com/rubygems/rubygems/commit/9f15b595ab

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 735bd501e755893165e69cd14680327ae56b10cb
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-04 07:30:29 +0900

    [rubygems/rubygems] Bump compact_index to 0.12.1

    https://github.com/rubygems/rubygems/commit/08374d0e4a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit d52b1b0705a6aa5587350ce01b293ed6bf7bdad7
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-25 19:19:13 +0900

    [rubygems/rubygems] Deprecate the `--no-deployment` flag

    And never recommend it inside CLI messages.

    This flag represents the default behaviour of `bundle install`, and the
    only reason it exists is to "override" previous `--deployment` flag
    usages which were silently remembered. So it should be deprecated just
    like all the other flags the rely on remembering their values across
    invocations.

    https://github.com/rubygems/rubygems/commit/40e50b7190

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 97267227bbd8c322cf17c1e0ae380f74afbc29fb
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-25 19:18:44 +0900

    [rubygems/rubygems] Don't recommend the `--no-deployment` flag

    https://github.com/rubygems/rubygems/commit/b368c7e0c4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 1914c4e9b1b68ac0650f4c3cdf91d9499bbfcf49
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-25 19:17:52 +0900

    [rubygems/rubygems] Pass `--deployment` flag directly

    This spec is run only in bundler 2 mode, and it's testing the
    `--deployment` flag specifically.

    https://github.com/rubygems/rubygems/commit/a5d91c68b6

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 5a12fc7c7f55780433ceb404d9e7189099399b38
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-22 18:51:14 +0900

    [rubygems/rubygems] Unskip "monorepo issues"

    They seem to be passing?

    https://github.com/rubygems/rubygems/commit/a00d1e6896

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit 5c343b849bb1f48cf5ac93bf369e2e2c24fa8a48
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-06-01 20:11:39 +0900

    [rubygems/rubygems] June man pages

    https://github.com/rubygems/rubygems/commit/cea610e197

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3184

commit a9e0046c26797343322a7211586f0acedfb7492e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-04 17:13:56 +0900

    Moved vm_empty_cc to local in vm.c [Bug #16934]

    Missed to commit a staged change.

commit 8b22fd27f181ea1902bbb584b41488e307121587
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-04 17:06:10 +0900

    Moved vm_empty_cc to local in vm.c [Bug #16934]

    As it is referenced only from compile.c, except for MJIT, simply
    use the accessor function.

commit 33ca2d386bee1cb4bc8e488cd9ad67df5f50f457
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-04 16:26:43 +0900

    Removed no longer used constants [Bug #16934]

    `RESERVED_HASH_VAL` and `RESERVED_HASH_SUBSTITUTION_VAL` have not
    been used directly in hash.c since 72825c35b0d8.

commit 2b7454eb922ccbda065affc92e2e94c7c28b809f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-04 16:24:45 +0900

    Update leaked-globals [Bug #16934]

    * match uppercase types which would be global, other than [BDT]
    * ignore `RUBY_` prefixed symbols

commit 047471c52960e32146025fab064487d25f92a141
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-04 10:26:40 +0900

    No GITPULLOPTIONS by default

    To honor the environment variable, keep GITPULLOPTIONS unset by
    default, and appended the option to VCSUP.

commit 3d7138871079d02b31c05ca6af943d56365a8776
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-04 11:29:39 +0900

    test/socket/test_addrinfo.rb: Fix syntax error

    Sorry!

commit 980655ce8319f7c96f286ac0abdfbc98b2090a96
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-06-04 11:22:12 +0900

    test/socket/test_addrinfo.rb: Suppress Errno::EACCES when addr is in use

    MinGW seems to raise Errno::EACCES instead of EADDRINUSE when bind fails
    due to in use.

    https://github.com/ruby/ruby/runs/736825846
    ```
      2) Error:
    TestSocketAddrinfo#test_connect_from:
    Errno::EACCES: Permission denied - bind(2) for 0.0.0.0:49721
        D:/a/ruby/ruby/build/.ext/common/socket.rb:54:in `bind'
        D:/a/ruby/ruby/build/.ext/common/socket.rb:54:in `connect_internal'
        D:/a/ruby/ruby/build/.ext/common/socket.rb:114:in `connect_from'
        D:/a/ruby/ruby/src/test/socket/test_addrinfo.rb:379:in `block in test_connect_from'
        D:/a/ruby/ruby/src/test/socket/test_addrinfo.rb:374:in `open'
        D:/a/ruby/ruby/src/test/socket/test_addrinfo.rb:374:in `test_connect_from'
    ```

commit 923e02a6a193747f7268325b45d8b83673a851d7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-04 08:33:04 +0900

    No one reads the detached head advice

commit f6acbf76796e1b0ea4198ab0cb86ededa86a73ad
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-04 08:22:50 +0900

    Fetch no tags

    Fetched tags by `make up` are not used, in CI environments.

commit 1ce40e3b291b167cea6a0e5b4c517e3a26096d9b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-04 07:58:49 +0900

    Removed fetch-depth

    Only the last commit is used, unless creating the ChangeLog file.

commit e2d76478db04b29bc85d445d3a84236fea1c4476
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-04 08:53:56 +0900

    Enhanced Rdoc for Hash (#3178)

    * Enhanced Rdoc for Hash

    * Fix typo in Hash Rdoc

    * Enhanced Rdoc for Hash

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 184f78314e98cab63e7503cead4a4e99bd132a08
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-03 23:06:06 +0900

    Properly resolve refinements in defined? on private call [Bug #16932]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3180

commit 8340c773e54feb399c9fab322e3ff6dd578ac04d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-03 23:05:55 +0900

    Properly resolve refinements in defined? on method call [Bug #16932]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3180

commit 3ced77a82a966998951b7c62b135ef0105f73c36
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-04 01:51:00 +0900

    * 2020-06-04 [ci skip]

commit 98286e9850936e27e8ae5e4f20858cc9c13d2dde
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-05-24 12:16:27 +0900

    Ensure origins for all included, prepended, and refined modules

    This fixes various issues when a module is included in or prepended
    to a module or class, and then refined, or refined and then included
    or prepended to a module or class.

    Implement by renaming ensure_origin to rb_ensure_origin, making it
    non-static, and calling it when refining a module.

    Fix Module#initialize_copy to handle origins correctly.  Previously,
    Module#initialize_copy did not handle origins correctly.  For example,
    this code:

    ```ruby
    module B; end
    class A
      def b; 2 end
      prepend B
    end
    a = A.dup.new
    class A
      def b; 1 end
    end
    p a.b
    ```

    Printed 1 instead of 2.  This is because the super chain for
    a.singleton_class was:

    ```
    a.singleton_class
    A.dup
    B(iclass)
    B(iclass origin)
    A(origin) # not A.dup(origin)
    ```

    The B iclasses would not be modified, so the includer entry would be
    still be set to A and not A.dup.

    This modifies things so that if the class/module has an origin,
    all iclasses between the class/module and the origin are duplicated
    and have the correct includer entry set, and the correct origin
    is created.

    This requires other changes to make sure all tests still pass:

    * rb_undef_methods_from doesn't automatically handle classes with
      origins, so pass it the origin for Comparable when undefing
      methods in Complex. This fixed a failure in the Complex tests.

    * When adding a method, the method cache was not cleared
      correctly if klass has an origin.  Clear the method cache for
      the klass before switching to the origin of klass.  This fixed
      failures in the autoload tests related to overridding require,
      without breaking the optimization tests.  Also clear the method
      cache for both the module and origin when removing a method.

    * Module#include? is fixed to skip origin iclasses.

    * Refinements are fixed to use the origin class of the module that
      has an origin.

    * RCLASS_REFINED_BY_ANY is removed as it was only used in a single
      place and is no longer needed.

    * Marshal#dump is fixed to skip iclass origins.

    * rb_method_entry_make is fixed to handled overridden optimized
      methods for modules that have origins.

    Fixes [Bug #16852]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3140

commit ee35a4dad30eaf74064d5c38bfdfb3550998bb8f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-03 12:42:47 +0900

    Append subsec part instead of creating new string

commit 160511d851375f7cb922faae3a9310633187f51f
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-06-03 19:11:58 +0900

    Quarantine specs which fail frequently with CHECK_LEAKS=true

commit eb2b7fca437ceea90a391729419e211b1d5a7ea8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-03 17:23:04 +0900

    Fixed up 56ca006784d

    Run lldb just before sending ABRT or KILL signal.  Some tests
    terminate child processes by TERM signal intentionally.

commit de5e0f7c0671323820c4eb9b5a11c90a26c3dad5
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-31 17:34:58 +0900

    vm_invoke_proc_block: reduce recursion

    According to nobu recursion can be longer than my expectation.  Limit
    them here.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3152

commit b61e82eac9fb5ac247b204dd4fbf09ac49fce530
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-31 16:44:42 +0900

    vm_call_symbol: check stack overflow

    VM stack could overflow here.  The condition is when a symbol is passed
    to a block-taking method via &variable, and that symbol has never been
    used for actual method names (thus yielding that results in calling
    method_missing), and the VM stack is full (no single word left).  This
    is a once-in-a-blue-moon event.  Yet there is a very tiny room of stack
    overflow.  We need to check that.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3152

commit ba20e6080d06e06b2e3a1098656021b2ae8df867
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-29 10:47:09 +0900

    vm_invoke_block: remove auto qualifier

    Was (harmless but) redundant.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3152

commit d4015cfee34f236b58e20da418d7dea540bf7cc1
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-28 13:37:14 +0900

    add benchmark for different block handlers

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3152

commit 6302b963681e810287b63b0c29adc4718bfe9c5a
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-28 12:41:48 +0900

    vm_insnhelper.c: add space [ci skip]

    Just cosmetic change to improve readability.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3152

commit 054c2fdfdfe9d43c3ae4ba508bb419c3e9db015f
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-28 12:33:53 +0900

    vm_invoke_symbol_block: reduce MEMCPY

    This commit changes the number of calls of MEMCPY from...

                               | send  | &:sym
      -------------------------|-------|-------
       Symbol already interned | once  | twice
       Symbol not pinned yet   | none  | once

    to:

                               | send  | &:sym
      -------------------------|-------|-------
       Symbol already interned | once  | none
       Symbol not pinned yet   | twice | once

    So it sacrifices exceptional situation for normal path.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3152

commit 36322942dbce6dedaf67626b152dbf893d42e082
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-27 22:36:12 +0900

    vm_invoke_symbol_block: call vm_call_opt_send

    Symbol#to_proc and Object#send are closely related each other.  Why not
    share their implementations.  By doing so we can skip recursive call of
    vm_exec(), which could benefit for speed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3152

commit 973883aaa16bde8ba41caceb56569b52adb4c74f
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-26 11:24:15 +0900

    vm_invoke_block: force indirect jump

    This changeset slightly speeds up on my machine.

    Calculating -------------------------------------
                                           before                 after
    Optcarrot Lan_Master.nes    38.33488426546287     40.89825082589147 fps
                                40.91288557922081     41.48687465359386
                                40.96591995270991     41.98499064664184
                                41.20461943032173     43.67314690779162
                                42.38344888176518     44.02777536251875
                                43.43563728880915     44.88695892714136
                                43.88082889062643     45.11226186242523

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3152

commit 796f9edae0a48c2949345febd8189809fbfdb192
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-26 10:22:51 +0900

    vm_invoke_block: insertion of unused args

    This makes it possible for vm_invoke_block to pass its passed arguments
    verbatimly to calling functions.  Because they are tail-called the
    function calls can be strength-recuced into indirect jumps, which is a
    huge win.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3152

commit ec87a58d556c83bbec44c2df8444d95df56379a4
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-26 10:14:17 +0900

    vm_invoke_block: eliminate goto

    Use recursion for better readability.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3152

commit 11c70b316214a27c8358714bf8a0c04e2a3713d3
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-25 18:00:15 +0900

    vm_invoke_block: move logics around

    Moved block handler -> captured block conversion from vm_invokeblock to
    each vm_invoke_*_block functions.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3152

commit 87bc95e7c7b70e14f60b40c0b35d7e79da5e31e5
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-03 00:53:44 +0900

    * 2020-06-03 [ci skip]

commit afefcade988306080cd9258acc00fa9e3ad6b6a0
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-06-03 00:53:25 +0900

    [ci skip] Enhanced Rdoc for Hash (#3162)

    * Enhanced Rdoc for Hash

    * Enhanced Rdoc for Hash

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit ae8362fdc89591baeb0f4d735690c17d6147f80e
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-06-02 22:33:05 +0900

    Add a spec for the new NoMethodError display of the receiver

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3176

commit d05f04d27dd86c67e4a8dfff4392f806cf577bdf
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-02 18:55:06 +0900

    Fixed `defined?` against protected method call

    Protected methods are restricted to be called according to the
    class/module in where it is defined, not the actual receiver's
    class.  [Bug #16931]

commit c53aebb1d2eb5afbb18f9b3db9f9c956a463a4e1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-02 17:07:41 +0900

    Split test_defined_method

commit 56ca006784d8737463857776a807c6f656ca8455
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-06-02 17:18:09 +0900

    run lldb to investigate the stuck process.

    Before sending signals (ABRT, KILL), use lldb to show the
    backtrace of a stuck process.

    This commit also reverts recent changes for terminate().

commit 40ced763b4f97dd3bc3abfd4cb16580f7cf8e898
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-29 17:42:23 +0900

    vm_insnhelper.c: merge opt_eq_func / opt_eql_func

    These two function were almost identical, except in case of
    T_STRING/T_FLOAT. Why not merge them into one, and let the difference be
    handled in normal method calls (slowpath).  This does not improve
    runtime performance for me, but at least reduces for instance rb_eql_opt
    from 653 bytes to 86 bytes on my machine, according to nm(1).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3169

commit 27bef648629760ffeda569057ddef6fb3be64b9a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-02 09:04:30 +0900

    Include the entire lambda expression in lambda rule

commit 79a8ed07650dcbb36ec4b49a22596275e6c0fe23
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-02 07:21:23 +0900

    * 2020-06-02 [ci skip]

commit d2c48705ae7c8aa1efdc44327b5cf7c04829cfb3
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-06-02 07:18:50 +0900

    Update extension.rdoc for Ruby 3 keyword argument separation [ci skip]

    This removes the discussion of behavior removed in Ruby 3.

commit cadd2245f7f10850e0b11e5b678b2049399a2d3e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-06-01 16:53:11 +0900

    Extracted `excessed_comma` to unify ripper and make the order stable

commit 7b9527ce74de11afc8e890db83f2a13a6ed5dc91
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-06-01 17:03:27 +0900

    add more 2 sec.

    After sending SEGV signal, but no response. Try to add 2 more
    seconds. If we can not have a detailed log, we need to use
    gdb/lldb to show the backtrace.

commit 3591703b31658f8e97eb0677e2261e6e7551307b
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-06-01 10:13:28 +0900

    send SEGV to show backtrace.

    send SEGV to terminate the remaining process before sending
    ABRT and KILL to show the backtrace.

commit 4cb8b49d41f76d0a2e95cecbd4fdd700d77c5098
  Author: MSP-Greg <Greg.mpls@gmail.com>
  Date:   2020-05-31 23:06:07 +0900

    [DOC] relative filename `Kernel#.require` and `Kernel#.load` [ci skip]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3167

commit 6a0405def25cd658184b844acfd83d15ccdae171
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-06-01 01:49:15 +0900

    fix typo in Hash#delete docs

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3168

commit b7e1de117e20911ed86b229a4c2f912e469c6472
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-06-01 07:30:41 +0900

    Make sure rb_enc_str_new_static() is used when enc is NULL

    * The definition of the rb_enc_str_new_cstr macro depends on
      HAVE_BUILTIN___BUILTIN_CONSTANT_P.
    * It SEGV on mswin otherwise.

commit bb966b5dee23d9903849655b2db211d354adc141
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-06-01 01:23:43 +0900

    * 2020-06-01 [ci skip]

commit 34776105c8a6739ca3aad1de4a2c942f4a8f2f29
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-06-01 01:22:49 +0900

    Update to ruby/spec@4e486fa

commit f4502b001a665109bf776f9037ecbc52cb5f2d88
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-06-01 01:22:47 +0900

    Update to ruby/mspec@e3abf6b

commit 5a79d8e0507cd143100bf928a88a59a8b5a5bca6
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-05-30 17:29:24 +0900

    Fix error raised by Net::HTTPResponse#inflater if the block raises

    * See https://bugs.ruby-lang.org/issues/13882#note-6

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3164

commit 5b4b82b712e1d423fffd4f13fa1b797e304a3af5
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-05-30 17:29:05 +0900

    Fix spec description for Net::HTTP.get

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3164

commit d6f8bdc055367c89c2dc6611500eaacb560adffe
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-31 03:19:58 +0900

    * 2020-05-31 [ci skip]

commit 6dcd10ce56a9fadc462daab69694480c2d565dfc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-31 03:07:30 +0900

    compile.c: Mark cursor in debug list

commit 2c711273bb285cdc718b2f3ceb1d77354a47e336
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-31 03:05:10 +0900

    compile.c: Removed wrong conversion

commit e10798b3a3dc1f4e4225ad1b92f9157b58df52d9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-30 22:04:49 +0900

    [DOC] refined `Kernel#.require` and `Kernel#.load` [ci skip]

commit 57fd44d374cc6ff807b1c92b841e6f8a037b799e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-30 21:20:50 +0900

    Adjusted an indent

commit 9b8825b6f94696c9659f93f5da9bf02644625f67
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-05-30 07:59:14 +0900

    Update NEWS / documentation with GC.start(compact:true)

commit 04b5203a031d372b725e407519f10da6deda0e78
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-05-30 06:13:30 +0900

    Convert ip addresses to canonical form in Resolv::DNS::Requester::UnconnectedUDP#sender

    Otherwise, if the IP address given is not in canonical form, it
    won't match, and Resolv will ignore it.

    Fixes [Bug #16439]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3161

commit 02b216e5a70235f42f537e895d6f1afd05d8916a
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-05-29 07:02:26 +0900

    Combine sweeping and moving

    This commit combines the sweep step with moving objects.  With this
    commit, we can do:

    ```ruby
    GC.start(compact: true)
    ```

    This code will do the following 3 steps:

    1. Fully mark the heap
    2. Sweep + Move objects
    3. Update references

    By default, this will compact in order that heap pages are allocated.
    In other words, objects will be packed towards older heap pages (as
    opposed to heap pages with more pinned objects like `GC.compact` does).

commit c1f6552b586d6ef11345166c4864b68e9d68504c
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-05-30 03:53:11 +0900

    [ci skip] Enhanced Rdoc for Hash (#3155)

    * Enhanced Rdoc for Hash

    * Respond to review

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit e73e504e2f2618453c75cc322fa4813ab9661c60
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-30 01:45:46 +0900

    spec: add wsl guard

    WSL 2 is officially released.  It uses Linux kernel, so almost all specs
    for Linux work on WSL, except one: gethostbyaddr.  I guess network
    resolution in WSL is based on Windows, so the behavior seems a bit
    different from normal Linux.

    This change adds `platform_is_not :wsl` guard, and guards out the test
    in question.

commit 0d1f0cd9ccb8c4d237f1eba92254a2ab306ae231
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-30 01:15:23 +0900

    runnable.rb: ignore broken symlink error on Windows [ci skip]

commit 0d30f42813716f837ca39d74657f7f715042e820
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-30 00:57:09 +0900

    [DOC] mentioned "explicit relative path" [ci skip]

    `Kernel#.require` and `Kernel#.load` do not search also "explicit
    relative path" files, not only absolute paths, in the load path.

commit 2c8821c0d218b5886c0073ff123fb2eee6f1c99b
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-30 00:17:02 +0900

    * 2020-05-30 [ci skip]

commit 58bc97628c14933b73f13e0856d1a56e70e8b0e4
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-30 00:13:56 +0900

    test/ruby/test_process.rb: GID.from_name may raise Errno:ESRCH

    getgrnam(3) says:
    ```
    ERRORS
           0 or ENOENT or ESRCH or EBADF or EPERM or ...
                  The given name or gid was not found.
    ```

    Process::GID.from_name raises an ArgumentError for 0, but Errno::ESRCH
    for ESRCH.  Actually, WSL 2 raises Errno::ESRCH.  This change accepts
    all exceptions above.

commit 3ed79a97b071bf7cb2f6c11cda149007e159163f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-29 23:49:15 +0900

    doc/contributing.rdoc: Removed obsolete platforms [ci skip]

commit 2ecfb88ee50510955acd3ae9fc94a5f109e7f109
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-05-29 11:49:10 +0900

    Correctly remove temporary directory if path yielded is mutated

    Another approach would be to freeze the string, but that could
    cause backwards compatibility issues.

    Fixes [Bug #16918]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3159

commit 0bd025ad6991f2159ef8bd596a79c89b79f5cc3e
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-29 14:45:27 +0900

    Add a debug_counter for JIT cancel on leave

commit d300a734414ef6de7e8eb563b7cc4389c455ed08
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-05-29 13:50:58 +0900

    RUBY_ASSERT_NOASSUME

    If __builtin_assume() is enables and RUBY_DEBUG=0, RUBY_ASSERT(expr)
    will be compiled to __builtin_assume(expr) and compiler can assume
    expr is true and apply aggressive optimizations. However we observed
    doubtful behavior because of compiler optimizations, we introduce
    new macro RUBY_ASSERT_NOASSUME to disable __builtin_assume().
    With this macro, we can try without __builtin_assume().

commit 03d7f3cdb2550449bcf1c0c1b5529b5197dfb418
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-05-29 11:23:17 +0900

    add indent for debug disasm output

commit 6ba2d3e4c6958a214e13ac07c7bdb160b9c3f21f
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-05-29 11:19:44 +0900

    export debug utility functions

commit d32e2bb02d15008da008057fbd6b541662d52588
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-24 20:12:32 +0900

    Allow references to $$ in Ripper DSL

commit c7ceaa6d3c518d77130fbb04e4e3d3148fb49072
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-05-29 06:13:15 +0900

    Extract "free moved list" function

    Extract a function to free the moved list.  We'll use this function
    later on to compact at the same time as sweep.

commit fd7849cedbfb91725ba9d1d117b53ee4274c83e5
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-29 02:45:11 +0900

    * 2020-05-29 [ci skip]

commit b8fadf3a6bc0435a23696bb7dc5a261066e0cf83
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-29 02:43:30 +0900

    Respect BIGNUM_DEBUG defined by command line option

    And fixed typo in compilers.yml.

commit 07b2102a88a789100d0b048d527c780eae006c36
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-03-04 05:53:09 +0900

    Remove Ruby <2.2 support from tool/lib/vcs.rb

    BASERUBY now requires at least Ruby 2.2, so there is no point
    trying to support older ruby versions here.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2947

commit 9a3371be8f5274d1dca64b93c7b9a379e32ea2f5
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-03-04 05:24:02 +0900

    Check that BASERUBY is at least Ruby 2.2 in configure

    BASERUBY needs to be at least Ruby 2.2 since
    46acd0075d80c2f886498f089fde1e9d795d50c4.

    I think it's better to explicitly fail early as soon as BASERUBY
    is used in this case, versus trying to debug later failures.

    This modifies things to check both implicitly use of ruby in the
    PATH as BASERUBY, and explicitly specified older versions of ruby
    when using --with-baseruby.

    Fixes [Bug #16668]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2947

commit 28ce75821dfdb1b62a054b2da83f240656b3e273
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-05-28 20:21:48 +0900

    Enhanced Rdoc for Hash (#3151)

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 7473b4c106ca63f98c033e6fcccae549e9bb5138
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-28 14:40:24 +0900

    Explicitly loading with envutil.rb

commit f186f2d01d26405047f5b43cf0e72a51c9bf54fe
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-28 14:39:53 +0900

    Use Module#name instead of #inspect

    Coverage measurement had failed since 7d5da30c9e9c572f6ef0aaccc1ca0e724966e2ee
    https://github.com/ruby/actions/runs/708557030?check_suite_focus=true

commit fa380208fe4ef36cd6a8535d3ac43e61c7935f1c
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-05-28 05:13:46 +0900

    Improve documentation for Net::HTTPHeader#set_form [ci skip]

    Fixes [Misc #16916]

commit 9cfef5b494c2849ee232c53431dfbc21b345c4e4
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-28 00:15:33 +0900

    * 2020-05-28 [ci skip]

commit 93ccb8e8a230f6e427bb6a909f390b8231eb5f28
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-28 00:13:11 +0900

    Remove platform directory when distclean or more [ci skip]

    At the time of clean-platform, platform directory may not be empty
    because of parallel build.

commit 6dbc3a2871d7f5f96d9ad584601c0d284b078197
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-27 23:46:44 +0900

    autoconf may not be available

commit 139839b8057ab6a00b561f3a5b3286ca8fd74a5f
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-05-27 23:31:22 +0900

    [ci skip] Enhanced Rdoc for Hash (#3143)

    * Enhanced Rdoc for Hash

    * Respond to review

    * Nudge CI testing.
    Respond to review

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 083a17a82ad4c1f80cfb9e84cfb1bff5586470b1
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-27 17:25:13 +0900

    Carve out mjit_exec_slowpath

    and mark it as COLDFUN on JIT, assuming enqueue usually happens on VM.

commit a3f498e44c767b331ed07e24f1ce7841b515cba0
  Author: Masataka Pocke Kuwabara <kuwabara@pocke.me>
  Date:   2020-05-27 15:48:46 +0900

    Fix max, min, minmax documentation (#3131)

    They only need that all objects implement <=>,
    but the documentation said it needs Comparable.

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 752041ca11c7e08dd14b8efe063df06114a9660f
  Author: Masataka Pocke Kuwabara <kuwabara@pocke.me>
  Date:   2020-05-27 15:46:42 +0900

    Update Enumerable::Yielder#to_proc document (#3142)

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 64c5bf572187f602d06132d4fa18dcd4b425aa22
  Author: Masataka Pocke Kuwabara <kuwabara@pocke.me>
  Date:   2020-05-27 15:37:05 +0900

    Fix non-existent method reference in Enumerator.produce document (#3141)

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 9d71373c237876038cbac63bb0132907a78288a2
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-27 15:22:19 +0900

    Mark vm_stackoverflow as NOINLINE COLDFUNC on JIT

    to reduce code size and improve locality of hot code.

commit 61b14bb32b7e62760225cb2207df5fe87e5339ab
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-27 14:49:55 +0900

    Eliminate a call instruction on JIT cancel path

    by calling combined functions specialized for each cancel type.

    I'm hoping to improve locality of hot code, but this patch's impact should
    be insignificant.

commit 4cabd77e337d2f439e4a437f41da9856903adb7e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-27 14:30:45 +0900

    Removed a trailing space [ci skip]

commit 0f8b5819b3338a94577736d7dce87a5ba0879c03
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-27 13:13:12 +0900

    Merged recipes for the same target

commit 51fa4c9f49a23f34b7f946d7c92babe98c499efd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-27 12:12:16 +0900

    Removed obsolete forwarding DLL recipe

    It has never been created by default, and no reason to keep binary
    compatibility against extension libraries for ruby 1.8.

    1. `LIBRUBY_SO` on Cygwin was named originally.

       - 94089e82a12:: `$(RUBY_INSTALL_NAME)-cygwin.dll`
       - f0ba57341ac:: `$(RUBY_INSTALL_NAME).cygwin.dll`
       - c74a3b21f59:: `cygwin-$(RUBY_INSTALL_NAME)-$(MAJOR).$(MINOR).dll`

    2. And then renamed to be net distribution compliant.

       - 6f059f33ef1:: `cyg$(RUBY_SO_NAME)$(MAJOR)$(MINOR).dll`

    3. Next at 430eabfe139, forwarding DLL was added for binary
       compatibility against extension libraries.

commit 0fcb2dd51dc7cec3155aa161bbda868c9a23c36e
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-05-27 01:32:57 +0900

    add static modifier for rb_str_ord func

commit e0b40ef5d8173aff304c81f93516e1246e3c042c
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-05-27 06:00:51 +0900

    Don't convert bundler man pages from mdoc to man

    These man pages are already in man format and assuming they are
    mdoc format breaks things.

    Fixes [Bug #16823]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3147

commit 962c302a1ae8e50738c36adb61c8ec9c9fa5a49b
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-27 02:07:38 +0900

    test/drb/test_drbssl.rb: skip LeakChecker as openssl keeps /dev/random

    and /dev/urandom intentionally.  OpenSSL::PKey::RSA.new opens the two
    random generators and keeps the file descriptors.

    https://github.com/openssl/openssl/blob/93f99b681ab5a1cf7062053323e09b0cad5ff854/crypto/rand/rand_unix.c#L674

    They are detected by the LeakChecker as fd leak, but it is intentional.

    http://rubyci.s3.amazonaws.com/graviton2/ruby-master/log/20200526T160005Z.log.html.gz
    ```
    [  597/20199] DRbTests::TestDRbSSLAry#test_01 = 0.29 s
    Leaked file descriptor: DRbTests::TestDRbSSLAry#test_01: 8 #<File::Stat dev=0x6, ino=11, mode=020666, nlink=1, uid=0, gid=0, rdev=0x109, size=0, blksize=4096, blocks=0, atime=2020-05-23 14:45:13.751999995 +0000, mtime=2020-05-23 14:45:13.751999995 +0000, ctime=2020-05-23 14:45:13.751999995 +0000>
    Leaked file descriptor: DRbTests::TestDRbSSLAry#test_01: 9 #<File::Stat dev=0x6, ino=10, mode=020666, nlink=1, uid=0, gid=0, rdev=0x108, size=0, blksize=4096, blocks=0, atime=2020-05-23 14:45:13.755999995 +0000, mtime=2020-05-23 14:45:13.755999995 +0000, ctime=2020-05-23 14:45:13.755999995 +0000>
    ```

commit 135c6a4b995f5858687942a2b60a26f007695b78
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-27 00:30:18 +0900

    fiddle: need to update configure after updating config tools

commit f8e703e2b0c872301ab8f469ed62682d71c3f1c8
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-27 00:28:32 +0900

    * 2020-05-27 [ci skip]

commit 5429deb075beb9a2b67adae269bbac16325876d1
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-27 00:20:14 +0900

    lib/open3.rb: make sure that pipes are closed

    Attempting to invoke a non-existent command led to the leak of fds.

    http://rubyci.s3.amazonaws.com/graviton2/ruby-master/log/20200526T140004Z.log.html.gz
    ```
    [ 9101/20195] TestGemExtCmakeBuilder#test_self_build = 0.01 sLeaked file descriptor: TestGemExtCmakeBuilder#test_self_build: 7 : #<IO:fd 7>
    Leaked file descriptor: TestGemExtCmakeBuilder#test_self_build: 10 : #<IO:fd 10>
    Leaked file descriptor: TestGemExtCmakeBuilder#test_self_build: 11 : #<IO:fd 11>
    Leaked file descriptor: TestGemExtCmakeBuilder#test_self_build: 12 : #<IO:fd 12>
    ```

commit eb20d2f449d299b9281abd2426878deeb8ebcdad
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-05-26 23:20:36 +0900

    include debug option in slack notification

commit a809caa4b3f9fc5503c0e81cdb02c167d1ad1dee
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-05-26 23:10:35 +0900

    remove duplication.

commit 68e987c315815d9fbbc0c9967127be58c14655b5
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-05-26 23:04:10 +0900

    GH actions with RUBY_DEBUG (#3144)

    Add GH actions with -DRUBY_DEBUG

  Notes:
    Merged-By: ko1 <ko1@atdot.net>

commit 5917fe2303bc85882b52e60145eb031ee18583c7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-26 19:17:47 +0900

    _GNU_SOURCE is needed for mkostemp on Cygwin

commit 17d17de0e8891bba2ab509714fc52764eaeafd65
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-26 14:19:20 +0900

    Get rid of redefinition of memcpy on mingw

commit 04eb05a8e0456ee00fa7443803283b78337d6515
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-26 13:07:30 +0900

    Prefer configured printf format for mingw gcc 10

commit d63bba1e240505896f8b1b1eb7a24d7567173358
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-26 15:14:55 +0900

    [DOC] Use note-list to pretend original plain-text looks [ci skip]

commit 7d5da30c9e9c572f6ef0aaccc1ca0e724966e2ee
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-26 15:09:07 +0900

    Test for [Feature #16832]

commit 385ac07fd8f5a50825aee8db459086e617f492aa
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-05-04 23:56:45 +0900

    Use receiver #name rather than #inspect to build NameError message

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3080

commit 4e1f2283b432e833bd4e6f7724ba0496760e68e8
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-05-26 11:29:32 +0900

    Make Thread#thread_variable? similar to #thread_variable_get

    Don't use rb_check_id, which only works for pinned symbols.
    Switch inadvertent creation test for thread_variable? to
    only check for pinned symbols, same as thread_variable_get
    and thread_variable_set.

    Make key variable name in thread_local_set match
    thread_local_get and thread_variable?.

    Fixes [Bug #16906]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3145

commit faab5cbeb762adec4983d603d71e72add5108249
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-05-26 11:46:12 +0900

    Fix documentation for Fiber#raise [ci skip]

    Fixes [Bug #16912]

commit c9fe4ebd29f71805648a048d2cc431c94039ceaa
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-05-26 04:49:11 +0900

    cause SEGV for the test.

    21991e6ca5 enables `__builtin_assume()` for clang and it seems
    skip SEGV on rb_class_of() with unexpected value. This test expects
    a [BUG] output, so this patch causes [BUG] to show [BUG] message.

    https://github.com/ruby/ruby/runs/707088232?check_suite_focus=true#step:12:230
    ```
      1) Failure:
    TestVMDump#test_darwin_invalid_access [/Users/runner/runners/2.262.1/work/ruby/ruby/src/test/ruby/test_vm_dump.rb:19]:
    pid 43128 exit 0.

    1. [2/2] Assertion for "stderr"
       | Expected /^\[IMPORTANT\]/ to match "".
    ```

commit 7bafc9f433223d82aac8e8974b9bfdbdc34ca4df
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-26 03:21:39 +0900

    * 2020-05-26 [ci skip]

commit 4ac42874bc5b39b82199d9d86eea1c64efe4d73d
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-05-20 17:20:59 +0900

    Update include/ruby/assert.h

    Co-authored-by: 卜部昌平 <shyouhei@ruby-lang.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3124

commit 21991e6ca59274e41a472b5256bd3245f6596c90
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-05-20 11:38:44 +0900

    Use RUBY_DEBUG instead of NDEBUG

    Assertions in header files slows down an interpreter, so they should be
    turned off by default (simple `make`). To enable them, define a macro
    `RUBY_DEBUG=1` (e.g. `make cppflags=-DRUBY_DEBUG` or use `#define` at
    the very beginning of the file. Note that even if `NDEBUG=1` is defined,
    `RUBY_DEBUG=1` enables all assertions.
    [Feature #16837]
    related: https://github.com/ruby/ruby/pull/3120

    `assert()` lines in MRI *.c is not disabled even if `RUBY_DEBUG=0` and
    it can be disabled with `NDEBUG=1`. So please consider to use
    `RUBY_ASSERT()` if you want to disable them when `RUBY_DEBUG=0`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3124

commit b10b37924aef33426ea6e2fda5ce17804796ecc4
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-05-25 20:12:41 +0900

    Fix failures in ./spec/bundler/quality_spec.rb

    ```
    Failures:

      1) The library itself does not contain any warnings
         Failure/Error: raise "Invoking #{method}!(#{args.map(&:inspect).join(", ")}) failed:\n#{last_command.stdboth}"

         RuntimeError:
           Invoking sys_exec!("ruby -w") failed:
           /home/user/snapshot-master/lib/bundler/cli/add.rb:4:in `<module:Bundler>': uninitialized constant Bundler::CLI (NameError)
            from /home/user/snapshot-master/lib/bundler/cli/add.rb:3:in `<top (required)>'
            from /home/user/snapshot-master/lib/rubygems/core_ext/kernel_require.rb:91:in `require'
            from /home/user/snapshot-master/lib/rubygems/core_ext/kernel_require.rb:91:in `require'
            from -:2:in `<main>'

           Commands:
           $ ruby -w
           /home/user/snapshot-master/lib/bundler/cli/add.rb:4:in `<module:Bundler>': uninitialized constant Bundler::CLI (NameError)
            from /home/user/snapshot-master/lib/bundler/cli/add.rb:3:in `<top (required)>'
            from /home/user/snapshot-master/lib/rubygems/core_ext/kernel_require.rb:91:in `require'
            from /home/user/snapshot-master/lib/rubygems/core_ext/kernel_require.rb:91:in `require'
            from -:2:in `<main>'
           # $? => 1
    ```

commit fcc8be0198a16cc5fa7d4827be0c781209b70f98
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-05-25 20:06:49 +0900

    Fix a failure in bundle version with version outputs the version with build metadata

    ```
      1) bundle version with version outputs the version with build metadata
         Failure/Error: expect(out).to match(/\ABundler version #{Regexp.escape(Bundler::VERSION)} \(\d{4}-\d{2}-\d{2} commit #{COMMIT_HASH}\)\z/)

           expected "Bundler version 2.2.0.dev (2020-05-25 commit )" to match /\ABundler version 2\.2\.0\.dev \(\d{4}-\d{2}-\d{2} commit (?-mix:unknown|[a-fA-F0-9]{7,})\)\z/
           Diff:
           @@ -1,2 +1,2 @@
           -/\ABundler version 2\.2\.0\.dev \(\d{4}-\d{2}-\d{2} commit (?-mix:unknown|[a-fA-F0-9]{7,})\)\z/
           +"Bundler version 2.2.0.dev (2020-05-25 commit )"

           Commands:
           $ /home/user/snapshot-master/ruby -I/home/user/snapshot-master/spec/bundler -r/home/user/snapshot-master/spec/bundler/support/artifice/fail.rb -r/home/user/snapshot-master/spec/bundler/support/hax.rb /home/user/snapshot-master/tmp/1/gems/system/bin/bundle version
           Bundler version 2.2.0.dev (2020-05-25 commit )
           # $? => 0
    ```

commit 67d2a715ca35090fbb3ab13df5b7348b1807dd47
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-05-25 20:00:50 +0900

    Fix a error in a `before(:suite)` hook

    https://github.com/ruby/actions/runs/703745101?check_suite_focus=true#step:16:27
    ```
    An error occurred in a `before(:suite)` hook.
    Failure/Error: contents = File.read(version_file)

    Errno::ENOENT:
      No such file or directory @ rb_sysopen - /home/runner/work/actions/actions/snapshot-master/tmp/1/bundler-2.2.0.dev/lib/bundler/version.rb
    ```

commit 45ffab365d14625d972bddd8b2c79e7036a3713d
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-25 15:20:39 +0900

    Added entries about RubyGems and Bundler

commit 2225aa987fb5fb392b7114c77aea3b2b0354bc68
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-25 10:55:41 +0900

    [DOC] Turned note-lists into label-lists [ci skip]

commit 089dcfbf602392c40edec6a54b9f3021f5f5854d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-25 10:19:22 +0900

    * 2020-05-25 [ci skip]

commit 06321ea26c186434e5b943a6739ffd6bd1eb06d9
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-25 10:17:51 +0900

    RBIMPL_ATTR_DEPRECATED: disable for GCC10

    GCC 10.x seems buggy here.  See also https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95302

commit c6c023317ce691e4e9a685a36554714330f2d3e1
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-05-17 18:45:39 +0900

    [ruby/rdoc] Check uninitialized instance variable in test

    https://github.com/ruby/rdoc/commit/3dcd5ddbb6

commit 3169ffc0d61ce357ff2e5728b234355fe1523b69
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2019-02-16 22:48:51 +0900

    [ruby/rdoc] Add frozen string literal support

    https://github.com/ruby/rdoc/commit/daac9d0471

commit 37b8a7afca9ccc01ba6520511cfc87198db9acbb
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-05-21 22:58:50 +0900

    [ruby/rdoc] Add instance_methods because instance_method_list should be obsolete

    https://github.com/ruby/rdoc/commit/9b1da32254

commit e6d1363ae6bff73f2eb9f0c727edd4586f7274ad
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-18 21:31:08 +0900

    [ruby/rdoc] Fixed inverted CSS for note-list and label-list

    https://github.com/ruby/rdoc/commit/a13d6439da

commit 32e0ff26e0ea5887a79cbf1ffd81513a4f392d76
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-04-01 05:18:54 +0900

    [ruby/rdoc] Delegate ERB args correctly

    https://github.com/ruby/rdoc/commit/82ff37a822

commit 7e7981c84f8cd3225b5e915cba2281869a08b784
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-09-11 08:17:09 +0900

    [ruby/rdoc] Treat multiple Ruby methods calling the same C method as aliases

    Previously, only calls to rb_define_alias were treated as aliases.
    This treats calls to rb_define_method with the same C function as
    aliases, with the first function defined being the primary method.

    This move the dedup code from the C parser to AnyMethod, and has
    AnyMethod look in its aliases to find the call_seq.

    Switch the deduplication code to remove lines matching one of the
    other aliases, instead of only keeping lines matching the current
    alias.  The previous approach could eliminate all call_seq lines
    in cases where no line matched.  This was necessary to pass
    tests when call_seq does deduplication by default.

    The only change to the darkfish template is to not perform
    unnecessary work by deduplicating twice.

    https://github.com/ruby/rdoc/commit/0ead78616b

commit f52a4690f8fbd495e8517178a0bf95c69ccea47c
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-04-14 19:33:45 +0900

    [ruby/rdoc] Process crossref before tidylink

    The crossref must be linked before tidylink because Klass.method[:sym] will be
    processed as a tidylink first and will be broken.

    https://github.com/ruby/rdoc/commit/0f47baf6d2

commit c79f9ea606d072176533b22813653f9fd26940af
  Author: Nate Matykiewicz <natematykiewicz@gmail.com>
  Date:   2020-04-05 13:20:22 +0900

    [ruby/rdoc] Escape method names in HTML

    The following is invalid HTML:
    <a href="Array.html#method-i-3C-3C"><code><<</code></a></p>

    Incorrect:
    <code><<</code>

    Correct:
    <code>&lt;&lt;</code>

    Fixes #761

    https://github.com/ruby/rdoc/commit/b120d087f6

commit b10c9d201222b144df7d63660d1c731af53c4ae2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-24 10:53:12 +0900

    [DOC] Added document for rb_check_symbol() [ci skip]

commit 8b8b7c78762f1ec7446f4a35c7bb8093d78fb248
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-05-24 10:35:05 +0900

    Enhanced Rdoc for Hash (#3139)

  Notes:
    Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>

commit 0b161774d92cd35e42bf18cd7ae9e4f6c28192da
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-24 04:01:38 +0900

    * 2020-05-24 [ci skip]

commit f27e0d90c865a19d42c222a82e13ee4c40352bf7
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-24 03:58:59 +0900

    ext/fiddle/fiddle.gemspec: avoid require lib/fiddle/version.rb

    It loads `ext/fiddle/lib/fiddle/version.rb`, which causes constant
    redefinition warning:

    http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200523T153003Z.log.html.gz
    ```
    [ 6317/20193] TestDefaultGems#test_validate_gemspec/home/chkbuild/chkbuild/tmp/build/20200523T153003Z/ruby/ext/fiddle/lib/fiddle/version.rb:2: warning: already initialized constant Fiddle::VERSION
    /home/chkbuild/chkbuild/tmp/build/20200523T153003Z/ruby/.ext/common/fiddle/version.rb:2: warning: previous definition of VERSION was here
     = 0.16 s
    ```

    This changeset read the version by manual parsing hack which is also
    used in stringio and zlib.

commit c15cddd1d515c5bd8dfe8fb2725e3f723aec63b8
  Author: Alan D. Salewski <salewski@att.net>
  Date:   2020-04-15 20:29:16 +0900

    Allow Dir.home to work for non-login procs when $HOME not set

    Allow the 'Dir.home' method to reliably locate the user's home directory when
    all three of the following are true at the same time:

        1. Ruby is running on a Unix-like OS
        2. The $HOME environment variable is not set
        3. The process is not a descendant of login(1) (or a work-alike)

    The prior behavior was that the lookup could only work for login-descended
    processes.

    This is accomplished by looking up the user's record in the password database
    by uid (getpwuid_r(3)) as a fallback to the lookup by name (getpwname_r(3))
    which is still attempted first (based on the name, if any, returned by
    getlogin_r(3)).

    If getlogin_r(3), getpwnam_r(3), and/or getpwuid_r(3) is not available at
    compile time, will fallback on using their respective non-*_r() variants:
    getlogin(3), getpwnam(3), and/or getpwuid(3).

    The rationale for attempting to do the lookup by name prior to doing it by uid
    is to accommodate the possibility of multiple login names (each with its own
    record in the password database, so each with a potentially different home
    directory) being mapped to the same uid (as is explicitly allowed for by
    POSIX; see getlogin(3posix)).

    Preserves the existing behavior for login-descended processes, and adds the
    new capability of having Dir.home being able to find the user's home directory
    for non-login-descended processes.

    Fixes [Bug #16787]

    Related discussion:
        https://bugs.ruby-lang.org/issues/16787
        https://github.com/ruby/ruby/pull/3034

commit 39cb19303c9f9dbd0bdd67d266bfbbe076c6ebc5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-23 22:04:11 +0900

    Search pkg-config with ac_tool_prefix [Bug #16909]

    Should prefer a prefixed version over the bare pkg-config for
    cross compiling.

commit b722182e479199fc9dfdcacb09652fb9f494aa5d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-23 21:20:20 +0900

    Revert "Search pkg-config by AC_CHECK_TOOL [Bug #16909]"

    This reverts commit 6006ab8cf93a0e06d9d65213eff3117965c9bd0c.
    AC_CHECK_TOOL does not have REJECT argument.

commit 6006ab8cf93a0e06d9d65213eff3117965c9bd0c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-23 19:52:14 +0900

    Search pkg-config by AC_CHECK_TOOL [Bug #16909]

    It should use AC_CHECK_TOOL to automatically search for a prefixed
    version and not just the bare pkg-config.

commit b2976a4fcab70bf9323180fd5ba6c29a5bca0747
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-23 17:24:29 +0900

    Fixup d48c92aa04ffd3a1cecef599eaa5e4409aab2fe4

commit d48c92aa04ffd3a1cecef599eaa5e4409aab2fe4
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-23 16:43:58 +0900

    Rename TestScheduler* to TestFiber for convention of the test directory

commit 0b2fc4cf379dec82290c5bc9cc71ce8dc4e4f28b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-23 14:56:13 +0900

    extlibs.rb: make symlink only if the target exists

commit 3015a7aae7ddc9b63149df34b1f12366e07a9563
  Author: Chris Seaton <chris@chrisseaton.com>
  Date:   2020-05-19 08:12:47 +0900

    [ruby/fiddle] Improve documentation on how to correctly free memory and free memory in tests (#33)


    https://github.com/ruby/fiddle/commit/e59cfd708a

commit 24b615e82ee327a9ac583937de746ba12dde2d6a
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-04-18 15:57:41 +0900

    [ruby/fiddle] Export Fiddle::VERSION

    https://github.com/ruby/fiddle/commit/1b93a2d9db

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3068

commit 74a4558c146556a5b3b9b8f4d074d5a3deeb7841
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-04-18 15:56:57 +0900

    [ruby/fiddle] Update file list

    https://github.com/ruby/fiddle/commit/b04cb92d7b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3068

commit d5c0018a9aa638bef824bfbb564573296aad0550
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-04-18 15:56:51 +0900

    [ruby/fiddle] Fix a typo

    https://github.com/ruby/fiddle/commit/445ca6b501

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3068

commit a0dcdd64c569607b38f48368900ccf3bbc5f7bd6
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-04-18 15:51:14 +0900

    [ruby/fiddle] Bump version

    https://github.com/ruby/fiddle/commit/f8fb7c4823

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3068

commit 13f64333ea6c6b904274cb1a95d2bc82236e9237
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-04-18 15:51:03 +0900

    [ruby/fiddle] Add Fiddle::VERSION

    https://github.com/ruby/fiddle/commit/9dcf64c096

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3068

commit 5fb7ca33e6137ca41d9f320738e3871eecda28e5
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-04-18 15:40:13 +0900

    [ruby/fiddle] Add missing spec.extensions

    https://github.com/ruby/fiddle/commit/2ce36b1fdc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3068

commit 77cc13943cd9ec908d75133d7ac0b89c9ab57deb
  Author: sinisterchipmunk <sinisterchipmunk@gmail.com>
  Date:   2020-01-23 10:37:23 +0900

    [ruby/fiddle] Fix assignment to array within struct (#26)

    * Allow access to a struct's underlying memory with `struct[offset, length]`.

    https://github.com/ruby/fiddle/commit/24083690a6

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3068

commit 4a835621ced099316850a16f2a13534dea62a0b8
  Author: sinisterchipmunk <sinisterchipmunk@gmail.com>
  Date:   2020-01-22 16:55:16 +0900

    [ruby/fiddle] Make array access override compatible with base class (#25)

    * Allow access to a struct's underlying memory with `struct[offset, length]`.

    * Make accessing a struct's underlying memory more convenient.

    * refactor memory access unit tests for improved clarity


    https://github.com/ruby/fiddle/commit/c082c81bb5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3068

commit aa1d3c7d2c020ec927acaa487e8593172fb64bb0
  Author: sinisterchipmunk <sinisterchipmunk@gmail.com>
  Date:   2020-01-22 16:30:22 +0900

    [ruby/fiddle] Initialize memory to 0 when calling Fiddle.malloc(). (#24)


    https://github.com/ruby/fiddle/commit/8414239ca3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3068

commit ad729a1d11c6c57efd2e92803b4e937db0f75252
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-04-06 04:10:42 +0900

    Fix origin iclass pointer for modules

    If a module has an origin, and that module is included in another
    module or class, previously the iclass created for the module had
    an origin pointer to the module's origin instead of the iclass's
    origin.

    Setting the origin pointer correctly requires using a stack, since
    the origin iclass is not created until after the iclass itself.
    Use a hidden ruby array to implement that stack.

    Correctly assigning the origin pointers in the iclass caused a
    use-after-free in GC.  If a module with an origin is included
    in a class, the iclass shares a method table with the module
    and the iclass origin shares a method table with module origin.

    Mark iclass origin with a flag that notes that even though the
    iclass is an origin, it shares a method table, so the method table
    should not be garbage collected.  The shared method table will be
    garbage collected when the module origin is garbage collected.
    I've tested that this does not introduce a memory leak.

    This change caused a VM assertion failure, which was traced to callable
    method entries using the incorrect defined_class.  Update
    rb_vm_check_redefinition_opt_method and find_defined_class_by_owner
    to treat iclass origins different than class origins to avoid this
    issue.

    This also includes a fix for Module#included_modules to skip
    iclasses with origins.

    Fixes [Bug #16736]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3136

commit fdb31aa7ab1bb1718e57e2e052caff959af3111e
  Author: Henrik Nyh and Tomas Skogberg <devs+henrik+tomas@auctionet.com>
  Date:   2020-04-21 00:10:37 +0900

    Time.xmlschema: Clarify error and docs

    It parses a (date)time, not a date.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3046

commit da484c3187523a7cf35130f64783b431a61004a6
  Author: BurdetteLamar <burdettelamar@yahoo.com>
  Date:   2020-05-23 05:40:01 +0900

    Enhanced Rdoc for Hash

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3134

commit f8647343edf917142bea63f5e1c9f867674d1e5f
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-14 19:02:16 +0900

    Remove a bunch of files that were deleted upstream

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3132

commit 2ec5f324f4c789ad9ba96bf4c7404fef9aa9df17
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-23 07:28:32 +0900

    * 2020-05-23 [ci skip]

commit 36f29b598af767e588c39502c673ba2b82dc035e
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-23 07:27:42 +0900

    Fixed wrong usage rm_rf for cleanup the default gems in sync tool

commit 8d798e7c531c19756f38aadd03cb801a48cbd97d
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-05-22 23:54:34 +0900

    Revert "Fix origin iclass pointer for modules"

    This reverts commit c745a60634260ba2080d35af6fdeaaae86fe5193.

    This triggers a VM assertion.  Reverting until the issue can be
    debugged.

commit c745a60634260ba2080d35af6fdeaaae86fe5193
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-04-06 04:10:42 +0900

    Fix origin iclass pointer for modules

    If a module has an origin, and that module is included in another
    module or class, previously the iclass created for the module had
    an origin pointer to the module's origin instead of the iclass's
    origin.

    Setting the origin pointer correctly requires using a stack, since
    the origin iclass is not created until after the iclass itself.
    Use a hidden ruby array to implement that stack.

    Correctly assigning the origin pointers in the iclass caused a
    use-after-free in GC.  If a module with an origin is included
    in a class, the iclass shares a method table with the module
    and the iclass origin shares a method table with module origin.

    Mark iclass origin with a flag that notes that even though the
    iclass is an origin, it shares a method table, so the method table
    should not be garbage collected.  The shared method table will be
    garbage collected when the module origin is garbage collected.
    I've tested that this does not introduce a memory leak.

    This also includes a fix for Module#included_modules to skip
    iclasses with origins.

    Fixes [Bug #16736]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2978

commit ef13558fcd99dc2057cbfc0973f9592f0f8b3071
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-22 21:21:50 +0900

    Revert a commit miss in "Fixed potential memory leak"

    This reverts an unintentional change in commit
    79d9528ddca1dfe2dd99287dc88fd7c2b30f7137.

commit df5fd1d09c953284fcdef450e3c2a5e8474850d4
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-21 21:57:47 +0900

    Fixup 1d079a0c5d4d80860a4d6d692344124fe5c562b5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3114

commit 1d889c96562e9619d2cab443da711e82daeb983c
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-21 21:05:07 +0900

    Sync Bundler PR #3624 with HEAD commits

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3114

commit 93ebf9643dc0913693157e6b4bb391a549a9b8ae
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-21 19:57:19 +0900

    Revert 1f011cccb16ca9e8ee378cb5a9d4c14459afd68c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3114

commit 26367367ec384c7c64d7293a5dc7296932b88692
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-16 19:47:24 +0900

    Marked the failing examples with the current master branch on ruby repository

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3114

commit 9c2752296d526a127aab69216ab31b2cab3fb7a1
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-16 09:24:57 +0900

    Glob the all man files provided by bundler upstream

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3114

commit c7ebeb7eda9f7f6bbb48effe1efc026eeb64d09c
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-15 21:31:12 +0900

    Sync Bundler PR #3624

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3114

commit f4f157fc81b940c0f76a01ee266a08e6bba69b6b
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-05-22 13:49:08 +0900

    Suppress warnings no inline ruby debug (#3107)

    * Suppress unused warnings occurred due to -fno-inline

    * Suppress warning occurred due to RUBY_DEBUG=1

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit ac395754c7a0d082ab118fe4848886fa14467d39
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-05-22 12:05:19 +0900

    Enhanced rdoc for Hash (#3129)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit d707c92a3592564178a56b3ee998cf658dfb2859
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-05-22 03:15:42 +0900

    add static modifier for rb_hash_keep_if func

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3130

commit e5354de9f48f33be0abf247dce964c6331acbf72
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-05-22 03:15:22 +0900

    add static modifier for rb_hash_select_bang func

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3130

commit 7c4e0859388970653ea5521095fca9e485d840c7
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-05-22 03:14:40 +0900

    add static modifier for rb_hash_select func

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3130

commit cbd45af2a9bec871ee023e6be57c5f32b22280fe
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-05-22 03:41:48 +0900

    fix memory leak of ccs

    rb_callable_method_entry() creates ccs entry in cc_tbl, but this
    code overwrite by insert newly created ccs and overwrote ccs never
    freed.
    [Bug #16900]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3128

commit 74cd607ca049cdcd7a42f2d42398ef8b4d7d71fc
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-22 11:09:08 +0900

    Run major GC three times to make sure the minor GC reason

    Same as 02705b27be207fce57bd0253251f81108c7ed57b

    http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/2955433
    ```
      1)
    TestGc#test_start_full_mark [/tmp/ruby/v3/src/trunk-random1/test/ruby/test_gc.rb:61]:
    Expected :oldmalloc to be nil.
    ```

commit 79d9528ddca1dfe2dd99287dc88fd7c2b30f7137
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-22 06:50:23 +0900

    Fixed potential memory leak

    Create a wrapper object first, then buffer allocation which can
    fail.

commit 38a4f617de157586668dd726d518eadcebf1bca2
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-22 04:09:15 +0900

    * 2020-05-22 [ci skip]

commit a53e2850c572135ed657144bc14e47b29c64fa94
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-05-22 02:48:02 +0900

    Unpin and update VM references

    This commit just unpins and updates VM references

commit ba7f4bb0af82bc9a7e392608fd7f6a316bec7c9f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-21 12:00:33 +0900

    Synchronized non-inline version rb_scan_args with the inline version

commit 62b47196e44757012b32e52a6b4af7560e59e334
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-21 11:55:55 +0900

    Added UNREACHABLE_RETURN

    To get rid of a void function at the end of non-void function.

commit 3eb3f7bb8c3da4d3e71246ad011c580b6ad68d78
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-21 13:16:42 +0900

    test/ruby/test_optimization.rb: Proc creation test should count :T_DATA

    instead of :TOTAL of ObjectSpace.count_objects.

    This test had failed very occasionally:

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos8/ruby-master/log/20200521T033004Z.fail.html.gz
    ```
      1) Failure:
    TestRubyOptimization#test_block_parameter_should_not_create_objects [/home/chkbuild/chkbuild/tmp/build/20200521T033004Z/ruby/test/ruby/test_optimization.rb:713]:
    <0> expected but was
    <407>.
    ```

    This test of lazy proc creation checks if no object is created during a
    method call.  However, calling a method itself increases the count of
    objects because method cache is now an object (T_MEMO).
    The reason why this test rarely fails is because the test was buggy; it
    checked the count of :TOTAL, but :TOTAL count changes only when the GC
    heap is expanded.  Creating one object rarely causes heap expansion.
    The test must have checked not only :TOTAL but also the count of :FREE.

    Instead, this change more directly checks :T_DATA.  Note that a Proc
    object is T_DATA.

commit 6f167da65b799435f94af3c5d39a80968e284f44
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-21 10:43:06 +0900

    Fixed a variable name [Bug #16903]

    Fix up of 0e3b0fcdba7

    From: fd0 (Daisuke Fujimura)

commit 43725c60915753a88224583fafc87c0bac7c5422
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-20 15:44:37 +0900

    rb_scan_args_set: make it slightly readable

    This is a pure refactoring that improves understanding of what is going
    on.  Not a big win though.

commit 140d4e4a5fb4480feeb59565464f197e6a09587d
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-05-21 07:57:38 +0900

    [ci skip] Enhanced rdoc for Hash (#3121)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 6e7e7c1e577d6c2276e9a8cc85c28c55c46c2618
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-05-21 05:44:09 +0900

    Only marked objects should be considered movable

    Ruby's GC is incremental, meaning that during the mark phase (and also
    the sweep phase) programs are allowed to run.  This means that programs
    can allocate objects before the mark or sweep phase have actually
    completed.  Those objects may not have had a chance to be marked, so we
    can't know if they are movable or not. Something that references the
    newly created object might have called the pinning function during the
    mark phase, but since the mark phase hasn't run we can't know if there
    is a "pinning" relationship.

    To be conservative, we must only allow objects that are not pinned but
    also marked to move.

commit a3e79c1764c268f7a6e0b443a2818120c077f700
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-21 03:17:08 +0900

    * 2020-05-21 [ci skip]

commit 891e253ee71fc5196ef4b4ba4718a16bbe858499
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-01-29 09:33:04 +0900

    Use a pinning list for keeping objects alive during assembly.

    The GC will not disassemble incomplete instruction sequences.  So it is
    important that when instructions are being assembled, any objects the
    instructions point at should not be moved.

    This patch implements a fixed width array that pins its references.
    When the instructions are done being assembled, the pinning array goes
    away and the objects inside the iseqs are allowed to move.

commit ff58cbce94aaa001a262e6a4abc57f85113331be
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-05-20 20:27:47 +0900

    add static modifer for rb_hash_fetch_values func

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3125

commit 2480ef904c66812cf366e5d9bc8a9c3c20bbf271
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-20 10:52:32 +0900

    pure_parser.rb: get rid of an error at localed messages

commit 67d259c5dccd31fe49d417fec169977712ffdf10
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-05-20 02:37:58 +0900

    Use __bultin_assume() from clang-7

    We observed combination of multiple __builtin_assume() can cause
    strange compile results on clang-6 (-DNDEBUG exposed this issue).
    To avoid this problem, __builtin_assume() is from clang-7.
    https://github.com/ruby/ruby/pull/3120#issuecomment-630821333

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3122

commit a6403091a58582bbc0fbe8e2fb33d52cd47391b9
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-20 10:22:34 +0900

    * 2020-05-20 [ci skip]

commit feb8dc55b6d2acd8f87e0415af65ff861cc55828
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-19 22:09:20 +0900

    Include wchar.h before wrapping memchr

    On mingw, wmemcpy() is defined as an inline function using
    memcpy(), and the static inline wrapper causes a warning.

    ```
    In file included from include/ruby/ruby.h:39,
                     from win32/file.c:5:
    include/ruby/internal/memory.h:284:16: warning: 'ruby_nonempty_memcpy' is static but used in inline function 'wmemcpy' which is not static
      284 | #define memcpy ruby_nonempty_memcpy
          |                ^~~~~~~~~~~~~~~~~~~~
    ```

commit 5e81e8675a020ecd493620a4ff38db8fcf4b972a
  Author: Shugo Maeda <shugo@ruby-lang.org>
  Date:   2020-05-19 17:46:21 +0900

    Ignore exceptions when closing data connections [Bug #16780]

    Patch by koshigoe (Masataka SUZUKI). Thanks!

commit 1f063abb4c42acc52e27fed76577c984ad8b7a3a
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-05-19 13:09:26 +0900

    add static modifier to rb_ary_aref2 func

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3119

commit 79292b30884ebcd8be028a7f3c9ccafd7759f2ae
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-15 01:35:00 +0900

    Make builtin loader sources by Ripper

commit 6efb9fe04229c9e96205025bfd8b6cfec1b9a30f
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-05-13 04:00:35 +0900

    Allow references stored in the VM stack to move

    We can update these references too, so lets allow them to move.

commit 9ee66d2bef4a32b5b9880a5226f3fbeb7fde5884
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-19 00:59:02 +0900

    * 2020-05-19 [ci skip]

commit 6c1a51dae82cf2bccdddd0376d57ba7574c01a18
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-05-19 00:58:19 +0900

    Skip some tests if extracted from tarball (again)

    Fix up previous commit

    ref
    9aa75795f9f438d5c874d8e418c3c7cdd63024fa,
    38002a8adbd98266426940d829429a30af0622a4, and
    0e60b59d5884edb8f9aea023efd9b24f1ff02049

commit 1f011cccb16ca9e8ee378cb5a9d4c14459afd68c
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2019-11-18 23:39:57 +0900

    Skip some tests if extracted from tarball (again)

    ref 9aa75795f9f438d5c874d8e418c3c7cdd63024fa

commit 185f49f90c7c553d7959d8f7261b90b398de6c3f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-18 20:42:20 +0900

    Fixed RDoc formatting [ci skip]

commit cf31e9807956350fcca0bef1b650330a216194cc
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-05-18 17:42:50 +0900

    Fix a typo [ci skip]

commit 3bada9208afa8ad874e4e6037bd81f7b662a3180
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-18 15:42:24 +0900

    Simplify maybe_special_const_class_p

commit b16a2aa938d091c387a7437d94dac7f7bb829ba2
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-18 14:47:20 +0900

    Reduce code size for rb_class_of

    by inlining only hot path.

    === mame/optcarrot ===

    $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark.yml --repeat-count=24 --output=all
    before --jit: ruby 2.8.0dev (2020-05-18T05:21:31Z master 0e5a58b6bf) +JIT [x86_64-linux]
    after --jit: ruby 2.8.0dev (2020-05-18T06:12:04Z master 0e3d71a8d1) +JIT [x86_64-linux]
    last_commit=Reduce code size for rb_class_of
    Calculating -------------------------------------
                                     before --jit           after --jit
    Optcarrot Lan_Master.nes    71.62880463568773     70.95730063273503 fps
                                71.73973684273152     71.98447841929851
                                75.03923801841310     75.54262519509039
                                75.16300287174957     77.64029272984344
                                75.16834828625935     78.67861469580785
                                75.17670723726911     78.81879353707393
                                75.67637908020630     79.18188850392886
                                76.19843953215396     79.66484891814478
                                77.28166716118808     79.80278072861037
                                77.38509903325165     80.05859292679696
                                78.12693418455953     80.34624804808006
                                78.73654441746730     80.66326571254345
                                79.25387513454415     80.69760605740196
                                79.44137881689524     81.32053489212245
                                79.50497657368358     81.50250852553751
                                79.62401328582868     82.27544931834611
                                79.79178811723664     82.67455264522741
                                81.20275352937418     82.93857260493297
                                81.57027048640776     83.15019118788184
                                81.63373188649095     83.20728816044721
                                81.93420437766426     83.25027576772972
                                82.05716136357167     83.27072145898173
                                82.21070805525066     83.36008265822194
                                82.56924063784872     83.36112268888493

    === benchmark-driver/sinatra ===

    [rps]
    before: 13143.49 rps
    after: 13505.70 rps

    [inlined rb_class_of size]
    before: 11.5K
    after: 3.8K

    (calculated by `dwarftree --die inlined_subroutine --flat --merge --show-size`)

commit afd84c58acfe9126d31c3f7673b049f11b67b095
  Author: Avdi Grimm <avdi@users.noreply.github.com>
  Date:   2020-05-17 06:29:05 +0900

    Document how to enable USDT method entry/exit tracepoints

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3115

commit 0e5a58b6bf6aae72b6290a8d68e0a1b6d9eb4f79
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-18 13:55:41 +0900

    Mark some JIT-ed functions as COLDFUNC

    Put some functions which are unlikely to be called on JIT in
    .text.unlikely section to improve hot code's locality.

commit c0cd474d4ffedb1eeb49505f53c0727a008bdd3e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-18 12:41:59 +0900

    Prefer dedicated enum over int

commit acf61e85f3a593521f56fdbb9cd17c874a67322f
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-18 12:40:15 +0900

    * 2020-05-18 [ci skip]

commit b02c10b2407447cf8a6d6a001b745d7790a0ca61
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-18 12:28:50 +0900

    built-in method call must not have a receiver

commit fa7addebb498d92d059a020a1a9739e5522b27dc
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-05-17 21:01:29 +0900

    Fix typos [ci skip]

commit 9f18b139c9d93c0bcfdc4f4e502ab024c4212fc0
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-05-16 18:25:56 +0900

    [ruby/reline] Add a test of autowrap for yamatanooroti

    https://github.com/ruby/reline/commit/38676ba8c2

commit f56e05fa7db740a0d35778b00c8f6a78f6acacac
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-05-07 23:44:38 +0900

    [ruby/reline] Remove unnecessary TODO commnet

    https://github.com/ruby/reline/commit/23c67fb7b3

commit fc2a121c7c56ec29cddc426910aa1ac4cd3f5edc
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-05-03 14:36:33 +0900

    [ruby/reline] If history-size isn't numeric, it should be 500

    https://tiswww.case.edu/php/chet/readline/readline.html#IDX25

    > If an attempt is made to set history-size to a non-numeric value, the maximum
    > number of history entries will be set to 500.

    https://github.com/ruby/reline/commit/acf0437280

commit dc0cdf4322aec0028e425f37104138afdb8e587c
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-05-02 00:22:35 +0900

    [ruby/irb] Version 1.2.4

    https://github.com/ruby/irb/commit/d7c5fb0273

commit bd8aa047fc506b18d51fd791b8920d1e3bc72354
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-17 19:03:05 +0900

    Removed useless implementation tests

commit dc57136fd32dc0e86fbbf36f216e4149c9f121c8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-17 15:35:41 +0900

    Removed PRNG implementation details from the test

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3116

commit 6e7551a57ed540e954651fef232841fa2e70e899
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-17 18:01:43 +0900

    * 2020-05-17 [ci skip]

commit 968d6df49f5f59eb2898d27399ad6d49b723216d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-17 16:33:56 +0900

    Added --test-order=nosort option

    Run tests in the order given in the command line.

commit 2c3c6c96cfc31eb387c643990375e6e1d67b409d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-16 17:37:28 +0900

    Defer initialization

    Defer initialization of extension libraries, loading prelude files
    and requiring files, and skip if dump options are given.

commit 9e67a38fdea7d8a549f4b216703ad1600554c3cf
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-16 17:36:30 +0900

    Fallback to built-in UTF-8 for miniruby

    Source code encoding is defaulted to UTF-8 now too.

commit 8c3a60df2a671a538f9f7aef57adaa77ec817de9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-16 17:09:37 +0900

    leakchecker.rb: show test name

    When multiple autoclose IO objects are leaked too.

commit cc525d764b841fef1256222185647c670e9d199c
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-05-16 06:14:50 +0900

    [ci skip] Enhanced rdoc for String.new (#3067)

    * Per @nobu review

    * Enhanced rdoc for String.new

    * Respond to review

  Notes:
    Merged-By: drbrain <drbrain@segment7.net>

commit 24739c62e5cee1eaa0857fee2800c8bcba8c9ced
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-05-16 06:12:40 +0900

    [ci skip] Rdoc enhancements for Array (#3063)

    * Per @nobu review

    * Rdoc enhancements for Array

    * Responses to review

  Notes:
    Merged-By: drbrain <drbrain@segment7.net>

commit a3cd01524c7295da87e2dd013d92f289cfe5b635
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-16 06:12:10 +0900

    * 2020-05-16 [ci skip]

commit d46980798043463fa0622be3d787d5cda829cb37
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-05-16 06:11:42 +0900

     [CI skip] Enhance rdoc intro for Hash  (#3056)

    * Per @nobu review

    * [CI skip] Enhance rdoc intro for Hash

    * Tweak call-seq for Hash.new

    * Tweak call-seq for Hash.new

    * Minor corrections

    * Respond to review

    * Respond to review

    * Respond to review

    * Respond to review

    * Fix chain exampmle

    * Response to review

  Notes:
    Merged-By: drbrain <drbrain@segment7.net>

commit a9b2014d26845bf7d6a63c8979e2a8d6e6cc6576
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-05-15 17:45:28 +0900

    Fix a typo [ci skip]

commit 71c166e11e761dcaaa943f9b94da38f86ada1bdb
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-15 12:50:02 +0900

    Fixed argument forwarding in reserved word method [Bug #16854]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3112

commit e89b87508160868bd431218872d0d5b7b15bc57b
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-05-15 14:27:06 +0900

    fix for multi-run test.

    TestAutoload#test_source_location can't run multiple test-run so
    that use assert_separately().

    repro command:
    make yes-test-all TESTS='--repeat-count=50 ruby/test_autoload -n test_source_location'

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3111

commit 6fa8455ebbf457e5d8752295a8d6380146636c0c
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-05-15 09:23:42 +0900

    Move `test/scheduler` -> `test/fiber` [Bug #16892][ruby-core:98366].

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3110

commit 39365b46e250162f278cb36aa148bc2a92b1b84a
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-15 01:22:56 +0900

    Merge pull request #3047 from mame/suppress-backtrace

    Add `--suppress-backtrace=num` option to limit the backtrace length

  Notes:
    Merged-By: mame <mame@ruby-lang.org>

commit 531e4a35f4c9c772aae331281cad324c6806c603
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-15 01:22:27 +0900

    * 2020-05-15 [ci skip]

commit 7f86ad61cceaffca0d47fe5dc706fbc2ca9ea166
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-15 01:21:12 +0900

    test/scheduler: suppress warnings

    https://rubyci.s3.amazonaws.com/debian/ruby-master/log/20200514T123004Z.log.html.gz

    ```
    /home/chkbuild/chkbuild/tmp/build/20200514T123004Z/ruby/test/scheduler/scheduler.rb:29: warning: assigned but unused variable - fiber
    /home/chkbuild/chkbuild/tmp/build/20200514T123004Z/ruby/test/scheduler/scheduler.rb:156: warning: method redefined; discarding old fiber
    /home/chkbuild/chkbuild/tmp/build/20200514T123004Z/ruby/test/scheduler/test_fiber.rb:27: warning: ambiguous first argument; put parentheses or a space even after `/' operator
    ```

commit d7d0d01401a8082e514eb2cb3cec5410e7acba7d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-14 17:27:48 +0900

    Endless method definition including `rescue` modifier

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3108

commit 634eeb4353ca92a94b4642bd05837868f630eda1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-14 19:57:39 +0900

    Removed trailing spaces [ci skip]

commit 0e3b0fcdba70cf96a8e0654eb8f50aacb8024bd4
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-05-14 19:10:55 +0900

    Thread scheduler for light weight concurrency.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3032

    Merged-By: ioquatix <samuel@codeotaku.com>

commit 336119dfc5e6baae0a936d6feae780a61975479c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-14 17:19:39 +0900

    extlibs.rb: fixed Downloader.cache_file call and return value

    `cache_dir` is an optinal argument but not a keyword argument, and
    the return value is a `Pathname`.

commit 0a52015da7c4895363e239387e749e4b1f63b198
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-14 17:15:03 +0900

    Constified code_loc_gen

commit 4a620aff8d1098900c8d0f336b2698ed1256621c
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-05-14 12:27:13 +0900

    Restore class variable setting for tests

commit 03a492fe45816d21ec8bb080229f0caf07626810
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-05-13 07:25:57 +0900

    Initialize Reline callbacks when test suit starts

commit 68a7c8ad5781ecfa12cf7b512b5745ba1a78bdcd
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-05-13 07:21:44 +0900

    Reline callbacks can take nil

commit ca1f6b3eae076fefe1b1c042a9191894c6773669
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-05-12 21:17:43 +0900

    Delete inner text buffer after tests

commit 978e691c86b9a4e6d5d6af7755f532505dca2690
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-05-12 14:47:03 +0900

    Restore Readline.completion_case_fold in test

commit 35bbbc751d626e1955c87613a5103f0efc0b1942
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-13 22:05:45 +0900

    clean-up .bundle directory in bundled_app

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3105

commit d4acf254e360096f869f344108ba7ef2ba1f5a92
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-13 21:58:27 +0900

    Use the gemspec in build_dir directly

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3105

commit 65c5a3957877e67bae3bdbf063aac6f257a52ac8
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-14 00:51:04 +0900

    * 2020-05-14 [ci skip]

commit 8bd27c547c3260ce72dc5edbab248bb858c84cf2
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-14 00:44:35 +0900

    ext/json/parser/prereq.mk: remove type-limit warning if char is unsigned

    Ragel generates a code `0 <= (*p)` where `*p` is char.
    As char is unsigned by default on arm and RISC-V, it is warned by gcc:

    ```
    compiling parser.c
    parser.c: In function ‘JSON_parse_string’:
    parser.c:1566:2: warning: comparison is always true due to limited range of data type [-Wtype-limits]
      if ( 0 <= (*p) && (*p) <= 31 )
      ^
    parser.c:1596:2: warning: comparison is always true due to limited range of data type [-Wtype-limits]
      if ( 0 <= (*p) && (*p) <= 31 )
      ^
    ```

    This change removes the warning by substituting the condition with
    `0 <= (signed char)(*p)`.

commit 87662134b5351bd750e50bc6e9ff2a6ffe9b1f68
  Author: Kazuki Yamaguchi <k@rhe.jp>
  Date:   2020-05-13 14:55:35 +0900

    [ruby/openssl] Ruby/OpenSSL 2.2.0

    https://github.com/ruby/openssl/commit/41587f69e1

commit cc26638cae385a497a3e6b6ad667292819cda938
  Author: Kazuki Yamaguchi <k@rhe.jp>
  Date:   2020-05-13 14:33:06 +0900

    [ruby/openssl] ssl: temporarily remove SSLContext#add_certificate_chain_file

    Let's revert the changes for now, as it cannot be included in the 2.2.0
    release.

    My comment on #257:

    > A blocker is OpenSSL::SSL::SSLContext#add_certificate_chain_file. It
    > has a pending change and I don't want to include it in an incomplete
    > state.
    >
    > The initial implementation in commit 46e4bdba40c5 was not really
    > useful. The issue is described in #305. #309 extended it
    > to take the corresponding private key together. However, the new
    > implementation was incompatible on Windows and was reverted by #320 to
    > the initial one.
    >
    > (The prerequisite to implement it in) an alternative way is #288, and
    > it's still cooking.

    This effectively reverts the following commits:

     - dacd08937ccd ("ssl: suppress test failure with SSLContext#add_certificate_chain_file", 2020-03-09)
     - 46e4bdba40c5 ("Add support for SSL_CTX_use_certificate_chain_file. Fixes #254.", 2019-06-13)

    https://github.com/ruby/openssl/commit/ea925619a9

commit 6f008c9d2fec52f2c2d39c04ad83e87c7975105c
  Author: Kazuki Yamaguchi <k@rhe.jp>
  Date:   2020-04-21 02:12:29 +0900

    [ruby/openssl] pkey: add PKey#inspect and #oid

    Implement OpenSSL::PKey::PKey#oid as a wrapper around EVP_PKEY_id().
    This allows user code to check the type of a PKey object.

    EVP_PKEY can have a pkey type for which we do not provide a dedicated
    subclass. In other words, an EVP_PKEY that is not any of {RSA,DSA,DH,EC}
    can exist. It is currently not possible to distinguish such a pkey.

    Also, implement PKey#inspect to include the key type for convenience.

    https://github.com/ruby/openssl/commit/dafbb1b3e6

commit a7145c3de4ddbe9f90bd6f087afac44a764fae04
  Author: Bart de Water <bartdewater@gmail.com>
  Date:   2020-04-21 07:18:57 +0900

    [ruby/openssl] Fix signing example to not use Digest instance

    https://github.com/ruby/openssl/commit/033fb4fbe4

commit c85789f9b2882bc95364c5da182a24aa72ca52cc
  Author: Bart de Water <bartdewater@gmail.com>
  Date:   2020-04-20 05:14:34 +0900

    [ruby/openssl] Look up cipher by name instead of constant

    https://github.com/ruby/openssl/commit/b08ae7e73d

commit b44cc9f040f17fe1d19fb161a22e2df94c5ad76a
  Author: Bart de Water <bartdewater@gmail.com>
  Date:   2020-04-20 05:01:15 +0900

    [ruby/openssl] Remove 'mapping between Digest class and sn/ln'

    This is not present in the referenced files anymore, and not useful to most users

    https://github.com/ruby/openssl/commit/eae30d2b96

commit 0b2c70eaa1e8e41fcb6332b22b084dabb81e637c
  Author: Bart de Water <bartdewater@gmail.com>
  Date:   2020-04-20 00:14:36 +0900

    [ruby/openssl] Look up digest by name instead of constant

    https://github.com/ruby/openssl/commit/b28fb2f05c

commit 3f8665fe0ed5331aa723ddecbf6ad3728931c08d
  Author: Bart de Water <bartdewater@gmail.com>
  Date:   2020-04-20 06:00:01 +0900

    [ruby/openssl] Add Marshal support to PKey objects

    https://github.com/ruby/openssl/commit/c4374ff041

commit fcd257629063a345c48ff2d8057fa8ab910881f2
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-13 14:46:59 +0900

    Stop always inlining not-optimized get/setivar

    As we have the optimization in _mjit_compile_ivar.erb, we don't use
    these functions if we successfully optimize ivars. Therefore it's
    consuming code size where we can't optimize it well.

    To decrease code size, we'd better avoid inlining them.

    ```
    $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark.yml --repeat-count=12 --output=all
    before --jit: ruby 2.8.0dev (2020-05-13T04:49:21Z master 61d451d6ce) +JIT [x86_64-linux]
    after --jit: ruby 2.8.0dev (2020-05-13T05:46:59Z master a072d323db) +JIT [x86_64-linux]
    Calculating -------------------------------------
                                     before --jit           after --jit
    Optcarrot Lan_Master.nes     69.8567095356444      73.0360609399857 fps
                                 70.3283101279035      74.6106251902062
                                 72.9135395729567      75.2797344839106
                                 76.6944690546044      77.5705757485036
                                 77.0027971817715      78.2269524040059
                                 78.5069033659736      78.4457471014131
                                 80.1873218604913      80.1273811685818
                                 81.3079566400696      81.7148593303302
                                 81.7285827817226      81.7637234555871
                                 81.7657097839637      82.4520295422720
                                 81.8310114206406      82.7532354379759
                                 81.9886488857863      82.8358739858206
    ```

commit 61d451d6cec0aa290e5f550f449d067833979b2b
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-13 13:49:21 +0900

    ext/bigdecimal/bigdecimal.c, ext/date/date_core.c: undef NDEBUG

    `#define NDEBUG` produces "macro redefined" warnings when it is already
    defined via cppflags

commit 3bca1b6aadff1faf1c2308cd4eb7dd58948a47d8
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-13 13:45:31 +0900

    ext/openssl/ossl.h: Remove a variable that is used only in assert

    It produces "unused variable" warnings in NDEBUG mode

commit b68dab866724aacc1cbc6b7d5e1f555dec092346
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-13 10:57:14 +0900

    ext/fiddle/extconf.rb: Fix the condition of libffi <= 3.1

    ver is [3, 1, 0] which is not less then or equal to [3, 1]

commit de29a022acb93691dfc50db852cb04f763565072
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-05-13 10:01:16 +0900

    Document that #hash is not called for certain core classes [ci skip]

    Fixes [Bug #16850]

commit 9cfa811b0f209d714f89fe0de6778c71f77556c7
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-13 08:39:50 +0900

    Do not try ffi_closure_alloc if libffi is <= 3.1

    Maybe due to e1855100e46040e73630b378974c17764e0cccee, CentOS, RHEL, and
    Fedora CIs have started failing with SEGV.  Try to avoid
    ffi_closure_alloc on those environments.

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos8/ruby-master/log/20200512T183004Z.fail.html.gz
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/fedora32/ruby-master/log/20200512T183004Z.fail.html.gz
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20200512T183003Z.fail.html.gz

commit 777b5b4f3959ebd1a0b2601324a1f4fa452ca166
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-12 21:55:53 +0900

    Bump version to use RSpec 3.8+

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3086

commit cecd343336b127d84f1c84e39f30bcdade64703d
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-12 21:35:24 +0900

    Skip the examples for bundle exec with gem installation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3086

commit f61dbb921e471e2d36fbd39c6669dde00d0fa87a
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-11 22:11:40 +0900

    Marked the some examples that are not working with the ruby repository

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3086

commit aecbb78517ed1ae2c6c5d118b569fad5993b83e3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-11 22:00:20 +0900

    Use relative path in ruby core repository

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3086

commit 143872bf98b01926562839fbd7e352da588d62bd
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-11 21:25:56 +0900

    Unmask the some of examples with ruby_repo label

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3086

commit ca892e6902f2a440ed40bbd52429aca650e4b702
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-11 20:27:37 +0900

    Skip the example to use rake command

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3086

commit ea517cfe23fece12345d76be8f05abad7d5a46fe
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-09 09:49:03 +0900

    skip lockfile_spec.rb:33 because it cleanup the .bundle repo

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3086

commit fcb5a9ee46e75cef38ee79c7307dadfae7a8b865
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-11 17:26:43 +0900

    Resolved the file path of gemspec for ruby core repository

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3086

commit cf9619084b458e10402eb37615b73b4cc0d61eeb
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-09 09:51:08 +0900

    Bump version to use Rake 13 in bundler examples

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3086

commit 5b634afe4cacbad1f04ef84e9929626820350912
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-07 17:07:45 +0900

    Added test_gems.rb for setup dependencies

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3086

commit a7c1791cec213bf1183a9f397cc60718f9de656f
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-07 16:15:53 +0900

    Partly reverted bundler.gemspec for ruby core testing

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3086

commit 0e60b59d5884edb8f9aea023efd9b24f1ff02049
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-08 14:19:04 +0900

    Update the bundler version with master branch

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3086

commit 68224651a4d4dc3ce0cea666f5423dd8b6ba6cfc
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-13 01:24:17 +0900

    * 2020-05-13 [ci skip]

commit e1855100e46040e73630b378974c17764e0cccee
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-13 01:17:30 +0900

    ext/fiddle/extconf.rb: check if ffi_closure_alloc is available

    to define HAVE_FFI_CLOSURE_ALLOC.
    The macro is used in closure.c, so have_func check is needed.

    If pkg-config is not installed, extconf.rb fails to detect the version
    of libffi, and does not add "-DUSE_FFI_CLOSURE_ALLOC=1" even when system
    libffi version is >= 3.2.

    If USE_FFI_CLOSURE_ALLOC is not defined, closure.c attempts to check if
    HAVE_FFI_CLOSURE_ALLOC is defined or not, but have_func was removed with
    528a3a17977aa1843a26630c96635c3cb161e729, so the macro is always not
    defined.

    This resulted in this deprecation warning:

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200512T123003Z.log.html.gz
    ```
    compiling closure.c
    closure.c: In function 'initialize':
    closure.c:265:5: warning: 'ffi_prep_closure' is deprecated: use ffi_prep_closure_loc instead [-Wdeprecated-declarations]
      265 |     result = ffi_prep_closure(pcl, cif, callback, (void *)self);
          |     ^~~~~~
    In file included from ./fiddle.h:42,
                     from closure.c:1:
    /usr/include/x86_64-linux-gnu/ffi.h:334:1: note: declared here
      334 | ffi_prep_closure (ffi_closure*,
          | ^~~~~~~~~~~~~~~~
    ```

commit 1c4eb70654aa20dd7caf3ce31be944396c5d31b8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-12 23:19:20 +0900

    Build auxiliary program files early

commit 2383cdabc124734f03104d20d102308a9d155ea6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-12 23:07:42 +0900

    builtin_binary.inc: should be updated even if no changes [ci skip]

    As this rule does not use a separate timestamp file, the target
    will be rebuilt every time once it is outdated.

commit 02cb643ddbe855a11dd2af0f4355e0a2c9874169
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-12 22:59:58 +0900

    Added String#split benchmark for empty regexp

    |               |compare-ruby|built-ruby|
    |:--------------|-----------:|---------:|
    |re_chars-1     |    169.230k|  973.855k|
    |               |           -|     5.75x|
    |re_chars-10    |     25.536k|  107.598k|
    |               |           -|     4.21x|
    |re_chars-100   |      2.621k|   11.207k|
    |               |           -|     4.28x|
    |re_chars-1000  |     259.098|    1.133k|
    |               |           -|     4.37x|

commit 693f7ab31578bf23d165f022b60da3a32055ceea
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-12 15:50:15 +0900

    Optimize String#split

    Optimized `String#split` with `/ /` (single space regexp) as
    simple string splitting.  [ruby-core:98272]

    |               |compare-ruby|built-ruby|
    |:--------------|-----------:|---------:|
    |re_space-1     |    432.786k|    1.539M|
    |               |           -|     3.56x|
    |re_space-10    |     76.231k|  191.547k|
    |               |           -|     2.51x|
    |re_space-100   |      8.152k|   19.557k|
    |               |           -|     2.40x|
    |re_space-1000  |     837.405|    2.022k|
    |               |           -|     2.41x|

    ruby-core:98272: https://bugs.ruby-lang.org/issues/15771#change-85511

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3103

commit 2e7d886311399a2ec1918afe7838d12e7708b7a6
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-12 17:47:27 +0900

    test/lib/jit_support.rb: Let JIT tests skip on centos8

    It has the same issue as RHEL 8.  k0kubun said he will fix later

commit b16acf8baa4899dc4e39246dcb89b351e4adfa13
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-11 18:37:08 +0900

    .github: use actions/checkout@v2 again

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3100

commit ee518cf077b856fddea7dfae5d85f3c3117dd616
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-12 16:22:41 +0900

    Revert "Sync did_you_mean"

    This reverts commit 946dadd3f479198e87873a863d15c7660a8e2b56,
    which broke `TestGemRequire` and others.

commit 317fdd6df2fce0fa5538690c6f6547585b494f2e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-11 07:52:47 +0900

    fiddle: share the same config tools

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3102

commit 3150b97d3261025955561e40ec781723ddc716fb
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-10 15:00:36 +0900

    extlibs.rb: links in extracted directory

    Allow to create symbolic links (if available) to share same or
    updated files.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3102

commit d1748484e8d919cbd7d13249d9e4f7af981c383e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-10 14:58:55 +0900

    extlibs.rb: added variable references

    Reduce duplicate parts such as package name and version numbers.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3102

commit 1d2fc91237ac8639e762a3b36bd0ee066fb80c3e
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-05-12 13:25:22 +0900

    Add missing `,`

commit 31af0dafba6d3769d2a39617c0dddedb97883712
  Author: Stephen Touset <stephen@squareup.com>
  Date:   2014-04-19 05:42:02 +0900

    Expose SSLContext#extra_chain_cert in Net::HTTP

    Currently, Net::HTTP can only send a single SSL certificate when it
    establishes a connection. Some use-cases involve sending an entire
    certificate chain to the destination; for this, SSLContext supports
    assigning to #extra_chain_cert=.

    This adds support in Net::HTTP for exposing this underlying SSLContext
    property to end-users. [Feature #9758]

commit 946dadd3f479198e87873a863d15c7660a8e2b56
  Author: Yuki Nishijima <yk.nishijima@gmail.com>
  Date:   2020-05-12 12:24:39 +0900

    Sync did_you_mean

commit 7cc55f4bc4d836e8edcae05f1b500417fc2b71a3
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-05-12 11:46:41 +0900

    Thread#backtrace may return nil [ci skip]

commit 237bee9d40cbc9d1067694f84793985cc4621cbc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-12 10:21:05 +0900

    Removed extra stringization

    Argument of RUBY_ASSERT_FAIL is already stringized message, so no
    more extra stringization should be applied.

commit 3fcf7f0271a3f29f91b6bda60e518f0fcb026eda
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-10 14:54:16 +0900

    win32/mkexports.rb: do not export internal symbols

    Functions using `rb_thread_t` and `rb_execution_context_t` are
    internal use only.

commit 7a7854d8c18b0ec15b3c050aff179f9753a44210
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-05-12 00:51:47 +0900

    Some I/O in test doesn't have "position"

    Just returns column 1 for ambiguous width because this I/O is not tty and can't
    seek.

commit d39be242ba795e34c1907c4d88329b15ad2838bd
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-05-11 19:51:29 +0900

    Also use pipe for input in test

commit 42abad2464a78e3ec8a42f85c7bc878233f3ce16
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-12 02:12:06 +0900

    numeric.c: optimize `float ** 2` case by fastpath

    It would be a relatively frequent case.  It is still slower than
    `float * float` because `*` has a dedicated VM instruction (opt_mult),
    though.

commit 95ac235537fc0e46e4c18f1e82cf14d0a98b3b92
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-12 01:15:45 +0900

    * 2020-05-12 [ci skip]

commit 1258a0fb90ea63bf1ec108815cce0d552acfc726
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-05-08 04:49:40 +0900

    Remove the 65 size limit for name_err_mesg_to_str

    This limit was introduced on Nov 20 1996
    in 554b989ba1623b9f6a0b76f00824c83a23fbcbc1

    Apparently to protect from a buffer overflow:

      * eval.c (f_missing): オブジェクトの文字列表現が長すぎる時バッファ
              を書き潰していた

    However I tested that path with very large strings
    and it works fine.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3090

commit 15e977349e31389515bccf7a9684005a0c36e02d
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-11 16:45:40 +0900

    more on NULL versus functions

    Function pointers are not void*.  See also
    115fec062ccf7c6d72c8d5f64b7a5d84c9fb2dd8
    ce4ea956d24eab5089a143bba38126f2b11b55b6
    8427fca49bd85205f5a8766292dd893f003c0e48

commit 4fbb34415659d33b479973e1fdbc71314bd810eb
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-11 16:40:52 +0900

    fix sunpro pragma

    SunPro's #pragma does_not_return(...) needs an argument.  That does not
    fit the attribute syntax we employ.

commit 233c2018f1b873a441af22848cee6dedaed3ad72
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-11 14:27:25 +0900

    drop varargs.h support

    This header file is simply out of date (for decades since at least
    1989).  It's the 21st century.  Just stop using it.

commit 534277fa7b3b8aa7c25db51af0c1b32e7dfa6139
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-10 18:47:03 +0900

    rb_str_new: hoist RB_CONSTANT_P out of function

    https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html says:

    > GCC never returns 1 when you call the inline function with a string
    > constant or ...

    Because rb_str_new and familiy take string constants, it was a bad idea
    for them to contain RB_CONSTANT_P.  We should instead do so in
    corresponding macros. [ruby-core:98212]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3098

commit 9e41a75255d15765648279629fd3134cae076398
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-08 18:31:09 +0900

    sed -i 's|ruby/impl|ruby/internal|'

    To fix build failures.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3079

commit b85fd1d690b65efaa126cf9c24da73f31eee7a4e
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-08 18:10:13 +0900

    mv include/ruby/{impl,internal}

    Devs do not love "impl".

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3079

commit 0d88fe3a7278e3dab2675c1fe2c0f184d0624da2
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-11 08:32:18 +0900

    spaces in comments [ci skip]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3079

commit 122f96c362c0391045d9b10d81d3681cb2455da5
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-04 16:27:48 +0900

    sed -i s/ruby3/rbimpl/g

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3079

commit 97672f669af53c41b094772559030195787406be
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-04 15:52:56 +0900

    sed -i s/RUBY3/RBIMPL/g

    Devs do not love "3".  The only exception is RUBY3_KEYWORDS in parse.y,
    which seems unrelated to our interests.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3079

commit d7f4d732c199df24620a162372c71ee83ed21e62
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-04 15:35:26 +0900

    sed -i s|ruby/3|ruby/impl|g

    This shall fix compile errors.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3079

commit dca234a5dc9d5bb39c906d833c43305ce95508fb
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-04 15:26:12 +0900

    mv include/ruby/{3,impl}

    Devs do not love "3".

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3079

commit c89c3801b985916b6fb6726aab966d28371dfaaa
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-11 03:17:08 +0900

    BASERUBY have to be 1.9 or later at least [Bug #16845]

    Many tools under tool directory haven't worked with ruby 1.8.

commit 4a24cd8eb3fcb8a555671b49bbbe8d33b7b388ba
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-11 02:26:31 +0900

    Suppress probably impossible maybe-uninitialized warning

commit 5d430c1b34b6162d4cfbd472fae09e6ea282f3a3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-11 00:24:14 +0900

    Added more NORETURN declarations

commit a1e1fdca091bdd20ccfd69b682e8f1f6f51fa4f3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-11 00:39:35 +0900

    Fallback MAKE to make

commit 27efe3f728562abda703ba37aecbc504b316074d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-11 00:19:47 +0900

    * 2020-05-11 [ci skip]

commit 3fa4fd4780f9b3a1f2058f8fd2733334868bf24c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-11 00:17:02 +0900

    Pass MAKE value to configure for non-default name case

    GNU make does not export it by default.

commit f1699314147bad2cf5550cc582693424fdbc2510
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-10 21:35:54 +0900

    win32ole: separate global variable declarations and definitions

    https://gcc.gnu.org/gcc-10/changes.html#c

    > * GCC now defaults to `-fno-common`.  As a result, global
    >   variable accesses are more efficient on various targets.  In
    >   C, global variables with multiple tentative definitions now
    >   result in linker errors.  With `-fcommon` such definitions are
    >   silently merged during linking.

commit dd830fab6982dfbfd0667f025e823b097af42f71
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-10 18:40:47 +0900

    Fixed a typo

commit 42e8de8db9c009fef41694db3e14d6d4500d6848
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-10 17:26:28 +0900

    Fix for cross_compiling

    `RubyVM.each_builtin` is not defined when cross compiling.

commit 967ae6278f8429dc268f8d3252de048eba86fe29
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-10 16:52:54 +0900

    Run rb_syswait on exec failure

    not only when !w but also when w == WAITPID_LOCK_ONLY.
    See also: f7c0cc36920a4ed14a3ab1ca6cfdf18ceff1e5d5 and a2264342063260d660b99872eaf5080f6ab08e81.
    We thought this change was an oversight in the latter commit.

    Without this change, the test fails like:

    $ make test-all TESTS="../test/ruby/test_process.rb -n test_exec_failure_leaves_no_child" RUN_OPTS="--jit"
    ...
      1) Failure:
    TestProcess#test_exec_failure_leaves_no_child [/home/k0kubun/src/github.com/ruby/ruby/test/ruby/test_process.rb:2493]:
    Expected [[26799, #<Process::Status: pid 26799 exit 127>]] to be empty.

    Co-Authored-By: Yusuke Endoh <mame@ruby-lang.org>

commit 50a6d292c0ebfc2f35ee66efbb3b7ea44d5a0f94
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-09 22:39:58 +0900

    nmake doesn't understand $<

    Fix MSVC build error.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3097

commit 4fca592e8c707c76e8afea2a0b5dd4d17e97cd8f
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-05 18:00:59 +0900

    delete mk_builtin_binary.rb

    To generate what is necessary via generic_erb.rb instead.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3097

commit 191cfcc407e83ddd99212db4ba7b3df9f4608a05
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-05 17:09:42 +0900

    delete mk_call_iseq_optimized.rb

    To generate what is necessary via generic_erb.rb instead.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3097

commit a6f85899144607606c114e95104fa7e8ec8d95d9
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-10 14:36:30 +0900

    Workaround a zombie process created by Open3

    with MJIT worker enabled

    The problem:

    ```
    $ ruby -ropen3 --jit -e 'Open3.capture2e("cmake") rescue nil;binding.irb'
    irb(main)[01:0]> Process.waitall
    => [[10656, #<Process::Status: pid 10656 exit 127>]]

    $ ruby -ropen3 -e 'Open3.capture2e("cmake") rescue nil;binding.irb'
    irb(main)[01:0]> Process.waitall
    => []
    ```

    Not sure why it's happening yet, but first I'd like to prevent trunk-mjit-wait
    from failing like http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2929075.

commit 18f22490e850c21f353fc6e74e16b1beb324dc65
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-10 14:19:58 +0900

    * 2020-05-10 [ci skip]

commit 3bf0d2bb9288dff8879dedc1f1a26ff8bede2cbb
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-10 14:18:25 +0900

    test/rubygems/test_gem_ext_cmake_builder.rb: make sure cmake available

    just for a case.  In addition, this change suppresses unused variable
    warning.

commit 889b0fe46f5192d373d4db27d761f3f526684756
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-05-08 18:03:14 +0900

    .github/workflows/compilers.yml: GCC 10.1 released

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3094

commit 883214f8e94cdc4ffe6d572f5a67b16c9d62676f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-09 20:13:30 +0900

    Use %w instead of %i not to create unused IDs

commit 595e74ae4b86679a2dae57c13820d44d05ef919f
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-09 20:07:38 +0900

    test/io/console/test_io_console.rb: Rescue Errno::ENXIO for Solaris

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200509T100003Z.fail.html.gz
    ```
      1) Failure:
    TestIO_Console#test_failed_path [/export/home/users/chkbuild/cb-gcc/tmp/build/20200509T100003Z/ruby/test/io/console/test_io_console.rb:40]:
    [Errno::ENODEV, Errno::ENOTTY, Errno::EBADF] exception expected, not #<Errno::ENXIO: No such device or address - /dev/null>.
    ```

commit be575a6eefbaea21550f2c378407dd405cd768bc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-09 16:02:52 +0900

    [ruby/io-console] Use sys_fail_fptr macro

    https://github.com/ruby/io-console/commit/2b8ba023c8

commit 7df6eaf29e535be7c074e031892b8898a756fe24
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-09 09:29:13 +0900

    Addeed missing RSpec namespace

commit 581763d14c63316f22c8685a624547f28d43a8af
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-09 14:50:43 +0900

    [ruby/io-console] Fails with EBADF on mingw

    https://github.com/ruby/io-console/commit/530cec574c

commit d7a59e2ffe45b27c084a8fe8cfe12b63dd1e6de8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-09 14:40:19 +0900

    [ruby/io-console] Expanded expected errors

    May fail with ENOTTY instead of ENODEV.

    https://github.com/ruby/io-console/commit/fe117b89e0

commit 0a86679a7b430242a9618bd26857e68f6bcd6278
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-05-09 14:22:33 +0900

    Fix a typo [ci skip]

commit 4314c05377a19faa8570dfcc5c48b0ec3f7f26c8
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-05-09 14:22:04 +0900

    Fix typos

commit cc9bc145300d129f27ad3a4ce186d7b1e3068b88
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-09 13:55:48 +0900

    [ruby/io-console] Added test for failed path

    https://github.com/ruby/io-console/commit/06a540f9b4

commit 0ce45db11536ecba8cc6a4d46ac448b162a96d51
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-09 13:40:08 +0900

    [ruby/io-console] Show path name at error

    https://github.com/ruby/io-console/commit/6a4b1c1a6d

commit 5eb446d12f3b6cffd2687fe2c472cbc3374aacf4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-09 13:46:47 +0900

    mjit_worker.c: compile_compact_jit_code is not used on mingw

commit 1181edd54cdfb86fa6d3fe7cd52deb4b81d370ee
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-09 13:45:50 +0900

    rbuninstall.rb: show paths without destdir as well as rbinstall.rb

commit e88bb6a2f7b63a674cd1f6c0ad497751367c210f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-09 01:43:53 +0900

    rbuninstall.rb: get rid of errors when prefix ends with "/."

commit 8830d60dae428bcdc37244cc2cc6a41900d0ab78
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-09 01:40:40 +0900

    rbuninstall.rb: print output record separator instead of $\

commit 721060388e0d78fdac7ce7669a0d84ff0d6a7d92
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-09 01:25:26 +0900

    * 2020-05-09 [ci skip]

commit 3333d0235723c8c201ad67ed20c6af22d7923765
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-09 01:22:16 +0900

    rbinstall.rb: get rid of installing duplicate files

    Should not overwrite ext/rubyvm/lib/forwardable/impl.rb by
    lib/forwardable/impl.rb.

commit cc3352cc4148df1f83fc0ea3fd8780920420bb3a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-09 00:55:55 +0900

    rbinstall.rb: record bundled gem files

commit 8a504b224f50d9b6fb32aa090c6125d52151700a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-08 21:19:39 +0900

    Added GC guard for splatted array

commit adf709a78534c1483ba851ccb0490464ca31503c
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-05-08 12:58:19 +0900

    Classes made from Struct should have default `new` singleton method.

    [Bug #16465] [Bug #16801]
    [Fix GH-2795] [Fix GH-2944] [Fix GH-3045] [Fix GH-3093]

    Note: Backporting shouldn't modify object.h and instead can use
    struct_new_kw which is basically a duplicate implementation of
    rb_class_new_instance_pass_kw

    Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>
    Co-authored-by: John Hawthorn <john@hawthorn.email>
    Co-authored-by: Adam Hess <HParker@github.com>
    Co-authored-by: Jose Cortinas <jacortinas@gmail.com>
    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3093

commit da345adc1c9cb6182ee11c43853f67bb41aeea76
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-08 14:27:41 +0900

    `Open3.capture2e` raises exception when the command is not present.

commit ac2c07e98373bb62be618001c897fa9d5809d8a4
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-08 12:39:30 +0900

    Revert "[rubygems/rubygems] Remove unneeded global teardown"

    This reverts commit 93d1588c782ab9d61699f98b6c64d7f0ab8121c0.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit ceacb06311cf150cd3682b277bbe6cf7e7bbbc30
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-08 12:39:21 +0900

    Revert "[rubygems/rubygems] Remove unneeded teardown"

    This reverts commit 0da416ab170dbe1cbd530a5a7c5e8128910014b2.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 20971d0df41368e0f946683823bc786514e16fef
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-08 12:39:07 +0900

    Revert "[rubygems/rubygems] Use a local temporary directory"

    This reverts commit e98455f289047c43a733e61ac6317fb74b68de82.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 07d4ad935d2fd173aabd201862b09c3393fc8ebc
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-29 21:49:04 +0900

    [rubygems/rubygems] Remove unneeded teardown

    Tests using credentials shouldn't be leaving side effects.

    https://github.com/rubygems/rubygems/commit/975bcafdfc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 93293043f135dec5a972378682b9e947fba7c4a6
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-29 21:18:59 +0900

    [rubygems/rubygems] Remove unneeded global teardown

    Instead, make each test cleanup after itself.

    https://github.com/rubygems/rubygems/commit/e0aba9d64f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit b9031b10431b4ca517b520ddb9f86d82f16a3372
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-29 20:17:43 +0900

    [rubygems/rubygems] Restore the old .gemrc example for compatible tests

    https://github.com/rubygems/rubygems/commit/c45d65a06d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 4e436e605c7d3dd853eaf72bd3ac45d84d1c48e6
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-29 19:23:21 +0900

    [rubygems/rubygems] Removed needless setup to clear credential

    https://github.com/rubygems/rubygems/commit/4f694f4fb7

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit ab1b31ffe086dbc2aa780ae914f0eae1d7af8b5c
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-29 07:29:49 +0900

    [rubygems/rubygems] Also added credential_setup to the some of tests

    https://github.com/rubygems/rubygems/commit/2ac557d008

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 58af4c0a1fdf15e1624867938d5a9ce6be8403e3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-29 06:50:02 +0900

    [rubygems/rubygems] Split credential helper as credential_setup and use it

    https://github.com/rubygems/rubygems/commit/b0c55c76ca

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 18ac783ea6ad00b664d784661643bcbabc5e48eb
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-05 05:10:31 +0900

    [rubygems/rubygems] Revert adding loaded specs to `Gem::Specification.stubs` and `Gem::Specification.stubs_for`

    The rationale is that:

    * The change has caused realworld issues. See for example
    https://github.com/ruby/did_you_mean/issues/117 and specifically [this
    comment](https://github.com/ruby/did_you_mean/issues/117#issuecomment-482733159)
    for a great explanation of the issue it caused for `did_you_mean`.

    * The change also causes problems for our development workflows. For
    example, because of it, our `bundler` specs cannot currently be run with
    `bin/rake` and we have to use `bin/rspec` or `bin/parallel_spec`
    directly. The explanation for this is:

      - Our specs install test dependencies to `tmp` before running specs.
      - `rake` is one of these test dependencies.
      - Before installing each test dependency, we check whether it has
      matching installed specs: https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/bundler/spec/support/rubygems_ext.rb#L109-L114.

      - Normally, if `rake` has not yet been installed to `tmp`, this check
      fails and `rake` is installed, but since the loaded specs are now
      added to `Gem::Specification.stubs` and `rake`'s specification _is_
      loaded because we're running through `bin/rake`, the check incorrectly
      assumes that `rake` is already installed to `tmp` and skips
      installation.
      - At a later point the specs check whether `rake` is actually
      installed and fail if it's not: https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/bundler/spec/support/builders.rb#L372-L383

    Essentially, both of the issues are the same. If at runtime we change
    the location of gems, we'll _want_ to not consider loaded specifications
    when dealing with the new gem location, because the loaded
    specifications have not been loaded from there. Loaded specifications is
    something different from installed stub specifications and those should
    not be mixed.

    The PR still seemed to have fixed an issue, so I did my archaeology job
    and investigated the original issue to double check if reverting is ok.
    The logs for the original error can be found here:
    https://ci.appveyor.com/project/rubygems/rubygems/build/1172/job/ogubyucpljcv22ux.

    So I installed ruby 2.4.4, checked out the commit reference before the
    offending PR, and the exact error reproduced. :tada:

    ```
    $ rake test
    /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:231:in `search_for': Unable to resolve dependency: user requested 'bundler (= 1.16.2)' (Gem::UnsatisfiableDependencyError)
      from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:283:in `block in sort_dependencies'
      from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:277:in `each'
      from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:277:in `sort_by'
      from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:277:in `with_index'
      from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:277:in `sort_dependencies'
      from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb:52:in `block in sort_dependencies'
      from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb:69:in `with_no_such_dependency_error_handling'
      from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb:51:in `sort_dependencies'
      from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:165:in `initial_state'
      from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:106:in `start_resolution'
      from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:64:in `resolve'
      from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb:42:in `resolve'
      from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:188:in `resolve'
      from /home/deivid/Code/rubygems/lib/rubygems/request_set.rb:396:in `resolve'
      from /home/deivid/Code/rubygems/lib/rubygems/request_set.rb:408:in `resolve_current'
      from /home/deivid/Code/rubygems/lib/rubygems.rb:243:in `finish_resolve'
      from /home/deivid/Code/rubygems/lib/rubygems/rdoc.rb:13:in `<top (required)>'
      from /home/deivid/Code/rubygems/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
      from /home/deivid/Code/rubygems/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
      from /home/deivid/Code/rubygems/lib/rubygems/test_case.rb:1563:in `<top (required)>'
      from /home/deivid/Code/rubygems/test/rubygems/test_bundled_ca.rb:2:in `require'
      from /home/deivid/Code/rubygems/test/rubygems/test_bundled_ca.rb:2:in `<top (required)>'
      from /home/deivid/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/rake_test_loader.rb:15:in `require'
      from /home/deivid/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/rake_test_loader.rb:15:in `block in <main>'
      from /home/deivid/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/rake_test_loader.rb:4:in `select'
      from /home/deivid/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/rake_test_loader.rb:4:in `<main>'
    rake aborted!
    Command failed with status (1)

    Tasks: TOP => test
    ```

    Now the explanation of the error:

    * Rubygems base `TestCase` class requires `bundler` because some tests
    use `bundler`:
    https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/lib/rubygems/test_case.rb#L26

    * That `require` (our custom rubygems require) would activate the
    default bundler spec (1.16.1 for ruby 2.4.4) but then overwrite it with
    a 1.16.2 version (the locally provided bundler those days) due to [this
    old
    hack](https://github.com/rubygems/bundler/blob/9f7bf0ac3ab8d995e3a274cec3c292a5203f4534/lib/bundler/version.rb#L7-L23).

    * Rubygems base `TestCase` class requires `rubygems/rdoc`:
    https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/lib/rubygems/test_case.rb#L1536

    * And that file ends up calling `Gem.finish_resolve`:
    https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/lib/rubygems/rdoc.rb#L13

    * `Gem.finish_resolve` adds the currently loaded specs to the
    resolution:
    https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/lib/rubygems.rb#L235

    * That means it would try to resolve bundler 1.16.2, but no
    specification for that version was installed since the default was
    1.16.1. That explains why upgrading to rubygems 2.7.7 fixed the issue,
    since it provided bundler 1.16.2 by default so there was not bundler
    version discrepancy.

    After understanding the error, I conclude that:

    * Only this part of the original patch was actually needed to resolve
    the error, not any of the changes in `Gem::Specification.stubs` and
    `Gem::Specification.stubs_for`:

    ```diff
    diff --git a/lib/rubygems/test_case.rb b/lib/rubygems/test_case.rb
    index f1cd3d274c..92c848e870 100644
    --- a/lib/rubygems/test_case.rb
    +++ b/lib/rubygems/test_case.rb
    @@ -13,6 +13,15 @@ else
       require 'rubygems'
     end

    +# If bundler gemspec exists, add to stubs
    +bundler_gemspec = File.expand_path("../../../bundler/bundler.gemspec", __FILE__)
    +if File.exist?(bundler_gemspec)
    +  Gem::Specification.dirs.unshift File.dirname(bundler_gemspec)
    +  Gem::Specification.class_variable_set :@@stubs, nil
    +  Gem::Specification.stubs
    +  Gem::Specification.dirs.shift
    +end
    +
     begin
       gem 'minitest'
     rescue Gem::LoadError
    ```

    So, I propose to revert adding loaded specification to
    `Gem::Specification.stubs` and `Gem::Specification.stubs_for` because I
    think it's safe, it fixes the issues caused by their addition, and it
    simplifies `Gem::Specification` code, which is already complicated
    enough.

    https://github.com/rubygems/rubygems/commit/5269cd617c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 46462200afef55fd21b72ad1ff745739b085a793
  Author: Vít Ondruch <vondruch@redhat.com>
  Date:   2019-08-27 20:16:27 +0900

    [rubygems/rubygems] Test that two calls to `stub_for` returns the same (cached) instance.

    https://github.com/rubygems/rubygems/commit/00b3f55562

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit acc86570dd8cc1920d1c55da7836d6c60d98a6d5
  Author: Vít Ondruch <vondruch@redhat.com>
  Date:   2019-04-02 17:52:44 +0900

    [rubygems/rubygems] Let `@@stubs_by_name` to be incrementally populated again.

    Originally, the call to `.stubs_for` allowed to incrementally populate
    the `@@stubs_by_name` (especially see the `"#{name}-*.gemspec"` pattern
    in 4fa03bb7aac9f25f44394e818433fdda9962ae8d). Now it looks like it
    expects that all stubs are loaded, but the `.stubs_for` still matches
    the .gemspec files by the `name` pattern:

    https://github.com/rubygems/rubygems/blob/6d45e0f7ac1caca22900e39f703e226c4cfdebf7/lib/rubygems/specification.rb#L845

    I think this was done by mistake incrementally by PR #1239 and
    4cee8ca9199ac7b3ab8647e0b78615f55d3eb02b. I think the best option is to
    get back to the original implementation, to let RubyGems incrementally
    populate the array. Other option would be to replace the logic in
    `.stub_for` by call to `.stubs`, but the means the performance
    improvement from the original commit was lost.

    https://github.com/rubygems/rubygems/commit/4d0e18185a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 15a4b7d7693891831cd956def7108481aa86ddb2
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-05 18:49:35 +0900

    [rubygems/rubygems] Remove unnecessary code

    This list of exceptions is no longer rescued since
    1f03275ff3faa1c808d3a3b89ef5db62dc2eb2ba.

    https://github.com/rubygems/rubygems/commit/6e71e7be67

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit c832e3faa48d8673af80391b2b6bec4a461455b0
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-30 05:05:40 +0900

    [rubygems/rubygems] Require open3 before using it

    Otherwise if this test file is run in isolation, this test will fail.

    https://github.com/rubygems/rubygems/commit/79da003948

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 5df6082786ac12d5e5dddfa326ca9544cd4913bf
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-05 22:31:10 +0900

    [rubygems/rubygems] Improve gzip errors logging

    By default, the `Zlib::GzipFile::Error` does not include the actual data
    that was not in gzip format that caused the error.

    However, its `#inspect` method includes it.

    I think this can be helpful to troubleshoot errors.

    https://github.com/rubygems/rubygems/commit/11c8717133

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit b24f7dbcfd605b41e7b510488e30832bd8a1a9ea
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2020-03-27 08:14:19 +0900

    [rubygems/rubygems] Update util.rb

    Remove unused module variable.
    https://github.com/rubygems/rubygems/commit/98135bb3d8

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 0e195c82c172465b15495da1cddaf1fee31c26ad
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-04 20:08:29 +0900

    [rubygems/rubygems] Remove old `gauntlet_rubygems` file on rubygems upgrade

    The file was removed at
    https://github.com/rubygems/rubygems/commit/65b709b095b8354ac2620d1a5d7d537e539f6498,
    shipped with rubygems 2.6.5.

    https://github.com/rubygems/rubygems/commit/739159a120

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit c982c5efac3985e989c02d10b8bc834b902c6e5c
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-11 04:38:30 +0900

    [rubygems/rubygems] Skip flaky tests on jruby

    I believe these are most certainly due to a problem outside of rubygems.
    I'm skipping these at least until webrick officially supports jruby
    (defining "officially" as "webrick's CI passes on jruby").

    https://github.com/rubygems/rubygems/commit/4fca025358

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit ce88e2a8aa29559ee4d785ee6d77194bbe1ff83f
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-01 20:35:09 +0900

    [rubygems/rubygems] Suppress warnings coming from `jar-dependencies`

    This is a default gem on jruby, which ships with a rubygems plugin,
    which prints warnings all over the place during our tests.

    This plugin is unnecessary from our tests, so I disable it through the
    `JARS_SKIP` environment variable provided by this gem.

    https://github.com/rubygems/rubygems/commit/0aabbcf269

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 314d7f897ca02c173fa0e3b3e36c69482f71a358
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-25 21:09:24 +0900

    Remove `builder` gem requirement for `gem regenerate_index`

    This requirement was introduced 14 years ago in
    7ce7039b390440754954df5efea619e9f57ef823, and I don't think it's
    necessary anymore. I made several tests introducing UTF-8 characters in
    gemspec files and generating indexes out of them, and couldn't find any
    issues. Gemspecs are read with UTF-8 encoding these days.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit b5a0db8be0086f2d245fd77fd48f89e359d71312
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-27 20:18:35 +0900

    [rubygems/rubygems] Remove unnecessary code from remote fetcher tests

    This code is not necessary and has the bad side effect of causing
    test failures in cascade once a single test inside the file fails.

    See https://github.com/rubygems/rubygems/runs/538978838 for an example.

    https://github.com/rubygems/rubygems/commit/2291d32915

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit a433b82f13f83a83c0522e604ffe42f3f7f3b64d
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-03 02:45:43 +0900

    [rubygems/rubygems] Now `Dir.tmpdir` is fixed and there's never such a folder

    https://github.com/rubygems/rubygems/commit/44ebbded12

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 2efe741902301a6185d7ee1eff91d53b1d527302
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-03 02:43:21 +0900

    [rubygems/rubygems] Use a local temporary directory

    To make tests more deterministic, since `Dir.tmpdir` sometimes will
    return the current directory dependending on the writability of other
    paths, and in that case since the current directory is changed by our
    tests, tests can fail.

    Force a local tmp folder instead, which will always be writable.

    https://github.com/rubygems/rubygems/commit/3e522bac65

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit fca24dd12174a61ce9b01c23db90c63997fae1e8
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-03 02:14:04 +0900

    [rubygems/rubygems] No longer necessary

    Fixed in
    https://github.com/ruby/ruby/commit/45df1c24d269f93a2bc1e7a6fe0ffcecc1193051,
    released with ruby 2.3

    https://github.com/rubygems/rubygems/commit/f8f67f3952

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 7fb694fdb0fb56f8e2b3bf800c5f7117f0400f0d
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-04-27 02:55:37 +0900

    [rubygems/rubygems] Show gemspec location when a Gem::MissingSpecError is raised while trying to activate a gem

    https://github.com/rubygems/rubygems/commit/4da54a8e8b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit b454b4e3107921348bc13f8c024239f82965ed4a
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-04-27 02:54:32 +0900

    [rubygems/rubygems] Make MissingSpecError accept an extra error message

    https://github.com/rubygems/rubygems/commit/b23d2421df

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 4a417b08aeaf296238059e6abdb465c324073e15
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-30 04:45:39 +0900

    [rubygems/rubygems] Fix incorrect bundler version being required

    In ruby 2.7.0, there's a slight change in bundler's default gemspec file
    where the executable folder of the bundler gem is `libexec` instead of
    `exe`. I made that change in https://github.com/ruby/ruby/pull/2380 to
    try to simplify the integration of the `bundler` gem with upstream,
    minimizing the number of changes that need to be made to the gemspec to
    adapt to the structure of ruby-core.

    That worked ok, expected for this issue. The new name of the folder
    including the executable files uncovered a bug in rubygems, which is the
    following:

    * In order to be able to use newer versions of default gems, `rubygems`
    ships with a customized `require` that has knowledge about which files
    belong to which default gem. If one of these files is required,
    `rubygems` will detect that and activate its gem mechanism to choose the
    newest version of the corresponding default gem present in the system
    (unless a different version has already been activated). It's this part
    of the custom require:

    https://github.com/rubygems/rubygems/blob/ea3e6f194df500b028b52b3b64decbd3df1d5ab0/lib/rubygems/core_ext/kernel_require.rb#L77-L85

    * In order to do that, `rubygems` registers a map of default gems and
    their files when it is first required:

    https://github.com/rubygems/rubygems/blob/ea3e6f194df500b028b52b3b64decbd3df1d5ab0/lib/rubygems.rb#L1247-L1276

    As explained in the method's header, two types of default gem
    specifications are supported. One of the formats is the style used by
    some ruby-core gemspec files, where paths inside the `spec.files` array
    don't include the `spec.require_paths` part. So in this "old style", if
    a gem ships with a `lib/bundler.rb` file, it will be registered in this
    array as `spec.files = ["bundler.rb"]`, not as `spec.files =
    ["lib/bundler.rb"]`. The `Gem.register_default_spec` method "detects"
    this style by making sure that none of the files in the `spec.files`
    array start with any of the `spec.require_paths`.

    * Since in ruby 2.7 the default specification file of the `bundler` gem
    includes a `libexec/bundle` file, this check would no longer work
    correctly, because even though the specification file is still "old
    style", it has one registered file which starts with "lib", one of the
    "require paths" of the gem.

    * This means that the gem is incorrectly detected as "new style", but
    since none of the paths start with "lib/", no files are actually
    registered, so the gem is not being considered a default gem, and thus
    the default version is always used with no possibility of being
    "upgraded".

    The fix of the problem is simple: check that no files start with `lib/`
    (or any other require paths), instead of with "lib" which doesn't
    exclude other potential "non requirable folder" starting with lib, like
    in the `bundler` case.

    https://github.com/rubygems/rubygems/commit/94df740c2b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 8250000187726b161e7491be6653dafeebad59b2
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-30 04:22:34 +0900

    [rubygems/rubygems] Extract logic to a local variable for later reuse

    https://github.com/rubygems/rubygems/commit/dc715888d4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 6e80cabb90cec19db24cf4e19fcd4e65cdf41e70
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-08 17:38:37 +0900

    [rubygems/rubygems] Specify explicit separator not to be affected by $;

    https://github.com/rubygems/rubygems/commit/1cea3d4dce

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 241950b1c546924c54ad9df3d67ba9c4f566c35b
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-27 21:31:26 +0900

    [rubygems/rubygems] Properly look for man pages

    When bundler is installed as a default gem (either by ruby's or by
    rubygems' installer), bundler man pages wouldn't be properly found.

    https://github.com/rubygems/rubygems/commit/0831b40492

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit a453f26b0d47070c661baf7e302469cd8ab486ad
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-28 05:58:35 +0900

    [rubygems/rubygems] Extract a local variable

    https://github.com/rubygems/rubygems/commit/445c9da2ac

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit ece1690105b9e2887eeab36f67ad414049137ae2
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-28 02:27:32 +0900

    [rubygems/rubygems] Install man files when bundler installed as a default gem

    https://github.com/rubygems/rubygems/commit/28d6d77d81

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 64e89713dab469a162d042fbc5c3595116937e8d
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-28 05:23:16 +0900

    [rubygems/rubygems] Extract a `remove_file_list` helper

    https://github.com/rubygems/rubygems/commit/8cc6087590

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit c74d306b22606da28669264f8c449fe697c1fd3f
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-28 05:17:30 +0900

    [rubygems/rubygems] Only need to call helper once

    https://github.com/rubygems/rubygems/commit/6ddbf5bcab

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit d2087f1cde7810c76f6eb94553a24f760636e72c
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-28 05:16:16 +0900

    [rubygems/rubygems] Extract an `install_file_list` helper

    https://github.com/rubygems/rubygems/commit/5106ea4582

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 41b288476ee62b032f89ea4f353f638b88de2c95
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-28 05:13:21 +0900

    [rubygems/rubygems] Move helper to private section

    https://github.com/rubygems/rubygems/commit/fb824b7a81

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 5400811db94361ba20e2e2467a77b75355c232e9
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-28 04:37:03 +0900

    [rubygems/rubygems] Refactor dummy file creation

    https://github.com/rubygems/rubygems/commit/665099fe53

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 74867e2dc1b68ca7831876991c6f34c6309e018d
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-28 04:29:40 +0900

    [rubygems/rubygems] Fix super weird code style

    https://github.com/rubygems/rubygems/commit/f1a5815896

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit ed1e4504a42726ba574dcc3ced0888c36730cf2f
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-28 04:25:58 +0900

    [rubygems/rubygems] Follow the pattern of other test files for foo.pem

    https://github.com/rubygems/rubygems/commit/a43cffddad

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 1090456370639100cc74983945a51fcc73c54869
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-28 02:19:35 +0900

    [rubygems/rubygems] Move helper methods to private section of the test file

    https://github.com/rubygems/rubygems/commit/b85db66e2d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit d59b92221df2188006f0323aa8af969676728ead
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-28 01:49:13 +0900

    [rubygems/rubygems] Rename method to clarify

    https://github.com/rubygems/rubygems/commit/6dc76146ad

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 53b548f4384f1efb647baf9fc3290dc673e05403
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2019-12-22 03:37:04 +0900

    [rubygems/rubygems] Install existing gems as regular gems

    https://github.com/rubygems/rubygems/commit/a0880d78a8

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 6438c5848d1f663ecd135903a2a323d6d6006838
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2019-12-22 03:55:20 +0900

    [rubygems/rubygems] Remove misleading comments

    `site_dir`, or `vendor_dir`, is the location where the default version
    of bundler & rubygems gets installed. These folders are placed directly
    in the LOAD_PATH, so they cannot hold any nested gem directory
    structure. So a single copy of either rubygems or bundler can be placed
    in these folders.

    What the tests are actually testing is the TODO comment that I'm
    removing: that installing the default copy of bundler doesn't affect any
    already installed copies of bundler as regular gems.

    https://github.com/rubygems/rubygems/commit/7ca8831d72

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 373d01bb7d136ba514ca5c65298b0196f39d0569
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2019-12-22 03:14:21 +0900

    [rubygems/rubygems] Remove unnecessary line

    https://github.com/rubygems/rubygems/commit/1d0981809a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 0d7e0eb2faa282e0c15faa60c62992ca5452e228
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-02 19:37:57 +0900

    [rubygems/rubygems] Prefer `tr` to `gsub` when replacing path separators

    This is not detected by the `Performance/StringReplacement` cop, I guess
    because of using constants. But still seems like a good change.

    Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com>

    https://github.com/rubygems/rubygems/commit/f862103133

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit de57d3895ef6eb681c12a27720e7c185a22023d7
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-02 19:22:42 +0900

    [rubygems/rubygems] Shortcuit method earlier

    If the class variable is set, we can skip the whole thing from the
    beginning.

    Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com>

    https://github.com/rubygems/rubygems/commit/83abf3a3d4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit c58d69e6982b2261f0533e846de4c54d04a1f293
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-02 19:02:53 +0900

    [rubygems/rubygems] Condense some artificially broken lines

    Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com>

    https://github.com/rubygems/rubygems/commit/5f390478c7

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit a49a131163dc9f7ef2176e8ea5394e934fd0c768
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-05-02 19:00:18 +0900

    [rubygems/rubygems] Extract `gem_make_out` contents to a variable

    Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com>

    https://github.com/rubygems/rubygems/commit/5f2b7474eb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit b1541606a28872327716243a5b31706c0c2e3c22
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-05 20:42:08 +0900

    [rubygems/rubygems] Fix incorrect `gem uninstall --all` message

    Currently `gem uninstall --all` shows the following incorrect message
    after completion:

    ```
    INFO:  Uninstalled all gems in
    ```

    Now it shows something that actually makes sense like:

    ```
    INFO:  Uninstalled all gems in /home/deivid/Code/rubygems/tmp/test_rubygems_6986/gemhome
    ```

    https://github.com/rubygems/rubygems/commit/8fa05e8f8c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 22030fe508603652c3c3e975f3927859dc4fa85c
  Author: Thomas McDonald <thomasm@palantir.com>
  Date:   2020-04-29 00:44:45 +0900

    [rubygems/rubygems] Refactor duplicate metadata logic

    https://github.com/rubygems/rubygems/commit/1e5ef177ac

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 856f2f31ffebd070405821dd41fca9c67fd5cced
  Author: Thomas McDonald <thomasm@palantir.com>
  Date:   2020-04-29 00:37:59 +0900

    [rubygems/rubygems] Remove unnecessary code

    `@host` _could_ be `nil` at this point, but only if all the conditions
    above for setting `@host` were `nil`. In that case, it is guaranteed
    to `default_gem_server` metadata is `nil` since it's one of the
    branches in that condition. So this code would just be setting an
    already `nil` variable to `nil`. Hence, not needed.

    https://github.com/rubygems/rubygems/commit/e3ccff3c5c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 12ac0fa9396d08899cc3efdd7398f71b618ba9a0
  Author: Thomas McDonald <thomasm@palantir.com>
  Date:   2019-07-04 23:30:15 +0900

    [rubygems/rubygems] Simplify host switching logic

    This block was a branch and variable heavy way of saying use the
    user-provided host if available, or fall-back to the default host if
    none of the other options match. IMO the resultant single-if condition
    is clearer in intentions

    https://github.com/rubygems/rubygems/commit/42dbb71cfa

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit acb793b71c2465c2cc527393eab57fe29f53f665
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-24 06:22:32 +0900

    [rubygems/rubygems] Make cmake tests less verbose on jruby

    These tests work on jruby, but the flags to the system command used to
    detect whether `cmake` is present seem to be ignored on jruby and the
    output is printed to screen instead of being sent to /dev/null. This
    results in very verbose tests, like this:

    ```
    $ rake TESTOPTS=--name=TestGemExtCmakeBuilder#test_self_build
    (... warnings skipped ...)
    Skipping `gem cert` tests on jruby.
    Skipping Gem::Security tests on jruby.
    Run options: --name=TestGemExtCmakeBuilder#test_self_build --seed 16839

    # Running:

    /home/deivid/Code/rubygems/test/rubygems/test_gem_ext_cmake_builder.rb:13: warning: system does not support options in JRuby yet: {:out=>"/dev/null", :err=>[:child, :out]}
    Usage

      cmake [options] <path-to-source>
      cmake [options] <path-to-existing-build>

    Specify a source directory to (re-)generate a build system for it in the
    current working directory.  Specify an existing build directory to
    re-generate its build system.

    Run 'cmake --help' for more information.

    .

    Finished in 0.387301s, 2.5820 runs/s, 20.6558 assertions/s.

    1 runs, 8 assertions, 0 failures, 0 errors, 0 skips
    Coverage report generated for Unit Tests to /home/deivid/Code/rubygems/coverage. 2258 / 8832 LOC (25.57%) covered.
    ```

    By using `Open3`, we get the test output clean:

    ```
    $ rake TESTOPTS=--name=TestGemExtCmakeBuilder#test_self_build
    (... warnings skipped ...)
    Skipping `gem cert` tests on jruby.
    Skipping Gem::Security tests on jruby.
    Run options: --name=TestGemExtCmakeBuilder#test_self_build --seed 22605

    # Running:

    .

    Finished in 0.381959s, 2.6181 runs/s, 20.9446 assertions/s.

    1 runs, 8 assertions, 0 failures, 0 errors, 0 skips
    Coverage report generated for Unit Tests to /home/deivid/Code/rubygems/coverage. 2258 / 8832 LOC (25.57%) covered.

    ```

    https://github.com/rubygems/rubygems/commit/531ce37ea3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 676d816ef1fa55bae2b5020782ba47284748383b
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-09 04:14:27 +0900

    [rubygems/rubygems] Refactor ruby command line building for tests

    https://github.com/rubygems/rubygems/commit/43819b6973

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 163539434701235b46ad14e10d573c0b85cb6b50
  Author: Brandon Fish <brandon.j.fish@oracle.com>
  Date:   2020-04-09 02:18:21 +0900

    [rubygems/rubygems] Update test_realworld_default_gem to use rubygems project sources

    https://github.com/rubygems/rubygems/commit/7506f7eb07

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 90427875085f480c4c8e02d4252804cac29d7aaa
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-09 04:10:33 +0900

    [rubygems/rubygems] Remove unnecessary `@@ruby` variable

    https://github.com/rubygems/rubygems/commit/5f20647ec1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit c6979feb02385d84c3268fd44690282e53ac61ce
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-09 03:59:24 +0900

    [rubygems/rubygems] Remove unneeded explicit requires

    https://github.com/rubygems/rubygems/commit/583316bf49

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit df39476a122135de458d614dec7ad34ef05ebdc3
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-09 03:58:32 +0900

    [rubygems/rubygems] Remove unneeded dups

    https://github.com/rubygems/rubygems/commit/2f072e3dc7

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit fd5e4ca41fe727d28ad8a6919f2feb342e6b9342
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-09 03:56:29 +0900

    [rubygems/rubygems] Remove unneeded untainting

    https://github.com/rubygems/rubygems/commit/ff223d8489

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 1039c32de6ac27400b2cc9eca2b0cd382ddcfbdd
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-28 02:31:51 +0900

    [rubygems/rubygems] Simplify nested require exceptions

    https://github.com/rubygems/rubygems/commit/7fbef2f0e3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 43daf4d288926c90af716ff0d8306501fd1b3a13
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-24 01:51:45 +0900

    [rubygems/rubygems] Fix ruby warning about unused local variables

    https://github.com/rubygems/rubygems/commit/cca2fccd95

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 2ece4d96f093c8526f86f5efb164e12a0897a325
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-24 01:51:20 +0900

    [rubygems/rubygems] Fix ruby warnings about a shadowed variable

    https://github.com/rubygems/rubygems/commit/5cfb3252d9

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit a0c4d14acfa17877d6c1d58e5960513f152b493c
  Author: Josef Šimánek <josef.simanek@gmail.com>
  Date:   2020-04-19 07:50:28 +0900

    [rubygems/rubygems] Fix symlink RubyGems test problems for non-admin user.

    https://github.com/rubygems/rubygems/commit/75f672ff0e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 3315ce69044b511c7fe5d462985756a7948e95d1
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-26 05:22:00 +0900

    [rubygems/rubygems] Fix race condition on bundler's parallel installer

    When installing in parallel, bundler creates several `Gem::Installer`
    instances that run in parallel. These installers access the `@@all` class
    variable of `Gem::Specification` concurrently.

    If a concurrent thread calls `Gem::Specification.reset` (resetting
    `@all` to `nil`) while another thread is running
    `Gem::Specification._all` or another method that expects `@@all` to be
    loaded and not `nil`, that can result in `Enumerable` methods being
    called on `nil`, resulting in crashes.

    I fix it by protecting the other concurrent access to the `@all`
    variable.

    https://github.com/rubygems/rubygems/commit/58b343c530

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 03fe7da186ff239a3cebaca3f2ce1e1c4b7d243f
  Author: Dmytro Shyrshov <shirshov.dmitriy@gmail.com>
  Date:   2020-02-21 05:07:40 +0900

    [rubygems/rubygems] Allow spaces in file headers during octal check

    https://github.com/rubygems/rubygems/commit/e9e25731d8

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3092

commit 7574b836a96fe4716ee40c920aa21ceb9530e733
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-05-08 07:52:29 +0900

    Add T_IMEMO support to lldb

    I'm trying to find why a reference to an IMEMO object isn't being
    updated

commit ce91c5615ca96f357519043181fb5b76b57ee223
  Author: Peter Zhu <peter@peterzhu.ca>
  Date:   2020-05-08 06:05:46 +0900

    Fix typo in test name

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3091

commit 427eb2b93ff10860668bb3864746aa8720a494e2
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-11 05:09:41 +0900

    [rubygems/rubygems] Remove unnecessary DIR constant

    We have `__dir__` which is the same thing.

    https://github.com/rubygems/rubygems/commit/f89776427f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 1ede0c15a1adda6ec523a7a3b0c58bcd0603cef0
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-11 04:59:13 +0900

    [rubygems/rubygems] Move stuff to the instance level

    I don't know why it was living at the class level. At first I thought it
    would be to reuse some server instances between tests, but they seem to
    be cleaned up after every test anyways, so I don't think any of it is
    needed.

    https://github.com/rubygems/rubygems/commit/04bee71216

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 0b40279d7dcd741ee8401f6b5fd2edbd431ea0c4
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-21 01:32:51 +0900

    Normalize heredoc case in rubygems code base

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 2205ae8af5928c97a28f281f029bb3be290bf010
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-17 01:56:20 +0900

    Normalize heredoc delimiters

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 31663e9e64b538087e90466d98e61f1fba6ca8a0
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-03-13 21:52:40 +0900

    [rubygems/rubygems] These specs seem to work just fine on jruby

    https://github.com/rubygems/rubygems/commit/a0219b9f27

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit fe2b83e2250158e69933c703f3a6666ebf1ac721
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-04-08 01:09:13 +0900

    [rubygems/rubygems] Fix platform comparison bug in #contains_requirable_file?

    * One should not compare RUBY_ENGINE and Gem::Platform.
    * Introduced in https://github.com/rubygems/rubygems/pull/2672

    https://github.com/rubygems/rubygems/commit/0e62c3be91

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 1464719f5feabaa237902e59f482792641901c1a
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-04-06 02:58:29 +0900

    [rubygems/rubygems] Only run the $SAFE test on MRI < 2.7

    * Other Ruby implementations don't support $SAFE.

    https://github.com/rubygems/rubygems/commit/9a4ba16efa

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit bb3d80bbbe0603e9f9689a96c7ce86682053b4dd
  Author: Olle Jonsson <olle.jonsson@gmail.com>
  Date:   2020-03-16 15:36:41 +0900

    [rubygems/rubygems] Autoload name_tuple.rb before use

      - Resolver asked Molinillo to resolve-then-activate, which led to using Gem::NameTuple before any require had been passed

    Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>

    https://github.com/rubygems/rubygems/commit/e11782b0c8

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 39322317f3442e71a997503059fb644f31e0ea3e
  Author: Josef Šimánek <josef.simanek@gmail.com>
  Date:   2020-04-23 16:03:11 +0900

    [rubygems/rubygems] Do not use set.

    https://github.com/rubygems/rubygems/commit/1a72c8796f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 832a7b04589578b52297db6a9943e0c6c003fbfc
  Author: Josef Šimánek <josef.simanek@gmail.com>
  Date:   2020-04-20 01:16:41 +0900

    [rubygems/rubygems] Add gem build test to check for removed methods.

    https://github.com/rubygems/rubygems/commit/c07b9cf4f1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 856cbbdd52eaafd27c21a8f4dea7e89373667694
  Author: Josef Šimánek <josef.simanek@gmail.com>
  Date:   2020-04-20 00:43:31 +0900

    [rubygems/rubygems] Track removed methods calls and warn during build time.
    move rubyforge_project= to removed methods

    https://github.com/rubygems/rubygems/commit/223f7fd470

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 4dd46dbad046c0c5902f0217243c3207dbb274b5
  Author: Josef Šimánek <josef.simanek@gmail.com>
  Date:   2020-04-11 01:58:04 +0900

    [rubygems/rubygems] Deprecate rubyforge_project attribute only during build time.

    https://github.com/rubygems/rubygems/commit/c44eb21648

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 60cafe8ea95cd86bbb7099aaddb934bee3a13781
  Author: Josef Šimánek <josef.simanek@gmail.com>
  Date:   2020-04-21 19:46:04 +0900

    [rubygems/rubygems] Revert deprecation of deprecate method for now.

    https://github.com/rubygems/rubygems/commit/965eee1741

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 0e85a39dc70328641c3155f66568feedbe6dd15f
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-04-19 23:18:29 +0900

    [rubygems/rubygems] Restore and deprecate old deprecate method

    https://github.com/rubygems/rubygems/commit/024267fa60

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 7db538a7c92bcbcccb97d2ffcf505bee4d85e7d3
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-04-19 22:41:54 +0900

    [rubygems/rubygems] Rename version horizon deprecation methods

    https://github.com/rubygems/rubygems/commit/6afd914fda

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 361ed8d0a65df513f527c62539abb71b4c34a006
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-03-31 09:41:23 +0900

    [rubygems/rubygems] Avoid "ambiguous first argument" warning

    https://github.com/rubygems/rubygems/commit/984bb9b815

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 80163db93662aa112d011f8fff8c17a1370538b4
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-03-31 09:40:27 +0900

    [rubygems/rubygems] Add next_rubygems_major_version method

    https://github.com/rubygems/rubygems/commit/db5bb65baf

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit ff37dd7e9e80e7b8882f24b0e56c69674fb7bdb0
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-03-29 09:11:40 +0900

    [rubygems/rubygems] Modify files to use new version horizon deprecations

    https://github.com/rubygems/rubygems/commit/4fe5bb5bf3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 42c91de9ce97556a9be2c702f317cf1d6107bc03
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-03-29 08:46:20 +0900

    [rubygems/rubygems] Use the next major version as default for deprecations

    https://github.com/rubygems/rubygems/commit/b679ab27af

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit feb297400039e18637f31b8972eb3616d9bc9287
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-03-28 12:43:21 +0900

    [rubygems/rubygems] Remove deprecation methods by date

    https://github.com/rubygems/rubygems/commit/3a14635cf5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit a7a7e7bea0183b0f7a21ffd60010563a97cf67e9
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-03-23 09:37:38 +0900

    [rubygems/rubygems] Make the deprecate_command method receive a Rubygems version instead of a date

    https://github.com/rubygems/rubygems/commit/bf95b1de78

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 2f7865bb6e9eaadb86f159c220478adc73883a90
  Author: bronzdoc <lsagastume1990@gmail.com>
  Date:   2020-03-23 09:34:19 +0900

    [rubygems/rubygems] Make the deprecate method receive a Rubygems version instead of a date

    https://github.com/rubygems/rubygems/commit/f0e098a1b7

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 1fe2b7f41caf1868917bab5e698d25dae2bce85b
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-05-07 20:19:42 +0900

    Workaround for Minitest5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 7050f86ae16c957d662afc0e1b3e15369816cce9
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-30 21:38:24 +0900

    [rubygems/rubygems] Removed deprecated methods for Minitest5

      It was migrated on ruby core repository too.

      https://github.com/ruby/ruby/commit/e5db3da9d34f0a7595208863301c044b612adbed

    https://github.com/rubygems/rubygems/commit/848bbe3c76

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit e29c94e86b4b8cce4438099efd00473b880677e8
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-30 13:46:22 +0900

    [rubygems/rubygems] Minitest::Test is works fine with the ruby core repository

    https://github.com/rubygems/rubygems/commit/afa01a29a3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 3041e2626d6fd488c48106b57e378017ded678b7
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-30 12:18:41 +0900

    [rubygems/rubygems] Revert https://github.com/rubygems/rubygems/pull/3445

      These changes completely broke the test suite on ruby core repository.

    https://github.com/rubygems/rubygems/commit/84b0bea3e1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 3256480317177a2cfd31cfa2c5ecf45dd8c1cc44
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-27 19:24:38 +0900

    [rubygems/rubygems] Don't swallow gem activation exception

    Our tests are now guaranteed to not work on older versions of minitest,
    so I don't think we should swallow this activation error because it will
    make it very clear for the user what the problem is if she has a
    minitest version not satisfying the requirement.

    https://github.com/rubygems/rubygems/commit/a291b65369

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 2396f703cf45e9fddb4f699b7866ea181c46c159
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-27 18:26:27 +0900

    [rubygems/rubygems] Update minitest version in `Gem.install` docs

    https://github.com/rubygems/rubygems/commit/aec3887d9c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit b8ef5ed8bd829c515cf0ebf1a7ebcaa77a520c86
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-27 18:20:31 +0900

    [rubygems/rubygems] Remove minitest compatibility code

    https://github.com/rubygems/rubygems/commit/24213b97d8

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit f4022f943db921522fd833913251ca176832cee7
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-27 18:05:28 +0900

    [rubygems/rubygems] [rubygems/rubygems] Require minitest `~> 5.13`

    https://github.com/rubygems/rubygems/commit/f2cc5d7033

    https://github.com/rubygems/rubygems/commit/ae5b4e2043

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit b72c56681ee9f7df26e485da413349d9628402e9
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-27 18:22:21 +0900

    [rubygems/rubygems] Use newer module Minitest name

    https://github.com/rubygems/rubygems/commit/2890622479

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3087

commit 56c6d520a06c9bb502660e666358f89fe676860f
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-05-08 06:19:08 +0900

    Add T_MOVED support to lldb

commit 2d27632c3c6a0a6a3be5a27f1ec8b1061fcb370e
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-05-08 02:15:35 +0900

    Add compaction support for backtrace objects

    This just introduces compaction support for backtrace objects.

commit ff4f9cf95d73cc2730949df583bf0e41702d7aae
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-05-08 02:07:57 +0900

    Allow global variables to move

    This patch allows global variables that have been assigned in Ruby to
    move.  I added a new function for the GC to call that will update
    global references and introduced a new callback in the global variable
    struct for updating references.

    Only pure Ruby global variables are supported right now, other
    references will be pinned.

commit 7ded8fd29a9dc5c481cadff7e94079009bce9e6c
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-05-08 01:22:38 +0900

    Fix a typo [ci skip]

commit cbe4f75ef802f13d05f94e42274b65a062bd3666
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-05-07 01:49:25 +0900

    Fix rb_profile_frame_classpath to handle module singletons

    Right now `SomeClass.method` is properly named, but `SomeModule.method`
    is displayed as `#<Module:0x000055eb5d95adc8>.method` which makes
    profiling annoying.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3084

commit 00698f26a9141d6226635d3c53761ef03dd8ed6b
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-05-07 07:52:37 +0900

    `T_MOVED` should never be pushed on the mark stack

    No objects should ever reference a `T_MOVED` slot.  If they do, it's
    absolutely a bug.  If we kill the process when `T_MOVED` is pushed on
    the mark stack it will make it easier to identify which object holds a
    reference that hasn't been updated.

commit 1084b679bd793b98ee75cb8b2bbbc664998f041f
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-08 00:19:54 +0900

    Restore the external and internal encodings of STDIN, STDOUT, and STDERR

    IRB::ReadlineInputMethod#initialize changes them via IRB.set_encoding.

commit 3b147c421368825ab3ff69dd78d10d7f7db0765e
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-08 00:15:01 +0900

    test/irb/test_cmd.rb: clear IRB.@CONF on setup

    It caches a path to .irbrc file, which has caused random failure:

    ```
      1) Failure:
    TestIRB::ExtendCommand#test_irb_info_multiline [/home/mame/work/ruby/test/irb/test_cmd.rb:49]:
    Expected /
            Ruby\sversion: .+\n
            IRB\sversion:\sirb .+\n
            InputMethod:\sReidlineInputMethod\swith\sReline .+ and .+\n
            \.irbrc\spath: .+
          /x to match "Ruby version: 2.8.0\n" +
    "IRB version: irb 1.2.3 (2020-02-15)\n" +
    "InputMethod: ReidlineInputMethod with Reline 0.1.4 and /tmp/test_reline_config_155659/.inputrc\n".
    ```

commit 00a3b8f73054836f2f9be6c25210ba49a5b9b105
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-08 00:13:53 +0900

    * 2020-05-08 [ci skip]

commit 22b1e824d736d394c9efaabf882e9a6110135a57
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-05-08 00:12:48 +0900

    Check encodings of STDIN,STDOUT,STDERR too

commit f38c641994265a87a0380752dbc670937094be42
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-29 16:15:43 +0900

    LEGAL: add legal situation of parse.h [ci skip]

    There is parse.h apart from parse.c these days.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3082

commit b5db3234d6890f6b8d6d9ac0b95f04f3db9f09fb
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-29 14:58:50 +0900

    LEGAL: add legal situation of ext/pty/pty.c [ci skip]

    This file is not under Ruby's license.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3082

commit 637a11451894daa4cb7087a1919141264fb7657c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-23 14:08:53 +0900

    LEGAL: add legal situation of enc/trans/ucm [ci skip]

    IBM holds their copyrights.  Whether they are free software or not is
    uncler.  But arguably they are, given we have copied them from glibc.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3082

commit 4d3e5ab4c82a1e5ae8aa2e7d97ff70c1d6b7390b
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-21 20:48:51 +0900

    LEGAL: win32/win32.h no longer exists [ci skip]

    The file was moved.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3082

commit 2cc9f4f39ebced7c6040559167f08b28e18a97bf
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-21 20:40:53 +0900

    LEGAL: add missing entries for enc [ci skip]

    Some files were missing.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3082

commit 0501e83233b6f52955b25385b6d778c1b9d33f27
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-21 18:49:59 +0900

    LEGAL: add legal situation of benchmarks [ci skip]

    It is no longer obvious what were the original license of so_*
    benchmarks, because the original was lost.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3082

commit eb10be2c5a65065fddae03eb82ff74475492e11c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-21 21:06:25 +0900

    LEGAL: add legal situation of addr2line.c [ci skip]

    This file includes BSD printf.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3082

commit 8f8358d26fc766cd2bb70318787d6a939edd9377
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-21 18:10:18 +0900

    LEGAL: add legal situation of aclocal.m4 [ci skip]

    FSF holds its copyright.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3082

commit 6300e6d3782e48ea4d41e37a2edc247544e4303a
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-05-07 14:56:08 +0900

    Remove test of ruby-mode.el

    Because ruby-mode.el already removed at f03e68edb80dca962290d1fb3a6d49dabdbb911e

commit a5073c053fd2d5352d098a3747c49ae0cab6451c
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-07 12:25:57 +0900

    Always correct sp on leave cancel

    Even if local stack optimization is not used and values are written to
    VM stack, the stack pointer itself may not be moved properly. So this
    should be always moved on JIT cancellation.

    By the way it's hard to write a test for this because if we try to
    generate an interrupt, it will be a method call and it consumes the
    interrupt by itself on popping a frame.

commit 0244f91e89eb0c3067bb4e15558ecd9e02c49c42
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-07 12:22:46 +0900

    Remove OPT_CHECKED_RUN code

    Now this one is actually not in use because we override entire leave
    definition for JIT.

commit 545d2ab7d2f318007dea6b9370b9e97c9ff36824
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-07 02:58:28 +0900

    leakchecker.rb: try `lsof`

commit ce00fda9254887388b15a3a9ff505d3473cecf57
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-07 02:53:39 +0900

    Suffixed memory leak tests as "memory_leak"

    So that `TEST_EXCLUDES` option in common.mk works.

commit 01e0e4c4732b2019166a45b21fbf2b400554e403
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-07 02:51:58 +0900

    Cut down warm-up loops and gain main/warm-up ratio

commit eb0125957b3c32727a7c199f1f3041c1d2b9a475
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-07 01:51:03 +0900

    Share logically equivalent functions

commit 2273af56db9cd2e676ee74de679c61fb7cf0169b
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-07 02:49:01 +0900

    * 2020-05-07 [ci skip]

commit 1e3c910bfc57e4d8bedb0c8784562e06aa08ae29
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-07 02:47:00 +0900

    Enable OPT_CHECKED_RUN on MJIT for debugging

    Trying to debug errors like
    http://ci.rvm.jp/results/trunk-mjit@silicon-docker/2921397
    http://ci.rvm.jp/results/trunk-mjit@silicon-docker/2894526

commit 46b93175ed9fe061f309fe5538f23dc13aa1de0b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-06 16:06:25 +0900

    Fakes IPSocket.getaddress in the whole method

    To get rid of calling `getaddrinfo`, which may keep FDs
    internally.

commit de3f725978730d16ee51401d40fa75ac12c871a0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-06 14:08:26 +0900

    Makes nil-safe

commit b247ac086e60a6cee99ea1989277c5c66b0541de
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-06 13:13:10 +0900

    Ignore FDs kept by system library

    `getaddrinfo` on macOS seems keeping FDs to query host names
    internally.

commit 7397b9f7867b787280c1a5c955c40bd44fcb8f35
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-06 12:45:01 +0900

    Fixed leaked fds

commit 039a8ef78673f851e39b43980376c2af40d5cbbc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-06 10:09:29 +0900

    leakchecker.rb: search /dev/fd too

    It is more popular than /proc/self/fd.

commit 3a6dad9d8bcd973fc05d19f70702cba486195bc0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-06 09:51:01 +0900

    [DOC] Removed no longer meaningful part [ci skip]

    As now `Object#===` document is separated from `rb_equal`, this note
    no longer makes sense.

commit b0498caa7e92e3f53affb822ba73394624808c98
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-06 09:43:49 +0900

    Removed unnecessary duplicate code

    `rb_equal` may be inlined in `case_equal` and actually same code
    is generated twice.

commit e79e5e0b40d28d0a7eaa06dbfd6b7812bbea2d1e
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-05-06 07:24:29 +0900

    Generalize the explanation of the side effect of the rb_equal() optimization

commit 48d509cefc376df8af0ad0e08a09aecbd78f4f10
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-05-06 07:11:42 +0900

    Document rb_equal() and clarify the relation with Kernel#===

    * Multiple times people have been confused and believed rb_equal()
      called #=== but it does not, it calls #==.
    * This optimization has a subtle side effect for Float::NAN,
      which is now documented.

commit 00a9d697a86325cbc97cc9adc41b0829d21c3ea1
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-05-06 07:09:56 +0900

    Remove redundant check in rb_obj_cmp()

    * rb_equal() already checks using `obj1 == obj2`.

commit 86391a551737a4bafc8f30413da1a02daf58e180
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-06 06:04:39 +0900

    * 2020-05-06 [ci skip]

commit 7bde98125e7f99cab6fe80b59189561bf66fcd0e
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-05-06 06:02:59 +0900

    Improve documentation for Enumerator#next, next_values, peek and peek_values.

    [DOC] [#16829]

commit 77f19d26b9abde74ec03a6d2a51688c49cad20f4
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-05-01 16:36:50 +0900

    Fix gemspec

commit e04418bb16cd99b4a4402e7457d3bdc967284f98
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-05 23:23:39 +0900

    [ruby/uri] Check if DN exists

    https://bugs.ruby-lang.org/issues/16830

    https://github.com/ruby/uri/commit/b4bf8c1217

commit f0b5629c8cc485753ad0af2ed414bc6ae70c629f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-05 13:53:44 +0900

    envutil.rb: Also alias to #name

commit dc13a980654c86f864434f077a4f1001f0d77afd
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-05 05:50:47 +0900

    * 2020-05-05 [ci skip]

commit 5ef019e8afca25442c7c12eea8822d88978141bb
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-05-05 03:33:00 +0900

    Output compaction stats in one loop / eliminate 0 counts

    We only need to loop `T_MASK` times once.  Also, not every value between
    0 and `T_MASK` is an actual Ruby type.  Before this change, some
    integers were being added to the result hash even though they aren't
    actual types.  This patch omits considered / moved entries that total 0,
    cleaning up the result hash and eliminating these "fake types".

commit 5c2508060b79b4299a18d05511d3530ad14b1b7a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-04 18:10:02 +0900

    Bison 3.5.91 now defaults parse.error to "simple"

commit 47720e2255f34ecad49763c66a7ea02a55a3f60a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-04 13:35:38 +0900

    Bison 3.5.91 folds yydestruct function header

commit 6ed7bc83ec077f691e79414fa0a2638ea3edbf7d
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-05-04 13:24:53 +0900

    Fix indentation

commit d6389224da5aac0b36299cc6d968837407fdfe2c
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-05-04 13:17:45 +0900

    Fix pseudo code for NODE_ARYPTN, NODE_HSHPTN

    Due to the change in 3893a8dd42fb3bbd71750648c3c0de118955a6ea,
    there is no longer a need to put true/false.

commit b7e1eda932c74196d58e6b63644200b764b5453e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-04 12:10:04 +0900

    Suppress warnings by gcc 10.1.0-RC-20200430

    * Folding results should not be empty.

      If `OnigCodePointCount(to->n)` were 0, `for` loop using `fn`
      wouldn't execute and `ncs` elements are not initialized.

      ```
      enc/unicode.c:557:21: warning: 'ncs[0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
        557 |  for (i = 0; i < ncs[0]; i++) {
            |                  ~~~^~~
      ```

    * Cast to `enum yytokentype`

      Additional enums for scanner events by ripper are not included
      in `yytokentype`.

      ```
      ripper.y:7274:28: warning: implicit conversion from 'enum <anonymous>' to 'enum yytokentype' [-Wenum-conversion]
      ```

commit 39bd1244b49aa1fcf93d3163bfd97d94b109f2ee
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-04 09:39:57 +0900

    Revert 0776198486 for Solaris debug

    For some reason 0776198486 didn't fail
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200503T230004Z.log.html.gz
    even while it was before 9aa5fe1bf8.

    Anyway, there's no need to keep the change anymore.

commit a8d39a051c3489a04c8088f7fefac56f0e5b7fef
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-04 08:49:30 +0900

    Test no .dSYM on macOS

    I think 9aa5fe1bf89db8cd215b24d8ddfb668714681b83 helps this issue too.

commit 9aa5fe1bf89db8cd215b24d8ddfb668714681b83
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-04 08:15:45 +0900

    Split compile and link for MinGW support

    MinGW test_jit fails with no error message. Perhaps linker flags should
    not be passed when compilation is happening.

    Anyway splitting these stages doesn't matter for performance. So let me
    just split it to fix the issue. Probably this helps Solaris's issue too.

commit 077619848623e9c7f8d6d8041596199115b7fc68
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-04 07:49:48 +0900

    Debug Solaris's MJIT failure

    using -Winvalid-pch

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200501T170004Z.fail.html.gz

commit f72bec2cea313f7a72a6f907f3dd64f766e917f6
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-04 05:58:54 +0900

    Travis s390x-linux is too unstable

    It has caused errors by ENOSPC like
    https://travis-ci.org/github/ruby/ruby/jobs/682520961 too often.

    I cleared all cache of Travis yesterday, but it didn't help it. Until
    somebody figures out how to fix it, let me exclude it from CI status
    reports to avoid false alerts.

commit 41e547e60cffcaaa2a5a9aeb54df3295b8d88426
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-04 00:27:14 +0900

    Fixed constant initializer

    An expression using `static const` value seems not considered as
    `static const` by Visual C.

commit dfbbd94ec171dbf276ccc6d9c5adb6d4e8b347fc
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-04 00:00:54 +0900

    * 2020-05-04 [ci skip]

commit 5b28f01d77aaf02dc3717c986b8b90f8e99b7f5a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-04 00:00:27 +0900

    Make int-pair-to-real conversion more portable

    And utilize more bits even if DBL_MANT_DIG > 53.

commit 5aaa75e7c1f4b7912c10ffdcb1cac581e20eda39
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-05-03 19:28:29 +0900

    Update to ruby/spec@032ee74

commit f646d20aaeb8f02bcd3d0c5c3f5a372da654502a
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-05-03 19:28:27 +0900

    Update to ruby/mspec@d419d0b

commit 4aca078bdae7e1a66f25023cd9baa9a01c289a53
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-03 16:45:18 +0900

    Support cc_added_args again

    This support was accidentally removed in 818d6d33368a396d9cd3d1a34a84015a9e76c5c8.

commit a218cbdf31c30835f5785cdaf3af3f97965b77c4
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-03 16:41:27 +0900

    Skip pdb corruption on Visual Studio 2015 as well

    It turned out that the pdb corruption happens on Visual Studio 2015 as
    well.
    https://ci.appveyor.com/project/ruby/ruby/builds/32602953/job/3gj43q18wqeiy729

commit e0c023d1c8a22533b6cd3a5fa4bbcd4145f635b5
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-03 16:33:56 +0900

    Skip only .dSYM cleanup on macOS

    Fix https://github.com/ruby/ruby/runs/636020145 without skipping too
    many tests.

    It seems that .c -> .o with debug flags and .o -> .so without debug
    flags did not generate .dSYM but now .c -> .so with debug flags seems to
    generate a .dSYM directory. As --jit-debug should not be used by normal
    users, let me skip implementing the removal for now.

commit e49ecaed57181c10bf01e1f84b9eead65a759386
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-03 14:38:19 +0900

    Optimize sin/cos

    GCC/Clang can optimize to calculate `sin(x)` and `cos(x)` at once,
    when the both are closely called on the same argument.

    Similar optimization is possible for `__sinpi(x)` and `__cospi(x)`
    if available, which calculate arguments in radian, i.e.
    `sin(x*M_PI)` and `cos(x*M_PI)` respectively.

commit 8af098b40ee3788f3d13f02298eeecfb52fa0c16
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-03 14:34:46 +0900

    Show unreserved bits only

    `RUBY_FL_SEEN_OBJ_ID` can be set by #object_id.

commit cc6afff006760768feed4d2646a9af1dede4fca6
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-03 13:30:24 +0900

    Avoid infinite times of JIT compaction

    It's to avoid memory leak for actual usage (because they don't get
    unloaded properly), but also for fixing CI timed out due to JIT
    compaction taking too long time on --jit-wait (which runs every time)
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2911601

commit 224f29c8e92094af10bc666c474b81a3545d6adf
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-03 00:09:58 +0900

    spec/ruby/core/process/clock_getres_spec.rb: lax the resolution limit

    Android is Linux, but the clock resolution is 10 milliseconds.
    I think that 1 microsecond is too strict for embedded environment.
    This change laxes the limit to 10 milliseconds.

commit fe2a832acec4aba674fb99538920a8811fe2487c
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-03 00:16:23 +0900

    * 2020-05-03 [ci skip]

commit cfe0e660f4ae7c8366cd8891c00e2eb303857f63
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-03 00:15:56 +0900

    Disable -Wswitch warning when VM_CHECK_MODE

commit 717680f197110c746bbfff599f42aa30d40b4d19
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-03 00:11:47 +0900

    DO NOT CORRUPT TYPE FLAGS

commit 9998161b10c8197a29d304554f3c53d6a9b44354
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-03 00:05:19 +0900

    Fixed missing `should`

commit c2dc52e18bda953a5119c3e34dd5d67a281505c6
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-05-02 23:13:57 +0900

    Rename arguments for ObjectSpace::WeakMap#[]= for clarity

commit e964f67b897706763f390717d8adcdbba1c04f4f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-02 23:15:00 +0900

    append newline at EOF [ci skip]

commit de8b8b609a387a8732bf1f86fb1fc3f0ba22cbd8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-02 22:42:12 +0900

    Command failed to run just fails

    The exact exit status value of command failed to run is not a
    spec, but a platform dependent implementation detail.  Just it is
    not "success".

commit a2be428c5fec31b8adbd5ac087e7637ddf7e54d0
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-05-02 23:08:36 +0900

    Fix ObjectSpace::WeakMap#key? to work if the value is nil

    * Fixes [Bug #16826]

commit c9213aa864fb8527388679c21f1ea8ce129e2f1a
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-05-02 23:03:14 +0900

    Update to ruby/spec@d394dfd

commit a68ddf42879005905176bc38285906fe01707aff
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-05-02 23:03:12 +0900

    Update to ruby/mspec@ee29a34

commit b78fba447ae543664b9dd0a7cede4d2648f63fa9
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-02 22:17:03 +0900

    internal/process.h: forgot to guard "#ifdef HAVE_WORKING_FORK"

commit 91e4e2403e950d06eb49840bdb11409321002847
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-05-02 21:34:10 +0900

    internal/process.h: add a no-warning simple wrapper for fork(2)

    As fork(2) is deprecated, its calls must be guarded by
    `COMPILER_WARNING_IGNORED(-Wdeprecated-declarations)`.
    All usages of fork(2) in process have been alread guarded.  A new call
    to fork(2) was added in ruby.c with f22c4ff359498ab342e4b6d6feb21af6004ee270.
    This caused a build failure on Solaris 11.

    It may hide a bug to guard big code unnecessarily, so this change
    introduces a simple wrapper "rb_fork" whose definition is guarded, and
    replaces all calls to fork(2) with the wrapper function.

commit bb2ca762375d89a9c48abb14c4f79d68f2b49a5a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-02 02:41:15 +0900

    * 2020-05-02 [ci skip]

commit 72c0612c40bc0d9684e870cb93d91ba584a3d35e
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-02 02:40:43 +0900

    Skip Solaris RubyCI TestJIT for now

    to be investigated later
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200501T160004Z.fail.html.gz

commit 28aa5f7fa6d7a37de6a4c348f19cf0a595cc2553
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-01 19:34:24 +0900

    Fixed a message and version guard then moved to the existing block

commit dc3bc425bb7fd505bd7ee45ff88246b528614004
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-01 18:46:09 +0900

    Get rid of -Wgnu-folding-constant errors

    Also renamed as like as a constant.

commit 41bbdd7806edd64e73fbca4bfda396946b694f24
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-01 19:06:49 +0900

    Skip MinGW TestJIT* and macOS TestJITDebug failures

    caused by 818d6d33368a396d9cd3d1a34a84015a9e76c5c8, for now.

    I'll take a look at them tomorrow.

commit e4d3d5ceab25b7315f04f7d32a7940862b7b7946
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-01 18:53:59 +0900

    Stop generating MJIT_PCH include guard

    to fix
    https://ci.appveyor.com/project/ruby/ruby/builds/32577700/job/yh61rom35wt2uv39

    It was for JIT compaction, and we don't support it on mswin.

commit 76d9be9ce9c304f3fd59cee7624dbbcea1d2db39
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-01 14:12:12 +0900

    Get rid of -Wgnu-zero-variadic-macro-arguments errors

    As zero variadic macro argument, `rb_scan_args(argc, argv, "")`
    (or `"0"`), means 0-arity method and should be defined so, that
    case doesn't need to consider.

commit e19f4b3ac0d5b21563a8f864741602e9b6889120
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-01 18:35:18 +0900

    Fix MJIT compiler warnings in clang

commit 90969edf9bfa7cb87c0818f930bb6b548867a99f
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-01 18:12:42 +0900

    Fix a wrong argument of vm_exec on JIT cancel

commit 72aa4dd183921aaf7405d8611af4ca5613bfaf4d
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-01 17:56:04 +0900

    c_file_access_mode should be defined for Windows

    as well. And also unit->c_file doesn't exist in mswin.

    https://github.com/ruby/ruby/runs/635915704

commit 818d6d33368a396d9cd3d1a34a84015a9e76c5c8
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-01 15:58:50 +0900

    Deduplicate functions in compacted JIT code

    to improve code locality.

    Using benchmark-driver/sinatra with 100 methods JIT-ed,

    [Before] 12149.97 rps
    1.3M    /tmp/_ruby_mjit_p31171u145.so

    [After] 12818.83 rps
    260K    /tmp/_ruby_mjit_p32155u145.so

    (VM is 13714.89 rps)

commit 773afeb73d658129ddeb0a89ddb7e2ea49165a1d
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-01 16:46:01 +0900

    Fix a typo

commit 76507bfc3d06984b02e3124cd6557c81af2171cd
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-01 16:45:17 +0900

    Fix matrix spec for 7d360efe92d2db11a4e51820ed2f52de36b3257f

commit 5c8bfad078bf37797256f3214b29c578ac763109
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-01 16:40:21 +0900

    Make sure unit->id is inherited

    to child compile_status

commit 6eed4d1b7474b3ac349089a895c7d5e5dcd5381a
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-05-01 16:22:18 +0900

    [ruby/matrix] v0.3.0

commit 9b5675b325c9d4533e4f3db080cd2aa019068aad
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-05-01 07:04:30 +0900

    [ruby/matrix] Add Matrix#adjoint [#14]

    Patch adapted from Alessandro Minali

commit 07fd6dc49ba87ea2f0732851ec7628a526f3dcbd
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-05-01 06:04:46 +0900

    [ruby/matrix] Optimize Matrix#*

commit 3cb038cc7a9b1e01685a7e8a513e7ac7fb56b112
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-05-01 07:00:47 +0900

    [ruby/matrix] Fix Matrix#orthogonal?

commit 7d360efe92d2db11a4e51820ed2f52de36b3257f
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-05-01 06:49:06 +0900

    [ruby/matrix] Fix Matrix#unitary? [#14]

commit c925cc01c5e8d595449156556416f067b914f6ca
  Author: zverok <zverok.offline@gmail.com>
  Date:   2019-10-26 18:52:08 +0900

    [ruby-matrix] Update docs (nicer rendering, undocumented method)

commit f5ddbba9a233c2d32118507158c5ef451167cfe0
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-01 14:58:07 +0900

    Include unit id in a function name of an inlined method

    I'm trying to make it possible to include all JIT-ed code in a single C
    file. This is needed to guarantee uniqueness of all function names

commit 96837dc9e039d6f8be667f0662f36635df71cbbe
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-01 14:21:45 +0900

    Switch test_unload_units_and_compaction on mswin

    because we don't support JIT compaction on it

commit e8a78d7df899291aa025e41207436a450235a4d7
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-05-01 13:37:55 +0900

    Do not stop the world during JIT compaction

    Running C compiler for JIT compaction inside a critical section may lock
    main thread for a long time when it triggers GC. As I'm planning to
    increase this duration a bit, I'd like to make sure this doesn't stop
    the world.

    For now, I chose to give up unloading units when it's during JIT
    compaction, assuming other calls may unload them later.

commit 520ac5da22c30d6db25de6dcbff9607d8a9cd870
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-05-01 10:58:27 +0900

    [pty] do not check openpty twice if found in util library

commit 9014c900b66514cdb12c77115d5fcd7cf7a4c3c3
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-05-01 02:32:56 +0900

    * 2020-05-01 [ci skip]

commit 5a9d2da76e89412cc3d13d4197f624a620f85393
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-05-01 01:14:04 +0900

    Remove deprecated rb_require_safe

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3071

commit 4a8acf46258e1b6fb57e75e4461f9e4895064bda
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-30 22:54:42 +0900

    [ruby/irb] Restore the default encodings

    IRB::ReadlineInputMethod#initialize sets via IRB.set_encoding.

commit 9d1b272b01079b95f377b7e6adc009a0d5b293c7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-30 11:56:52 +0900

    [ruby/irb] Suppress messages switching inspect mode

commit 14b5a3b414348c44aa61471eb61fd3458452729c
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-30 11:48:24 +0900

    * 2020-04-30 [ci skip]

commit b3ce6fa099b2fdb330d19372ab1a51fd7c97fc51
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-30 11:44:09 +0900

    [ruby/irb] Relaxed regexp for readline

    Readline::VERSION may not be a single word, e.g EditLine wrapper
    when linked with editline.

commit 7e5253d15ea1d2cdfc7942213f9c7ba79c3eda2b
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-04-28 17:07:27 +0900

    [ruby/irb] Suppress "method redefined" warning

    https://github.com/ruby/irb/commit/5f0aee56fa

commit 3864fbc6d85b834be4567fa1d5bd0dccc4dfd808
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-04-28 17:06:43 +0900

    [ruby/irb] Check existence of rc files in irb_info command

    https://github.com/ruby/irb/commit/cdbb9dfc9f

commit 98a346d065cc981d60ec0e45f7f15ba7328b6ad6
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-04-27 18:27:19 +0900

    [ruby/irb] Add irb_info command

    https://github.com/ruby/irb/commit/a6fe58e916

commit 009092b04cf1fc36feb2e9257d131ec57242984f
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-04-26 03:18:38 +0900

    [ruby/reline] Add URL reference of history-size

    https://github.com/ruby/reline/commit/13420197b8

commit 213ebec7a7a861eeb5fddd0bd0cf74498a520e63
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-04-25 17:15:24 +0900

    [ruby/reline] Version 0.1.4

    https://github.com/ruby/reline/commit/298144b06a

commit 4859352df62c05bbc10e1e62f966d493eb771e66
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-04-25 02:20:52 +0900

    [ruby/reline] Negative history_size means unlimited

    And unlimited is default.

    https://github.com/ruby/reline/commit/f5149c3ca6

commit d27fa87418bcec8fff909f75a547a7c5e6dc83e5
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-04-25 01:45:03 +0900

    [ruby/reline] New items to history are dropped if history_size is zero

    https://github.com/ruby/reline/commit/9bdbed9cbc

commit 0ac5009165e0d743b82ac673d4eb98e871f4ea0b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-24 17:54:54 +0900

    [ruby/reline] Ignore non-absolute XDG_CONFIG_HOME

    https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
    > All paths set in these environment variables must be absolute.
    > If an implementation encounters a relative path in any of these
    > variables it should consider the path invalid and ignore it.

    https://github.com/ruby/reline/commit/45af6eea77

commit e801e9ba65f6d98f6fee32a1e7e553e6586230cd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-29 14:40:14 +0900

    [ruby/spec] expand temporary directory to the real path

    It may contain symbolic links.

commit 32e7d9140eb2bc9890a690fd62bf1690ee8fd5e3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-29 14:38:03 +0900

    [ruby/spec] Temporary directories should be under the mock_dir

commit 56d6cfe88ae355a089a164f351dcd7f2112cf852
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-28 19:54:14 +0900

    .travis.yml: hoisted out spec-on-old-ruby

commit ac0c760843b8bef48d314cacf3f552963391ed16
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-29 00:27:50 +0900

    Mark ruby_memerror as NORETURN

commit 1994ed90e4013b3a35d72743a0e7648efc31576c
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-29 00:01:46 +0900

    Remove debugging code from gc.c

    Partially revert adab82b9a71f60ad1c7f4f8c134a5ae9198ab32a and
    c63b5c6179d700ceacf5cae8d3ee86da1294c781.
    The issue that these commits attempt to address was maybe fixed with
    1c7f5a57125001447dc6173847dc68aa50bd8e93.

commit 31a4ee4caa3c73549cb8f3a14c99494daaa2f204
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-29 00:01:40 +0900

    * 2020-04-29 [ci skip]

commit 1c7f5a57125001447dc6173847dc68aa50bd8e93
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-28 23:36:16 +0900

    Removed unnecessary RLIMIT_AS

    Even without this limit, these assertions almost certainly cause a
    NoMemoryError by removing the fix in 72ad8595f20.

commit 86431f5075d0495783776b0d7f162df387e7cde6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-28 19:00:33 +0900

    Remove rubyspec temporary directories

commit 3497152515693cb3898bf3aea502f6e162ffe21f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-28 15:05:59 +0900

    Remove rubyspec temporary directory

commit 3acdb31871ac2c763d139d8d4a07268224fb24f6
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-28 11:39:28 +0900

    * 2020-04-28 [ci skip]

commit 442866c2d445cbd30a0f4ae651c828ced0f8976c
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-21 19:34:26 +0900

    [rubygems/rubygems] Pass the rubocop lint

    https://github.com/rubygems/rubygems/commit/d4486ca061

commit 5b77fc8abe4d3c347b5a846c8b330a3bb51d1ef8
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-04-25 21:28:41 +0900

    [rubygems/rubygems] Remove commented out code

    https://github.com/rubygems/rubygems/commit/42aa0d7ebc

commit 2c2b0d4ec1bc3ede33b056e24dea011edc69bd5f
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-22 14:37:42 +0900

    [rubygems/rubygems] Make the test suite pass under `umask 077`

    Some tests had failed under `umask 077` mode.  As far as I investigated,
    there is no actual bug.  All failures were caused by tests that create a
    wrong-permission file or expect wrong permission.

    This changeset fixes the tests.

    https://github.com/rubygems/rubygems/commit/078213e527

commit de58dfc911738b2cbb2b848fa2e2cc93616a0ec5
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-20 10:06:45 +0900

    [rubygems/rubygems] Removed the depdendency of English library

      English.rb is extracted to the default gems at
      https://github.com/ruby/ruby/commit/2c5764ec223d976e0d0da1494596a1519104be3e

    https://github.com/rubygems/rubygems/commit/532f488c0b

commit aca935a67042dd7b82e34844ae6139cedd66339d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-27 15:28:06 +0900

    Fixed typos in racc

commit 6009790e4072c8c6736773cf22addb20ad5aac02
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-27 01:50:23 +0900

    Moved already resolved test

    Couldn't figure out failed/fixed versions.

commit c180c58fc17935a2bacffac57a3707d68b11eb4f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-27 01:29:17 +0900

    Removed already resolved test [ci skip]

    That bug has been fixed by ec0c394b9eb, and the test has been
    added by 181ffea5e04.

commit fd2df584515f1a764c6fdc369f1d3049825e02eb
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-04-27 09:41:45 +0900

    Fix a typo [ci skip]

commit 93ed465dcdc866013cd93c3662937497900c8086
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-27 02:09:08 +0900

    test/ruby/test_fiber.rb (test_stack_size): re-enabled on s390x

    Revert 9948addda67f4b7a6e3575f1eba9025f998811d2.
    It is now discussed in https://bugs.ruby-lang.org/issues/16814, and an
    assert is added with a217d3cedce3f5aa5c27a1ce6c72b65ec37da057.
    It would be good to give it a try.

commit a217d3cedce3f5aa5c27a1ce6c72b65ec37da057
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-27 00:40:43 +0900

    check: compare with right upstream

commit 33767d1e3d1c7a5dc8eddeefd9c923a8a3dda1e1
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-27 00:54:57 +0900

    * 2020-04-27 [ci skip]

commit 6560ff6e36f3d9811a0457ab8bae2199c2fe082e
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-04-27 00:54:16 +0900

    Fix a typo [ci skip]

commit 257e01b61db90ecf3a53957281770b5f3db3f919
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-26 22:39:36 +0900

    Solaris does not provide atomic_sub family

commit 1760c60174b80e837371a19ec13b1148629262cb
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-26 19:34:07 +0900

    Clarified return value of atomic macros

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3061

commit 36ed700711b04ba70e284c00feb54dcd98d872bb
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-04-26 16:14:14 +0900

    Fix failures of test/rdoc/test_rdoc_ri_paths.rb

    yield `home_dir` when HOMEDIR is not falsy only.
    https://github.com/ruby/ruby/blob/d0f41aa2382612022162d033ddb3d9c9cc62099e/lib/rdoc/ri/paths.rb#L43
    ```
        yield home_dir,    :home   if home and HOMEDIR
    ```

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/archlinux/ruby-master/log/20200426T033503Z.fail.html.gz
    ```
      1) Failure:
    TestRDocRIPaths#test_class_each [/home/chkbuild/build/20200426T033503Z/ruby/test/rdoc/test_rdoc_ri_paths.rb:54]:
    <nil> expected but was
    <"/home/naruse/chkbuild/tmp/build/20200426T033503Z/tmp/test_rdoc_ri_paths_1033468/doc/nodoc-1.0/ri">.

      2) Failure:
    TestRDocRIPaths#test_class_raw_path [/home/chkbuild/build/20200426T033503Z/ruby/test/rdoc/test_rdoc_ri_paths.rb:131]:
    <nil> expected but was
    <"/home/naruse/chkbuild/tmp/build/20200426T033503Z/tmp/test_rdoc_ri_paths_1033468/doc/rake-10.0.1/ri">.

      3) Failure:
    TestRDocRIPaths#test_class_raw_path_extra_dirs [/home/chkbuild/build/20200426T033503Z/ruby/test/rdoc/test_rdoc_ri_paths.rb:141]:
    <nil> expected but was
    <"/home/naruse/chkbuild/tmp/build/20200426T033503Z/tmp/test_rdoc_ri_paths_1033468/doc/rake-10.0.1/ri">.
    ```

commit d0f41aa2382612022162d033ddb3d9c9cc62099e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-26 12:26:42 +0900

    [ruby/spec] Removed space between method name and argument list paren

commit 7860277527b9fef577cdaa0958147eb78a0ee9b7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-26 12:26:03 +0900

    [ruby/spec] Fixed missing should

commit b5174beae6e02b109ed2c5d5ad9c4653596236e4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-26 12:28:56 +0900

    lldb_cruby.py: fixed empty string dump [ci skip]

commit 034b8472ba369b3f044c3735b0cab8e5e76e38f7
  Author: S.H <gamelinks007@gmail.com>
  Date:   2020-04-26 12:39:44 +0900

    remove unused rb_str_clear define (#3059)

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 63fe3739dd13beeb049319606af6ffc6093a4c1e
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-04-26 11:07:42 +0900

    Fix errors when `RDoc::RI::Paths::HOMEDIR` is nil

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/scw-ad7f67/ruby-master/log/20200425T175405Z.fail.html.gz
    ```
      4) Error:
    TestRDocServlet#test_asset:
    NoMethodError: undefined method `replace' for nil:NilClass
        /home/chkbuild/build/20200425T175405Z/ruby/test/rdoc/test_rdoc_servlet.rb:48:in `setup'

      5) Error:
    TestRDocServlet#test_asset:
    NoMethodError: undefined method `replace' for nil:NilClass
        /home/chkbuild/build/20200425T175405Z/ruby/test/rdoc/test_rdoc_servlet.rb:63:in `teardown'
    ```
    ...
    ```
     74) Error:
    TestRDocServlet#test_store_for_site:
    NoMethodError: undefined method `replace' for nil:NilClass
        /home/chkbuild/build/20200425T175405Z/ruby/test/rdoc/test_rdoc_servlet.rb:48:in `setup'

     75) Error:
    TestRDocServlet#test_store_for_site:
    NoMethodError: undefined method `replace' for nil:NilClass
        /home/chkbuild/build/20200425T175405Z/ruby/test/rdoc/test_rdoc_servlet.rb:63:in `teardown'
    ```

commit 9fd3f2432e851610c5170647ec92893bbed169c8
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-26 02:01:35 +0900

    * 2020-04-26 [ci skip]

commit 7ccb7a992da072f681e2fb570999743305bab115
  Author: Sorah Fukumori <her@sorah.jp>
  Date:   2020-04-26 02:00:45 +0900

    [DOC] explicit_bzero exists in modern Linux

    [ci skip]

commit fefb5fafbc44a02c0eaf91de14ca38ac890653ab
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-25 17:52:27 +0900

    More enums are mandatory for rp in lldb_cruby.py

commit 7c88bb3eba77295cb4cd8ee1a713bae40d92600a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-25 13:56:24 +0900

    fetch-bundled_gems.rb: Fixed the position of -c

commit f12f9f511ddf2116ed5da9a580336b148812ad23
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-25 13:16:40 +0900

    fetch-bundled_gems.rb: Quiet detached HEAD advice

commit c2700379add15f8b0e13072a19cabc2cd5957c43
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-25 12:15:01 +0900

    `git co` is alias of `git checkout`

commit 42ac3f79ba7104b234546f906f51de485d3a1823
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-25 09:29:27 +0900

    Assert that typed data is distinguished from non-typed

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3058

commit cc8f55e9e31e8057c6b5bfd417ca4f70d41b9a33
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-25 01:43:38 +0900

    [ruby/rdoc] HOME is preserved by RDoc::TestCase

    https://github.com/ruby/rdoc/commit/6c4801d1f6

commit ae235db25d6d6437862d4823d053d42702d1a07a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-25 00:19:01 +0900

    [ruby/rdoc] Should teardown in reverse order of setup

    https://github.com/ruby/rdoc/commit/00fb4dd2a3

commit cf5b3d6798509631b7b4dd72ff3d5dedc68c0d25
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-25 02:36:24 +0900

    * 2020-04-25 [ci skip]

commit c6020ba277b8e666b38e25dab65acdcbd1c2121c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-24 23:56:48 +0900

    Clear cached XDG path names

commit 21598b0cc2aeac3d985e5512e13322fd854d3341
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-24 22:43:48 +0900

    Fixed a typo [ci skip]

commit c5b17b0354755c6540e8cd51aea0a30773437eaf
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-24 21:22:05 +0900

    Remove and Restore the original HOME dir (#3057)

  Notes:
    Merged-By: hsbt <hsbt@ruby-lang.org>

commit 5b8c36dfb25a060543fcec00abe34d516fcb44f6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-24 18:32:07 +0900

    [DOC] Added GNU make specific targets [ci skip]

commit 04a55763fac6c7ec5765733760a67483e013eea9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-24 18:13:24 +0900

    [DOC] Split "How to run a part of the test suite" [ci skip]

commit 9fb20711fd4c4c452b1b7391a8ca86a4d82f6b90
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-04-24 03:10:41 +0900

    [ruby/reline] Treat home dir correctly

    https://github.com/ruby/reline/commit/9b1327d2f4

commit 81b0b7919718bf7f8a6bd9590651b62279977327
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-04-21 18:17:27 +0900

    [ruby/reline] Support XDG_CONFIG_HOME

    In the XDG Specification, if ~/.config/readline/inputrc exists, then ~/.inputrc
    should not be read, but for compatibility with GNU Readline, if ~/.inputrc
    exists, then it is given priority.

    https://github.com/ruby/reline/commit/97f1e7db04

commit 71f84018b7fada5c32dfc384f856b6099cc0da6e
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-24 12:23:01 +0900

    * 2020-04-24 [ci skip]

commit cf90df22c74da2f87421749e8d065cfbd3812afd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-24 11:10:44 +0900

    [DOC] Separated Method#[] from Method#call [Bug #16813] [ci skip]

commit ac2106acc276854ae2ac8cc5fa6859aa28362f2f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-24 11:06:52 +0900

    [DOC] Fixed explanation for Method#>> [Bug #16813] [ci skip]

commit 0f5ae7a200673d38d035e7d3165f5441fe0d49a7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-23 22:19:28 +0900

    Fixed inverted current thread condition [Bug #16808]

commit a52a459b16ce1b5cf32cb6393960ff59e35c48d0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-23 20:17:24 +0900

    Truncate too long thread name before setting [Bug #16808]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3053

commit 03e4eeabbf3bbb5a467956920705bf346d790efa
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-23 21:11:21 +0900

    Skip the initialization of XDG_DATA_HOME with Permission denied

commit 5c6269c4593f8b1a83b72e157c460dd2b37338c7
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-23 19:16:06 +0900

    Support XDG_* (#2174)

    * Support XDG_CONFIG_HOME for gemrc.

    * Support XDG_DATA_HOME for .gem

    * Added test for XDG_DATA_HOME

    * Do not reuse environmental variable.

    * Unify .rdoc path to RDoc.home.

    * Support XDG_DATA_HOME for .rdoc

    * Ignore exists?

    * Extracted config_home path

    * Use XDG_CONFIG_HOME for default credential path

    * Fixed inconsistency location.

    * Fixed the broken tests.

    * Support XDG_CONFIG_HOME for irbrc

    * Introduce Gem.cache_home as XDG_CACHE_HOME

    * Use Gem.cache_home instead of Gem.config_home for the credential file of RubyGems.

    * Initialized the old configurations

    * Fixed test failure related the configuration initialization

    * restore XDG_DATA_HOME

    * Fixed the broken examples of bundler with XDG_*

    * Do not modify environmental variable on test file

    * Use XDG_DATA_HOME insted of XDG_CACHE_HOME for credential file

    * stub out Gem.data_home

    * Move dir accessor to defaults.rb file

    * Use XDG_DATA_HOME for signed gem features

    * Use XDG_DATA_HOME for spec cache

    * Do not rely on Gem.user_home

    * Gem.user_home is always exists. Don't need to use FileUitls.mkdir_p

    * Bump support version to RubyGems 3.2.0+

    * Removed the needless fallback configuration

    * Fixed the inconsistency methods that are find_config_file and config_file

    * Use Gem.configuration.credentials_path instead of hard-coded path

    * gem_path is always provided

    * Removed the duplicated code of find_home

    * Also removed the duplicated code of user_home

    * use Gem::UNTAINT instead of untaint for surpressing the warnings

    * Use File.directory

    * Restore XDG_DATA_HOME

    * Use File.write

  Notes:
    Merged-By: hsbt <hsbt@ruby-lang.org>

commit f563f3c5ef517b62f1a95ab03286335e4fe72314
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-04-23 17:46:20 +0900

    RDoc enhancements for Hash[].

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3026

    Merged-By: ioquatix <samuel@codeotaku.com>

commit 14e013cdbbd937ab229a929d8743f271c6f89ab2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-20 18:41:03 +0900

    [ruby/rdoc] Drop old rubies

    * `RbConfig::CONFIG['ridir']` has been set since 1.9.2

    * `ENV["HOME"]` has been defaulted to `USERPROFILE` since 1.9.0,
      and backported to 1.8.5 or later.

    https://github.com/ruby/rdoc/commit/a3a614e676

commit d1f50b9872f2768d8790170904ccf6d28aaee633
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-23 10:44:27 +0900

    Initialize the class variable for Minitest::Unit.current_repeat_count

commit 2e87488d13ebbbdcb8778b0bd2bfae2223e0a8ec
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-23 10:25:09 +0900

    Expand retrying test file names to realpath

    As well as worker processes do in Test::Unit::Worker#run.

commit 74c8aaef7dd09043cf9f13381c84022da7f1c253
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-23 10:24:49 +0900

    Just call search_method_protect [Bug #16669]

commit da5bd0047d6c961105da210c69d4c88421324b70
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-23 09:43:30 +0900

    Test for [Bug #16669]

commit de9d6a7a8cb0929e0b4cf0a3120971c7b8ee8927
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-22 22:21:11 +0900

    Split test_defined

commit 8119bcbfc04772fe4012b5ed396a68f02e312316
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-04-23 02:16:12 +0900

    rb_method_entry() returns valid me.

    search_method() can return invalid method, but vm_defined() checks
    it as valid method entry. This is why defined?(foo) if foo is undef'ed.
    To solve this problem, check invalidation and return NULL.
    [Bug #16669]
    https://twitter.com/kamipo/status/1252881930103558144

    Tests will be merged by nobu soon.

commit 492e8599c60ed22b940aac40f8907fd58f1a879b
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-23 01:41:21 +0900

    * 2020-04-23 [ci skip]

commit 6292271ef78328a9d520962625f8f1fe457895b3
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-04-23 01:40:01 +0900

    Fix permission of PATH

    https://github.com/ruby/actions/runs/608526685?check_suite_focus=true
    `warning: Insecure world writable dir /home/runner/.config in PATH, mode 040777`

commit 1997e10f6caeae49660ceb9342a01a4fd2efc788
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-22 19:07:33 +0900

    Made parentheses mandatory in endless method defition

    Even for empty argument list, not to be confusing with a writer
    method name.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3051

commit 1fe5bffefdf799c24f4a0eed97e1ceefc1dc66d6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-22 18:56:06 +0900

    Disallow R-assign in endless def

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3051

commit 02ad393cd6bd87a7cc21ef71d5b21ad0f3fe2f34
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-22 18:56:06 +0900

    Revert "Allow simple R-assign in endless def"

    This reverts commit 67bcac879a2e0ddfb4e7bbd7cb5e5401422de76a.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3051

commit d6ec8da689ae097e442219b7feab491120060cba
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-22 16:13:42 +0900

    Update benchmark-driver version

commit f00b923193d0bbaa7a4ffa5acc2dd256ce32152a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-22 14:55:34 +0900

    Revert "* remove trailing spaces. [ci skip]"

    This reverts commit 6b04c480487ab64d73e1254be2412e722b7b8bd8.
    Trailing spaces separate paragraphs in RDoc format.

commit 5ce7835520a0567d76352db510383d00229c3da3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-22 10:01:11 +0900

    Update benchmark-driver version

commit 17083011eed7d56981f2b227574527e4bf23eb65
  Author: S.H <gamelinks007@gmail.com>
  Date:   2020-04-22 09:49:13 +0900

    support builtin for Kernel#Float

    # Iteration per second (i/s)

    |             |compare-ruby|built-ruby|
    |:------------|-----------:|---------:|
    |float        |     30.395M|   38.314M|
    |             |           -|     1.26x|
    |float_true   |      3.833M|   27.322M|
    |             |           -|     7.13x|
    |float_false  |      4.182M|   24.938M|
    |             |           -|     5.96x|

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3048

    Merged-By: nobu <nobu@ruby-lang.org>

commit ad63ae6619d26488725e05d74f2bfc3ab185b0c3
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-22 02:41:54 +0900

    .github/workflows/mingw.yml: add `shell: bash` for PR checkout

    as well as e62aead26909e83f2c8b940186047f0a88b9f2d6

commit 92afac8f3346f050ff25ad15a640a6861f690427
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-22 01:45:19 +0900

    configure.ac: Automatically add -D__ANDROID_API=ver on Android

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3049

commit cebf575de89e69809e9750ac0f6c5a5f3bcdec2c
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-22 02:05:33 +0900

    * 2020-04-22 [ci skip]

commit 7d918be633c649a4439fb239c1ae22c8d391683c
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-22 01:53:53 +0900

    test/ruby/test_fiber.rb: Skip the problematic test_stack_size on riscv

    Since it is impossible to detect stack overflow of C functions robustly,
    the test is a bit unreasonable.

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian-riscv64/ruby-master/log/20200421T120018Z.fail.html.gz

commit 22226324f7f47a9053d6dbb58b1650c1efee81e8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-21 21:33:04 +0900

    LEGAL: fixed links to the old-style BSD license [ci skip]

commit 6b04c480487ab64d73e1254be2412e722b7b8bd8
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-21 21:12:00 +0900

    * remove trailing spaces. [ci skip]

commit cb47ae58d339b7e7adbcd11c2d896a3bb61b8e7c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-21 21:05:25 +0900

    LEGAL: moved the old-style BSD license and linked [ci skip]

commit 61afd2a2d0e18a6902102aa18133c9d668c0155e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-21 21:03:09 +0900

    LEGAL: moved the MIT license and linked [ci skip]

commit 405d8014c57f2c1fc365710db77360070e278a21
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-21 21:00:25 +0900

    LEGAL: made license names themselves links [ci skip]

commit 3ef09c6e66cf28455536593af60a7c7072fb1777
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-21 18:23:20 +0900

    eval_error.c: default nil as "reverse" is now false  [Feature #8661]

commit bf11bf31e2e795bb22c939a5b5cd412c98208982
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-21 19:28:38 +0900

    NEWS.md: the order of backtrace [Feature #8661] [ci skip]

commit 487d0c99d53208594702bb3ce1c657130fb8d65f
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-21 17:39:32 +0900

    eval_error.c: revert the "reversed" backtrace [Feature #8661]

    Now, the order is good, old-fashioned style:

    ```
    $ ./local/bin/ruby -e 'def foo; raise; end
    def bar; foo; end
    def baz; bar; end
    def qux; baz; end
    qux
    '
    -e:1:in `foo': unhandled exception
            from -e:2:in `bar'
            from -e:3:in `baz'
            from -e:4:in `qux'
            from -e:5:in `<main>'
    ```

commit c63b5c6179d700ceacf5cae8d3ee86da1294c781
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-21 16:29:52 +0900

    rb_memerror: abort immediately

    Ditto for adab82b9a71f60ad1c7f4f8c134a5ae9198ab32a.  TRY_WITH_GC was
    found innocent.

commit dc9089b51f33fcb3b68c1a8d42b8f6764994f575
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-21 13:35:31 +0900

    Fixed a typo [ci skip]

commit 32623150cd389f1cdc6a840ec88ce9d1e2a43a87
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-18 05:40:57 +0900

    reroute redefinition of NDEBUG

    NDEBUG can be defined via a command-line argument.  Should take care of
    such situations.

commit 735e035bf54e018fa629f6601d882fc0b097e1fc
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-18 05:53:10 +0900

    __GNUC__ is too lax

    Ditto for 4b853932eaa7fa4acf8a0f0c9b7c695bb4f5e76d

commit adab82b9a71f60ad1c7f4f8c134a5ae9198ab32a
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-21 12:57:33 +0900

    TRY_WITH_GC: abort immediately

    NoMemoryError is observed on icc but I fail to reproduce so far.  Let me
    see the backtrace on CI.

commit 4b86194177c65babb28236d2a14994d3f5d3f1bf
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-04-21 12:38:36 +0900

    Fix typos [ci skip]

commit b9962f0e8909b1163320fbcfe80060a259b2353d
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-20 21:20:54 +0900

    Fixed incorrect man path with ruby installation path

      [Bug #15359][ruby-core:90164]

commit 8e517942656f095af2b3417f0df85ae0b216002a
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-21 00:06:07 +0900

    test/ruby/test_refinement.rb: extend the timeout

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian-riscv64/ruby-master/log/20200420T083601Z.fail.html.gz

commit 7a0ac279b75756ac61ae15cf839200b49ddbd586
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-21 00:00:23 +0900

    * 2020-04-21 [ci skip]

commit 6985bfb72c8d7e7d94f1aad1f0902b602bbfa6da
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-20 23:59:05 +0900

    vm_dump.c: Do not show C backtrace on riscv

    Currently, objdump -W miniruby emits some errors on riscv, so I guess
    that DWARF is corrupted.

commit 847e25975ce8f5bda46a01afd67e4fdb7f1fef41
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-20 22:46:53 +0900

    Skip JIT tests on riscv64 due to SEGV of cc1

commit 3cd3a507e336a81c7e00313b9effb80a8e596a6e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-20 21:23:26 +0900

    [sync_default_gems.rb] Force reset conflict files to be ignored

    [ci skip]

commit aeb9d11594750eec085af60d6bee1ed86dd14686
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-20 21:21:42 +0900

    Revert irrelevant change [ci skip]

commit e571bb8436502b1bce54a1e41c40ef682e05c555
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-20 21:13:08 +0900

    Removed phony atomic operations for void* and VALUE

commit b4c9b570f1a16ac33a67eabc1ca70db36d33178c
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-20 12:37:51 +0900

    * 2020-04-20 [ci skip]

commit 20773a109029ba4464d7749d38a311f880a73293
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-20 10:44:52 +0900

    Bail out if no atomic operation found

    As atomic operations are mandatory now, not-working phony fallback
    definitions are not only useless but confusing and harmful.

commit e92f3e12169e94ba8b230322de938ce540899345
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-19 23:40:44 +0900

    Removed useless VMDEBUG definition [ci skip]

    VMDEBUG is always defined as defaulted to 0 in vm_core.h.

commit 73bd2b70e2570279e72404a1aa8bc451ad0f90b5
  Author: Nguyễn Quang Minh <nguyenquangminh0711@gmail.com>
  Date:   2020-04-19 23:38:25 +0900

    Update VMDEBUG reference doc [ci skip]

    Since this commit (https://github.com/ruby/ruby/commit/9e1b06e17d27fb4ddf51e9244f205417e9c4dd5c), the VM Debug Level constant is moved from `vm_insnhelper.h` to `vm_core.h`. This PR is a super tiny update to reflect that change so that people won't waste time on searching in a wrong file.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3043

    Merged-By: nobu <nobu@ruby-lang.org>

commit 2af4c1fc5b19fc96203c2d7e917e689510d3527e
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-19 23:15:43 +0900

    Skip Process#clock_getres specs on Android

    ... just like AIX and OpenBSD.

commit 5a8960b4fe214c10e14911f3f9c27a267b54c27d
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-19 23:14:31 +0900

    Skip TestRequire#test_loading_fifo_fd_leak on Android

    The test fails due to unknown reason.  Need to debug in future, but
    tentatively skipped.

commit 2832ba80d6cb9ff77f1e18b6afccf3bb9d884dd0
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-19 10:39:32 +0900

    The pdb header error is printed at stdout

    https://ci.appveyor.com/project/ruby/ruby/builds/32278754/job/90jmky2jq2k0wjv8

commit c0b93267497d47858ea9539ef863be321bc1ddbf
  Author: MSP-Greg <MSP-Greg@users.noreply.github.com>
  Date:   2020-04-19 09:35:19 +0900

    Update workflows/mingw.yml - use setup-ruby-pkgs (#3042)

    MSP-Greg/actions-ruby is deprecated...

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit cf332f688baec4806f07fa829ca2e5911c29e39a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-19 00:35:20 +0900

    * 2020-04-19 [ci skip]

commit 0a986b81e18bc3b4ed2a62b3679806194a49c0f3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-18 21:30:53 +0900

    Env values removed by ENV.clear are not used

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3041

commit 97e8c72e56d3e0e8ce64d530fb133cdc26e326c8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-18 21:30:11 +0900

    Bypass env key encoding conversion if unnecessary

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3041

commit ec4e57cae0cc9fede7f7809f8e443cd811ebddb4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-18 20:58:35 +0900

    Hoisted out reset_by_modified_env

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3041

commit 67e4d5e62340223c95e35afaee855f8c821a499d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-18 20:45:39 +0900

    Environment variable values are not case-insensitive

    Only the names are case-sensitive.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3041

commit db0d850d4eac5577104e6d0f22950d97f53c5a13
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-04-17 04:38:47 +0900

    [ruby/reline] Add ed_search_next_history

    https://github.com/ruby/reline/commit/ca750b676b

commit bea3e31e5f8b85f0665b94312418f97e71c14fc6
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-04-17 03:03:12 +0900

    [ruby/reline] Add ed_search_prev_history

    https://github.com/ruby/reline/commit/e9ae288825

commit 1e4efbb6d3e1794222703c2df2b0bb69bc4956cc
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-04-17 04:31:26 +0900

    [ruby/reline] Rename wrong test name

    https://github.com/ruby/reline/commit/8480db575b

commit 08c1c3f2203592c219c6068ea05fb5d583493a25
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-04-15 02:23:24 +0900

    [ruby/reline] Use vi_search_{prev,next} to incremental search

    https://github.com/ruby/reline/commit/cab312f584

commit afe997857ec69771078d04a7d4f9da784f478ad5
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-04-15 02:10:27 +0900

    [ruby/reline] Rename search_history with incremental_search_history

    https://github.com/ruby/reline/commit/d563063ea0

commit 08529a61153e5c40f57a65272211357511d6e6db
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-18 20:39:07 +0900

    Compare environment variable names in those manor [Bug #16798]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3040

commit e042380e0e2d32c30e5c1ddb9ce0df81e15d44a0
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-04-18 20:42:00 +0900

    power_assert repository is transferred to ruby/power_assert

commit 04e56958e6a3c3278d0d3a087954ee8aca2fbd10
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-18 17:38:52 +0900

    Make sure newarraykwsplat accesses a correct index

    on stack when local_stack_p is enabled.

    This fixes `RB_FL_TEST_RAW:"RB_FL_ABLE(obj)"` assertion failure
    on power_assert's test with JIT enabled.

commit 0f7d3e4e405d17a1ea7db4862a1e6d65e1dfc86e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-18 16:35:20 +0900

    RUBY_SPECIAL_SHIFT and RUBY_FL_USHIFT are mandatory for rp in lldb_cruby.py

commit dc8ab86a2b30189be0e4f31012c949318e397618
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-18 16:48:32 +0900

    Super TestJIT#setup to skip unsupported envs

    Slightly simplifying 8d6aa06620b316904fd10d0cab1b85e07f2fbf67

commit 9948addda67f4b7a6e3575f1eba9025f998811d2
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-18 16:31:33 +0900

    Skip a too-unstable test on s390x-linux

    In the last 26-ish hours, it has failed 5 times:
    https://travis-ci.org/github/ruby/ruby/jobs/676497718
    https://travis-ci.org/github/ruby/ruby/jobs/676480295
    https://travis-ci.org/github/ruby/ruby/jobs/676103216
    https://travis-ci.org/github/ruby/ruby/jobs/676057967
    https://travis-ci.org/github/ruby/ruby/jobs/676055113

    and I don't think anybody has been working on it right now. To make CI
    result report of s390x-linux useful, let's skip it until the test is
    improved to be more stable.

commit 8d6aa06620b316904fd10d0cab1b85e07f2fbf67
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-18 14:59:22 +0900

    test/ruby/test_jit_debug.rb: Skip unsupported platforms

commit 75f6d7064413851422de1782a6fdefcce6876aec
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-04-18 12:34:33 +0900

    power_assert repository is transferred to ruby/power_assert

commit 0511bef930f9a91aead9307e2db6257f18cb7e65
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-18 02:17:19 +0900

    Remove invalid webhook config

    According to warnings on Travis, there's no such key. We handle this on
    webhook side anyway.

commit 7c0bc7240b0ba25ccfdb0115840c96bd90e3b610
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-18 02:12:18 +0900

    * 2020-04-18 [ci skip]

commit f8b79ef567e4b91eb821886cd4dfa782caed05d3
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-18 02:11:39 +0900

    Compilation error does not impact exit status

    We failed to ignore
    https://ci.appveyor.com/project/ruby/ruby/builds/32245902/job/xcfxw67uexxysvni

commit 92c825885829bb8859c3091ce3fb38a62e13689c
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-04-17 17:59:43 +0900

    Fix a typo [ci skip]

commit c817868705ee2b1ce5da6c1c2d6348d50662bc3a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-17 17:49:50 +0900

    NEWS.md: Mentioned the removal of NIL/TRUE/FALSE [ci skip]

commit 5257a530905a3ccd931577efc76ce09226ff1d06
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-04-17 17:39:42 +0900

    Removed NIL/TRUE/FALSE from documents too

    This is follow up of 62554ca97812b454e78a0a9daf6e962ff7a2f589

commit 62554ca97812b454e78a0a9daf6e962ff7a2f589
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-17 17:35:17 +0900

    Removed NIL/TRUE/FALSE

    Deprerecated constants which had been warned since 2.4.

commit 3152977b31b64dde776724188bdaa927b07d524d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-15 01:29:13 +0900

    Rescue EPIPE in _report

    Instead of letting callers rescue the error always.

commit b5132d91c038dc4f7501ab049c31d0d1433addc2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-15 01:07:50 +0900

    Refactored rb_readwrite_syserr_fail

    * renamed argument `writable` as `waiting`
    * hoisted out creating and raising exception
    * turned into a `switch`

commit 00d927838768894eab84c76e72d44cb4d8b9cc3d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-17 14:07:14 +0900

    fileutils now depends on rbconfig.rb due to JRuby support

commit 75a0447c15a7ab017bd4240c2a9cc69b134b80b9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-17 08:14:38 +0900

    Suppress C4267 "possible loss of data" warnings

    Just cast down explicitly.

commit 36353b272852acdf951e4870286834a76e80b952
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-17 09:20:29 +0900

    test/ruby/test_process.rb: Skip GID.from_name on Android

    The user management on Android seems very different

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/android28-x86_64/ruby-master/log/20200416T234122Z.fail.html.gz

commit c23efbaa99bf39800c32daf69b2424c9371b1f10
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2020-04-17 06:23:40 +0900

    Remove lib/rss.rb

    This is a follow-up of 83240f315a10b42b53c3b62c1fbc428f97912665 .

commit a0bc3f2a1c2c98f225612101cb4e1ea1a6813546
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-17 00:27:47 +0900

    Suppress C4267 "possible loss of data" warnings

commit 99a048155c0ff281f4f7035d524110b8b94f0a1d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-17 00:52:53 +0900

    * 2020-04-17 [ci skip]

commit 3cca0d1958a53a18b824af24801b9cbfa04691df
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-16 23:45:02 +0900

    core_assertions.rb: fixed fd leak at timeout

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3039

commit e231f8e8a8659bab7f8ef9992c6b36b8683fb8aa
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-16 23:44:24 +0900

    envutil.rb: not try to close pipes twice

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3039

commit fedc8075fe2a2bbbfa12c028c0879330d7db5596
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-16 20:40:53 +0900

    Preserve encoding in error messages for invalid user/group name

commit 748c7c7c0b4ce605c0cedf971e94f0076e0e77de
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-16 20:36:20 +0900

    Added tests for Process::UID.from_name and Process::GID.from_name

commit f57e2d7296fbdf09041bdb237c7423a12ef06621
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-16 20:40:19 +0900

    Preserve encoding in error message for invalid env exec option

commit 33aaa2aa15980f8ac0f330fc817f179e46daed55
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-16 18:47:04 +0900

    Added test for invalid env exec option

commit 693378f1051b6f32b1f4079b9133fb37a401b738
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-16 18:02:11 +0900

    Moved noreturn call to end of noreturn function

commit d4215dafeadc64df236e136d35f6a26835c34aa5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-16 17:59:55 +0900

    Use UNREACHABLE_RETURN for non-void function

commit 3eb05a8071815cfbb2500e624ad675f324cc72fa
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-16 17:00:13 +0900

    fix compiler error on gcc 4.x

    It seems gcc prior to 5 suffered from preprocessor bug.  We have to
    provide workarounds.

    See https://github.com/ruby/ruby/runs/591138012

    ----

    Here is something interesting.  According to C99, strictly speaking,
    the gcc behaviour was in fact legal(!) and everything else were
    wrong.  This was not a bug of gcc, rather a bug of the ISO C Standard.
    This defect was reported to the committee as DR#412, and fixed
    accordingly.  All tested compilers now conform C17's updated
    preprocessor description.

    See http://www.open-std.org/JTC1/SC22/WG14/www/docs/dr_412.htm

commit 4ab14aece4ee96354b3f10da7083caf7a7bf74dd
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-16 14:22:43 +0900

    * 2020-04-16 [ci skip]

commit 48273534c7aa6552c9155366a39f54ce10653c5a
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-16 14:17:15 +0900

    Support for FreeBSD <sys/cdefs.h>

    FreeBSD's <sys/cdefs.h> is broken.  Cygwin is also affected by that.
    We need to avoid using them.

    See also:
    https://github.com/freebsd/freebsd/commit/d1c67819db000c02d3a9c79f3651c10aeedad1a0
    https://sourceware.org/git/?p=newlib-cygwin.git;a=commit;f=newlib/libc/include/sys/cdefs.h;h=44d6d53977e6bc82c2b1e6dbe8ae7f310b260604

commit 155f64e3c4ba23f0e85e8d69facceb21a487dccd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-15 01:25:04 +0900

    Raise EPIPE at broken pipe for the backward compatibility

    Instead of SignalException for SIGPIPE, raise `Errno::EPIPE` with
    instance variable `signo` and re-send that signal at exit.
    [Feature #14413]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3035

commit d72fd1e45b192ab507f8170ceec1328c2aae7bb1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-15 00:59:23 +0900

    Added rb_syserr_new_path

    Similar to rb_syserr_fail_path, but just returns the created
    exception instance instead of raising it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3035

commit 69b3e0ac59f99bbd7e9a76af283f0be1991a3bde
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-15 12:57:14 +0900

    Create succ_index_table as a part of `iseq_setup`

    With compiling `CPDEBUG >= 2`, `rb_iseq_disasm` segfaults if this
    table has not been created.  Also `ibf_load_iseq_each` calls
    `rb_iseq_insns_info_encode_positions`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3033

commit a9567cc2bfad37cc22b3efe0971ba85bd9c1df34
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-15 14:27:38 +0900

    Added test for `debug_level:` option of `RubyVM::InstructionSequence.compile`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3033

commit 1dad9fa5e1303ce0ba38f55ae81b87ab3857df62
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-15 15:59:02 +0900

    This test is not testing attr_writer

commit 79f3403be0cdbec814be29308c0583599ca5824f
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-15 15:49:28 +0900

    Invalidate fastpath when calling attr_reader by super

    The same bug as 8355a99883 existed in attr_reader too.

commit 8355a998839f17ff214a89062821a0a4287f6a54
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-15 15:24:50 +0900

    Invalidate fastpath when calling attr_writer by super

    We started to use fastpath on invokesuper when a method is not refinements
    since 5c27681813, but we shouldn't have used fastpath for attr_writer either.

    `cc->aux_.attr_index` is for an actual receiver class, while we store
    its superclass in `cc->klass` and therefore there's no way to properly
    invalidate attr_writer's inline cache when it's called by super.

    [Bug #16785]

    I suspect the same bug also exists in attr_reader. I'll address that in
    another commit.

commit 2c12d111cb6efb110caa72b0e5314d3affbefb6e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-15 12:29:16 +0900

    Disassemble nop-inserted list

commit de2afcbf0c4c058732997065fa8e6bcaebee9890
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-15 12:28:31 +0900

    Show heading for update_catch_except_flags

commit f9822d173842d758d7ec4180be7addba30422e40
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-15 12:17:45 +0900

    Shrink disassembled result string

commit 0d6737cb8355658c796ce714a06d9fb5c3c6a9fa
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-15 10:37:59 +0900

    * 2020-04-15 [ci skip]

commit 478135f480b4580d068d236f491b2a32048bc193
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-15 10:32:43 +0900

    Disallow line-continuation before R-assign

commit a520ee476382c713d1a6649704fe10a155b71199
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-14 19:47:17 +0900

    Removed duplicate value_expr checks

    `arg_rhs` has the same check and is always a non-void value
    expression.

commit f88862655270f47e4ffd84c3eb5a4d62bd99eab1
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-14 15:48:39 +0900

    Fix logic to detect vs120

    MJIT_CC seems not defined
    https://ci.appveyor.com/project/ruby/ruby/builds/32161572/job/u5sw8yn4in87heki

commit 7a85d31c298a4585bed9f20214dfe0af48e4ec1f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-14 14:49:48 +0900

    [ruby/date] Suppress -Wchar-subscripts warnings by Cygwin gcc 9.3.0

    https://github.com/ruby/date/commit/9968eb69f0

commit e667750364acde6db8a27108cf88ff83b63cf53a
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-14 15:11:44 +0900

    Add missing call in 70b7304f03

commit 70b7304f036a55d526e3c67fe31ad3ce949ae13f
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-14 15:08:24 +0900

    Ignore AppVeyor vs120's pdb corruption

    We tried to fix this like https://github.com/ruby/ruby/pull/3029, but it
    didn't work. The failure has never been helpful for developing MJIT, and
    currently it's not prioritized to be fixed. Until we try to figure out
    the root cause on AppVeyor vs120, let's optionally disable testing when
    the random corruption happens.

commit f883d6219e107554ebde5dff6d2f8383857f7518
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-14 13:37:42 +0900

    Unify vm benchmark prefixes to vm_ (#3028)

    The vm1_ prefix and vm2_ had had special meaning until
    820ad9cb1d72d0897b73dae282df3793814b27e8 and
    12068aa4e980ab32a0438408a519030e65dabf5e. AFAIK there's no special
    meaning in vm3_ prefix.

    As they have confused people (like "In `benchmark` what is difference
    between `vm1_`, `vm2_` and `vm3_`"), I'd like to remove the obsoleted
    prefix as we obviated that two years ago.

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 9fa24018b761d8902ad430ce604b174cf55062ab
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-14 13:10:28 +0900

    Make y.output in ripper unlocalized [ci skip]

    Often it is easy to search, grep, etc from command line, for
    debugging purpose.

commit c79e3a5957ac57d2d4e9ecd82648c7ecca7929d2
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-04-14 12:38:30 +0900

    Add {Regexp,String}#match with block to call-seq [ci skip]

commit 310ef9f40b350957a1a6d6236ce453ff9f73e81d
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-14 12:32:59 +0900

    Make vm_call_cfunc_with_frame a fastpath (#3027)

    when there's no need to call CALLER_SETUP_ARG and CALLER_REMOVE_EMPTY_KW_SPLAT
    (i.e. !rb_splat_or_kwargs_p(ci) && !calling->kw_splat).

    Micro benchmark:
    ```
    $ benchmark-driver -v --rbenv 'before;after' benchmark/vm_send_cfunc.yml --repeat-count=4
    before: ruby 2.8.0dev (2020-04-13T23:45:05Z master b9d3ceee8f) [x86_64-linux]
    after: ruby 2.8.0dev (2020-04-14T00:48:52Z no-splat-fastpath 418d363722) [x86_64-linux]
    Calculating -------------------------------------
                             before       after
           vm_send_cfunc    69.585M     88.724M i/s -    100.000M times in 1.437097s 1.127096s

    Comparison:
                        vm_send_cfunc
                   after:  88723605.2 i/s
                  before:  69584737.1 i/s - 1.28x  slower
    ```

    Optcarrot:
    ```
    $ benchmark-driver -v --rbenv 'before;after' benchmark.yml --repeat-count=12 --output=all
    before: ruby 2.8.0dev (2020-04-13T23:45:05Z master b9d3ceee8f) [x86_64-linux]
    after: ruby 2.8.0dev (2020-04-14T00:48:52Z no-splat-fastpath 418d363722) [x86_64-linux]
    Calculating -------------------------------------
                                           before                 after
    Optcarrot Lan_Master.nes    50.76119601545175     42.73858236484051 fps
                                50.76388649761503     51.04211379912850
                                50.80930672252514     51.39455790755538
                                50.90236000778749     51.75656936556145
                                51.01744746340430     51.86875277356489
                                51.06495279015112     51.88692482485558
                                51.07785337168974     51.93429603190578
                                51.20163525187862     51.95768145071314
                                51.34671771913112     52.45577266040274
                                51.35918340835583     52.53163888762858
                                51.46641337418146     52.62172484121034
                                51.50835463462257     52.85064021113239
    ```

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit b9d3ceee8f8e4fade1eddc0c18abee59f9c1eee7
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-14 04:17:45 +0900

    Unwrap vm_call_cfunc indirection on JIT

    for VM_METHOD_TYPE_CFUNC.

    This has been known to decrease optcarrot fps:

    ```
    $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark.yml --repeat-count=24 --output=all
    before --jit: ruby 2.8.0dev (2020-04-13T16:25:13Z master fb40495cd9) +JIT [x86_64-linux]
    after --jit: ruby 2.8.0dev (2020-04-13T23:23:11Z mjit-inline-c bdcd06d159) +JIT [x86_64-linux]
    Calculating -------------------------------------
                                     before --jit           after --jit
    Optcarrot Lan_Master.nes    66.38132676191719     67.41369177299630 fps
                                69.42728743772243     68.90327567263054
                                72.16028300263211     69.62605130880686
                                72.46631319102777     70.48818243767207
                                73.37078877002490     70.79522887347566
                                73.69422431217367     70.99021920193194
                                74.01471487018695     74.69931965402584
                                75.48685183295630     74.86714575949016
                                75.54445264507932     75.97864419721677
                                77.28089738169756     76.48908637569581
                                78.04183397891302     76.54320932488021
                                78.36807984096562     76.59407262898067
                                78.92898762543574     77.31316743361343
                                78.93576483233765     77.97153484180480
                                79.13754917503078     77.98478782102325
                                79.62648945850653     78.02263322726446
                                79.86334213878064     78.26333724045934
                                80.05100635898518     78.60056756355614
                                80.26186843769584     78.91082645644468
                                80.34205717020330     79.01226659142263
                                80.62286066044338     79.32733939423721
                                80.95883033058557     79.63793060542024
                                80.97376819251613     79.73108936622778
                                81.23050939202896     80.18280109433088
    ```

    and I deleted this capability in an early stage of YARV-MJIT development:
    https://github.com/k0kubun/yarv-mjit/commit/0ab130feeefc2b9078a1077e4fec93b3f5e45d07

    I suspect either of the following things could be the cause:

    * Directly calling vm_call_cfunc requires more optimization effort in GCC,
      resulting in 30ms-ish compilation time increase for such methods and
      decreasing the number of methods compiled in a benchmarked period.

    * Code size increase => icache miss hit

    These hypotheses could be verified by some methodologies. However, I'd
    like to introduce this regardless of the result because this blocks
    inlining C method's definition.

    I may revert this commit when I give up to implement inlining C method
    definition, which requires this change.

    Microbenchmark-wise, this gives slight performance improvement:

    ```
    $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark/mjit_send_cfunc.yml --repeat-count=4
    before --jit: ruby 2.8.0dev (2020-04-13T16:25:13Z master fb40495cd9) +JIT [x86_64-linux]
    after --jit: ruby 2.8.0dev (2020-04-13T23:23:11Z mjit-inline-c bdcd06d159) +JIT [x86_64-linux]
    Calculating -------------------------------------
                         before --jit  after --jit
         mjit_send_cfunc      41.961M      56.489M i/s -    100.000M times in 2.383143s 1.770244s

    Comparison:
                      mjit_send_cfunc
             after --jit:  56489372.5 i/s
            before --jit:  41961388.1 i/s - 1.35x  slower
    ```

commit fb40495cd988c11ff8b69690a87c0a7bf0edb310
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-14 01:25:13 +0900

    * 2020-04-14 [ci skip]

commit a6f7458ea81e084f6ebe7dc5c8cb5b7cb70fe2be
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-04-14 01:23:39 +0900

    Add a a list of cases for which clock_getres() has been observed to be inaccurate

    * See [Bug #16740]

commit c28e230ab5865df55399431239c5fdd9b54206d6
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-04-13 22:57:10 +0900

    Improve Hash documentation.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3002

    Merged-By: ioquatix <samuel@codeotaku.com>

commit 67bcac879a2e0ddfb4e7bbd7cb5e5401422de76a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-13 18:44:33 +0900

    Allow simple R-assign in endless def

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3025

commit 5dc6080cb8bebdc7109bd6048e28aee656c3bb4f
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-13 16:38:22 +0900

    delete CACHELINE

    Since https://github.com/ruby/ruby/pull/2888 this macro is no longer
    used in any place.

commit c37a357c13b399b79fb1ef197738f60cae472dbf
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-12 15:42:45 +0900

    include what you use.

    This reverts commit 443389effc37308ce1a3c3a840082a344fc6af56.
    This reverts commit d94960f22ec2de3a3855305cb51343806d2b46c7.

    Inclusion of header files must be explicit.  Every file shall directly
    include what is necessary.

    https://github.com/include-what-you-use/include-what-you-use says:

    > When every file includes what it uses, then it is possible to edit any
    > file and remove unused headers, without fear of accidentally breaking
    > the upwards dependencies of that file. It also becomes easy to
    > automatically track and update dependencies in the source code.

    Though we don't use iwyu itself, the principle quoted above is a good
    thing that we can agree.

    Now that include guards were added to every and all of the headers
    inside of our project this changeset does not increase compile time, at
    least on my machine.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3023

commit 4ff3f205408ff8bb413d69151105d301858136ba
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-10 14:11:40 +0900

    add #include guard hack

    According to MSVC manual (*1), cl.exe can skip including a header file
    when that:

    - contains #pragma once, or
    - starts with #ifndef, or
    - starts with #if ! defined.

    GCC has a similar trick (*2), but it acts more stricter (e. g. there
    must be _no tokens_ outside of #ifndef...#endif).

    Sun C lacked #pragma once for a looong time.  Oracle Developer Studio
    12.5 finally implemented it, but we cannot assume such recent version.

    This changeset modifies header files so that each of them include
    strictly one #ifndef...#endif.  I believe this is the most portable way
    to trigger compiler optimizations. [Bug #16770]

    *1: https://docs.microsoft.com/en-us/cpp/preprocessor/once
    *2: https://gcc.gnu.org/onlinedocs/cppinternals/Guard-Macros.html

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3023

commit a3f6f67967644f34226b4424227d2eec52fedd45
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-13 15:10:22 +0900

    Add MJIT_COUNTER macro to dump total_calls

commit 82fdffc5ec0ecffc2e49128775d7c09ed43ba59d
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-04-13 04:19:06 +0900

    Avoid UB with flexible array member

    Accessing past the end of an array is technically UB. Use C99 flexible
    array member instead to avoid the UB and simplify allocation size
    calculation.

    See also: DCL38-C in the SEI CERT C Coding Standard

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3017

    Merged-By: XrXr

commit f2c3848a5bf2bec0b27a6035c4b7399594c32509
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-13 00:02:35 +0900

    * 2020-04-13 [ci skip]

commit 4c8e3f1241e1cc4904e476900bb5309622ba7304
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-12 23:29:22 +0900

    Make rb_scan_args implementations same

    between rb_scan_args_set and rb_scan_args_assign +
    rb_scan_args_result.

commit a07cbacd233982da00f67b356a832602123b3708
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-12 13:00:27 +0900

    Honor COLUMNS [Feature #16754]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3000

commit cc68d2fbd05938bee4c524591a0f17474bc60e17
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-27 23:18:42 +0900

    Hightlight usage [Feature #16754]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3000

commit 3825662d777ae406136fa7d720b60fe04c6eafd2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-12 12:56:17 +0900

    Set up environment variable for pager [Feature #16754]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3000

commit e6551d835febe00fce6c6a3b12c4e394d2a05bd6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-04 11:28:20 +0900

    PAGER without fork&exec too [Feature #16754]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3000

commit f22c4ff359498ab342e4b6d6feb21af6004ee270
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-04 09:47:58 +0900

    View the help message with PAGER [Feature #16754]

    View the help message wth pager designed by RUBY_PAGER or PAGER
    environment variable, unless that value is empty.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3000

commit 5c2768181382bf84137759efea66f3aaf212665d
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-12 12:45:22 +0900

    Enable fastpath on invokesuper (#3021)

    Fastpath has not been used for invokesuper since it has set vm_call_super_method on every invocation.
    Because it seems to be blocked only by refinements, try enabling fastpath on invokesuper when cme is not for refinements.

    While this patch itself should be helpful for VM performance, a part of this patch's motivation is to unblock inlining invokesuper on JIT.

    $ benchmark-driver -v --rbenv 'before;after' benchmark/vm2_super.yml --repeat-count=4
    before: ruby 2.8.0dev (2020-04-11T15:19:58Z master a01bda5949) [x86_64-linux]
    after: ruby 2.8.0dev (2020-04-12T02:00:08Z invokesuper-fastpath c171984ee3) [x86_64-linux]
    Calculating -------------------------------------
                             before       after
               vm2_super    20.031M     32.860M i/s -      6.000M times in 0.299534s 0.182593s

    Comparison:
                            vm2_super
                   after:  32859885.2 i/s
                  before:  20031097.3 i/s - 1.64x  slower

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit a01bda594996fdc247e183f107cada43e2c8e3b8
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-12 00:19:58 +0900

    * 2020-04-12 [ci skip]

commit 022c7bbea98ef41556941a21ef6f0656bb49c75f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-12 00:07:57 +0900

    Relaxed of R-assign value to arg

commit 93edbb4c08856d6d10d0e2676cc2e36eef839a7d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-11 17:12:24 +0900

    Support version ranges for MSVC [Feature #16763]

commit e56e089b1f92dbc55d3239b6843dd0786be9000e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-11 12:06:59 +0900

    Assertions for basic use of `encoding:` option

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3018

commit bae16b427765d237aabd8939557325f1530d623b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-11 12:00:24 +0900

    Assertions for enumerators of Dir

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3018

commit aade69eaf8f3b08f228f4ac3fbe9c3667f106f4d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-11 11:58:49 +0900

    Removed unnecessary `to_a` call

    `Dir.entries` returns an array.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3018

commit bfe706716f7692f0a672a15a261ffffa25526cb1
  Author: gerero20 <parrottjonathanc@gmail.com>
  Date:   2020-03-27 03:25:22 +0900

    [ci skip] Enumerator doc cleanup

    This is my first attempt at a pull request. I was reading the ruby docs
    the other day and noticed that the output didn't match the code sample
    on the with_object documentation. Inserted spaces to fix it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2984

commit abe2e7de4d1f2d5861d7c9ab9c7e778f2ee1dcd2
  Author: Andreas Schwab <schwab@suse.de>
  Date:   2020-04-10 22:34:52 +0900

    Don't require sub-word atomics

    On some architectures (like RISC-V) sub-word atomics are only available
    when linking against -latomic, but the configure script doesn't do that,
    causing the atomic checks to fail and the resulting ruby binary is
    non-functional.  Ruby does not use sub-word atomic operations, rb_atomic_t
    is defined to unsigned int, so use unsigned int when checking for atomic
    operations.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3016

commit 6f28ebd585fba1aff1c9591ced08ed11b68ba9e3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-11 09:30:19 +0900

    Silence broken pipe error messages on STDOUT [Feature #14413]

    Raise `SignalException` for SIGPIPE to abort when EPIPE occurs.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3013

    Merged-By: nobu <nobu@ruby-lang.org>

commit 87bcb3c47c7369fe285b2c7c670476a8d4553d82
  Author: Tanaka Akira <akr@fsij.org>
  Date:   2020-04-11 02:32:23 +0900

    Fix articles.

commit 7df83c4e6ba8b8e79a344d308af8f47c3eb6efb1
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-11 02:09:49 +0900

    * 2020-04-11 [ci skip]

commit 6abd08c0b451b9ef9c8bcd99e58ebc7097ac9547
  Author: Tanaka Akira <akr@fsij.org>
  Date:   2020-04-11 02:09:18 +0900

    Replace Fixnum by Integer in a document.

commit 108d392efd6166216b67250e5246d6cd3a90c50c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-10 23:07:23 +0900

    RUBY3_HAS_ATTRIBUTE: fix fallbacks

    Same as 133ae0807d661eac174b59c6e91c11a40975baea

commit 8ec795400f34ad6672f53040a4f303e8828a61da
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-10 22:44:17 +0900

    [DOC] Fixed POSIX clock_getres(3) link [ci skip]

    It should not be linked to `Process.clock_getes`.

commit b18a6b648e3c74a3b7360d2557015b05aa8b0390
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-10 22:03:03 +0900

    include/ruby/3: do not skip RUBY3_UNREACHABLE_RETURN

    Revert "Revert "include/ruby/3/core/rtypeddata.h: Use 0 instead of NULL for C++ compiler""
    Revert "include/ruby/3/core/rtypeddata.h: Use 0 instead of NULL for C++ compiler"
    Revert "include/ruby/3: Skip RUBY3_UNREACHABLE_RETURN for icc"
    Revert "include/ruby/3: Stop RUBY3_UNREACHABLE_RETURN to suppress a SunC warning"

    This reverts commit b965e7e05e4307e3c4b396673e63dbc493ef2f20.
    This reverts commit d2bb2e066b5a914283dd3ea473fc1762183af013.
    This reverts commit 8ab4c55e7a70f5a5bd041d93f425eeef4a47c01e.
    This reverts commit 78eec3cdc5ff0664b421e041f4f70a814542b914.

    After https://github.com/ruby/ruby/pull/3011, we no longer need these
    ifdef guards.

commit c9b3aa84be6577a9df8a0a1ee12715b114a10d9b
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-04-10 21:32:32 +0900

    Warn about Process#clock_getres being unreliable in documentation

    * [Bug #16740]
    * Remove the GETTIMEOFDAY_BASED_CLOCK_REALTIME example because the
      caveat applies to all clock ids, not just the Symbol clock ids.

commit 302da060af9e45ce202313e5a392de9611794583
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-10 21:02:18 +0900

    Reference to [Feature #16746] [ci skip]

commit e8f53692ca7d65c92bde6d5bc6a1aea492915d9f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-01 23:58:02 +0900

    Endless method definition [Feature #16746]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2996

commit 878e21c6cd8a4291577cd7988505479f49ebea91
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-10 17:28:02 +0900

    R-assign is still experimental [Feature #15921] [ci skip]

commit 900e83b50115afda3f79712310e4cb95e4508972
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-03-28 07:08:52 +0900

    Turn class variable warnings into exceptions

    This changes the following warnings:

    * warning: class variable access from toplevel
    * warning: class variable @foo of D is overtaken by C

    into RuntimeErrors.  Handle defined?(@@foo) at toplevel
    by returning nil instead of raising an exception (the previous
    behavior warned before returning nil when defined? was used).

    Refactor the specs to avoid the warnings even in older versions.
    The specs were checking for the warnings, but the purpose of
    the related specs as evidenced from their description is to
    test for behavior, not for warnings.

    Fixes [Bug #14541]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2987

commit defc0ee9d172c2caa8742cc682a8aa389942d6ef
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-10 13:55:08 +0900

    ext/-test-/cxxanyargs: add #pragma for icc.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3011

commit 4e7d84cf8778b397fd08730def354dca3ba6d76f
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-09 12:22:54 +0900

    ruby3_rstring_getmem: suppres warning

    icc warns at this line.

    > include/ruby/3/core/rstring.h(126): warning #413: variable "retval" has an uninitialized const field
    >           struct RString retval;
    >                          ^

    This must not be a problem because uninitialized const field is not used
    at all.  But the warnings are annoying.  Let us suppress them.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3011

commit 3e92785fd6ec4bf584128fcd255b01ff4448ea2b
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-09 16:07:29 +0900

    RUBY3_ASSUME: suppress warnings on icc

    icc warns side effects for RUBY3_ASSUME like this:

    > ./include/ruby/3/value_type.h(202): warning #2261: __assume expression with side effects discarded
    >           RUBY3_ASSUME(RB_FLONUM_P(obj));
    >                        ^

    Which is a false positive (RB_FLONUM_P has no side effect).  It seems
    there is no way for us to tell icc that a functin is safe inside of
    __assume.   Just suppress the warning instead.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3011

commit d69c5326856b8e5df35688cd12c15a7cbdf89f1c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-10 10:23:17 +0900

    configure: suppress SunPro warning

    To this date there is no way for Oracle developer Studio to suppress
    warnings about unreachable codes (12.6 manual says it implemented
    __builtin_unreachable "as a no-op to C++. It might be added to C.")

    There is no way but globally kill the warning.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3011

commit 75802bcff1b941818832f0145071f7ce9c843d8d
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-09 16:25:17 +0900

    configure: suppress icc warnings

    Every time a pointer to/from VALUE conversion happens, these two
    warnings are issued:

    - warning #1684: conversion from pointer to same-sized integral type (potential portability problem)
    - warning #2312: pointer cast involving 64-bit pointed-to type

    Thank you, but we are well aware of the "potential portability problem".
    Let us ignore them all.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3011

commit e43237b115e648d69b5035c196851fb4a98698d8
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-10 10:19:39 +0900

    configure: always check for __builtin_unreachable

    Non-gcc compilers tend to have this intrinsic these days (e.g. icc).
    Better check it regardless of $GCC.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3011

commit 133ae0807d661eac174b59c6e91c11a40975baea
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-09 15:55:55 +0900

    RUBY3_HAS_BUILTIN: fix __builtin_unreachable

    This macro has to be truthy, otherwise the `+0` trick above evalues
    RUBY3_HAS_BUILTIN(__builtin_unreachable) to be always false.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3011

commit 4b853932eaa7fa4acf8a0f0c9b7c695bb4f5e76d
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-09 15:47:44 +0900

    mjit_worker: __GNUC__ is too lax

    Namely icc defines __GNUC__, but doesn't have -Wdeprecated-declarations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3011

commit 1b2d351b216661e03d497dfdce216e0d51474664
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-06-11 22:57:33 +0900

    Rightward-assign by ASSOC

    [Feature #15921]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3012

commit d94960f22ec2de3a3855305cb51343806d2b46c7
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-04-10 13:33:52 +0900

    update dependencies

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3010

commit 443389effc37308ce1a3c3a840082a344fc6af56
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-04-10 11:20:35 +0900

    reduce duplicate include.

    Without this patch, 20k files are opened (openat syscall) because
    of duplicate includes. This patch reduced it to 3k and build time
    was reduced compile time of range.o from 15sec -> 3sec on my machine.
    [Bug #16772]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3010

commit 63a5412db7138297a2e7513067ef80dad7a3b4b4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-10 10:52:33 +0900

    Make `#inspect` interruptible in `Kernel#p`

    Only writing the inspected result and a newline is
    uninterruptible.

commit 230efaf2ae3ca33ed1e3072458982f85d0e31347
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-10 10:38:38 +0900

    * 2020-04-10 [ci skip]

commit 614d816a1fab911ae29d8741526475d1f21484df
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-10 10:37:15 +0900

    Constified writev function family

commit 55a5a4bc03de1027dca359d50e23ee57c2224353
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-09 18:23:49 +0900

    Fixed to initialize ruby-core repository when it has no master branch

commit 7a26021d1d288912b123447847bc389acac5290e
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-09 16:34:25 +0900

    Support one repository for updating the latest commits

commit b965e7e05e4307e3c4b396673e63dbc493ef2f20
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-09 14:24:23 +0900

    Revert "include/ruby/3/core/rtypeddata.h: Use 0 instead of NULL for C++ compiler"

    This reverts commit d2bb2e066b5a914283dd3ea473fc1762183af013.

    It didn't work:

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/icc-x64/ruby-master/log/20200409T050004Z.log.html.gz#end
    ```
    In file included from ../../.././include/ruby/3/core.h(32),
                     from ../../.././include/ruby/ruby.h(28),
                     from ../../.././include/ruby.h(33),
                     from init.c(1):
    ../../.././include/ruby/3/core/rtypeddata.h(164): warning #967: conversion from "int" to "const struct rb_data_type_struct *"; sizes do not match
              RUBY3_UNREACHABLE_RETURN(0);
    ```

commit fd0222caedf1be56faa004656bbf145522abbe68
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-04-09 04:45:49 +0900

    should check pending interrupts correctly.

    rb_uninterruptible() disables any interrupts using handle_interrupt
    feature (This function is used by `p`).
    After this function, pending interrupts should be checked correctly,
    however there is no chance to setup interrupt flag of working
    threads, it means that nobody checks pending interrupts.
    For example, it ignores terminate signal delivered at the end
    of main thread and program can't stop.

    This patch set interrupt flag if there are pending interrupts.

commit d2bb2e066b5a914283dd3ea473fc1762183af013
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-09 12:50:15 +0900

    include/ruby/3/core/rtypeddata.h: Use 0 instead of NULL for C++ compiler

    NULL in C++ is esoteric

commit 97f73bd0e2ace86183956f042f93a0eadd81e515
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-09 12:23:15 +0900

    Ignore upper bits of pw_change on macOS too

commit f099bb040c26708ecdb4f5e552843717caaba70b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-09 09:24:07 +0900

    Ignore upper bits of pw_expire on macOS

    `pw_expire` is declared as `time_t`, but actually not, and
    `getpwuid` returns a garbage there.

    Also the declaration of `struct passwd` in pwd.h and the manual
    page contradict each other, interal `pw_fields` is mentioned only
    in the latter.  Maybe there is a confusion.

commit 9af3469b84d6220ef30ffc2b3709806f90edaf41
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-09 09:38:57 +0900

    internal/bits.h: Suppress "uninitialized variable"

    Coverity Scan says "Using uninitialized value c.fixnum when calling
    __builtin_mul_overflow_p."

commit 1a4f33e84e0633e8f953ee3cb06b42dcc952444a
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-09 09:14:02 +0900

    numeric.c: Remove unreachable code

    b cannot be <= 0 here.  Found by Coverity Scan

commit cdd613b2997944cd0d82f8d41071440779c19a99
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-09 08:55:46 +0900

    configure.ac: Skip C++ compiler of Sun OpenStudio

    It fails to compile ext/-test-/cxxanyargs/cxxanyargs.cpp.
    Need work to support it.  Contribution is welcome.

commit 8ab4c55e7a70f5a5bd041d93f425eeef4a47c01e
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-09 08:19:00 +0900

    include/ruby/3: Skip RUBY3_UNREACHABLE_RETURN for icc

    I'm unsure why, but it fails on icc.

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/icc-x64/ruby-master/log/20200408T220004Z.log.html.gz
    ```
    In file included from ../../.././include/ruby/3/core.h(32),
                     from ../../.././include/ruby/ruby.h(28),
                      from cxxanyargs.cpp(1):
    ../../.././include/ruby/3/core/rtypeddata.h(163): error: return value type does not match the function type
                RUBY3_UNREACHABLE_RETURN(NULL);
    ```

commit a4021ecd77141b5efcf9dfdfb918739fd64a9d3d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-09 07:44:47 +0900

    * 2020-04-09 [ci skip]

commit 78eec3cdc5ff0664b421e041f4f70a814542b914
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-04-09 07:37:53 +0900

    include/ruby/3: Stop RUBY3_UNREACHABLE_RETURN to suppress a SunC warning

    I don't find how to suppress a false positive "unreachable" warning of
    the Sun compiler:

    ```
    "./include/ruby/3/core/rtypeddata.h", line 163: warning: statement not
    reached
    "./include/ruby/3/memory.h", line 256: warning: statement not reached
    ```

    This warnings make mkmf test fail:

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-sunc/ruby-master/log/20200408T170004Z.fail.html.gz
    ```

      1) Failure:
    TestMkmf::TestConvertible#test_typeof_builtin
    [/export/home/users/chkbuild/cb-sunc/tmp/build/20200408T170004Z/ruby/test/mkmf/test_convertible.rb:9]:
    convertible_int: checking for convertible type of short...
    -------------------- short

    --------------------

    convertible_int: checking for convertible type of int...
    -------------------- int

    --------------------

    convertible_int: checking for convertible type of long...
    -------------------- long

    --------------------

    convertible_int: checking for convertible type of signed short...
    -------------------- failed

    ...

    "cc -I.
    -I/export/home/users/chkbuild/cb-sunc/tmp/build/20200408T170004Z/ruby/.ext/include/sparc-solaris2.10
    -I/export/home/users/chkbuild/cb-sunc/tmp/build/20200408T170004Z/ruby/include
    -I./test  -I/opt/csw/include -D_XOPEN_SOURCE=600   -DFFI_NO_RAW_API  -g
    -c conftest.c"
    "/export/home/users/chkbuild/cb-sunc/tmp/build/20200408T170004Z/ruby/include/ruby/3/core/rtypeddata.h",
    line 163: warning: statement not reached
    "/export/home/users/chkbuild/cb-sunc/tmp/build/20200408T170004Z/ruby/include/ruby/3/memory.h",
    line 256: warning: statement not reached
    checked program was:
    /* begin */
    1: #include "ruby.h"
    2:
    3: typedef signed short rbcv_typedef_;
    4:
    5: extern rbcv_typedef_ foo();
    6: extern short foo();
    /* end */
    ```

commit e7128aa772787a9c9e95708e2d2534484861a765
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-08 22:37:45 +0900

    Disable deprecation error on mingw

commit dd04b8034bf08243fc14763c2b4fb5490da626d7
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-08 22:32:02 +0900

    RARRAY_EMBED_LEN/RSTRING_EMBED_LEN: add RUBY3_CAST

    RUBY3_CAST is a macro to suppress g++/clang++ warnings about C-style
    casts.  Though Ruby core don't have to bother C++ situations, extension
    libraries can benefit from this.

commit ec1b3464da9ed2d891beb344efc5881532f2ac3a
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-08 22:27:50 +0900

    RUBY3_HAS_BUILTIN: icc has broken __has_builtin

    It turned out that compilation errors in icc were due to their having
    broken __has_builtin.  Let's just skip such situations.

commit 8d622a58c6fb6b64d7eb193aaff4f1a2ab01826c
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-26 19:39:41 +0900

    [ruby/weakref] Update TODO on README

    https://github.com/ruby/weakref/commit/a67073856e

commit 11d5a8318dd5e30bb3ecab80e2f2177bcdef3e34
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-08 18:03:46 +0900

    Suppress C4244 "possible loss of data" warnings

commit d8720eb7de9cd9d874b621f214c27022e17cc941
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-08 16:06:30 +0900

    Suppress -Wshorten-64-to-32 warnings

commit 6163a4e1b33ed7df27d0c37e835ce04407857a16
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-08 16:18:59 +0900

    RUBY3_HAS_BUILTIN: fix for nonexistent builtin

    Trying to fix icc breakage:
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/icc-x64/ruby-master/log/20200408T050004Z.fail.html.gz

    It seems the macro had problems when a builtin does not exist for the
    target compiler.  Force evaluete to 0 then, by adding 0 to the
    expression.

commit ba3b99b96a4e2421a90a7d57ade5ef016aec73d0
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-08 15:59:55 +0900

    The current net-http is only works with Ruby 2.6+

commit 3e8e4c05059b9e74dbad1f6ee129ba168be716fb
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-08 15:42:22 +0900

    [ruby/net-ftp] Added guard condition for the old ruby versions

    https://github.com/ruby/net-ftp/commit/a56ba121ee

commit 0c131fb7ff0b927d8d7bf5824dcb19ed2efc926d
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-26 19:24:41 +0900

    [ruby/net-ftp] Guard with under the Ruby 2.6

    https://github.com/ruby/net-ftp/commit/bed4bc31db

commit 484ed0d2a506dd89219a47cd6823875d86ab6ffa
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-08 14:52:59 +0900

    The current tempfile.rb is only works with Ruby 2.5+

commit e474c189da8314f44659eadcbf9ca3c7d4393bfb
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-08 15:13:37 +0900

    Suppress -Wswitch warnings

commit 3b1029f89417c10cf1293e1106780d1f3263d9f4
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-08 14:33:22 +0900

    Update the latest gemspec of prime.

      * prime gem didn't use `version.rb` file.
      * Removed development_dependency because they are handled by Gemfile.

commit 393789f320cd8d920619252240e81faf67f14400
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-04-08 14:21:14 +0900

    Update the version of published gemspec.

      * It couldn't use `English` because `english` is already reserved.
      * Bump version to 0.7.0 because versions < 0.7 are reserved.

commit 9e6e39c3512f7a962c44dc3729c98a0f8be90341
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-04-08 13:28:13 +0900

    Merge pull request #2991 from shyouhei/ruby.h

    Split ruby.h

  Notes:
    Merged-By: shyouhei <shyouhei@ruby-lang.org>

commit 5ac4bf2cd87e1eb5779ca5ae7f96a1a22e8436d9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-08 11:53:14 +0900

    [win32] Moved `MSC_VER` to verconf.mk and reduce running CPP

commit 8c8e64a295bab083e67075f6f7a20172405081ae
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-08 11:51:27 +0900

    [win32] Removed useless macro name that isn't expanded in `#error`

commit 2f1895fa15386fb3cdc91c5604171290828b9da8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-08 01:13:03 +0900

    Fixed formatted substring expansion [Bug #16767]

commit 1711258144cf7bb4ddeba4a17da70935d5eedb2b
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-08 00:06:47 +0900

    * 2020-04-08 [ci skip]

commit 927308108cced69cae478798004524b9a5d2f252
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-07 21:35:28 +0900

    Fix source location of autoloaded constant [Bug #16764]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3009

commit ce608213872d4efe80708f872ee2e32c547dd734
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-07 20:20:34 +0900

    Removed unnecessary cast

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3009

commit bc646e6715bc0113e800f4d7f4dec7bb34123cc1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-07 13:59:38 +0900

    [DOC] get rid of parsing as TIDYLINK unintentionally

commit e73e4b3e9fa696926217b56b26c030570a3686c5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-07 13:01:19 +0900

    Bundler is not documented in RDoc, but something different

commit bdf769bc171a222f644b2c8e64c1c0f28058250d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-07 12:50:04 +0900

    * 2020-04-07 [ci skip]

commit 67f616c523023080c037784ff49739c76f108741
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-07 12:43:34 +0900

    Show the deprecated name in the warning

    Fixed up a58bbd6a512d95ca010d8bebae4fe590400c1413.

commit d827c718db32c07f025f88fd792e9407e19e66e1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-06 23:05:51 +0900

    [DOC] Removed RDoc of deprecated methods [ci skip]

commit 827e88119ce9be18b491502a7b54c5c549eed2a9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-25 00:53:11 +0900

    Moved `Dir.[]` to dir.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3006

commit 60e25e37d4db86249d3c25e03d96875eb98d9e43
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-24 23:18:36 +0900

    Moved `Dir.glob` to dir.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3006

commit 310054b240a511f888ec5092eb32fed29e4109c9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-18 13:59:21 +0900

    Moved `Dir.open` and `Dir#initialize` to dir.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3006

commit a58bbd6a512d95ca010d8bebae4fe590400c1413
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-06 21:37:42 +0900

    Use `rb_warn_deprecated` for `File.exists?` and `Dir.exists?`

commit b66d7d9be56c27bc1b6ff5a6d8f0ca23de7ed28a
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-06 18:00:22 +0900

    Remove unused variable stack_size

    _mjit_compile_send.erb doesn't use _mjit_compile_insn_body.erb

commit 3194cd36e284bc761b378cbe065538c8d94da8df
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-06 17:49:05 +0900

    Delay definition of pc_moved_p

    to unify the duplicated declarations and to make sure it's not used
    until set properly.

    Also changed it from legacy TRUE/FALSE to stdbool.

commit 928bb17770ca0648d4098a7c941e4cc4ec22e004
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-06 17:50:12 +0900

    Fix -Wshorten-64-to-32 in 4f802828f4

commit 4f802828f4a5ba4c92b78faa6ecf61fb76a1c900
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-06 17:42:31 +0900

    Refactor `argc` in mjit_compile_send

    using sp_inc_of_sendish for consistency and to make it easier to
    understand

commit 1a33845215add07671679c5da88f638a3e8329f7
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-06 17:31:10 +0900

    Update outdated comments in mjit_compile_send

    and simplify `v` variable references a little.

    There's no CALL_METHOD anymore, and the original code lives in
    vm_sendish instead of insns.def now.

commit f984975c4dc0dab8b1fec771e6d91a734b8e2fb0
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-06 16:45:42 +0900

    Collapse `if` conditions to decrease indentation

    in mjit_compile_send to clarify it's not that deeply branched.

commit a7e70003874fc1480b0319df0f4847d19ae522e5
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-06 08:29:38 +0900

    * 2020-04-06 [ci skip]

commit ba3eccd9b5e99ce893ae06bada5c279962c5c232
  Author: Derek Argueta <deargueta@tesla.com>
  Date:   2020-04-06 05:56:11 +0900

    fix typo in documentation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3005

commit 0e02c3b7c246ca3d6fca10654431f9811b5aeaa0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-05 21:20:51 +0900

    [Doc] Exclude bundler vendored libraries directory

    The document in these external libraries may not be written in
    RDoc, ignore the whole directory.

commit 6e76f0a16f51e1bd038354cc6d5b4935889776ec
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-05 19:00:57 +0900

    Exclude bundler vendored libraries

    These libraries may not be written in RDoc.

commit b25ef4bf7051e747548ee664df6f8b544051ac51
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-04-05 18:24:59 +0900

    Suppress warnings: reserved for numbered parameter

commit cab9788e0ca2c41a13e482a4a9924b5a968284fe
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-04-05 12:15:18 +0900

    Fix typos

commit ec03d137428f83f7d8819e13cb788fbd7d4e75c7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-05 11:49:11 +0900

    Fallback if Pathname#relative_path_from fails

    It can fail due to different prefixes, e.g., drive letters or UNC
    paths on DOSish platform.

commit df275179bde5eef92b701789b99e88ae038cdae2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-05 11:53:07 +0900

    Revert "Moved aclocal.m4 to macro directory"

    This reverts commit 4a6571dbc14ee4e88c12cd9931f7695077a3ee6e,
    because chkbuild does not follow.

commit 4f938ffa35f5770af73d55e679f9524e032cbfc3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-05 10:56:28 +0900

    Use toodir also in configure.ac

commit 4a6571dbc14ee4e88c12cd9931f7695077a3ee6e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-05 04:30:04 +0900

    Moved aclocal.m4 to macro directory

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3003

commit 21d0b40de2897ac2e98104cb3d33cd374a4402ee
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-05 03:57:05 +0900

    Added tooldir variable

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3003

commit 5e2463b242d1c7fc9f0bad11daa2a8a288dc28e3
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-05 08:28:03 +0900

    * 2020-04-05 [ci skip]

commit acadd1306f6e88235e2729216e8db871ebf57c15
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-05 08:24:30 +0900

    Updated aclocal.m4 by aclocal 1.16.2 [ci skip]

commit 33260d404f56e27bb6fccc36e91a34d165c13bb1
  Author: zverok <zverok.offline@gmail.com>
  Date:   2020-03-08 23:30:40 +0900

    Enhance pattern matching introduction

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2952

commit 11fa1dcc23264c7c28caca03c2c7446fe55df871
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-04 12:37:51 +0900

    Also scan `rescue` clauses

commit a64b77f16332d1820165c878d7ea0757db95d57a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-04 00:09:12 +0900

    .github/workflows/mingw.yml: Turn off verbose mode [ci skip]

    Too much, no longer needed output.

commit 146330906f0f1cada9179b2b57501e2b64aa5eed
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-29 00:14:51 +0900

    Fixed the location of the shared library

    On platform where searches shared libraries by `PATH` environment
    variable (i.e., Windows), the shared library is installed in
    `bindir`.  On other platforms, the library directory is directed
    by `libdirname` indirectly.

commit 4a716455652d9924d8ef9b0a1527cb0bef90ee2f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-28 22:19:21 +0900

    rbconfig_spec.rb: removed needless windows guard

    This reverts commit 34b0a7be0ed2fd4ca4d1d509a22964b5e61dfe34.

commit 7f82c8cd470b5e262749c455f6e0cef055b365bb
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-04-04 08:02:53 +0900

    Update to ruby/spec@7289ea3

commit da5a128991e8c3c2fbd6c100653f4277f47e54a0
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-04-04 08:02:50 +0900

    Update to ruby/mspec@fad32a5

commit 6be57cfccaa9f4dc4885f7d6456abdea9e67c47d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-04 00:36:30 +0900

    * 2020-04-04 [ci skip]

commit f70ca6a1f9cb5c7ef6e628aa8af0ed7841203b70
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-04-04 00:35:51 +0900

    Remove unnecessary escape

commit 810d66f3e7da3a5267974e3a3b952ec3e378049b
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-04-03 14:37:28 +0900

    Fix a typo [ci skip]

commit 691a15ebc7ebc27d2f0c25321a1fe85022ec8ea2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-01 18:40:27 +0900

    [sync_default_gems.rb] Reset files to be ignored

    [ci skip]

commit 668c97b72c8aeead20978d287073b5526887f709
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-01 18:38:23 +0900

    [sync_default_gems.rb] Ignore files under .github directory

    [ci skip]

commit 3df764721a6a988116982a5a9af80486ad801e3d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-01 18:36:54 +0900

    [sync_default_gems.rb] Use block form `IO.popen` to reap zombies

    [ci skip]

commit ca0f68260ee930100dc39f8c4647ce56663f17fe
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-03 09:47:19 +0900

    Use `platform_is` guard

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2997

commit 18f7d3c9a647f31f11e182d900b88edf5e34ea4b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-03 09:44:40 +0900

    Refined "Drop support for ruby 2.4 from ruby/spec"

    By using spec/mspec/tool/remove_old_guards.rb.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2997

commit f49a24201c8bbcf9fcb4349174e468a673d14b98
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-03 09:42:52 +0900

    Refined spec/mspec/tool/remove_old_guards.rb

    * Allow spaces around `...`
    * Matches quotes more precisely
    * Matches 0 teeny

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2997

commit da05c1552ee519d8f180b48d97148d28501acb35
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-04-03 05:39:28 +0900

    Update to ruby/spec@cc7b9e5

commit 4ec32f869f5d4cdd4a3048f7a10258b3779bf388
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-04-03 05:39:26 +0900

    Update to ruby/mspec@b9fe8d6

commit 2a4049b23c081eb5509490bac0414ac40e83c5c4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-03 01:06:56 +0900

    Bail out before pushing unexpected object

commit 2544bf9452b5208a450509aa219bc33aeffbd292
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-03 01:04:30 +0900

    New macro `NEW_RIPPER` instead of `NEW_CDECL`

commit 242e58db2f34c3e35265fc393cd7c5c792e65754
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-03 01:16:16 +0900

    Removed obsolete names

commit 061eba02294fd056108612ff16a0d7ac08e6fe0d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-03 01:08:19 +0900

    * 2020-04-03 [ci skip]

commit 0f57d66f9e1e7bf4419d9d3a70132bbc4006f9fe
  Author: Sorah Fukumori <her@sorah.jp>
  Date:   2020-04-03 00:49:12 +0900

    webrick/ssl: More keyUsage for self-signed certs

    Chrome 75+ started to strictly enforce X.509 keyUsage against TLS server
    certificates. Webrick supports generating instant self-signed
    certificates for debugging purpose and these certificates lacks required
    keyUsage for modern TLS. So adding the following keyUsages:

    - digitalSignature (for server authentication)
    - keyAgreement (for DH key exchange)
    - dataEncipherment (for data encryption)

    References:

    - https://tools.ietf.org/html/rfc5280#section-4.2.1.3
    - https://crbug.com/795089
    - https://boringssl-review.googlesource.com/c/34604

commit 9ddf1472375a590d1b1c3856f90fedf151fe30a3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-02 22:53:26 +0900

    Export `rb_deprecate_constant`

commit 0540df3ed71d0d595f06e9b62e5931c14b9b4fb3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-02 22:30:17 +0900

    Ensure the cache directory to be shared exists

commit 78b6eb9f9f0590d5b66b3578363e2afa70353962
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-01 15:18:00 +0900

    [ruby/etc] Deprecate names under `Struct`

    https://github.com/ruby/etc/commit/25c538120c

commit bd0a7d8dd5a9e5e445c5efa7c7155850092889dc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-02 22:00:00 +0900

    Revert "[ruby/etc] Deprecate names under `Struct`"

    This reverts commit 69f698d85ada116db5747873e53c597991bedff8.

    Again.

commit 11ddfd4c91c32d1011805feeadb214c194a12646
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-02 21:59:33 +0900

    Revert "[ruby/etc] Hack to get rid of linking against static library"

    This reverts commit 5885550c8cb80fb8784598d3af1d90823f4f6604.

    It didn't work without `--enable-shared`.

commit 736695cefb8147f7e5d1b5a23c7a36c3b6e73f6d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-02 21:33:53 +0900

    * 2020-04-02 [ci skip]

commit 5885550c8cb80fb8784598d3af1d90823f4f6604
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-02 21:32:36 +0900

    [ruby/etc] Hack to get rid of linking against static library

commit 69f698d85ada116db5747873e53c597991bedff8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-01 15:18:00 +0900

    [ruby/etc] Deprecate names under `Struct`

    https://github.com/ruby/etc/commit/25c538120c

commit fad0a1451b6396c488b0876d05a64de844096292
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-01 19:29:39 +0900

    Revert "[ruby/etc] Deprecate names under `Struct`"

    This reverts commit 919b175afc389f8df6a3caa05ffdd28f5fc4bfca.

    Since 604689628dc64d050a68f1ebe5e06f9105474936, to let `try_run`
    work before LIBRUBY_SO is installed, `try_link` links against the
    static library which defines even symbols unexported in the shared
    library.

commit 919b175afc389f8df6a3caa05ffdd28f5fc4bfca
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-01 15:18:00 +0900

    [ruby/etc] Deprecate names under `Struct`

    https://github.com/ruby/etc/commit/25c538120c

commit 552f05ef273d99dabd5c463de69aac6290dec119
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-01 15:34:01 +0900

    [ruby/etc] Drop binary gems support

    Revert "Added build:mingw" e1674c18f5a0faf881b362363f428d139baef3b4.

    https://github.com/ruby/etc/commit/d8f1dd85d3

commit 826f44834fe11f3f9c52343443a15b6c83466889
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-08 19:43:27 +0900

    Drop support for ruby 2.4 from ruby/spec

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2892

commit 3a2073e61b6ccce6d07d31ebd89d4c385b9a55f2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-09 11:07:01 +0900

    Use FrozenError instead of frozen_error_class

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2892

commit 151f8be40d385ada2ebf7feb84210ed7db7ef4df
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-04-01 13:58:01 +0900

    Make JIT-ed leave insn leaf

    to eliminate sp / pc moves by cancelling JIT execution on interrupts.

    $ benchmark-driver benchmark.yml -v --rbenv 'before --jit;after --jit' --repeat-count=12 --output=all
    before --jit: ruby 2.8.0dev (2020-04-01T03:48:56Z master 5a81562dfe) +JIT [x86_64-linux]
    after --jit: ruby 2.8.0dev (2020-04-01T04:58:01Z master 39beb26a27) +JIT [x86_64-linux]
    Calculating -------------------------------------
                                     before --jit           after --jit
    Optcarrot Lan_Master.nes    75.06409603894944     76.06422026555558 fps
                                75.12025067279242     78.48161731616810
                                77.42020273492177     79.78958240950033
                                79.07253675128945     79.88645902325614
                                79.99179109732327     80.33743931749331
                                80.07633091008627     80.53790081529166
                                80.15450942667547     80.99048270668010
                                80.48372803283709     81.70497146081003
                                80.57410149187352     82.79494539467382
                                81.80449157081202     82.85797792223954
                                82.24629397834902     83.00603891515506
                                82.63708148686703     83.23221006969828

    $ benchmark-driver -v --rbenv 'before;before --jit;after --jit' benchmark/mjit_leave.yml --repeat-count=4
    before: ruby 2.8.0dev (2020-04-01T03:48:56Z master 5a81562dfe) [x86_64-linux]
    before --jit: ruby 2.8.0dev (2020-04-01T03:48:56Z master 5a81562dfe) +JIT [x86_64-linux]
    after --jit: ruby 2.8.0dev (2020-04-01T04:58:01Z master 39beb26a27) +JIT [x86_64-linux]
    Calculating -------------------------------------
                             before  before --jit  after --jit
              mjit_leave   106.656M       82.786M      91.635M i/s -    200.000M times in 1.875183s 2.415881s 2.182569s

    Comparison:
                           mjit_leave
                  before: 106656239.9 i/s
             after --jit:  91635143.7 i/s - 1.16x  slower
            before --jit:  82785537.2 i/s - 1.29x  slower

commit 5a81562dfed2d5839e28b654d4f0f69de632aa8e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-04-01 12:37:01 +0900

    `Dir.glob` always returns an array

    It is not needed to test itself, but the element should be tested
    instead.

commit 57a36a1698774ea4b8ac81fd62a241ffced664d2
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-04-01 11:49:23 +0900

    * 2020-04-01 [ci skip]

commit 3e386d76c2d2f4a38ddf7101344178bff84c824f
  Author: Paul Jordan <paullj1@gmail.com>
  Date:   2020-04-01 10:18:23 +0900

    Fix helper to not assume glibc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2995

commit 0091fac1d8de07e86fef8315ba77609bed9dd7f5
  Author: Paul Jordan <paullj1@gmail.com>
  Date:   2020-04-01 10:15:20 +0900

    Patch assembly so that it aligns properly

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2995

commit 519a69b55c7c4a8c4f234f4d6ac7e4d018d3c42a
  Author: Paul Jordan <paullj1@gmail.com>
  Date:   2020-04-01 10:13:49 +0900

    ucontext doesn't exist in a musl-libc env; use native assembly

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2995

commit 61b7f86248bd121be2e83768be71ef289e8e5b90
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-31 20:18:21 +0900

    ext/socket/init.c: do not return uninitialized buffer

    Resize string buffer only if some data is received in
    BasicSocket#read_nonblock and some methods.

    Co-Authored-By: Samuel Williams <samuel.williams@oriontransfer.co.nz>

commit 03ca90c732d4e2369d907d3b1b8d641ff4345f5a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-31 17:36:52 +0900

    Share download cache with bundler

commit dad110d068960a22f3cadfeaf4d235e2585a143b
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-31 15:18:06 +0900

    Remove an unused pragma

    It originally had a string literal, but it no longer has one.

commit d83ac4ec68322049cf3d3c8342f5144f6b5b4ad7
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-31 15:17:21 +0900

    * 2020-03-31 [ci skip]

commit b736ea63bd4ce4e2fc81dfa73938b39fa70f659c
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-31 14:27:01 +0900

    Optimize exivar access on JIT-ed getivar

    JIT support of dd723771c11.

    $ benchmark-driver -v --rbenv 'before;before --jit;after --jit' benchmark/mjit_exivar.yml --repeat-count=4
    before: ruby 2.8.0dev (2020-03-30T12:32:26Z master e5db3da9d3) [x86_64-linux]
    before --jit: ruby 2.8.0dev (2020-03-30T12:32:26Z master e5db3da9d3) +JIT [x86_64-linux]
    after --jit: ruby 2.8.0dev (2020-03-31T05:57:24Z mjit-exivar 128625baec) +JIT [x86_64-linux]
    Calculating -------------------------------------
                             before  before --jit  after --jit
             mjit_exivar    57.944M       53.579M      54.471M i/s -    200.000M times in 3.451588s 3.732772s 3.671687s

    Comparison:
                          mjit_exivar
                  before:  57944345.1 i/s
             after --jit:  54470876.7 i/s - 1.06x  slower
            before --jit:  53579483.4 i/s - 1.08x  slower

commit e5db3da9d34f0a7595208863301c044b612adbed
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-30 21:32:26 +0900

    Migrate {assert,refute}_patch_exits for compatibility with Minitest5

commit 7a2177ea507c3137acb961cbc6fb976999b7af67
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-03-30 17:35:49 +0900

    Use `--depth` on pull request

    `--shallow-since=yesterday` for COMMIT_NUMBER_OF_DAY of `tool/actions-commit-info.sh`.
    COMMIT_NUMBER_OF_DAY is mainly for master branch.
    And `--shallow-since=yesterday` may fail on pull request.
    So this revert to `--depth` on pull request.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2992

commit f2807f4ec0e58329bd215d03c6c1e0e296a833a7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-30 16:03:38 +0900

    Refresh revision.h by after-update

commit 9552fa9c0d02e3c1dc618c3de6ba565ec05bb68f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-30 15:51:40 +0900

    [DOC] Updated module name [ci skip]

commit 293c6d9b6154edb5190ea7a8577effd257bf4732
  Author: Ellen Marie Dash <me@duckie.co>
  Date:   2020-03-27 05:43:51 +0900

    [rubygems/rubygems] Remove deprecated + broken rubygems/source_local.

    It has been deprecated for 3 years, and has been broken for that entire
    period. (It required itself, instead of `rubygems/source/local`.)

    Closes #3158.

    https://github.com/rubygems/rubygems/commit/2f01a272d0

commit 9d5e7d6c67b084649a6966c69032dd35b1e16b79
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-22 20:50:56 +0900

    [rubygems/rubygems] Revert "Remove Gem::DependencyInstaller#find_gems_with_sources"

    This reverts commit 04c79d3eb9d9803d9fae78575b125b325b97206e.

    Final removal is postponed until next year until we find a better way to
    manage deprecations.

    https://github.com/rubygems/rubygems/commit/3e1cf918a5

commit 7f8f33ebb9a8eba3d6721e24eac248ff75e2c615
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-27 02:43:34 +0900

    [rubygems/rubygems] Remove misleading comment

    That line means that the class supports both `URI`'s and `String`'s
    being passed to `initialize`. I don't see how that's related to 1.8.

    https://github.com/rubygems/rubygems/commit/77aeff4515

commit 7e1e60b0445bc2329e60642e2cc2c14c1668352a
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-27 02:42:48 +0900

    [rubygems/rubygems] Remove ruby 1.8 leftovers

    https://github.com/rubygems/rubygems/commit/84c89275b8

commit 061add792e658878c839887682716737d9f6d677
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2019-05-04 02:56:58 +0900

    [rubygems/rubygems] Enable `Style/ExtraSpacing` and auto-correct

    https://github.com/rubygems/rubygems/commit/6fa0b1b679

commit c16815cca7c223698c11b4c520b75caeb0499f93
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-27 21:49:55 +0900

    [rubygems/rubygems] Remove weird spacing from error messages

    https://github.com/rubygems/rubygems/commit/9e21fe7f58

commit 4cd90c7bc01a128f239fe9329e05ae774429286d
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-27 21:49:17 +0900

    [rubygems/rubygems] Remove weird spacing between receiver and method

    https://github.com/rubygems/rubygems/commit/d45cd34a67

commit b34721aa04e9de4e42c502b2a7ffe4f0a792d8d6
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-27 21:47:50 +0900

    [rubygems/rubygems] Consistently left align tokenizer test columns

    Makes it easier to rubocop.

    https://github.com/rubygems/rubygems/commit/26b31248ae

commit ba9dcdab3669f11b2e265712ceb43227c366fc3b
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-25 03:51:43 +0900

    [rubygems/rubygems] Enable Style/PercentLiteralDelimiters cop in rubygems

    So it matches the style used by bundler.

    https://github.com/rubygems/rubygems/commit/ab0580fd65

commit f987302cf4a59944e5f01572d8ac36bbdbbc97cc
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-30 12:41:46 +0900

    * 2020-03-30 [ci skip]

commit b385f7670ffa420790bc548747fa4b58c4c5d8f6
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-03-11 23:37:14 +0900

    Clear all trace events during teardown

    Since 0c2d81dada, not all trace events are cleared during VM teardown.
    This causes a crash when there is a tracepoint for
    `RUBY_INTERNAL_EVENT_GC_EXIT` active during teardown.

    The commit looks like a refactoring commit so I think this change was
    unintentional.

    [Bug #16682]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2959

commit 2a3f45bdb39c750e6f55525151cf3f9a5d727617
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-29 17:43:24 +0900

    Set `gnumake` in GNUmakefile for cygwin

    It was moved from defs/gmake.mk at 88f4ebac83a, for use in
    dependency rule lines.

commit 87aebecdc23d4da2130af586bafa360973cef479
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-29 10:06:53 +0900

    spec/ruby/core/time/: Use near time for timezone test

    `time_with_zone.zone.should == (time_with_zone - 60*60).zone` fails when
    the time is immediately before the change of summer time.

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11s/ruby-master/log/20200328T232504Z.fail.html.gz

    ```
    1)
    Time#+ preserves time zone FAILED
    Expected "CET" == "CEST"
    to be truthy but was false
    ```

    It is acceptable as it fails at most twice per year, but it would be
    good to use near time objects to reduce the possibility.

commit 6379c6af4d424fe20a6e4d05f5aba7229ade48ec
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-29 09:09:46 +0900

    spec/bundler/other/platform_spec.rb: skip an attempt to simulate JRuby

commit cf191872fdeade823b4c49b53ec9b28d66a5c402
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-29 07:23:28 +0900

    Increase the number of Process.times attempts

    CI of 5806c54447439f2ba22892e4045e78dd80f96f0c did not succeed
    https://travis-ci.org/github/ruby/ruby/jobs/668072714

commit 92c25114ab954643dc80f3a1765b53e87ce38d4c
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-29 07:19:06 +0900

    Clean up /tmp leftovers in ci.rvm.jp

commit addf43d7d5415a5e69c6b10d55eea9cf07cd253e
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-29 04:45:24 +0900

    * 2020-03-29 [ci skip]

commit 2b6848af0e93dab08af2721454a4318d13a5313b
  Author: Charles Oliver Nutter <headius@headius.com>
  Date:   2020-03-28 11:15:01 +0900

    [ruby/irb] Require jruby lib to get JRuby.compile_ir

    https://github.com/ruby/irb/commit/dc59afe4f6

commit f432b5e5cd831be9a2594ebb8d6654204a846998
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-28 22:15:27 +0900

    Fixed relative paths for test-spec

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2988

commit 5806c54447439f2ba22892e4045e78dd80f96f0c
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-03-28 22:39:01 +0900

    Improve reliability of the Process.times spec

commit 6413a26b6c90aeb6768cc1fa1dcf69de8e6bf36f
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-03-28 22:32:22 +0900

    Do not check that #stime changes in Process.times spec

    * Since the spec might not spend any time in system calls.

commit 11a381940b1cc546661fabc37c23c35404fc9a88
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-03-28 22:27:13 +0900

    Remove debugging code

commit 5fa12dafa8cb8f7158452356611967880745bba5
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-03-28 21:03:17 +0900

    The last argument of rb_rescue2() should always be (VALUE)0

    * Otherwise it might segfault, since C has no idea of the type of varargs,
      and the C code must assume all varargs are VALUE.

commit 5b48686691c2443d8d7113e593494c4d9302da0e
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-03-28 20:49:28 +0900

    Remove Process.clock_getres "matches the resolution in practice" specs

    * Almost all platforms return incorrect values for Process.clock_getres,
      it should be removed: https://bugs.ruby-lang.org/issues/16740

commit 282c9d1bbe9057c6dfd6694a82c9264354f3f23b
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-03-28 20:34:45 +0900

    Remove spec which is an incorrect usage of rb_rescue2()

    * It segfaults on MRI.

commit 34b0a7be0ed2fd4ca4d1d509a22964b5e61dfe34
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-28 19:31:11 +0900

    spec/ruby/library/rbconfig/rbconfig_spec.rb: restore "not windows" guard

    https://github.com/ruby/ruby/runs/541455267
    ```
    1)
    RbConfig::CONFIG libdir/LIBRUBY_SO is the path to libruby and it exists if and only if ENABLE_SHARED FAILED
    Expected File.exist? "d:/Ruby26-x64/lib/x64-msvcrt-ruby260.dll"
    to be truthy but was false
    D:/a/ruby/ruby/src/spec/ruby/library/rbconfig/rbconfig_spec.rb:46:in `block (3 levels) in <top (required)>'
    D:/a/ruby/ruby/src/spec/ruby/library/rbconfig/rbconfig_spec.rb:4:in `<top (required)>'
    ```

commit 476ac00e493d5c3635c02c4fd4dac6167634b5e4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-28 17:24:59 +0900

    Deal with bundled gems by BASERUBY

    As the currently released/snapshot tarballs should contain the
    bundled gems extracted already, RUNRUBY is not required when
    building from them with GNU make.

commit 8c80922c820c7cb1eddfdb8c06a067793955f09c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-28 16:10:32 +0900

    Fixed RbConfig spec for multiarch

commit 7072e0324ec7c083c46b7e6f566efa6a74206a07
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-28 14:57:17 +0900

    Guard RbConfig spec unless installed

commit 6eb3820aad1668b6b09c68929840dff2cfda04c0
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-28 11:12:30 +0900

    spec/ruby/optional/capi/kernel_spec.rb: stop a spec that causes SEGV

    I think the wrong terminating argument cannot work.
    To stop the noisy CI failures, the spec is tentatively suspended.

commit f234d51eaba861edea925eabb564a0bee41b96a0
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-03-28 08:22:51 +0900

    Update to ruby/spec@ec84479

commit 296f68816cf575b3ff920f92aec8a4109a7d81d4
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-03-28 08:22:48 +0900

    Update to ruby/mspec@16b5a0a

commit d214c188e48db5049fba8049a57dd6f73b1a57b0
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-28 03:31:41 +0900

    * 2020-03-28 [ci skip]

commit e1e4ea8fa91a0c62dea69977d989d0bb2b526b64
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-03-28 02:29:00 +0900

    Set external encoding correctly for File.open('f', FILE::BINARY) on Windows

    Previously, the external encoding was only set correctly for
    File::BINARY if keyword arguments were provided.  This copies
    the logic for the keyword arguments case to the no keyword
    arguments case.  Possibly it should be refactored into a
    separate function.

    Fixes [Bug #16737]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2985

commit 3486a460ea3e450982a6aee7456e5128c7aa1f0e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-27 00:49:49 +0900

    [ruby/reline] Suppress $/ warnings

    https://github.com/ruby/reline/commit/f4eac8c76f

commit 16c90f0678751e96cd8ddfa426ecdabfde10a28c
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-27 15:31:14 +0900

    test/digest/test_digest.rb: Apply EnvUtil.apply_timeout_scale to timeout

    The test seems to fail sometimes due to a warning message of circular
    require on very slow machine.

    ```
      1) Failure:
    TestDigest::TestDigestParen#test_race_mixed [/export/home/rubyci/unstable10s/tmp/build/20200326T091911Z/ruby/test/digest/test_digest.rb:263]:
    assert_separately failed with error message
    pid 12458 exit 0
    | /export/home/rubyci/unstable10s/tmp/build/20200326T091911Z/ruby/.ext/common/digest.rb:17: warning: /export/home/rubyci/unstable10s/tmp/build/20200326T091911Z/ruby/.ext/common/digest.rb:17: warning: loading in progress, circular require considered harmful - /export/home/rubyci/unstable10s/tmp/build/20200326T091911Z/ruby/test/digest/digest/foo.rb
    |       from -:10:in  `block (2 levels) in <main>'
    |       from /export/home/rubyci/unstable10s/tmp/build/20200326T091911Z/ruby/.ext/common/digest.rb:17:in  `const_missing'
    |       from /export/home/rubyci/unstable10s/tmp/build/20200326T091911Z/ruby/.ext/common/digest.rb:17:in  `require'
    |
    ```
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable10s/ruby-master/log/20200326T091911Z.fail.html.gz

commit 39c965f2306d29524feae04ff6e710b32702851a
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-03-27 12:33:39 +0900

    [ci skip] Doc-only enhancements for Hash

    About the default values.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2977

    Merged-By: nobu <nobu@ruby-lang.org>

commit 18aff42670c87fc0a6b63d411e68b59f3f676a73
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-27 02:14:49 +0900

    * 2020-03-27 [ci skip]

commit 0d5db771164e0eb65bc5e74c7ef8e7d9dbc0a563
  Author: S.H <gamelinks007@gmail.com>
  Date:   2020-03-27 02:14:23 +0900

    Fix AppVeyor pull request CI (#2983)

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit b94f50ed9138b9dec04f2df6d1dcf47983985c66
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-26 20:27:57 +0900

    Added implictily require for URI::HTTP

commit b0b6d0a68854c637b9be63f3af178eb4eb285fc1
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-26 18:06:32 +0900

    * remove trailing spaces. [ci skip]

commit 9e8d75e8819972377dc1457fc0d0e489bb9c533b
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-13 18:54:57 +0900

    [ruby/uri] Remove RCS keywords

    https://github.com/ruby/uri/commit/1bcb1203ad

commit 5e9e16292ac18c9f163309991dc837c33acffe7c
  Author: Matt Muller <mamuller@amazon.com>
  Date:   2020-02-27 03:10:41 +0900

    [ruby/uri] Remove revision lines from comments

    https://github.com/ruby/uri/commit/f1c133a7d6

commit 92a238a21caa6e8c9e4823b8bee67e37a362a9f8
  Author: Matt Muller <mamuller@amazon.com>
  Date:   2020-02-22 06:55:07 +0900

    [ruby/uri] Add support for WebSockets

    https://github.com/ruby/uri/commit/805a95786a

commit 844ff7ea45b79e95eaed4b725fd0cf5c33874058
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2019-12-28 07:36:41 +0900

    [ruby/uri] Simplify construction of URI instances using parser interface.

    https://github.com/ruby/uri/commit/c145017dd7

commit e460c2d033b1e7a95417aa93cb4a3cd5cf57b25c
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2019-12-06 00:12:51 +0900

    [ruby/uri] Prefer `require_relative` for loading internal code

    So that we don't need to search the LOAD_PATH, given that we know which
    files we want to load in advance.

    https://github.com/ruby/uri/commit/cbecefb788

commit 69cd27c98eafd8711056825cf6c378eee282ffaa
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-03-24 13:56:22 +0900

    [ruby/reline] Suppress error when check ambiguous char width in LANG=C

    https://github.com/ruby/reline/commit/623dffdd75

commit 8911b3d3e8073970ba0d3b605be8503ee7367e89
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-03-21 18:41:14 +0900

    [ruby/reline] Add a comment why rescue yamatanooroti loading error on the test

    https://github.com/ruby/reline/commit/2a8061daec

commit 467b665a8be2f823256b28661e7819f7e8337709
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-03-21 18:40:15 +0900

    [ruby/reline] Rename test suite name of yamatanooroti test

    https://github.com/ruby/reline/commit/b0f32f5de4

commit 9339a7d9d48fe5f7ed86b51a7a96e931742f8091
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-03-21 18:31:20 +0900

    [ruby/reline] Add yamatanooroti rendering test

    https://github.com/ruby/reline/commit/f092519525

commit 90913bfabe427993e82d4a72616739ee49e61a5d
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-03-21 18:13:50 +0900

    [ruby/reline] Suppress error in case INPUTRC env is empty

    https://github.com/ruby/reline/commit/bce7e7562b

commit f245fb1ab8d893a89c8749a703efea0b16353028
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-23 12:35:24 +0900

    [ruby/reline] Work with wrong $/ value correctly

    https://github.com/ruby/reline/commit/962ebf5a1b

commit 22477128cd77e0d0dce7e78bc12f9cc8cccc1cb4
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-03-26 16:43:16 +0900

    [ruby/irb] Suppress crashing when EncodingError has occurred without lineno

    https://github.com/ruby/irb/commit/13572d8cdc

commit ffbb162f1a052054ce2864d2971e83da10f8aa78
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-25 20:32:07 +0900

    [ruby/irb] Detect multiple lines output simplify

    The old implementation performance test code:

        require 'objspace'
        puts "%.5g MB" % (ObjectSpace.memsize_of_all * 0.001 * 0.001)
        /\A.*\Z/ !~ ('abc' * 20_000_000)
        puts "%.5g MB" % (ObjectSpace.memsize_of_all * 0.001 * 0.001)

    and run `time test.rb`:

        2.5868 MB
        62.226 MB

        real    0m1.307s
        user    0m0.452s
        sys     0m0.797s

    The new implementation performance test code:

        require 'objspace'
        puts "%.5g MB" % (ObjectSpace.memsize_of_all * 0.001 * 0.001)
        ('abc' * 20_000_000).include?("\n")
        puts "%.5g MB" % (ObjectSpace.memsize_of_all * 0.001 * 0.001)

    and run `time test.rb`:

        2.5861 MB
        62.226 MB

        real    0m0.132s
        user    0m0.088s
        sys     0m0.042s

    https://github.com/ruby/irb/commit/40d6610baf

commit b08c1bea3632062d0689affac4e0e78523349af0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-30 12:08:37 +0900

    [ruby/irb] Unnamed groups are not captured when named groups are used

    https://github.com/ruby/irb/commit/0a641a69b0

commit ba04678c9820613e19fc485e66363c62726e5797
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-26 14:52:51 +0900

    Ignore test_getbinaryfile for --jit-wait

    To fix this properly, we'd need to configure timeout for the server and
    the client because waiting for compilation takes time.

    Until we figure out how to do it, let me skip this.

commit eaf06f457af92505fb718a8b711f4d825f399b69
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-26 01:19:58 +0900

    * 2020-03-26 [ci skip]

commit ff98931daca1265e5bd33025d160c77e452c399e
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-26 01:16:50 +0900

    check flags passed to rb_nogvl()

    RB_NOGVL_UBF_ASYNC_SAFE is wrongly specified because flags
    is not checked.
    [Bug #15499] 23444302

commit 34d881cba299682d897a151e439f2edc9cf63c0e
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-03-25 19:40:52 +0900

    Fix AppVeyor CI sometimes fail

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2979

commit 4adb2d655dcd54b28366b4d17e86b21e2b622cd1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-25 22:00:15 +0900

    Make RbConfig::CONFIG values mutable [Bug #16738]

    As `RbConfig.expand` modifies the argument and involved `CONFIG`
    values, its values should be mutable.

commit 48a5c155fa850fd0c0ea8b5b9219967b6e7181f9
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-25 21:39:03 +0900

    Import racc-1.5.0 from upstream repository.

commit edffe78a79dfddb6f17317b831a13dd5be919271
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-25 01:45:46 +0900

    * 2020-03-25 [ci skip]

commit c7d668801bd27f8245a15311da4e8e859ba28dec
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-25 01:23:03 +0900

    Fixed crash when argument array is modified

commit 1b3339528c0804aa0e673bd3f15be8b087d17bd8
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-24 17:43:33 +0900

    Skip a test that attempts to remove the current directory on Solaris

commit 12a3671a9bfb6d6d9bd358ee453b3f21e66d3092
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-24 17:21:55 +0900

    test/rubygems: Try not only /usr/bin/env but also /bin/env

    RubyGems chooses available one from the two: /usr/bin/env or /bin/env

    https://github.com/rubygems/rubygems/blob/20b0d609484df2b514954ba9ef890a7cbdd01d18/lib/rubygems/installer.rb#L38

    So, it is good not to hard-code /usr/bin/env in tests.

    This is a retry of 65201c054a90c8e7beb8fe1e6d0006541ac33449 which was
    accidentally deleted by 96064e6f1ce100a37680dc8f9509f06b3350e9c8

commit 96064e6f1ce100a37680dc8f9509f06b3350e9c8
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-24 15:39:24 +0900

    Sync rubygems with current master (#2889)

  Notes:
    Merged-By: hsbt <hsbt@ruby-lang.org>

commit 930b012ad96bfb0bd12446b89407120744ef92eb
  Author: Kazuhiro NISHIYAMA <znz@users.noreply.github.com>
  Date:   2020-03-24 15:36:53 +0900

    Add rexml to fix rss of test-bundled-gems (#2976)

  Notes:
    Merged-By: hsbt <hsbt@ruby-lang.org>

commit f6b6a7ad345c50eeb3f7206ceabdf41ba94b7d85
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-21 12:43:57 +0900

    Show failed times

commit eff0c5bf2ad47d10a440c5211be5eddb3bbf4028
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-24 14:53:53 +0900

    Try to avoid random failures on clock_getres_spec.rb

    This spec fails too often
    https://github.com/ruby/ruby/runs/529546249
    https://github.com/ruby/ruby/runs/524933256

commit 5c4847f191eee0dc519a92fcb56c3dc38f075816
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-24 14:42:50 +0900

    Use miniruby to run tool/mjit_tabs.rb

    hoping to fix https://github.com/ruby/actions/runs/527422022

commit 5b3157a51177b56fd79d4f4e3cb08e0a6459944f
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-24 14:31:38 +0900

    Make file names and variable names consistent

commit 6ab3664635aae9c35c207fb570e14740d8383444
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-24 13:46:00 +0900

    Moved MJIT_WITHOUT_TABS default to configure.ac

    And then the environment variable.

commit 448c76be63f8712d29161701575a51823565bc2b
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-24 10:56:10 +0900

    * 2020-03-24 [ci skip]

commit c565dfb09ad7d55fa671f65cea7088a914bf1931
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-24 10:45:52 +0900

    test/json/test_helper.rb: Do not add a relative path to $LOAD_PATH

    ... because it conflicts with test/ruby/test_m17n.rb.

    An exception `incompatible character encodings: UTF-8 and UTF-16BE`
    occurs when:

    * a non-existence relative path is added to $LOAD_PATH,
    * ASCII-incompatible encoding is set to default_external, and
    * some file is loaded.

    ```
    $LOAD_PATH << "no_existing_dir"
    Encoding.default_external = Encoding::UTF_16BE
    load "dummy.rb" #=> incompatible character encodings: UTF-8 and UTF-16BE
    ```

    This issue can be actually observed by a combination of out-of-place
    build and the following command:

    make test-all TESTS="json ruby/m17n -n test_object_inspect_external"

    http://ci.rvm.jp/logfiles/brlog.trunk-test-random.20200322-221411

    ASCII-incompatible default external encoding assumes that the cwd is the
    encoding, and it is attempted to beconcatenated with a non-existence
    relative LOAD_PATH UTF-8 string, which causes the exception.

    This changeset avoids a relative path.

commit 13e9551b97d6bb9fcd09283692f6090f4c418059
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-23 15:15:50 +0900

    Change the filename like make variable

    for consistency

commit 3bd7d5617f9bf703d5199d5c091694594bbb5fc0
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-23 15:14:31 +0900

    Make the first argument slightly more robust

commit d578f1d3ea317ef8d899d0fd9a4440ba67821d17
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-23 15:07:09 +0900

    Change the run_without_tabs switching to dedicated

    variable of make instead of d059714746 as requested.

    You can disable this like `make MJIT_WITHOUT_TABS=false` or
    `export MJIT_WITHOUT_TABS=false`.

commit d059714746466b4062545719f2e81ca612aa22f3
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-23 12:20:26 +0900

    Disable run_without_tabs when there's no -ggdb3

    in debugflags, as requested by nobu

    I actually wanted to check debugflags directly rather than MJIT_DEBUGFLAGS
    because debugflags is always used but MJIT_DEBUGFLAGS may not be always used.
    But I couldn't find a better way to check debugflags.

commit 21d8e6924844d592ff2d5a2e7309457eb92e66f6
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-23 11:32:20 +0900

    disable to show the maximum number of threads.

    On Deiban 9 environment, the thread tests failed and
    this maximum threads information can finish up the machine
    resources. To check it, I turned-off showing this information.

commit 1d996fe72fc20fbc88f07b4b8d34b99aacc688f3
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-23 10:54:44 +0900

    test/ruby/test_m17n.rb: Update the debugging code to get C stacktrace

commit c4e3d9e95390c934f7ebb185da69dad477183730
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-23 08:36:54 +0900

    Expand tabs of include/ruby/ruby.h in MJIT header

    rb_class_of is indented with tabs

commit 3cf3427c991eb621cb670e24331a239cf9f010e4
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-23 07:49:47 +0900

    Try asserting no static decl rather than warning

    This didn't exist in my machine, but it may exist in some CI
    environments.

commit a55f670757c1387aa60d999b3882267816ce7b64
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-23 07:46:52 +0900

    Reduce the number of lines used by transform_mjit_header

commit dec0f582e41c84fd24be7b0f1633bf8979ee2db7
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-23 04:18:46 +0900

    Workaround an encoding problem in run_without_tabs

    It's to be fixed properly later. But this should be able to avoid the failure.

    https://travis-ci.org/github/ruby/ruby/jobs/665580361
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200322T190003Z.fail.html.gz

commit 9ebf74fd7843c34eda59f228fc34ab73f2cc458d
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-23 03:50:45 +0900

    Expand tabs for rb_mjit_header.h (#2975)

    This is necessary to avoid converting a hard tab to just 1 space in
    preprocessor to generate rb_mjit_header.h, which is helpful when using
    gdb or perf report.

    See also: [Misc #16112]

    This reverts commit 91acdd17c4b4bb69a8fa3ada46e09dad46b9362e.
    Fixed permission failure on Travis, encoding, and added SKIPPED_FILES.

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 1c056829298479168cf4db8f1ebdd248149fef70
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-23 02:13:28 +0900

    test/ruby/test_m17n.rb: Make the debugging code print to stderr

    The test is executed with -j8, so printing something to stdout may break.

commit f7573303676ddceafd1dd02ac82060463b161d5c
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-23 01:30:41 +0900

    * 2020-03-23 [ci skip]

commit adecd43197d5ea2a62a618a5c9be653bcf009c62
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-03-23 01:30:20 +0900

    Merge pull request #2721 from jeremyevans/method-inspect-chain-alias-11188

    Correctly show defined class for aliases of aliases

  Notes:
    Merged-By: jeremyevans <code@jeremyevans.net>

commit 4f7b435c955792af780fe9e94f98d3dde839e056
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-09-24 08:03:15 +0900

    Support obj.clone(freeze: true) for freezing clone

    This freezes the clone even if the receiver is not frozen.  It
    is only for consistency with freeze: false not freezing the clone
    even if the receiver is frozen.

    Because Object#clone is now partially implemented in Ruby and
    not fully implemented in C, freeze: nil must be supported to
    provide the default behavior of only freezing the clone if the
    receiver is frozen.

    This requires modifying delegate and set, to set freeze: nil
    instead of freeze: true as the keyword parameter for
    initialize_clone.  Those are the two libraries in stdlib that
    override initialize_clone.

    Implements [Feature #16175]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2969

commit 095e9f57af30fc286ba66557d86f080003ab6d5a
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-22 22:34:49 +0900

    test/ruby/test_m17n.rb: Add a temporal code for debugging

    http://ci.rvm.jp/logfiles/brlog.trunk-test-random.20200322-221411
    ```
    I, [2020-03-22T22:15:50.761950 #23076]  INFO -- :   1) Error:
    I, [2020-03-22T22:15:50.761963 #23076]  INFO -- : TestM17N#test_object_inspect_external:
    I, [2020-03-22T22:15:50.761974 #23076]  INFO -- : Encoding::CompatibilityError: incompatible character encodings: UTF-8 and UTF-16BE
    ```

commit 6ab7d439f8d43234004e1760aa88a98c29129006
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-22 21:58:18 +0900

    test/ruby/test_fiber.rb (test_many_fibers_with_threads): relax timeout

    This test takes 40..50 seconds under Solaris 11, so the timeout (60
    seconds) was too strict.  This change increases it to 180 seconds.

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20200322T100007Z.fail.html.gz
    ```
      1) Error:
    TestFiber#test_many_fibers_with_threads:
    Timeout::Error: execution of assert_normal_exit expired timeout (60 sec)
    ```

commit 91acdd17c4b4bb69a8fa3ada46e09dad46b9362e
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-22 16:53:05 +0900

    Revert "Expand tabs for rb_mjit_header.h"

    This reverts commit 57119dd561418c917b885db5f5af7f129a96d1ec.

    Temporarily reverting for Travis failures

commit 57119dd561418c917b885db5f5af7f129a96d1ec
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-22 16:12:21 +0900

    Expand tabs for rb_mjit_header.h

    I can't live without this when using gdb or perf report.

    See also: [Misc #16112]

commit 0bed561f6a8cd5696b182ae361e2bbbfe9fa6df1
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-22 13:09:58 +0900

    * 2020-03-22 [ci skip]

commit 355c27d2b0f8f765354df0f4f1ea12977a661d8c
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-03-22 13:07:05 +0900

    Update power_assert to 1.1.7

    This update fixes test-bundled-gems failures:
    https://github.com/ruby/actions/actions/runs/60272820
    https://github.com/ruby/actions/actions/runs/60273425

commit 5908914ea2dcb666e099747006e4de262b46ed77
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-21 23:05:45 +0900

    test/net/http/test_http.rb: relax open_timeout limit

    The test fails randomly on the CI of OpenCSW SPARC Solaris 10:

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable10s/ruby-master/log/20200321T091909Z.fail.html.gz
    ```
      1) Failure:
    TestNetHTTP_v1_2_chunked#test_timeout_during_HTTP_session [/export/home/rubyci/unstable10s/tmp/build/20200321T091909Z/ruby/test/net/http/test_http.rb:575]:
    [Net::ReadTimeout] exception expected, not #<Net::OpenTimeout: execution expired>.
    ```

    The environment uses RUBY_TEST_SUBPROCESS_TIMEOUT_SCALE=20, so the open
    timeout 0.1 sec. means 2.0 sec. for the environment, but it seems too
    strict because the environment is painfully slow.

commit 5b287481befe03cc3e3dbc4b5571e21dbc523bae
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-21 16:59:55 +0900

    Removed non-RUBY_INTEGER_UNIFICATION code

commit 6f0446785b537994bceb9fc8574cdaa9b59cbef6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-21 16:42:19 +0900

    Leave power cache table initialized as Qfalse

commit 318be1cb2f9c6f04403c063a5618c6267012ee51
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-21 16:33:18 +0900

    Show libffi version only if set

commit b2041c8b709ba56774005340a4bd2096f4c119aa
  Author: taki <taki@users.noreply.github.com>
  Date:   2020-03-21 09:22:11 +0900

    [ci skip]Fix return type on RbConfig.fire_update!

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2972

commit be76e86e69106c6906322dc30aa75c3ff65da63c
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-21 15:46:33 +0900

    test/openssl/test_ssl.rb: ignore SSLError when the connection is closed

    "test_close_after_socket_close" checks if ssl.close is no-op even after
    the wrapped socket is closed.  The test itself is fair, but the other
    endpoint that is reading the SSL connection may fail with SSLError:
    "SSL_read: unexpected eof while reading" in some environments:

    https://github.com/ruby/ruby/actions/runs/60085389 (MinGW)
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/android28-x86_64/ruby-master/log/20200321T034442Z.fail.html.gz
    ```
      1) Failure:
    OpenSSL::TestSSL#test_close_after_socket_close [D:/a/ruby/ruby/src/test/openssl/utils.rb:299]:
    exceptions on 1 threads:
    SSL_read: unexpected eof while reading
    ```

    This changeset rescues and ignores the SSLError in the test.

commit 39cefa64d2b8f256ba6e3ed36e0def963aad9b06
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-21 11:51:57 +0900

    * 2020-03-21 [ci skip]

commit 86ca640287eccc8426b87903cac1ec428d7ede8b
  Author: Jun Aruga <jaruga@redhat.com>
  Date:   2020-03-18 22:31:11 +0900

    Enablie IPv6 on Travis s390s case again.

    It seems the issue was fixed by Travis.
    See https://travis-ci.community/t/6719/5 .

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2970

commit 7cc7627c2d4db91f1097c7f1c5f5c9a41aeaefc6
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-03-19 18:11:57 +0900

    Fix typos [ci skip]

commit b6833ff50d2c7188e615839284263cf58cca48b7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-19 13:25:53 +0900

    Get rid of redefinition of `rb_execution_context_t`

    Regardless of the order to include "vm_core.h" and "builtin.h".

commit eeb178dc1fe69b5fbf7194d75c0f6ac7e02d4de1
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-03-19 10:48:00 +0900

    .travis.yml: allow arm64-linux to fail

    Ditto for a833eb29f7eaced61919b7ed19e830a3905e8a8b

commit 79b4aca94cb3307ff49135114fca2db7c9b5331d
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-19 10:38:31 +0900

    Ignore TestJITDebug in mswin RubyCI for now

    It's still pending to be implemented. To be enabled later when it's
    implemented.

commit 4eeeb1100a5ce1e91a5b7ca9dad27851923e0565
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-19 10:26:39 +0900

    * 2020-03-19 [ci skip]

commit a833eb29f7eaced61919b7ed19e830a3905e8a8b
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-03-19 10:20:02 +0900

    .travis.yml: allow arm32-linux to fail

    It seems fragile now, seemingly due to environmental issues.  Lets allow
    it to fail for a while.  Reported by Jun Agura <jaruga@redhat.com>
    [ruby-core:97540]

commit afd23ed0491b9df0b6a1753a2f66cd3f80428930
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-03-18 13:57:03 +0900

    Added link to the ticket [ci skip]

commit f4fc81fe928712d3419d5e1bd6a003e88089a434
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-18 04:10:10 +0900

    * 2020-03-18 [ci skip]

commit d2c41b1bff1f3102544bb0d03d4e82356d034d33
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-02-25 05:05:07 +0900

    Reduce allocations for keyword argument hashes

    Previously, passing a keyword splat to a method always allocated
    a hash on the caller side, and accepting arbitrary keywords in
    a method allocated a separate hash on the callee side.  Passing
    explicit keywords to a method that accepted a keyword splat
    did not allocate a hash on the caller side, but resulted in two
    hashes allocated on the callee side.

    This commit makes passing a single keyword splat to a method not
    allocate a hash on the caller side.  Passing multiple keyword
    splats or a mix of explicit keywords and a keyword splat still
    generates a hash on the caller side.  On the callee side,
    if arbitrary keywords are not accepted, it does not allocate a
    hash.  If arbitrary keywords are accepted, it will allocate a
    hash, but this commit uses a callinfo flag to indicate whether
    the caller already allocated a hash, and if so, the callee can
    use the passed hash without duplicating it.  So this commit
    should make it so that a maximum of a single hash is allocated
    during method calls.

    To set the callinfo flag appropriately, method call argument
    compilation checks if only a single keyword splat is given.
    If only one keyword splat is given, the VM_CALL_KW_SPLAT_MUT
    callinfo flag is not set, since in that case the keyword
    splat is passed directly and not mutable.  If more than one
    splat is used, a new hash needs to be generated on the caller
    side, and in that case the callinfo flag is set, indicating
    the keyword splat is mutable by the callee.

    In compile_hash, used for both hash and keyword argument
    compilation, if compiling keyword arguments and only a
    single keyword splat is used, pass the argument directly.

    On the caller side, in vm_args.c, the callinfo flag needs to
    be recognized and handled.  Because the keyword splat
    argument may not be a hash, it needs to be converted to a
    hash first if not.  Then, unless the callinfo flag is set,
    the hash needs to be duplicated.  The temporary copy of the
    callinfo flag, kw_flag, is updated if a hash was duplicated,
    to prevent the need to duplicate it again.  If we are
    converting to a hash or duplicating a hash, we need to update
    the argument array, which can including duplicating the
    positional splat array if one was passed.  CALLER_SETUP_ARG
    and a couple other places needs to be modified to handle
    similar issues for other types of calls.

    This includes fairly comprehensive tests for different ways
    keywords are handled internally, checking that you get equal
    results but that keyword splats on the caller side result in
    distinct objects for keyword rest parameters.

    Included are benchmarks for keyword argument calls.
    Brief results when compiled without optimization:

      def kw(a: 1) a end
      def kws(**kw) kw end
      h = {a: 1}

      kw(a: 1)       # about same
      kw(**h)        # 2.37x faster
      kws(a: 1)      # 1.30x faster
      kws(**h)       # 2.19x faster
      kw(a: 1, **h)  # 1.03x slower
      kw(**h, **h)   # about same
      kws(a: 1, **h) # 1.16x faster
      kws(**h, **h)  # 1.14x faster

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2945

commit ac04b778c12120ab91986822b71edf16fea61465
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-02-28 04:15:04 +0900

    Make {**{}} return unfrozen empty hash

    Previously, method call keyword splats and hash keyword splats
    were compiled exactly the same.  This is because parse-wise, they
    operate on identical nodes when it comes to compiling the **{}.

    Fix this by using an ugly hack of temporarily modifying the
    nd_brace flag in the method call keyword splat case.  Inside
    compile_hash, only optimize the **{} case for hashes where the
    nd_brace flag has been modified to reflect we are in the method
    call keyword splat case and it is safe to do so.

    Since compile_keyword_args is only called in one place, move the
    keyword_node_p call out of that method to the single caller to
    avoid duplicating the code.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2945

commit 3325194ac0fd9e14ab5535c80b3a9b329d030e76
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-17 19:47:45 +0900

    Get rid of bogus warning by VC

    ```
    c:\projects\ruby\mjit_worker.c(1219) : warning C4090: 'function' : different 'const' qualifiers
    ```

    It seems confused by passing "pointer to pointer to const object",
    not "pointer to const object".

commit 165e4572363f964e28cfdc51fe26de6728a5c174
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-17 19:46:03 +0900

    Check if `freeze` option is given

commit e609fd58a98bd344cb7ba1f79b21084ae055f596
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-17 19:37:27 +0900

    * 2020-03-17 [ci skip]

commit 290d608637e37323bb6eeda1b1466519f16308a5
  Author: S.H <gamelinks007@gmail.com>
  Date:   2020-03-17 19:37:07 +0900

    support builtin for Kernel#clone

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2954

    Merged-By: nobu <nobu@ruby-lang.org>

commit d514ba8e17106c6d159c3902ac5456d6269731f8
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-16 23:32:55 +0900

    `Proc` made by `Hash#to_proc` should be a lambda [Bug #12671]

    Like `Symbol#to_proc` (f0b815dc670b61eba1daaa67a8613ac431d32b16)

commit 304538e6ff64b8daadde5456988fb9f82c6a4849
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-03-16 23:21:08 +0900

    Fix typos [ci skip]

commit 47141797bed55eb10932c9a722a5132f50d4f3d8
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-16 23:03:22 +0900

    hash.c: Do not use the fast path (rb_yield_values) for lambda blocks

    As a semantics, Hash#each yields a 2-element array (pairs of keys and
    values).  So, `{ a: 1 }.each(&->(k, v) { })` should raise an exception
    due to lambda's arity check.
    However, the optimization that avoids Array allocation by using
    rb_yield_values for blocks whose arity is more than 1 (introduced at
    b9d29603375d17c3d1d609d9662f50beaec61fa1 and some commits), seemed to
    overlook the lambda case, and wrongly allowed the code above to work.

    This change experimentally attempts to make it strict; now the code
    above raises an ArgumentError.  This is an incompatible change; if the
    compatibility issue is bigger than our expectation, it may be reverted
    (until Ruby 3.0 release).

    [Bug #12706]

commit 4be2a891cce920d2e2c2ece572c66e5aabe98eaa
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-16 19:28:52 +0900

    The upstream repository of bundler was changed rubygems/rubygems now.

      https://github.com/rubygems/rubygems/pull/3166

commit 8a6ba10f9dd456cf54de800203cf04bbe42271fb
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-16 17:26:10 +0900

    Do not make disabled directories at installation  [Bug #12392]

commit 0f2f07a9bb0fcbfe897e956965fcf0cfb1ffdbfa
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-16 10:45:22 +0900

    Adjusted indents [ci skip]

commit ad10760b0580fdcac2e9fe9be4bd82515cc58484
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-16 11:00:32 +0900

    proc.c: Remove non-sense /* fall through */

commit 4ea83569469978c2b6b6bb7d858f7c3f512b40a0
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-16 07:12:13 +0900

    * 2020-03-16 [ci skip]

commit 713dc619f5372a645b66bef9dacee217c4101cb4
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-03-14 09:59:55 +0900

    Add missing write barrier for Hash#transform_values{,!}

    21994b7fd686f263544fcac1616ecf3189fb78b3 removed the write barrier that
    was present in rb_hash_aset(). Re-insert it to not crash during GC.

    [Bug #16689]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2964

commit f14409c9bb65451618b5f2da82ab9b138ec77469
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-15 22:20:16 +0900

    Enclosed version constant

commit 1ad9b231ca6b86fe6a2f186022ad3854d2c31743
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-15 22:15:39 +0900

    Added guard against [Bug #16497]

commit a8ced388fd6770fad16c40e819590ba84488bd80
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-15 22:09:22 +0900

    [ruby/stringio] Bump version to 0.1.1

    https://github.com/ruby/stringio/commit/05d75e5e66

commit e257c08f2ec27e2d66cdfa7e2415deb492522e22
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-03-12 21:55:20 +0900

    [ruby/stringio] StringIO#initialize default to the source string encoding

    [Bug #16497]

    https://github.com/ruby/stringio/commit/4958a5ccab

commit d79890cbfaa32444e3bab60835d7f09abf3d9469
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-15 18:25:46 +0900

    Avoid doubly showing debug counters

    when RubyVM.show_debug_counters is explicitly called.

    According to the original description in 70fd099220446e39bb80eb0bb32870ce12134619,
    I think it's not intended to use the exit counter at all, and I'd like
    to skip it when I need to explicitly call this.

commit f6a54e6e461e3689d0d9068d33f986ce2d458bef
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-15 16:24:15 +0900

    Add debug counter for unload_units

    changing add_iseq_to_process's debug counter name as well for comparison

commit 67fbc122fb71fab9b148faedfb2159ad38d965ac
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-15 13:03:45 +0900

    Resurrect test_jit_debug.rb

    Revert "Temporarily drop test_jit_debug.rb"

    This reverts commit 5437d7c879585fbdb0c294298eb76cc563e01c69.

    Skipped some CIs which were failing previously.

commit 6e405b26116f7fe48761fe550c58f76a0f6534a2
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-15 12:54:38 +0900

    Use a human-readable funcname with --jit-debug

    for perf output like:

    Samples: 100K of event 'cycles:ppp', Event count (approx.): 1007750000
      Children      Self  Command  Shared Object             Symbol
    +   81.58%     1.47%  ruby     ruby                      [.] rb_vm_exec
    +   81.06%     7.61%  ruby     ruby                      [.] vm_exec_core
    +   80.16%     0.00%  ruby     ruby                      [.] vm_sendish (inlined)
    +   75.03%     0.00%  ruby     ruby                      [.] mjit_exec (inlined)
    +   74.37%     0.00%  ruby     ruby                      [.] mjit_exec (inlined)
    +   73.42%     0.22%  ruby     _ruby_mjit_p11277u42.so   [.] _mjit42_rack_method_override_rb_call
    +   73.25%     0.10%  ruby     _ruby_mjit_p11277u41.so   [.] _mjit41_sinatra_show_exceptions_rb_call
    +   73.19%     0.22%  ruby     _ruby_mjit_p11277u44.so   [.] _mjit44_rack_head_rb_call
    +   73.03%     0.15%  ruby     _ruby_mjit_p11277u45.so   [.] _mjit45_sinatra_base_rb_call
    +   72.87%     0.26%  ruby     _ruby_mjit_p11277u49.so   [.] _mjit49_rack_logger_rb_call
    +   70.56%     0.11%  ruby     _ruby_mjit_p11277u40.so   [.] _mjit40_sinatra_base_rb_call
    +   68.70%     0.11%  ruby     _ruby_mjit_p11277u39.so   [.] _mjit39_sinatra_base_rb_call
    +   68.39%     0.29%  ruby     _ruby_mjit_p11277u56.so   [.] _mjit56_rack_protection_frame_options_rb_call
    +   67.89%     0.18%  ruby     _ruby_mjit_p11277u37.so   [.] _mjit37_sinatra_base_rb_block_in_call
    +   67.04%     0.16%  ruby     _ruby_mjit_p11277u34.so   [.] _mjit34_sinatra_base_rb_synchronize

    Reverting deb1c7b97d, fixing `sprint_funcname`'s argument in `compact_all_jit_code`.
    Also updating common.mk.

commit deb1c7b97d204016256a11bfa069ddb3e8fab9ea
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-15 12:50:53 +0900

    Revert "Use a human-readable funcname with --jit-debug"

    This reverts commit cecebf55c476ae936f3e880477dfb62149143c46.

    debugging test failure...

commit 71f6f46bd753f9573813b4c128906696fa2e15b4
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-15 12:43:52 +0900

    * 2020-03-15 [ci skip]

commit cecebf55c476ae936f3e880477dfb62149143c46
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-15 12:38:48 +0900

    Use a human-readable funcname with --jit-debug

    for perf output like:

    Samples: 100K of event 'cycles:ppp', Event count (approx.): 1007750000
      Children      Self  Command  Shared Object             Symbol
    +   81.58%     1.47%  ruby     ruby                      [.] rb_vm_exec
    +   81.06%     7.61%  ruby     ruby                      [.] vm_exec_core
    +   80.16%     0.00%  ruby     ruby                      [.] vm_sendish (inlined)
    +   75.03%     0.00%  ruby     ruby                      [.] mjit_exec (inlined)
    +   74.37%     0.00%  ruby     ruby                      [.] mjit_exec (inlined)
    +   73.42%     0.22%  ruby     _ruby_mjit_p11277u42.so   [.] _mjit42_rack_method_override_rb_call
    +   73.25%     0.10%  ruby     _ruby_mjit_p11277u41.so   [.] _mjit41_sinatra_show_exceptions_rb_call
    +   73.19%     0.22%  ruby     _ruby_mjit_p11277u44.so   [.] _mjit44_rack_head_rb_call
    +   73.03%     0.15%  ruby     _ruby_mjit_p11277u45.so   [.] _mjit45_sinatra_base_rb_call
    +   72.87%     0.26%  ruby     _ruby_mjit_p11277u49.so   [.] _mjit49_rack_logger_rb_call
    +   70.56%     0.11%  ruby     _ruby_mjit_p11277u40.so   [.] _mjit40_sinatra_base_rb_call
    +   68.70%     0.11%  ruby     _ruby_mjit_p11277u39.so   [.] _mjit39_sinatra_base_rb_call
    +   68.39%     0.29%  ruby     _ruby_mjit_p11277u56.so   [.] _mjit56_rack_protection_frame_options_rb_call
    +   67.89%     0.18%  ruby     _ruby_mjit_p11277u37.so   [.] _mjit37_sinatra_base_rb_block_in_call
    +   67.04%     0.16%  ruby     _ruby_mjit_p11277u34.so   [.] _mjit34_sinatra_base_rb_synchronize

commit 666194559fd9e4a7cf8d544dde90b7b12f8a1330
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-14 18:17:17 +0900

    * 2020-03-14 [ci skip]

commit 459670d47f8528db8f5d4f28aeac191b1af66d81
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-08 18:21:18 +0900

    Fix bundled gems installation on a fresh clone

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2951

commit 956e220ae280bbd3426bfb2bb80edb6e69ad3f98
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-13 18:40:00 +0900

    Use new `prepare-gems` target when possible

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2951

commit de15a26e9e297c9cc3171b1d40ef7776ca5838df
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-03-13 22:27:54 +0900

    tool/redmine-backporter.rb: fix typo

commit 88f4ebac83a77f933e9da099eabdf05004767de9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-13 15:31:21 +0900

    Update and extract for each gem

commit 0cd7be99e9a15f649970559e43e3edb704568670
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-13 14:51:33 +0900

    Avoid referring to an old value of realloc

    OpenBSD RubyCI has failed with SEGV since 4bcd5981e80d3e1852c8723741a0069779464128.
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20200312T223005Z.fail.html.gz

    This was because `status->cc_entries` could be stale after `realloc` call
    for inlined iseqs.

commit 43e18c68f4d53767db7aae232ca46c2b400148cd
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-13 14:23:48 +0900

    Mark all cc_entries associated to compiled_iseq

commit 8562bfd1501a69aa736ba4f699a77940b2cdd9b1
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-13 14:21:31 +0900

    Move code to mark jit_unit's cc_entries to mjit.c

commit a90117c8c90134994bac3146d282a6f73dd17416
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-13 10:43:01 +0900

    Skip test_abort_tls with --jit-wait for now

    Perhaps the server blocks for an unexpectedly long time by waiting for
    JIT. As it's usually passing, I don't think it's detecting a bug.

commit 00dc8c024616d0cb495de5ef71e38b34e18cf79b
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-03-13 07:45:03 +0900

    Correctly detect whether strict alignment is needed on OpenBSD

    From Stefan Sperling <stsp@apache.org>

commit 768bd6e533c7a01eaa41dca808ce56dae4af8f2a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-13 00:27:40 +0900

    * 2020-03-13 [ci skip]

commit 46f4cfb1624c372b1be9205cb2a1ead840cc813a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-12 23:38:14 +0900

    `update-gems` should wait for `update-bundled_gems`

commit 289bdb64d97a4a7eb626ce6ebc4e609d4bdc0ee0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-12 22:58:04 +0900

    Add prepare-gems to download and extract bundled gems

commit de10631dcf6dc4ddf5d869a8f9a7dd2ff6a749c6
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-03-12 19:13:24 +0900

    Add workaround for test-bundler failure

    https://github.com/ruby/actions/runs/500526558?check_suite_focus=true#step:16:127
    ```
    Failures:

      1) Bundler.setup when Bundler is bundled doesn't blow up
         Failure/Error: expect(err).to be_empty

           expected `"fatal: not a git repository (or any of the parent directories): .git\nfatal: not a git repository (o...the parent directories): .git\nfatal: not a git repository (or any of the parent directories): .git".empty?` to return true, got false

           Commands:
           $ /home/runner/work/actions/actions/snapshot-master/ruby \
             -I/home/runner/work/actions/actions/snapshot-master/lib:/home/runner/work/actions/actions/snapshot-master/spec/bundler \
             -rsupport/hax -rsupport/artifice/fail \
             /home/runner/work/actions/actions/snapshot-master/libexec/bundle install --retry 0
           Resolving dependencies...
           Using bundler 2.1.4
           Bundle complete! 1 Gemfile dependency, 1 gem now installed.
           Use `bundle info [gemname]` to see where a bundled gem is installed.
           fatal: not a git repository (or any of the parent directories): .git
           fatal: not a git repository (or any of the parent directories): .git
           fatal: not a git repository (or any of the parent directories): .git
           # $? => 0

           $ /home/runner/work/actions/actions/snapshot-master/ruby \
             -I/home/runner/work/actions/actions/snapshot-master/lib:/home/runner/work/actions/actions/snapshot-master/spec/bundler \
             -rsupport/hax -rsupport/artifice/fail \
             /home/runner/work/actions/actions/snapshot-master/libexec/bundle exec ruby -e \
             require\ \'bundler\'\;\ Bundler.setup
           fatal: not a git repository (or any of the parent directories): .git
           fatal: not a git repository (or any of the parent directories): .git
           fatal: not a git repository (or any of the parent directories): .git
           # $? => 0
         # ./spec/bundler/runtime/setup_spec.rb:1056:in `block (3 levels) in <top (required)>'
         # ./spec/bundler/spec_helper.rb:111:in `block (3 levels) in <top (required)>'
         # ./spec/bundler/spec_helper.rb:111:in `block (2 levels) in <top (required)>'
         # ./spec/bundler/spec_helper.rb:78:in `block (2 levels) in <top (required)>'
    make: *** [yes-test-bundler] Error 1
    ```

commit 83e9d6b3f40971bf054ba83ba175227b262bcd14
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-12 17:09:43 +0900

    Pass keyword argument by RB_PASS_KEYWORDS

    To pass `false` as `freeze:` keyword argument, `kw_splat` argument
    should be true.  Also `rb_keyword_given_p()` should return true
    here as `false` has been given as a keyword argument.

commit 74c398b82f80c30e8123f53e354b6518be3fe9aa
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-12 15:33:18 +0900

    * 2020-03-12 [ci skip]

commit c6633f21a49c90ab7c37076d79c286bbf3438c1f
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-12 15:30:20 +0900

    Update some syslog tests to absurb the format change of FreeBSD syslog

    FreeBSD

    ```
    $ ruby -rsyslog -e 'Syslog.open("rubyspec", Syslog::LOG_PERROR) {|s| s.log(Syslog::LOG_ALERT, "Hello") }'
    rubyspec 78462 - - Hello
    ```

    Linux

    ```
    $ ruby -rsyslog -e 'Syslog.open("rubyspec", Syslog::LOG_PERROR) {|s| s.log(Syslog::LOG_ALERT, "Hello") }'
    rubyspec: Hello
    ```

    https://github.com/freebsd/freebsd/commit/591ef7c8076109cff3c41f9bb50da996a34121e9

commit f020d340f4eceb2fc809499e3e57924eac4bb75b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-11 18:11:24 +0900

    parse.y: hoisted out new_nil_at

    new_nil_at: create NEW_NIL node with zero-width location.

commit 276859e03e8e1adfdd445ce1e1aba2794ee0debe
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-10 23:19:50 +0900

    parse.y: unified kwrest and no-kwrest

commit da4b97a0e3914f0dbb9983229b266bb4761a28d3
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-11 16:54:18 +0900

    Pin and inline cme in JIT-ed method calls

    ```
    $ benchmark-driver benchmark.yml -v --rbenv 'before --jit;after --jit' --repeat-count=12 --output=all
    before --jit: ruby 2.8.0dev (2020-03-11T07:43:12Z master e89ebdcb87) +JIT [x86_64-linux]
    after --jit: ruby 2.8.0dev (2020-03-11T07:54:18Z master 143776a0da) +JIT [x86_64-linux]
    Calculating -------------------------------------
                                     before --jit           after --jit
    Optcarrot Lan_Master.nes    73.86976729561439     77.20184819316513 fps
                                74.46997176460742     78.43493030231805
                                77.59686308754307     78.55714131655935
                                78.53693921126656     79.08984255596820
                                80.10158944910573     79.17751731838183
                                80.12254974411167     79.60853122429181
                                80.28678655204945     79.74674066871896
                                80.38690681095379     79.90624544440300
                                80.79223498756919     80.57881084206193
                                80.82857188422419     80.70677614429169
                                81.06447745878245     81.03868541295149
                                81.21620802278490     82.16354660940607
    ```

commit e89ebdcb87f23a71ad97581541bb2eaeee5e83e9
  Author: K.Takata <kentkt@csc.jp>
  Date:   2020-03-11 16:43:12 +0900

    Fix typos (#2958)

    * Fix a typo

    * Fix typos in st.[ch]

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 9511b4c8facf583073ed8ecfd3d84710565572a6
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-11 15:18:45 +0900

    Optimize away call data refs in JIT-ed method calls

    According to ko1, `cd->cc != cc` was for GC.compact guard.
    As we pin cc by rb_gc_mark(), we don't need the check.

    ```
    $ benchmark-driver benchmark.yml -v --rbenv 'before --jit;after --jit' --repeat-count=12 --output=all
    before --jit: ruby 2.8.0dev (2020-03-11T05:36:48Z master da6948753e) +JIT [x86_64-linux]
    after --jit: ruby 2.8.0dev (2020-03-11T06:26:34Z master 36b20b8b4a) +JIT [x86_64-linux]
    Calculating -------------------------------------
                                     before --jit           after --jit
    Optcarrot Lan_Master.nes    74.03480698689405     71.63404803273507 fps
                                74.15085286586992     73.43923328104295
                                75.51738277744781     75.75465268365384
                                76.24922600109410     76.74071607861318
                                76.45513422802325     77.47521029238116
                                76.86617230739330     78.14759496269018
                                77.71509137131933     79.14051571125866
                                77.72839157096146     79.35884822673313
                                78.25218904561633     79.92538876408051
                                78.72521071333249     79.98075556706726
                                78.79950460165091     80.51747831497875
                                79.43884960720381     80.97973166525254
    ```

commit da6948753e8a48ac9fdc0c2f08856f51ab3d7959
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-11 14:36:48 +0900

    Fix an example committed to a wrong place [ci skip]

commit de4999ef238a57f7bb3b08b361b1f41dccefcce2
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-11 14:29:39 +0900

    Try to correct grammar of the NEWS entry [ci skip]

commit e0512b29aa47d4b79a27b0c0356bf47ec9b4e072
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-11 14:26:22 +0900

    Let Net::HTTP.get take request headers (#2957)

    * Let Net::HTTP.get take request headers

    * Add more test cases for no header usages

    * Add examples with request headers

    * Add a NEWS entry [ci skip]

    [Feature #16686]

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 12009fb3b984faf346250ee7723ecccf56622ce0
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-11 02:55:28 +0900

    * 2020-03-11 [ci skip]

commit d05455d08374b795b079f3ceaf034f2be1f11a08
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-11 02:55:07 +0900

    fix type cast

commit 2943ff9d4441485a18773aa745bab7f47767dde2
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-11 02:45:49 +0900

    fix bug on method cache invalidation.

    To invalidate cached method entry, existing method entry (ment)
    is marked as invalidated and replace with copied ment. However,
    complemented method entry (method entries in Module) should not
    be set to Module's m_tbl.
    [Bug #16669]

commit ec78b8b62a84fd57eb93d7b5de5b83ea517ad7c4
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-11 02:43:28 +0900

    show method entry with iseq details

commit d9135743c0ae464f39330684b8c6d35917fd6b22
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-11 00:23:56 +0900

    add debug method RubyVM::mtbl2 (disabled)

commit bf9abc477261a7a0c21e22634f1ece0ba64793f3
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-03-10 22:20:18 +0900

    Use URL instead of relative path

commit 21039d9c73d3c6f735d5178c9dd89950945002c3
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-03-10 22:18:35 +0900

    Add link to ../benchmark/README.md from make_cheatsheet [ci skip]

commit 2fd779fcd99fbbd7c6622d266116f6fc21ce14c7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-10 21:47:18 +0900

    Added version guard for OpenSSL::Config

commit e4a26cd4f8e74e5d29de10a3a0ce5829829301b0
  Author: Kazuki Yamaguchi <k@rhe.jp>
  Date:   2020-03-09 18:26:19 +0900

    openssl: sync with upstream repository

    Import current master (2c43241dc0ed) of ruby/openssl.git.

    Below are the commits that were made since the last batch at commit
    b99775b163ce (ruby/openssl.git commit f49e7110ca1e). Note that some of
    them have been applied already.

    ----------------------------------------------------------------
    Benoit Daloze (1):
          Remove redundant and ignored workflow file

    DBL-Lee (1):
          add support for SHA512_256/SHA512_224

    Hiroshi SHIBATA (2):
          Guard for OpenSSL::PKey::EC::Group::Error with unsupported platforms
          Fixed inconsistency directory structure with ruby/ruby repo

    Jeremy Evans (2):
          Fix keyword argument separation issues in OpenSSL::SSL::SSLSocket#sys{read,write}_nonblock
          Remove taint support

    Kazuki Yamaguchi (26):
          config: support .include directive
          random: make OpenSSL::Random.pseudo_bytes alias of .random_bytes
          extconf.rb: get rid of -Werror=deprecated-declarations
          test/openssl/test_ssl: skip test_fallback_scsv if necessary
          ts: simplify OpenSSL::Timestamp::Request#algorithm
          History.md: add missing references to GitHub issues
          config: deprecate OpenSSL::Config#add_value and #[]=
          test/openssl/test_ssl: remove sleep from test_finished_messages
          test/openssl/test_ssl: fix random failure in SSLSocket.open test
          test/openssl/test_ssl: avoid explicitly-sized private keys
          test/openssl/test_ssl: remove commented-out test case
          test/openssl/test_ssl: allow kRSA tests to fail
          ssl: avoid declarations after statements
          engine: revert OpenSSL::Engine.load changes for cloudhsm
          engine: remove really outdated static engines
          engine: do not check for ENGINE_load_builtin_engines()
          engine: fix guards for 'dynamic' and 'cryptodev' engines
          lib/openssl.rb: require openssl/version.rb
          x509: add error code and verify flags constants
          ssl: set verify error code in the case of verify_hostname failure
          .github/workflows: merge CI jobs into a single workflow
          .github/workflows: test against different OpenSSL versions
          .travis.yml: fully migrate to GitHub Actions
          ssl: suppress test failure with SSLContext#add_certificate_chain_file
          ssl: remove test case test_puts_meta from test_pair
          Revert "Use version.rb in gemspec"

    MSP-Greg (2):
          .travis.yml - remove 2.3/1.0.2, 2.5/1.1.1, head/1.0.2
          Use version.rb in gemspec

    Samuel Williams (1):
          Restore compatibility with older versions of Ruby.

    Yusuke Endoh (1):
          Make OpenSSL::OSSL#test_memcmp_timing robust

commit 61cfd6da84e9cbf02c2e3ff5fae476fec92a1cec
  Author: Kazuki Yamaguchi <k@rhe.jp>
  Date:   2020-03-10 17:24:47 +0900

    tool/sync_default_gems.rb: update paths for openssl

    Now ruby/openssl has a different directory structure. The test suite is
    moved from /test/test_* to /test/openssl/test_*.

commit 28f3e038805a4f396f228c6884c531677c075867
  Author: Kazuki Yamaguchi <k@rhe.jp>
  Date:   2020-03-09 15:23:32 +0900

    digest: do not depend on ext/openssl/deprecation.rb

    ext/openssl/deprecation.rb has been removed in ext/openssl upstream[1].

    It was originally introduced to detect and prevent linking against
    Apple's bundled (and very outdated) version of OpenSSL. It is long gone
    and the header files do not exist in current versions of macOS.

    The dependency in ext/digest was introduced by commit 26e258c807c2.
    Note that the original issue[2] is resolved without this dependency.
    The commit also added the pkg_config("openss") call to match what
    ext/openssl does.

    [1] https://github.com/ruby/openssl/pull/333
    [2] https://bugs.ruby-lang.org/issues/6379

commit aa3a7d6d74f1beb4feaf6a2334b67ecf6ca00cc8
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-10 17:32:44 +0900

    Remove an unnecessary TODO comment

    Fixing https://github.com/ruby/ruby/blob/4bcd5981e80d3e1852c8723741a0069779464128/mjit.c#L338
    should be the right solution for this. We may not be able to free the cc immediately.

    Plus, we're not copying cc but just holding references to be marked. cc
    should be GC-ed once jit_unit is freed.

commit 4bcd5981e80d3e1852c8723741a0069779464128
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-10 16:19:19 +0900

    Capture inlined iseq's cc entries in root iseq's

    jit_unit to avoid marking wrong cc entries when inlined iseq is compiled
    multiple times, resolving the TODO added by daf7c48d88.

    This obviates pseudo jit_unit in inlined iseq introduced by 7ec2359374
    and fixes memory leak of the adhoc unit.

commit 4015f27a4d032c163411e0fa0caa3a1507769040
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-10 14:31:50 +0900

    Drop direct Slack notification from CIs

    All Slack alerts have been migrated to a bot made by mame-san

commit bba2b70949e2b720d364875ae962bb72037bade5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-10 12:44:33 +0900

    RDoc markdown parser needs explicit code block or more indents [ci skip]

commit 384feb6c519b971f3f63f2e47419a84d868a6646
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-10 12:43:49 +0900

    Added link to the ticket [ci skip]

commit 62d82b6dfef7fe1bb9b5a6b5a157577b41c74303
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-10 00:13:00 +0900

    * 2020-03-10 [ci skip]

commit 9034cbd331624089524a239a050c906bdd798482
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-03-10 00:11:13 +0900

    Update NEWS for autosplatting change [ci skip]

commit e02bd0e713ef920e6d12c27f16548f48ec5c2cf0
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-03-09 23:57:16 +0900

    Don't display singleton class in Method#inspect unless method defined there

    Previously, if an object has a singleton class, and you call
    Object#method on the object, the resulting string would include
    the object's singleton class, even though the method was not
    defined in the singleton class.

    Change this so the we only show the singleton class if the method
    is defined in the singleton class.

    Fixes [Bug #15608]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2949

    Merged-By: jeremyevans <code@jeremyevans.net>

commit ecef163cf9bbdffcf1466addc39daa92084d6b53
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-03-09 13:01:04 +0900

    Remove Float::ROUNDS

    Fixes [Bug #16044]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2953

commit d019cac08a3eb77d71bbe47f9b651088ff07ac19
  Author: zverok <zverok.offline@gmail.com>
  Date:   2020-03-08 17:44:46 +0900

    Clarify Time::at documentation for in: argument

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2950

commit d8fcc67642318b1840ff782cdb75af9b7b928301
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-09 14:34:09 +0900

    Skip test_06_timeout for --jit-wait CI

    This test has been too unstable on trunk-mjit-wait
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2782206

commit 544ebc669b6b15c730d21053cc1b2f6173be2b8a
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-09 13:38:05 +0900

    Use https for downloading Unicode data.

      Retry with 90de118a75921a08497b41de2950971073b3c924

      [Bug #13962][ruby-core:83074]

commit f4394bbca361c2bb500f586ba0bf1bef8b919910
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-09-28 05:35:29 +0900

    Do not autosplat when calling procs that accept rest and keywords

    When providing a single array to a block that takes a splat, pass the
    array as one argument of the splat instead of as the splat itself,
    even if the block also accepts keyword arguments.  Previously, this
    behavior was only used for blocks that did not accept keywords.

    Implements [Feature#16166]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2502

commit 040cfc89b9a110cd0fb2abdcd35e8215b4a71f60
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-03-09 09:47:48 +0900

    Do not set USE_FFI_CLOSURE_ALLOC=1 in fiddle on OpenBSD

    On OpenBSD, USE_FFI_CLOSURE_ALLOC was always set to 0 previously. In
    633a1f15d8228236094ddee12e4e169d655ec49e, the code was modified in a
    way that it ended up being set to 1 on OpenBSD.  However, that results
    in SIGABRT when running make test-all, inside ffi_closure_free.
    Setting USE_FFI_CLOSURE_ALLOC back to 0 fixes the issue.

commit fe3514ae6060c5be7bef1cbc1242e62236f2b5a1
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-09 02:57:48 +0900

    * 2020-03-09 [ci skip]

commit dff69bb46204cf9d0d1abfe9d6e76a1768fb9734
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-09 02:53:46 +0900

    Cast properly for shift operand

    `(int) << RHASH_LEV_SHIFT` can be negative integer.

commit daa04c556238729256b77ccabbd56a9ebdbd7e46
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-08 17:39:22 +0900

    Word array instead of splitting

commit 2b7409a2f2aaab1368c57e1cd03c12b2b8972fa9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-08 17:38:37 +0900

    Specify explicit separator not to be affected by $;

commit 53efe6328057ccb604a81541080aab3b3e1268d7
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-08 10:19:18 +0900

    * 2020-03-08 [ci skip]

commit 2b6ec768fc227650db6ad9eb9af7c4aaea06d986
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-03-08 10:18:53 +0900

    Fix rbinstall bugs (#2930)

    * Fix incorrect calls to `Gem.ensure_gem_subdirectories`

    This method doesn't take keyword args.

    * Remove stuff no longer necessary

    Now `Gem.ensure_gem_subdirectories` is doing its job, so some stuff is
    no longer needed.

    * Use the proper method for default gems

    * Respect DESTDIR when creating rubygems folder layout

    * Use `Gem.default_specifications_dir`

  Notes:
    Merged-By: hsbt <hsbt@ruby-lang.org>

commit 47a1872cd8b901b8aab6dedce7fa3807c97d290d
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-07 20:42:44 +0900

    Use osuosl instead of GitHub releases

      Because the package provided by GitHub releases is different from sourceware.

commit 86022167461dc90b70164e2bb23316959bbfd6ba
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-03-07 19:57:28 +0900

    Switch to download libffi source package to github releases from sourceware.org

commit ada2f71c70bb11f1d71485e2090ce36872608217
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-03-07 18:58:58 +0900

    rb_check_safe_obj no longer exists

    Commit e91c39f1c0f7d5e670266d9593d533fd444957f6 deleted definition of it.
    Though I'm not sure if we can delete public API like this, it no longer
    works nonetheless.  Having declaration without definition is worse than
    having nothing at all.  Just delete the declaration too.

commit f9f3510e64ca0f82f673f78a2279f654ba9fbe63
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-07 17:34:41 +0900

    Hook an experimental alert from Actions

commit b9d45d3ac0dea776c563b3308e91945b3b4d4fe8
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-07 17:16:21 +0900

    Hook an experimental alert from Travis

commit 108f7536b3fe9a05343a6c36541c5d96153c7f1d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-07 16:41:19 +0900

    Removed unnecessary `chomp`

    As `String#split` with the default argument drops trailing newline
    as a separator, preceding `String#chomp` is futile.

commit 65aa68b009ef088ddb38fc58159bff9183dfe473
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-07 16:46:55 +0900

    Hook an experimental alert from AppVeyor

commit fcd605020b5e103c687954787045363052ef899b
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-03-07 13:49:28 +0900

    Fix a typo

commit 9745e90197f129708986803e8913fb151862478a
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-07 13:19:56 +0900

    Propagate JIT skip to all tests

commit f991340e07e76038b044d73ef41bd0cdeb68cf62
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-03-07 06:03:58 +0900

    Document defined? and global_variables handling of regexp global variables [ci skip]

    Fixes [Bug #11304]

commit c3584dfacce4d0f2058d8403de6fdce4fd4d686b
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-07 03:55:54 +0900

    check ar_table first.

    RHASH_AR_TABLE_SIZE() has assertion that it is a ar_table.
    The last commit breaks this assumption so check ar_table first.

commit 4c019f5a626523e99e2827ed917802e3097c380d
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-07 03:32:15 +0900

    check ar_table after `#hash` call

    ar_table can be converted to st_table just after `ar_do_hash()`
    function which calls `#hash` method. We need to check
    the representation to detect this mutation.
    [Bug #16676]

commit 44462d32068235ccfcb892c9dde7451e5a0ad7c5
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-07 02:39:19 +0900

    * 2020-03-07 [ci skip]

commit 87ad5ea729735ff6b8f1ac0bb3aad2aedd6f716e
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-03-07 02:38:55 +0900

    Skip jit_test on some new RubyCI envs for now

commit 0256e4f0f5e10f0a15cbba2cd64e252dfa864e4a
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-06 21:32:42 +0900

    thread_pthread.c: allocate sigaltstack before pthread_create

    A new (not-initialized-yet) pthread attempts to allocate sigaltstack by
    using xmalloc.  It may cause GC, but because the thread is not
    initialized yet, ruby_native_thread_p() returns false, which leads to
    "[FATAL] failed to allocate memory" and exit.

    In fact, we can observe the error message in the log of OpenBSD CI:
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20200306T083005Z.log.html.gz

    This changeset allocates sigaltstack before pthread is created.

commit baaf6815704ef36160e45244b844b633ed51c3b4
  Author: Marcus Stollsteimer <sto.mar@web.de>
  Date:   2019-12-28 04:19:37 +0900

    Improve docs for Prime.{prime_division,int_from_prime_division} (#8)

    Move explanation for the decomposition array from the Example section
    to the method description. Mention the term "multiplicity".

    Use examples that also demonstrate factors with multiplicity
    other than 1, and avoid factors/multiplicities with the same value.
    Also add the decomposition written as simple mathematical expression.

    This also fixes missing syntax highlighting for the code examples
    due to verbatim blocks that did not only include Ruby code.

commit e92fbaf6090fbc60081654cb36da47fc352000ce
  Author: Marcus Stollsteimer <sto.mar@web.de>
  Date:   2019-12-28 03:47:04 +0900

    [ruby/prime] Fix typo

    https://github.com/ruby/prime/commit/549c1b86f1

commit f236f6082cf2d95c913c2d16c9a9a0ad554f627f
  Author: Marcus Stollsteimer <sto.mar@web.de>
  Date:   2019-12-26 04:01:03 +0900

    [ruby/prime] Improve docs for Prime.include? (#7)


    https://github.com/ruby/prime/commit/230a5af325

commit e79fc05a4ca672816c6b737d00a85fea4aa6c2b7
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-08-12 05:14:38 +0900

    [ruby/prime] Fix Prime.include?

    Previously, it would be an infinite loop if passed a non-prime
    integer.

    Also, Prime.include? should also provide similar results to
    Module#include? if passed a Module, so handle that.

    For consistency with Enumerable#include?, return false if passed
    other object types.

    Fixes Ruby Bug 10167.

    https://github.com/ruby/prime/commit/55dda6aa7f

commit 2630757fb53f955d45bb67ccf8187d41b581bca1
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-06 07:49:50 +0900

    * 2020-03-06 [ci skip]

commit e57dd8c2b52557f5564b9a1d9d38df66e4d090c9
  Author: Charles Oliver Nutter <headius@headius.com>
  Date:   2020-03-06 07:48:52 +0900

    Mask RubyVM-specific test

commit 17d5efa4fefdceee0e0d3c810b9fee1cee2e2628
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-05 18:24:46 +0900

    spec/ruby/core/process/exec_spec.rb: remove a guard for openbsd

    openbsd current seems to behave the same as other OSs.

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20200305T063005Z.fail.html.gz

commit 7d05f98a8481f3835eb1c4568e243d1eea9fd4c6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-03 17:58:19 +0900

    Renamed `lex_flags` as `lex_context`

commit e4a9e926f0fe0acf2fbe61da6e075a95d34be066
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-05 13:31:25 +0900

    Fixed a typo

commit 43a3c88187dcd54ba008834a865e50eb28a78de9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-05 12:00:50 +0900

    [win32] get rid of redefinition of reserved macro

    ```
    warning C4117: macro name '_INTEGRAL_MAX_BITS' is reserved, '#define' ignored
    ```

commit 740511834f3fa527d48e69bafdb4965bf0cb464a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-05 11:31:57 +0900

    * 2020-03-05 [ci skip]

commit 261569d4aac440f25de588cca365163ecf1124a2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-05 11:31:08 +0900

    [ruby/fiddle] always use ffi_closure_alloc on Windows

commit f08cd708b11dd5b293986b92bb5e227731665b36
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-04 23:26:57 +0900

    Fixed FD leak

commit 528a3a17977aa1843a26630c96635c3cb161e729
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-04 23:13:45 +0900

    [ruby/fiddle] use ffi_closure_alloc only with 3.2 or later

commit 5bb80b76b093130be14161bb0c8d05f6fea749f3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-04 23:13:18 +0900

    [win32] suppress false warning by mingw gcc

commit 364526cd70764e3f8f9137d7782ae36d5d8fe448
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-04 21:02:24 +0900

    [win32] suppress false warning by MSVC

commit 502d9bcd36a6cd31e925de00bbae861bfe3f78fd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-04 21:00:17 +0900

    Fixed never-defined symbol name

commit 95f387f61a4a4ea92635da760b7de5b1e09bb84e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-04 18:41:47 +0900

    [ruby/fiddle] ffi_closure_free is available in the bundled libffi

commit 633a1f15d8228236094ddee12e4e169d655ec49e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-04 18:13:03 +0900

    [ruby/fiddle] Use ffi_closure_free if available

commit d732bc51bdbfe7d66038731d42e01a511d13b5f8
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-04 17:28:21 +0900

    Revert "Revert "Revert "[ruby/fiddle] Use ffi_closure_free by default. (#20)"""

    This reverts commit 87f6154bb4c67ca77ee353bb1fe25a922036c0e5.

    It turned out that the change fails to build on macOS

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/osx1014/ruby-master/log/20200304T074503Z.fail.html.gz
    ```
    + make 'TESTS=--hide-skip -v fiddle' RUBYOPT=-w test-all
    dyld: lazy symbol binding failed: Symbol not found: _ffi_closure_alloc
      Referenced from: /Users/hsbt/Documents/cb/tmp/build/20200304T074503Z/ruby/.ext/x86_64-darwin18/fiddle.bundle
      Expected in: flat namespace

    dyld: Symbol not found: _ffi_closure_alloc
      Referenced from: /Users/hsbt/Documents/cb/tmp/build/20200304T074503Z/ruby/.ext/x86_64-darwin18/fiddle.bundle
      Expected in: flat namespace

    make: *** [yes-test-all] Abort trap: 6
    ```

commit 87f6154bb4c67ca77ee353bb1fe25a922036c0e5
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-04 15:46:26 +0900

    Revert "Revert "[ruby/fiddle] Use ffi_closure_free by default. (#20)""

    This reverts commit efd641ffab34e433a8d8a7d78914576f2425aa90.

    This changeset seems to be needed to suppress a warning on Ubuntu 20.04
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20200304T033004Z.log.html.gz
    ```
    closure.c:264:5: warning: 'ffi_prep_closure' is deprecated: use ffi_prep_closure_loc instead [-Wdeprecated-declarations]
      264 |     result = ffi_prep_closure(pcl, cif, callback, (void *)self);
          |     ^~~~~~
    ```

    I guess there was a reason why the commit was reverted (maybe some CIs
    failed?), so try it again.

commit 16415fefc14e1419d5587288fb6a69fe5ccf94ba
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-04 12:31:11 +0900

    test/lib/jit_support.rb: The path to icc was changed

commit aa44b29030208106e75c12c3325350ebad4161b8
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-20 14:02:01 +0900

    suppress uninitialized variable warnings

    Starting GCC 7, warnings about uninitialized variables are issued around
    them.  Such warnings could be false positives (all versions of clang do
    not warn), but adding initializers there could never be bad things.

commit f7048f9d55bb6c5ad656950a5e0c3550465d08c4
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-03-02 15:50:22 +0900

    tool/lib/test/unit: support TESTS='-- -ext-' again

    There is a test directory named test/-ext-.  Because this directry
    starts with a hyphen, we have to cheat test/unit in order for it to
    run the tests underneath.  TESTS='-- -ext' worked for a long time.
    Let's not break that maneuver.

commit f12b9a33382bf1f54b4f599f00fa83efa8b1a245
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-26 11:45:29 +0900

    %p is for void *

    See also
    35eb12c06397e770392a41343cbffc4b204e15c9
    6f5eb285077d9abf8f97056531996c58674b570c
    687308cf0dab0af675e40da2b6ab8ccd5f77c072
    b6a2d63eb3dbc31e110e8cb95e054dd71d49a611

commit 2325017477e0ee9f557b07a73f187a83ae5036a4
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-25 12:42:00 +0900

    fix compile error w/ -DUSE_TRANSIENT_HEAP=0

    rb_transient_heap_managed_ptr_p is available only when USE_TRANSIENT_HEAP.
    Need #if guards.

commit 97fa6468dc3b2e8be4a95caebbad54d5ddacec86
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-03-02 11:20:50 +0900

    fix compile error w/ -DCALC_EXACT_MALLOC_SIZE

commit ce586107d8da0d6dff1a62d500be1bc2c1cbe9b4
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-04 11:36:34 +0900

    fix 6e271e4cbbe6a8bc4d4f75dc553ce054eae7af00

commit 02705b27be207fce57bd0253251f81108c7ed57b
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-04 11:33:55 +0900

    Run major GC to make sure the minor GC reason

    GC.latest_gc_info[:major_by] can return `oldmalloc` because of
    last GC status.

commit 6e271e4cbbe6a8bc4d4f75dc553ce054eae7af00
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-04 11:31:07 +0900

    Run major GC to make sure the minor GC next time.

    `GC.start(full_mark: false)` can run full GC because of last
    GC status. Just after major GC, the possibility to run major GC
    next time is too small (not a zero, but too small possibility).

commit cf52f37caec8cd1955af4ccb32933828aa330854
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-04 11:25:43 +0900

    Narrow the check target.

    Call GC.verify_internal_consistency only for Gem related test
    on i386-solaris.

commit 14dd377e51408ef07e03c27f95ff6b0e186df022
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-04 00:11:35 +0900

    * 2020-03-04 [ci skip]

commit 03f9e8746e42a4835583678af217cdf4c417bd05
  Author: Charles Oliver Nutter <headius@headius.com>
  Date:   2020-02-24 05:49:26 +0900

    Don't tweak RubyVM compile options if it's not defined

commit 43ed4eb6d1cbbd31de2c98ae515630ee8f988c1e
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-03 21:00:03 +0900

    Limit the debug code condition so that it runs only under i386-solaris

commit 501f2c44e6ae79c02a5c4d0f872fc7fa77258fcf
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-03 20:54:31 +0900

    Suppress an "assigned but unused variable" warning

commit a8c5b9a2fd28a7245a3ac5b01d09792a37069f74
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-03 17:37:51 +0900

    [DOC] Separated parenthesized notes from subsection headings

    As the headings become link anchors, remove less useful notes.
    [ci skip]

commit c8d0bf0156878df03a71fffc97c44abf7333d5d7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-03 15:48:53 +0900

    Preserve `kwarg` flag and fix up f5c904c2a9

commit 1ad9364440f6685d2df3b855f5e22f644e9f1f43
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-03 15:51:42 +0900

    add debug code for Solaris

    Check heap consistency after each test to debug.
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11x/ruby-master/log/20200303T012406Z.fail.html.gz

commit aa9a38c0ed114edded28a2a26e8dd507f7e1547f
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-03 15:27:23 +0900

    Ignore incompatible convert of symbols

commit 91440ff13fbf3b14dc6ac6c1e0a33bc5a1e3237c
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-03-03 14:40:45 +0900

    Convert incompatible encoding symbol names

commit 485ef0bdc1c20237ffa8ce49ed3e90c817d572ba
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-03 02:44:38 +0900

    * 2020-03-03 [ci skip]

commit 91de0daaa239e9ceb40f1a69b04b373b71477b43
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-03 02:32:45 +0900

    method_missing_reason should be set.

    send() has special method launcher in VM and it has special
    method_missing caller. This path doesn't set
    ec->method_missing_reason which is used at exception creation,
    so setup this information. Without this setting, NoMethodError
    exception becomes NameError.

    This patch will fix:
    http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/2761643

commit 65dd50fc25f6522536d5c4749055384bde1f9371
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-03-02 22:37:04 +0900

    Suppress "assigned but unused variable" warnings

commit 85620ffaa634e0a0a8467c5b159819a736b69fad
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-02 16:45:35 +0900

    Reduced parser stack usage by merging non-result actions

commit 20a2ab0825b7e441e303002f0feeb1b643198ffc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-02 16:08:39 +0900

    Packed stacked bit flags into one struct

commit 761528e8aa7c54ec92c90335fe26a584b992918b
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-03-02 14:53:18 +0900

    Add `#write` and `#binwrite` to IO section [ci skip]

commit f5c904c2a907013e22ff74bc3686952c5448d493
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-03-02 15:49:03 +0900

    Allow newlines inside braced pattern

commit 0711ceeb376deba69e35c9ecf088b9fb254c54ce
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-03-02 10:59:30 +0900

    .github/workflows: name the configure runs

    Explicit `name:` entry was requested by @nobu.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2927

commit 2bfa1025a91679a5e1d513255d298126af32099d
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-26 13:17:08 +0900

    .github: let "make leaked-globals" run in parallel

    This target can be a build matrix.  Also it does not make sense to test
    it on mjit.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2927

commit 888e736524ad66369a7cbc065af4a1b5ed591c6a
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-26 13:12:46 +0900

    .github: make use of working-directory

    One can specify working directory of a step, no by `cd foo` inside of
    the run. See also
    https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsrun

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2927

commit e06ad731f03ab83b72c15f951d7a5a3c8ac4323c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-26 12:52:07 +0900

    .github: less verbose on: specifier

    The `branch:` specifier was necessary before, to prevent double-testing
    master and trunk.  Now that we no longer have trunk, we can slim the
    expressions.

    See also: https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#on

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2927

commit bdf2d9132651c09f99f2ebb6ff82f47bbcad226d
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-26 12:41:33 +0900

    .travis.yml, .github: delete environmental dumps

    They were necessary when developing YAMLs, but not useful any longer.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2927

commit f4a3830ff2909c19074979a93af17b43f945b634
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-26 13:20:56 +0900

    .travis.yml: favor >- over |- and backslash

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2927

commit 01fc48c26fb335c6c782caf08e2b139a6d151336
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-26 12:39:16 +0900

    .travis.yml: mandate UBSAN

    It seems UBSAN is quite stable now.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2927

commit 9086f6bfc885e45384feea2966f93a1ba61fb579
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-26 12:33:43 +0900

    .travis.yml delete darwin debug code

    Darwin is no longer tested using Travis CI.  See also commit
    91aa8bfff8a9f9c0af96915c120d863fc474e8d5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2927

commit cdf8471aec08fc405a3e71bb0c62b0e6d0a2a49c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-26 12:31:44 +0900

    .travis.yml: ruby_2_7 is travis ready.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2927

commit 648eb31b9ae1c8adc0acaf192ba1d033d16a308b
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-02 14:42:33 +0900

    Reset Reline.point

    TestRelineAsReadline#test_insert_text expects Readline.point == 0
    at the beginning of the test, but a test violate this assumption.

commit 4fd51f848a59b999427d3b941d8777ec00f0431c
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-02 14:25:35 +0900

    vm_cc_fill() need to clear aux.

    vm_cc_fill() fills CC information into stack allocated memory so
    it is not cleared. So we need to clear CC->aux.

commit d348b4adefd0f570686640335e183d8a96d626c6
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-02 13:42:35 +0900

    skip test unless Reline.completion_proc is nil.

    Some other tests can set Reline.completion_proc, so unless it is nil,
    simply skip this test.

commit fb377e8f3a9ddd89099248ee4b512023451935c4
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-02 13:16:10 +0900

    Revert "show debug info."

    This reverts commit 0bfee2397ba59112902d2b49f08461db3a637b46.

commit 31c55b672501a843d3db88e7a792f0edbb646607
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-02 13:13:24 +0900

    need to restore $stdin.

commit 5d3b38d69755957ece9f9678ba8a9b8ce9899442
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-02 11:44:21 +0900

    * 2020-03-02 [ci skip]

commit 0bfee2397ba59112902d2b49f08461db3a637b46
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-02 11:43:17 +0900

    show debug info.

    https://gist.github.com/ko1/a71f7cbcfbd61ba004bffdfedab9f5f2#file-brlog-trunk-random0-20200302-020213-L2127

commit d25a4f413dce6ad3a8baaf61591415b9a8cce082
  Author: Kazuki Tsujimoto <kazuki@callcc.net>
  Date:   2020-03-01 14:23:51 +0900

    Allow trailing comma in hash pattern

commit 356e032e1a622c9e34c1c48b516861db10b3b31b
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-01 04:54:51 +0900

    require enc/trans/single_byte in advance.

    enc/trans/single_byte is needed to run some tests, however
    it will fail to require because $: is empty.

commit a70aa5998c6a8c805fff1c2655e9860d07aec19c
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-03-01 03:03:16 +0900

    * 2020-03-01 [ci skip]

commit 413c98003bc936dd29e40aebad68b43fbe6a527f
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-03-01 03:02:05 +0900

    show backtrace.

    assert_nothing_raised doesn't show the backtrace if an exception
    is thrown in a block. This patch shows this backtrace.

commit af1863734ca6e68f5a1746f2962567c010b3fc92
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-29 21:42:18 +0900

    Adjust types

commit 403675e8dc0f4b9e6b79ace649db1851e7cbba51
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-29 20:52:53 +0900

    Named `tLABEL` token

commit adcf0316d1ecedae2a9157ad941550e0c0fb510b
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-02-29 16:58:33 +0900

    Prevent unloading methods used in root_fiber while calling another Fiber (#2939)

    Fixing SEGVs like:
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2744905
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2744420
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2741400

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit a8dcab723316997d9e01c89d6df969edce75bdca
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-02-29 16:20:44 +0900

    Avoid infinite loop on --jit-wait

commit 5e897227ff3d37a36be96bb2c082370d437058ea
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-29 15:41:36 +0900

    Added more benchmarks for String

commit f5b7896921e450c6ce5b38379242258acc47dfaa
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-02-29 15:14:01 +0900

    Fix a typo [ci skip]

commit 7da11ed738cf238029ce5c152e9a66f247e55b25
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-02-29 14:04:53 +0900

    Suppress security alerts

    https://github.com/advisories/GHSA-jppv-gw3r-w3q8

commit 2b8559194320946f56c5b009cb30b80d8f5021b2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-29 13:24:29 +0900

    Fix up mark-ups in NEWS [ci skip]

commit 0333f3c03c93594c6c562b1088035e9004eb9cd3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-29 12:20:49 +0900

    Missing links in NEWS [ci skip]

commit 99ff4d61ec5280010a4c285763d3639028f877ca
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-02-29 09:12:13 +0900

    Update NEWS [ci skip]

commit b3983c68dd74ba013f7ac41a3df67ad2e4fdcc23
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-29 04:20:13 +0900

    should not expose hidden object.

    Hidden object (T_CLASS) can be exposed (BUG).
    Also rename rb_mInternalObjectWrapper to rb_cInternalObjectWrapper
    because it is a class.

commit b621c9abd167ac0641ac81b0a233d0f3d6892bea
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-29 03:24:12 +0900

    Set Readline.completion_append_character = nil always

    GNU Readline add a white space when Readline.completion_append_character is
    not initialized.

commit 02a3e27608fd01440f3e9732bf61ab2e752ed368
  Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  Date:   2020-02-29 03:13:28 +0900

    Bump rake from 10.5.0 to 12.3.3 in /spec/mspec (#2942)

    Bumps [rake](https://github.com/ruby/rake) from 10.5.0 to 12.3.3.
    - [Release notes](https://github.com/ruby/rake/releases)
    - [Changelog](https://github.com/ruby/rake/blob/master/History.rdoc)
    - [Commits](https://github.com/ruby/rake/compare/v10.5.0...v12.3.3)

    Signed-off-by: dependabot[bot] <support@github.com>

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit a0f5ff4c3cd05f8717be2bf1d79f0817f288d398
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-02-29 03:07:17 +0900

    Update to ruby/spec@41bf282

commit 5d210501825e1682e68cbfc2be424fc339f382fa
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-02-29 03:07:14 +0900

    Update to ruby/mspec@a514ad7

commit a8687f3ef81f98a0e10a0c263b8334bc2ba3743e
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-29 00:49:01 +0900

    * 2020-02-29 [ci skip]

commit cb681c20c09431d1cd441328fd7b27abdec93299
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-29 00:43:41 +0900

    restore server[:DocumentRootOptions] setting.

    Surprisingly (at least for me), `server[:DocumentRootOptions]`
    on Webrick is global information and it affect the result of
    test_short_filename. Random order test fails because of global
    information change. I doubt it is bug, but to fix random order
    test, I restore the value.

commit f7be85a2b7b2f1e3485c6da8fb990ac47059ae12
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-28 23:28:24 +0900

    support random order test.

    test_readline:
      HISTORY should be empty.

    test_using_quoting_detection_proc:
    test_using_quoting_detection_proc_with_multibyte_input:
      Readline.completer_quote_characters= and
      Readline.completer_word_break_characters= doesn't accept nil,
      so skip if previous values are nil.

commit 72c02aa4b79731c7f25c9267f74b347f1946c704
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-28 21:15:37 +0900

    Moved not-implemented method tests [Bug #16662]

    Test not-implemented method with the dedicated methods, instead of
    platform dependent features.

commit 07f27383b77b966a84aacc6b568c67c019320187
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-28 15:38:14 +0900

    Refined argument name

commit 6df8cfb77198aef998cb05f04d1d6e9a6fe0ad49
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-28 19:28:11 +0900

    Omit test_using_quoting_detection_proc_with_multibyte_input temporarily for random order test

commit 6787ccf23837c50e51cb82813bb713fda052131e
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-28 17:57:45 +0900

    setup Other class.

    Some tests need to setup Other class with OtherSetup proc.

commit 28399e4e0f8036b03d7e626b0071de0f59ac7bc0
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-27 10:49:14 +0900

    respect --test-order=random

    Now --test-order=random is simply ignored. This patch respect
    this option.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2932

commit 9bede6e942e7726d320d734fead741672d060625
  Author: Vít Ondruch <vondruch@redhat.com>
  Date:   2020-02-27 15:35:40 +0900

    Fix wrong RegExp.

    The missing `\` in PR #2922 causes the default gems to be installed from
    the .gem packages instead from the expanded sources.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2933

commit 3556a834a2847e52162d1d3302d4c64390df1694
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-01-07 09:41:03 +0900

    Make Module#include affect the iclasses of the module

    When calling Module#include, if the receiver is a module,
    walk the subclasses list and include the argument module in each
    iclass.

    This does not affect Module#prepend, as fixing that is significantly
    more involved.

    Fixes [Bug #9573]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2936

commit 1ca3a22117fb646579773960247aa46db46cb03c
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-28 03:18:15 +0900

    * 2020-02-28 [ci skip]

commit 54499d78109037d7c37bc09a8c3ffa0050da5aca
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-08-26 03:25:41 +0900

    Remove support for passing nil to IO#ungetc

    Fixes [Bug #13675]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2935

commit 229ba1215fa7c8181b9296dff22807fb17442c74
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-27 13:33:51 +0900

    Merge racc from upstream repository.

      * Support Ruby 2.4's frozen string literals.
      * Remove VCS revisions headers.

commit 9a422fc010ab150438ef9dd66fd4c717f03927d9
  Author: प्रथमेश Sonpatki <csonpatki@gmail.com>
  Date:   2020-02-27 11:08:49 +0900

    Update docs for Time#at method [ci skip]

    Add docs about all possible options for the `in` argument.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2929

    Merged-By: nobu <nobu@ruby-lang.org>

commit 18674aef0d8199958dbda21eff5167dfc4a5de9a
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-27 10:47:23 +0900

    check imemo_type

    check imemo_type to debug
    http://ci.rvm.jp/results/trunk-vm-asserts@silicon-docker/2744755

commit 1d81baf3c1507cbe5e75b08a833761122e68444b
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-27 09:49:24 +0900

    st.c: remove variables that are no longer used

    to suppress a warning "variable 'check' set but not used"

commit 6b30638bdb729c73a05190587123e43e2ffd69f3
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-27 04:06:28 +0900

    MiniTest::Unit.options has default :seed

    MiniTest::Unit (superclass of Test::Unit::Runner) does not has
    default seed parameter, but assigned after initializing.
    However some tests use MiniTest::Unit without setup of seed option
    and it cases unexpected test failures. To solve this issue, add
    default seed parameter 42.

commit 14f179080713012251e1faecccefebf2f33ecd86
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-27 03:47:41 +0900

    `srand($seed)` at the beginning of each test

    To avoid `srand(0)` effect in the other tests, call `srand($seed)`
    at the beginning of each test (setup).
    [Feature #16655]

commit f9d314245b1b088555253f5b653a801031cdc1e6
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-27 02:44:34 +0900

    Revert "`srand($seed)` at the beginning of each test"

    This reverts commit 7c1553e91db07fed4fed3287b50304f1c69a685d.
    It breaks some tests.

commit 8296da883c8bd98c33276569f6ea03068106232e
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-27 02:32:56 +0900

    * 2020-02-27 [ci skip]

commit 7c1553e91db07fed4fed3287b50304f1c69a685d
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-27 02:29:57 +0900

    `srand($seed)` at the beginning of each test

    To avoid `srand(0)` effect in the other tests, call `srand($seed)`
    at the beginning of each test (setup).
    [Feature #16655]

commit 116c6320956ce80efcb1db849a190ebd7f8c8ad3
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-27 02:26:14 +0900

    don't ignore `--seed` option

    `--seed N` option is just ignored so respect this option.
    [Feature #16655]

    Also making "Run options" display pretty.

commit 83705c42cedd9489596859827d7201c59feccebd
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-02-26 17:37:35 +0900

    Add missing free on cc_entries

    Looks like an oversight in b9007b6c548f91e88fd3f2ffa23de740431fa969 and
    7ec23593746c8ccabd6c005cc34dde77d564c6c9.

commit 33b78b89ac1901fe9000d03bcb3cdf79193a75a1
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-02-26 17:34:01 +0900

    Eliminate unnecessary mjit_iseq_cc_entries calls

    just in case.

commit 69f377a3d62b29bc927da7fdae99bcb5e7d096fe
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-02-26 17:27:28 +0900

    Internalize rb_mjit_unit definition again

    Fixed a TODO in b9007b6c548f91e88fd3f2ffa23de740431fa969

commit daf7c48d888fb544590985db179e39aa53ae79a1
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-02-26 16:55:53 +0900

    Explain the situation of inner cc_entries [ci skip]

    Add a little more details in 7ec23593746c8ccabd6c005cc34dde77d564c6c9

commit 55923ba88366658c6bfdecd8b0b25070d70c569d
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-02-26 16:36:09 +0900

    Note a situation around xmalloc vs free in MJIT [ci skip]

    shared by ko1

commit 8dab71b9d0e9d2054dfb8d703656d4e6712a9efd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-26 12:43:53 +0900

    Simplified single script case

    Simply use `File.basename` to remove the directory name (and
    suffix), instead of `gsub` which can replace unintended parts.

commit eb75f0d1346c5f3f74ad91e4e9bbc1eb7ea697f6
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-02-26 16:24:24 +0900

    Remove an unused declaration

    It was unnecessary in b9007b6c548f91e88fd3f2ffa23de740431fa969

commit fbd7f08e922cdf1a4be7a71aa056659971c81dab
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-26 10:35:16 +0900

    kill ST_DEBUG [Bug #16521]

    This compile-time option has been broken for years (at least since
    commit 4663c224fa6c925ce54af32fd1c1cbac9508f5ec, according to git
    bisect). Let's delete codes that no longer work.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2926

commit 62c2b8c74e47652fc5bbaf6150f4acd092dfd72b
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-25 14:36:56 +0900

    kill USE_RGENGC=0

    This compile-time option has been broken for years (at least since
    commit 49369ef17316cd5d5819b038f286e1d951972b52, according to git
    bisect).  Let's delete codes that no longer works.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2925

commit e7bcb416af64b6a935ff4ff18476aea606d12ab9
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-25 11:29:55 +0900

    avoid #if inside of rb_str_new_cstr

    ISO/IEC 9899:1999 section 6.10.3 paragraph 11 explicitly states that
    "If there are sequences of preprocessing tokens within the list of
    arguments that would otherwise act as preprocessing directives, the
    behavior is undefined."

    rb_str_new_cstr is in fact a macro.  We cannot do this.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2925

commit 9d6d531527f8ca0d2f40ab99f6a5989934b9bd02
  Author: Vít Ondruch <vondruch@redhat.com>
  Date:   2019-10-15 22:15:25 +0900

    Cache destination dir.

    It is not necessary to strip the `destdir` prefix every iteration, when
    it can be done just once.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2515

commit b8a8fdba637589ff17f98cee4ea955667e3f0b1b
  Author: Vít Ondruch <vondruch@redhat.com>
  Date:   2019-10-15 01:28:37 +0900

    Properly detect mode for binaries.

    .gemspec files specifies not just `bin`, but also other directories.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2515

commit e087b029e54776afe2b120974932dd707fee6874
  Author: Vít Ondruch <vondruch@redhat.com>
  Date:   2019-10-12 00:56:28 +0900

    Use class variable `@src_dir` instead of local `path`.

    The local `path` variable does not provide any additional value and was
    kept around just for clarity for easier review of the `extrac_files`
    method move.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2515

commit c9fab1ac06b83679b265c011481c80387c008735
  Author: Vít Ondruch <vondruch@redhat.com>
  Date:   2019-10-01 19:39:31 +0900

    Use local `{dir,prog,data}_mode` variables instead of globals.

    This just gets the `RbInstall::DirPackage` closer by functionality to
    `Gem::Package`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2515

commit 6609940a5e5c46dcc96d2bd3c228a951df6240ce
  Author: Vít Ondruch <vondruch@redhat.com>
  Date:   2019-10-01 19:25:07 +0900

    Use `$script_mode` instead of `$prog_mode` for gem inistallation.

    rbinstall is using `$script_mode` and `$prog_mode`. However, the
    `$script_mode` fallbacks to `$prog_mode` if not provided.

    However, RubyGems do not distinguish between `$script_mode` and
    `$prog_mode`:

    https://github.com/rubygems/rubygems/blame/92892bbc3adba86a90756c385433835f6761b8da/lib/rubygems/installer.rb#L196
    https://github.com/rubygems/rubygems/blame/92892bbc3adba86a90756c385433835f6761b8da/lib/rubygems/installer.rb#L515
    https://github.com/rubygems/rubygems/blame/92892bbc3adba86a90756c385433835f6761b8da/lib/rubygems/installer.rb#L543

    Comparing the usage of `$script_mode` and `$prog_mode`, it seems that
    the `$script_mode` should be used where RubyGems expects `$prog_mode`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2515

commit e960ef6f18a25c637c54f00c75bb6c24f8ab55d0
  Author: Vít Ondruch <vondruch@redhat.com>
  Date:   2019-10-01 19:03:33 +0900

    Use `Gem::Package` like object instead of monkey patching.

    1. This is similar to what RubyGems does and it is less magic [[1]].
    2. It avoids deprecated code paths in RubyGems [[2]].

    [1]: https://github.com/rubygems/rubygems/blob/92892bbc3adba86a90756c385433835f6761b8da/lib/rubygems/installer.rb#L151
    [2]: https://github.com/rubygems/rubygems/blob/92892bbc3adba86a90756c385433835f6761b8da/lib/rubygems/installer.rb#L187

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2515

commit 0686e4181d04dd911316a227753ceaa96d8c6533
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-26 10:16:32 +0900

    Fixed for older versions

    Fix up 66d1900423e6fb9774c2fe72dba8c2968b54d7ab, `RubyVM::MJIT` is
    available since ruby 2.6.

commit 672213ef1ca2b71312084057e27580b340438796
  Author: Chelsea Corvus (Battell) <chelsea.battell@gmail.com>
  Date:   2020-02-26 03:43:17 +0900

    Document that Array#index and find_index are aliases [ci skip]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2924

    Merged-By: XrXr

commit 6c66761c1f947a2c4b5953c8f40e59596648b586
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-26 02:27:54 +0900

    * 2020-02-26 [ci skip]

commit 66d1900423e6fb9774c2fe72dba8c2968b54d7ab
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-02-26 02:27:11 +0900

    Increase timeout for CSV test with --jit-wait

    To prevent CI failures like
    http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2739995

commit 55bf0ef1aa7c936b564b883196de1ace4be4cc7e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-23 17:59:38 +0900

    Share extracted bundled gems with gems for bundler

    Extract bundled gems under ".bundle/gems" and get rid of
    duplication which cause constant redefinition warnings at
    `test-all` after `extract-gems` and `test-bundler`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2922

commit a504535dd4044bc8b2daf73076e01028da5ad58a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-25 17:47:17 +0900

    Prefer dedicated assertion method

commit 0febd07c698c242109d0171b4ddb8c6722b5df0d
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-25 13:37:32 +0900

    ext/-test-/cxxanyargs: use try_link instead

    We would like to skip this extension library when libstdc++ is missing.
    To avoid such situation let's use try_link instead of try_compile.

commit 84d1a99a3fc76b4bcd5fc382e5b30a466b124493
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-25 13:37:52 +0900

    should be initialize jit_unit->cc_entries.

    GC can invoke just after allocation of jit_unit->cc_entries so
    it should be zero-cleared.

commit 670b7be6c5fb9c3438fb6e36070401f25806f725
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-25 13:12:53 +0900

    should count only string.

    This code can generate CC objects so we only need to count
    existing String objects.

commit 7ec23593746c8ccabd6c005cc34dde77d564c6c9
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-25 11:03:17 +0900

    prevent GC from mjit worker.

    ALLOC_N() can causes GC. Sometimes `mjit_copy_job_handler()`
    can be called by mjit_worker thread which is not a Ruby thread,
    so we need to prevent GC in this function. This patch has some
    issues, but I introduce it to pass the tests.

commit 82d27604adba94e147c1e848f80329a8286bde5c
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-25 12:53:56 +0900

    * 2020-02-25 [ci skip]

commit fa1ec60424a80286a96dc746339be5a37df82def
  Author: Masataka Pocke Kuwabara <kuwabara@pocke.me>
  Date:   2020-02-24 16:37:33 +0900

    Fix wrong documentation for return value of Pathname#fnmatch

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2923

commit 8b6e2685a4b7c7de905f7ed60c02ef85e0724754
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-24 15:33:50 +0900

    Fixed symbol misused as ID

    `rb_funcallv_public` and `rb_respond_to` require an `ID`, not a
    `Symbol`.  [Bug #16649]

commit f8401732dea7b22c849cefc722d7d7f41f2ddd1b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-24 12:40:34 +0900

    Try with and without "v" prefix for numeric tag

commit 116b9e6a16c72276e92578b761846d05eaa3eff6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-24 12:32:50 +0900

    Retry checking out the version

    rss 0.2.9 is tagged without the "v" prefix.

commit 6f92c62084b283820f80a4facda9c16e1408fdca
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-24 12:27:36 +0900

    Update bundled gems

commit f88d209bb7167c495a172bf9ede4bbbe6288545d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-24 00:28:34 +0900

    * 2020-02-24 [ci skip]

commit 281b3500580f9ec93ee17679c648eaeb4a47f8b6
  Author: zverok <zverok.offline@gmail.com>
  Date:   2019-12-26 03:39:42 +0900

    Add pattern matching documentation

    Add separate doc/syntax/pattern_matching.rdoc, add
    link to control_expressions.rdoc.

    The documentation is "reverse-engineered" from Ruby 2.7
    behavior and early preview presentations, and corrected
    by pattern-matching feature author @k-tsj.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2786

commit 8a7e0aaaef3b19f90d6debe6781e4b3031f56237
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-21 08:37:44 +0900

    Warn non-nil `$/` [Feature #14240]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2920

commit 6298ec2875a6f1a1e75698c96ceac94362f20bcf
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-20 17:53:46 +0900

    Warn non-nil `$\` [Feature #14240]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2920

commit 588a86e32c9e646823e1436e53ffe1c37206abd3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-20 17:28:56 +0900

    Warn non-nil `$,` in `IO#print` too

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2920

commit 0ed3384fd463ff80f5e55f7d4c62338fb15337d5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-23 13:31:56 +0900

    Revert "Prefer `exe/ruby` to execute from it"

    This reverts commit c7b71af9e21b3f0b8fe413a3c20cf4bd633c40d0, as
    an example in bundler expects untouch PATH.

commit f85ca4c840611bd10df35b4d6ca5a976bc90d68e
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-23 00:38:29 +0900

    * 2020-02-23 [ci skip]

commit 77dcc2c8228f6a69e7cd4c4d72f4ac6c4116d27c
  Author: Marcus Stollsteimer <sto.mar@web.de>
  Date:   2020-02-23 00:32:37 +0900

    hash.c: [DOC] fix examples for ENV.merge!

commit 4aebb491536ad9c7bca6c0e264604aa90e701ef0
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-02-22 22:43:52 +0900

    Expand Symbol#to_proc specs to be clearer

commit c7b71af9e21b3f0b8fe413a3c20cf4bd633c40d0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-22 15:03:18 +0900

    Prefer `exe/ruby` to execute from it

commit f744d80106ad236cb517c3a6eae5e591562e2377
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-22 11:23:30 +0900

    check USE_MJIT

    iseq->body->jit_unit is not available if USE_MJIT==0 .

commit 5b29ea0845c14092abd866ce0183c52635bade4c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-22 10:40:25 +0900

    Proc from Symbol needs a receiver

    So its arity should be -2 instead of -1.

    [Bug #16640]
    https://bugs.ruby-lang.org/issues/16640#change-84337

commit 31748e69c84894ac8f042a67d1320db8593c9ce1
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-22 10:26:15 +0900

    CI can be NULL.

    Unused CI (introduced from peephole optimization, etc) can be NULL
    so introduce NULL check.

commit af12e38675a2cd927855079709d42666dd7bbf9c
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-02-22 10:25:54 +0900

    More ENV rdoc [ci skip]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2908

    Merged-By: nobu <nobu@ruby-lang.org>

commit da310356874ae30f793911223562ece2449a05e7
  Author: MSP-Greg <MSP-Greg@users.noreply.github.com>
  Date:   2020-02-19 23:11:32 +0900

    test/readline - allow ENV control of test class creation

    In ruby/ruby, the tests run on both readline & reline by creating four test classes:
    ```
    TestReadline
    TestReadlineHistory

    TestRelineAsReadline
    TestRelineAsReadlineHistory
    ```

    Reline inports the test files and uses them in its CI.  Adding the ENV control allows it to only run the `TestRelineAsReadline` classes.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2916

commit d7984d0f543f59a66657eea20993be1d14df71d5
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-22 09:59:23 +0900

    * remove trailing spaces. [ci skip]

commit b9007b6c548f91e88fd3f2ffa23de740431fa969
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-08 16:14:01 +0900

    Introduce disposable call-cache.

    This patch contains several ideas:

    (1) Disposable inline method cache (IMC) for race-free inline method cache
        * Making call-cache (CC) as a RVALUE (GC target object) and allocate new
          CC on cache miss.
        * This technique allows race-free access from parallel processing
          elements like RCU.
    (2) Introduce per-Class method cache (pCMC)
        * Instead of fixed-size global method cache (GMC), pCMC allows flexible
          cache size.
        * Caching CCs reduces CC allocation and allow sharing CC's fast-path
          between same call-info (CI) call-sites.
    (3) Invalidate an inline method cache by invalidating corresponding method
        entries (MEs)
        * Instead of using class serials, we set "invalidated" flag for method
          entry itself to represent cache invalidation.
        * Compare with using class serials, the impact of method modification
          (add/overwrite/delete) is small.
        * Updating class serials invalidate all method caches of the class and
          sub-classes.
        * Proposed approach only invalidate the method cache of only one ME.

    See [Feature #16614] for more details.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2888

commit f2286925f08406bc857f7b03ad6779a5d61443ae
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-08 08:20:36 +0900

    VALUE size packed callinfo (ci).

    Now, rb_call_info contains how to call the method with tuple of
    (mid, orig_argc, flags, kwarg). Most of cases, kwarg == NULL and
    mid+argc+flags only requires 64bits. So this patch packed
    rb_call_info to VALUE (1 word) on such cases. If we can not
    represent it in VALUE, then use imemo_callinfo which contains
    conventional callinfo (rb_callinfo, renamed from rb_call_info).

    iseq->body->ci_kw_size is removed because all of callinfo is VALUE
    size (packed ci or a pointer to imemo_callinfo).

    To access ci information, we need to use these functions:
    vm_ci_mid(ci), _flag(ci), _argc(ci), _kwarg(ci).

    struct rb_call_info_kw_arg is renamed to rb_callinfo_kwarg.

    rb_funcallv_with_cc() and rb_method_basic_definition_p_with_cc()
    is temporary removed because cd->ci should be marked.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2888

commit a1eb1fabef1bca0696449cd358d93f5a644d5914
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-22 02:59:46 +0900

    use RUBY_FUNCTION_NAME_STRING instead of __func__ for rp()

commit 5a89c05773da29c242c222fa3af64703f5aff88b
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-22 00:45:33 +0900

    * 2020-02-22 [ci skip]

commit 8c5ca318cbe57269f144a4d0822c5283c1fd4e1a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-22 00:32:43 +0900

    `Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]

    With refinements, too.

commit 5cab86f3b0725457be3c50d3cab43b04bea53290
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-22 00:30:55 +0900

    `Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]

commit 0b4500d982d2670e7025c61f50ab25bdc6de7834
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-22 00:17:31 +0900

    Adjusted indent [ci skip]

commit 5e7322b866c9052662b4365667a64560b7464d5a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-19 19:27:53 +0900

    [ruby/irb] `yield` outside method definition is a syntax error

    https://github.com/ruby/irb/commit/dbc7b059c7

commit 8d3b7f0fda491b076965fc37e2f56bd141cedee7
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-21 21:30:04 +0900

    Fixed net-pop, smtp, protocol and imap task for sync tool

commit e7f8724fb223bbae8c467d854e4b4babe9273e62
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-21 21:25:43 +0900

    Fixed net-ftp sync task and resync from standalone repo

commit fa1cf777dbe3c484331864d44c33bc30f2044c76
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-21 21:23:16 +0900

    Move an entry of net-ftp to the default gems section

commit 9cb1ffaa5c3a4b6921eaf748ffdef5dbd1c07877
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-21 21:21:14 +0900

    Promote net-http to the default gems.

      test/net/http/test_https.rb: rename fixture methods to read_fixture
      because it conflicts with test-unit gem.

commit a294ec162235cb9a0ed62ede0bbf9d2f11b30592
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-21 19:56:15 +0900

    Move an entry of net-ftp to the default gems section

commit f08d8e5e85ef2c44ca29261244c7b397ea968b94
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-21 19:09:21 +0900

    Promote net-ftp to default gems

commit 4643bf5d55af6f79266dd67b69bb6eb4ff82029a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-21 13:31:37 +0900

    * 2020-02-21 [ci skip]

commit 59c2a115f02e4e2ded528975fa3edde2c0c3f0b6
  Author: Masataka Pocke Kuwabara <kuwabara@pocke.me>
  Date:   2020-02-21 13:27:13 +0900

    Fix typo in NEWS-2.7.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2918

commit df26d36e5ba0edc7ad031be9fb2047d68cd686c7
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-20 22:36:53 +0900

    Prefer alignas() over _Alignas()

    to allow Intel C++ compiler to read ruby.h.
    This is similar to 9930481a239fa7182429f3c3942ea033fb9b0320

commit 3e12b658613a534f11a50b4a415c7c3e165bcfd1
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-20 21:32:27 +0900

    Fallback to load version file in ruby core repository

commit a326b4b0b80d6e35c37f96be239145044b594c4f
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-20 21:24:51 +0900

    Move an entry of net-imap to the default gems section

commit e9d872a06e0847c72edda793e21b116ce269d854
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-20 21:22:56 +0900

    Promote net-imap to the default gems

commit f5abcf767edcd475263ca9d8c06d0bb32a417ba9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-13 14:06:07 +0900

    [ruby/rdoc] Removed `RDoc::Context::Section#sequence`

    It has been deprecated since 2011.

    https://github.com/ruby/rdoc/commit/5c2aa0f77d

commit 56d33b3ea8cd2f8360ec891da10552d708522ab7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-20 13:39:27 +0900

    Fixed missing `return`

    Get rid of double writing.

commit 75863554233a40f74d40138b7a88f07c010281a1
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-13 15:10:16 +0900

    comma at the end of enum is a C++11ism

    Comma at the end of enum is allowed in C since C99. We can use them
    internally.  However when it comes to extension libraries, they could be
    written in different C++ versions.  We cannot assume sometihng.  Public
    headers shall keep compatibilities.

commit 49bb2e64ccca130f8e1a0b6ad36d442c1ad44ed7
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-15 18:30:53 +0900

    avoid defining inline

    Recent (since 2012 maybe?) MSVC ships a header named xkeycheck.h, which
    (kindly!) aborts compilation on redefinition of C++ keywords.  Let's not
    define this in case of C++.

commit 4e6bae47c833cd82942172712f30ac23ab06c9fe
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-13 13:59:41 +0900

    ext/-test-/cxxanyargs: prevent have_devel check

    The `cxx.try_compile` command in this file kicks `cxx.have_devel?`
    internally, which recursively calls `cxx.try_link` with a different
    source code.  We don't want that happen (the source code compiled in
    this file must be the first one).  We need to fake the system.

commit 7aa3f1fe697f03fc38989d72d2decd5037b8882c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-13 13:33:49 +0900

    printf can be a macro

    Namely glibc has this macro on -DFORTIFY_SOURCE.  We have to prevent
    macro redefinition with different macro body.

commit 8920e2040a8980fdceeb9b629b0ef79fac380960
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-15 18:56:44 +0900

    hide vm_ep_in_heap_p_

    `make leaked-globals` points out that this function is leaked.  This has
    not been detected in our CI because it is defined only when
    VM_CHECK_MODE is nonzero.

    Just make it static and everytihng goes well.

commit c7e6dbd5ab488a42f2d1a8f3503480b92cd0aa88
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-13 12:53:49 +0900

    fix arity mismatch

    This is a ruby method with arity zero.  Which means, this function takes
    one argument (that is self).

commit 984e0233fe0c60fb5c6c5f937c214e30c1b7c6f0
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-17 16:57:45 +0900

    TestTime#test_memsize: skip when on GC_DEBUG

    GC_DEBUG=1 makes this test fail because it changes the size of struct
    RVALUE.  I don't think the test is useful then.  Let's just skip.

commit 6788c375b15232e684dbd4b993b508413f2c74a9
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-18 12:39:30 +0900

    suppress clang warnings

    Starting clang 11, casts between pointer and (narrower-than-pointer) int
    are now warned.  However all such thing in our repository are guaranteed
    safe.  Let's suppress the warnings.

commit 036a68ae2c6f3214cb5488da412444d773cbb65d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-20 08:43:26 +0900

    [DOC] Fixed `ENV.rassoc` result order [ci skip]

commit eed7235e33ab55209c33bf255949be4f26b8c7e2
  Author: Marcus Stollsteimer <sto.mar@web.de>
  Date:   2020-02-20 04:59:21 +0900

    hash.c: [DOC] fix typos

commit 97e8212a767689c2acb201d3da365ba4d599cf96
  Author: Marcus Stollsteimer <sto.mar@web.de>
  Date:   2020-02-20 04:57:38 +0900

    doc/make_cheatsheet.md: fix typos

commit 4bc16244be6c779f843ba7a34f19416901900886
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-20 00:14:24 +0900

    * 2020-02-20 [ci skip]

commit 57c26231ddaee50608aa1c97084b3f3394204612
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-02-20 00:13:44 +0900

    Use `brew upgrade` instead of `brew update`

commit c4794ed73ad348a61a7cfbe3da0a7eb49ba46eb9
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-02-19 16:16:19 +0900

    Avoid jumping to a wrong destination

    when the next insn is already compiled by former branches.

commit f0b815dc670b61eba1daaa67a8613ac431d32b16
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-11-28 12:18:17 +0900

    `Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]

commit 90d082e374abb2f76075ec143b255e3a53157b41
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-19 13:47:56 +0900

    * 2020-02-19 [ci skip]

commit 5fd5666dcc32fea9bfc46cd4efea1959ffa9ad69
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-02-19 08:43:47 +0900

    support multi-run test for test_readline.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2914

commit 041c2932e336b509b0ddc1fdbd9f160bce8d4893
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-18 14:34:26 +0900

    Pass keyword arguments to IOs properly [Bug #16639]

commit 38070ccdeb02022a0d9def239651c82cae9a0e79
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-18 11:35:00 +0900

    * 2020-02-18 [ci skip]

commit 2115a3937d0e2cf845d092aec1f6c25292ddd6ce
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-18 11:34:38 +0900

    [ruby/io-console] bump up to 0.5.6

commit 5ef383552dfc4e0e3c76d3be2ebab71f8c0f59d4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-17 15:24:57 +0900

    [ruby/io-console] Just ignore the extension on other than CRuby

    https://github.com/ruby/io-console/commit/41b6f09574

commit dcb05179a969a024bbd3b7622f67468ddf07638c
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-15 23:05:36 +0900

    [ruby/irb] Version 1.2.3

    https://github.com/ruby/irb/commit/dd56e06df5

commit 9239226e3928bf7d3aef8c845b9251e222bac7ed
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-17 22:16:32 +0900

    * append newline at EOF. [ci skip]

commit c42c6a5950963a6840dcd09f68cad9896b6bf9b3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-17 22:16:13 +0900

    Move the entry of net-protocol on docs

commit 0ae9780352319e527454ec49a6f88b5b6b007195
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-17 22:15:20 +0900

    Promote net-protocol to default gems

commit 2032432dadcfc564daf4bc7570f589d023a30c6a
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-17 20:51:46 +0900

    Partially revert "test/openssl/test_ssl.rb: skip OpenSSL::TestSSL#test_fallback_scsv"

    A skip guard for test_fallback_scsv has been added in upstream
    repository.

commit 8f91dc712ad66a41edcfb8e5f55193d8de370c66
  Author: Kazuki Yamaguchi <k@rhe.jp>
  Date:   2020-02-17 17:14:47 +0900

    [ruby/openssl] test/openssl/test_ssl: skip test_fallback_scsv if necessary

    Run the test case only when the OpenSSL supports both TLS 1.1 and TLS
    1.2. Note that the fallback SCSV mechanism is for TLS 1.2 or older and
    not for 1.3.

    Fixes: https://github.com/ruby/openssl/issues/336

    https://github.com/ruby/openssl/commit/6f2e6d7cf7

commit 99b191d83f96dd7f56b673bb1b7dbf96b68dc3e6
  Author: Kazuki Yamaguchi <k@rhe.jp>
  Date:   2020-02-17 17:28:33 +0900

    [ruby/openssl] ts: simplify OpenSSL::Timestamp::Request#algorithm

    Stop the special treatment of invalid hashAlgorithm of the message
    imprint. Those invalid values can only appear after the object is
    instantiated, before the user sets an actual message digest algorithm.

    OpenSSL::Timestamp::TokenInfo#algorithm already does the same.

    Also, remove the test case "test_create_request" since it does not make
    much sense. Those fields are to be set by the user after creation of
    the object and checking the initial value is pointless.

    Fixes: https://github.com/ruby/openssl/issues/335

    https://github.com/ruby/openssl/commit/890a6476fa

commit 3fbcdac3e40f68667a9a1b5a2efed215762260c0
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-17 13:20:51 +0900

    test/openssl/test_ssl.rb: skip OpenSSL::TestSSL#test_fallback_scsv

    on OpenSSL 1.1.1d or later.

    https://github.com/ruby/openssl/issues/336

commit dec802d8b59900e57e18fa6712caf95f12324aea
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-17 12:02:58 +0900

    [ruby/io-console] [DOC] Improved about `intr:`

    https://github.com/ruby/io-console/commit/82b630cd79

commit 21ab4836142476cef9ad3e9690322124f3e6ace7
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-17 05:06:59 +0900

    * 2020-02-17 [ci skip]

commit a9e10d3b8e72658cc4c3a26d8926595dbdc9d8a5
  Author: Marcus Stollsteimer <sto.mar@web.de>
  Date:   2020-02-17 05:00:49 +0900

    NEWS.md: add missing ticket links

commit 6ca0a62d21d4c4961db009f84b9a2b4f6520803b
  Author: Marcus Stollsteimer <sto.mar@web.de>
  Date:   2020-02-17 05:00:41 +0900

    NEWS.md: improve language; markup as list item

commit 1126f58c6208c5e5e071724c32d55dbebbcd1051
  Author: Marcus Stollsteimer <sto.mar@web.de>
  Date:   2020-02-17 05:00:34 +0900

    NEWS.md: remove leading whitespace

commit 3281f70d7cd1e97f7540a4bf9e11f97a83d904f2
  Author: Marcus Stollsteimer <sto.mar@web.de>
  Date:   2020-02-17 05:00:27 +0900

    NEWS.md: fix method references; remove surplus brackets

commit 331755c5e97ff1a5c0a4a3ceed9c26ea2c580768
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-16 22:16:22 +0900

    Revert "test/openssl/test_ts.rb: tentatively skip a failing test on CentOS 6.9"

    This reverts commit a6d007c70b3aa5b55c9ca774446130356bd36eac.

    Unfortunately, the test fails on armv7l
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/scw-9d6766/ruby-master/log/20200216T091708Z.fail.html.gz

commit a6d007c70b3aa5b55c9ca774446130356bd36eac
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-16 21:20:09 +0900

    test/openssl/test_ts.rb: tentatively skip a failing test on CentOS 6.9

    CentOS 6.9 will be EOL at Nov.  Ruby 3.0 (or 2.8) release version will
    not support CentOS 6.9, so I'll remove the environment after it become
    green.

commit e37e0bfa989bccf219e82ad7a73d415a8b7add80
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-16 20:48:40 +0900

    test/openssl/test_ssl.rb: skip a test on OpenSSL 1.1.d or later

    It fails due to "error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee
    key too small".  This is a tentative measurement to avoid the failure.

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian/ruby-master/log/20200216T093010Z.fail.html.gz

    test/openssl/fixture/chain/server.key should be longer.
    It should be documented how to create the files.
    BTW, it would be a good idea to dynamically create a key during test
    instead of fixed files.

commit 01138f5853a16068fb5a45ea39d3fc35fe664cb7
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-16 19:55:19 +0900

    Make OpenSSL::OSSL#test_memcmp_timing robust

    The test was too fragile.  Actually, it fails on one of our CIs
    immediately after it was merged to ruby/ruby.

    https://gist.github.com/ko1/7ea4a5826641f79e2f9e041d83e45dba#file-brlog-trunk_clang_40-20200216-101730-L532-L535
    https://gist.github.com/ko1/1c657746092b871359d8bf9e0ad28921#file-brlog-trunk-test4-20200216-104518-L473-L476

    * Two measurements, a-b and a-c, must be interative instead of
      sequential; the execution time will be easily affected by disturbance
      (say, cron job or some external process invoked during measurement)

    * The comparison of the two results must be relative instead of
      absolute; slow machine may take several tens of seconds for each
      execution, and one delta second is too small.  The test cases of a, b,
      and c are very extreme, so if the target method has a bug, the two
      execution times would be very different.  So I think it is enough to
      check if the difference is less than 10 times.

    This change is the same as https://github.com/ruby/openssl/pull/332

commit 0b55f8a14f28b070177ee0ddcd76edb46af9a395
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-16 19:14:23 +0900

    ext/openssl/extconf.rb: avoid -Werror=deprecated-declarations

    It fails to build on Solaris:

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20200216T090008Z.log.html.gz
    ```
    ossl_cipher.c: 関数 ‘ossl_cipher_init’ 内:
    ossl_cipher.c:228:2: エラー: ‘EVP_md5’ is deprecated [-Werror=deprecated-declarations]
      228 |  EVP_BytesToKey(EVP_CIPHER_CTX_cipher(ctx), EVP_md5(), iv,
          |  ^~~~~~~~~~~~~~
    In file included from /usr/include/openssl/x509.h:73,
                     from /usr/include/openssl/x509v3.h:63,
                     from ossl.h:23,
                     from ossl_cipher.c:10:
    /usr/include/openssl/evp.h:732:26: 備考: ここで宣言されています
      732 | DEPRECATED const EVP_MD *EVP_md5(void);
          |                          ^~~~~~~
    ```

commit 301457480039a7087129f291578a872f6e653ab6
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-16 16:08:43 +0900

    Guard for OpenSSL::PKey::EC::Group::Error with unsupported platforms

commit b99775b163ce44079c1f8727ce9b4ed8bb03489d
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-16 15:21:29 +0900

    Import openssl-2.2.0 (#2693)

    Import the master branch of ruby/openssl for preparing to release openssl-2.2.0

  Notes:
    Merged-By: hsbt <hsbt@ruby-lang.org>

commit 0bfa479c52963b95a47ceab3d453f21b646366a2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-16 13:47:18 +0900

    Split the optimizable range item conditions

commit 07179c5c0fdee86650446aa373c3c2d5331600d6
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-16 02:37:34 +0900

    * 2020-02-16 [ci skip]

commit 527829423088f09cf2f708be12bb4337d640dc69
  Author: Masataka Pocke Kuwabara <kuwabara@pocke.me>
  Date:   2020-02-16 00:09:39 +0900

    Reduce begin-less/end-less range allocation

    ```
    $ cat test.yaml
    prelude: |
        def endless
          1..
        end

        def beginless
          ..1
        end

        def endless_substr(str)
          str[1..]
        end

    benchmark:
        endless: endless
        beginless: beginless
        endless_substr: "endless_substr('foo')"

    $ RBENV_VERSION=trunk ruby -v
    ruby 2.8.0dev (2020-02-15T12:52:03Z master 961630126b) [x86_64-linux]
    $ RBENV_VERSION=patched ruby -v
    ruby 2.8.0dev (2020-02-15T12:52:03Z origin/master 961630126b) [x86_64-linux]

    $ benchmark-driver test.yaml --rbenv 'patched;trunk'
    Warming up --------------------------------------
                 endless    45.948M i/s -     46.076M times in 1.002782s (21.76ns/i, 26clocks/i)
               beginless    49.986M i/s -     50.237M times in 1.005037s (20.01ns/i, 24clocks/i)
          endless_substr     8.067M i/s -      8.187M times in 1.014936s (123.96ns/i, 148clocks/i)
    Calculating -------------------------------------
                            patched       trunk
                 endless   115.679M     21.500M i/s -    137.843M times in 1.191597s 6.411398s
               beginless   112.599M     22.060M i/s -    149.957M times in 1.331778s 6.797768s
          endless_substr     8.888M      6.760M i/s -     24.201M times in 2.722995s 3.580038s

    Comparison:
                              endless
                 patched: 115679391.9 i/s
                   trunk:  21499711.2 i/s - 5.38x  slower

                            beginless
                 patched: 112598731.5 i/s
                   trunk:  22059673.0 i/s - 5.10x  slower

                       endless_substr
                 patched:   8887513.1 i/s
                   trunk:   6759886.2 i/s - 1.31x  slower
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2910

commit 961630126b8081ea57b57cde3184e9ecfd86ff96
  Author: Nobuhiro IMAI <nov@yo.rim.or.jp>
  Date:   2020-02-12 19:16:12 +0900

    [ruby/irb] fix reserved words and completion for them

    https://github.com/ruby/irb/commit/6184b227ad

commit 38f1e84c37b91ddf9e61428d298eb27bee3bd2bc
  Author: Nick Lewis <nick@puppet.com>
  Date:   2020-02-15 07:30:35 +0900

    [ruby/irb] Include easter-egg.rb in gemspec

    `irb` doesn't run because this file isn't included in the gem.
    https://github.com/ruby/irb/commit/73cda56d25

commit 8749a678ab0f5ccf41b855e13575c9bacd8c2f7a
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-14 22:51:58 +0900

    [ruby/irb] Version 1.2.2

    https://github.com/ruby/irb/commit/a71753f15a

commit 12ae7b3369485eea1f556dfc766a040ac1a5a77a
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-14 22:53:49 +0900

    [ruby/reline] Version 0.1.3

    https://github.com/ruby/reline/commit/ea2b182466

commit 05485868cbd1e7a59063d5b4be2ee2313ac9fa25
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-15 20:28:29 +0900

    Workaround for bison provided by scoop on mswin environment

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2909

commit 125bcdb5cbcd03f473540a5a5cf2ef8d44433b77
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-15 17:27:16 +0900

    [DOC] use local variable like names [ci skip]

    Use local variable like name as return value which is an instance
    of that class but not constant itself.

commit fb472ca7adbaceb35aae1b3a6b948720ffc9eb53
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-15 16:27:03 +0900

    lib/drb/drb.rb: Use ruby2_keywords for keyword separation

    [Bug #16634]

commit 2bcfdad006a1daac311f517110db6e221b2fa5d5
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-15 12:14:33 +0900

    * 2020-02-15 [ci skip]

commit 79ad50d2194f8d19ef9eb317fea83cfe284a2b08
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-02-15 12:13:09 +0900

    Fix call-seq of Pathname#{,l}ch{mod,own} [ci skip]

commit 2efb38e766b6fc304bb933d696c7500425d178a1
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-14 22:34:56 +0900

    [ruby/reline] Use IO#write instead of IO#print

    IO#print always adds a string of $\ automatically.

    https://github.com/ruby/reline/commit/a93119c847

commit 78282d4655c05348ce7df24058623d3e868a08e6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-14 15:59:36 +0900

    [ruby/io-console] Prefer keyword arguments

    https://github.com/ruby/io-console/commit/5facbfc4c8

commit 1df2c8cefb4bb9a36f5241b407ebb13f7550669f
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-14 19:57:07 +0900

    Revert "MinGW - rename OpenSSL dll's in system32 directory"

    This reverts commit 95c58d33cc6925f08d45c00b88367c702f61f428.

commit 95c58d33cc6925f08d45c00b88367c702f61f428
  Author: MSP-Greg <MSP-Greg@users.noreply.github.com>
  Date:   2020-02-06 10:57:18 +0900

    MinGW - rename OpenSSL dll's in system32 directory

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2886

commit 9bc815aa5fd14f26d62ff1d6189157d7f09e23cb
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-14 15:38:42 +0900

    Hoisted out `rb_scan_args_result`

commit 0742585e7eaf9ccc292cc077caa38f7cf584de9e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-14 15:31:56 +0900

    Consitified `rb_scan_args_set`

commit 36b7e95744cdd9e9dedac648a88b4f9ddd6e6cb0
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-02-14 14:26:19 +0900

    Fix typos and add a space [ci skip]

commit b9129dac215735c5091658cfa3596ca0388f171f
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-02-14 14:18:48 +0900

    Enhanced doc for ENV

    * More on ENV examples

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2905

    Merged-By: nobu <nobu@ruby-lang.org>

commit c0ebf64ae71dfe39744c1fad8c8653a21e4d4268
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-14 00:08:12 +0900

    * 2020-02-14 [ci skip]

commit fad98c6c61688d9ca7772bbfdef5a9d832529f16
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-14 00:07:28 +0900

    test/irb/test_completion.rb: suppress a warning: unused literal ignored

commit 6bfc576271ead85f905b21ef9268e6e8ba5bb85f
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-13 23:16:10 +0900

    spec/ruby/library/socket/constants/constants_spec.rb: skip on Android

    IP_MAX_MEMBERSHIPS seems not to be defined on Android

commit bbc67993344830c18b15f5d90febc7dec9c87b3c
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-13 23:13:17 +0900

    spec/ruby/library/socket/addrinfo/getnameinfo_spec.rb: skip on Android

    FreeBSD's GETNAMEINFO(3) says:

    > If a link-layer address or UNIX-domain address is passed to
    > getnameinfo(), its ASCII representation will be stored in host.  The
    > string pointed to by serv will be set to the empty string if non-NULL;
    > flags will always be ignored.

    Android seems to behave like FreeBSD.

commit 09a042ae0445472d42f35b9fd50c21d6564b0ece
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-13 23:11:28 +0900

    spec/ruby/library/etc/: skip the specs related to group on Android

    User/group system on Android seems different from normal Linux.

commit db8c8c0916c5e0feaad5767ac7cd3fe30b86e964
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-13 23:10:03 +0900

    spec/ruby/library/socket/addrinfo: skip the specs that uses SOCK_SEQPACKET on Android

    SOCK_SEQPACKET seems not to be supported on Android

commit 89bfad17d5911b7295063b85e9c003e2a837493a
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-13 23:08:31 +0900

    spec/ruby/library/syslog: skip the specs that use LOG_PERROR on Android

    LOG_PERROR is defined on Android, but not implemented yet.
    See also f3c4e620ac612eab6370b1fb82feaa4e651542bb.

commit c6ebbbd38b997f8a8d6968e683e29db1e299b5aa
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-13 23:06:33 +0900

    spec/ruby: skip the specs that use /etc/passwd on Android

    There is no /etc/passwd on Android

commit ca53ab581b414ba86cfb5a6d51ca9a372c4ffcf8
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-13 23:04:15 +0900

    spec/ruby/library/etc/confstr_spec.rb: skip on Android

    There seems to be no _CS_PATH on Android.

commit 02233e171ce7a5243f19746148c3d59e1ad7dd33
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-13 23:03:07 +0900

    spec/ruby/core/process/spawn_spec.rb: Use / instead of /tmp

    because there is no /tmp on Android.

commit ed549f80b645aafd62376f65c3a27b66bafa2a38
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-13 23:00:30 +0900

    spec/ruby/core/process/clock_getres_spec.rb: skip on Android

    in the same way as FreeBSD and OpenBSD.
    I guess that the spec makes too strong assumption.

commit 022268ae009bd87b13e1f5ee46011b7142987d57
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-13 22:58:15 +0900

    spec/ruby/core/encoding/locale_charmap_spec.rb: locale_charmap is UTF-8 on Android

    nl_langinfo(CODESET) always returns UTF-8 on Android, regardless to
    LC_ALL=C.

commit a11fa7d8cd424e60b34a1c03cc18abee17203576
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-13 22:56:42 +0900

    spec/ruby/core/dir/home_spec.rb: exclude Android

    I couldn't find a robust way to get the home path except ENV["HOME"] on
    Android Termux.

commit 4a2b99795aa33bd39876742cc6fc524024e6bbac
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-13 20:36:44 +0900

    Move the English entries to the default gems at docs

commit 2c5764ec223d976e0d0da1494596a1519104be3e
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-13 20:35:34 +0900

    Promote English to the default gems.

commit aeddffafc828adad838479d0861db6111b98b4d2
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-02-13 11:46:16 +0900

    Add "test-all TESTS=--repeat-count=2" to test_task

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2906

commit fce667ed08f25fa7ce43c9b07be170f341a04c4e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-13 09:34:49 +0900

    Get rid of warnings/exceptions at cleanup

    After the encoding index instance variable is removed when all
    instance variables are removed in `obj_free`, then `rb_str_free`
    causes uninitialized instance variable warning and nil-to-integer
    conversion exception.  Both cases result in object allocation
    during GC, and crashes.

commit b1b155ff03634ade5cc0e724529841d354d54033
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-02-09 18:34:47 +0900

    support multi-run test for test/did_you_mean/test_verbose_formatter.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2894

commit 778c3973103651faa7a50d58bddbb8ea89202ee4
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-02-09 18:25:23 +0900

    Fix remove warning & support multi-run test for test/psych/visitors/test_to_ruby.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2893

commit 572d9b93bbad90455dc54a270c0eacc033dc762f
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-02-10 12:09:22 +0900

    support multi-run test for test/webrick/test_filehandler.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2896

commit 377c63366f6d06236d6e846722acf84deee8026f
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-13 10:15:24 +0900

    test/rubygems/test_gem_commands_setup_command.rb: Allow /bin/env

    Follow up of 65201c054a90c8e7beb8fe1e6d0006541ac33449

commit 53a8b1486b0e020858aa04f004aa22f4396a1bd0
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-13 04:20:22 +0900

    skip SEGV test if RUBY_ON_BUG is specified

commit 99a8742067ba262eb324615bfac770d1aea53b07
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-13 03:28:40 +0900

    should be compared with called_id

    me->called_id and me->def->original_id can be different sometimes
    so we should compare with called_id, which is mtbl's key.
    (fix GH-PR #2869)

commit bc1dbed16c647c556725481e38fc2e857e162fd6
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-13 00:15:22 +0900

    * 2020-02-13 [ci skip]

commit ed7b46b66be671165b6f38abd21d7638f4dfdcea
  Author: John Hawthorn <john@hawthorn.email>
  Date:   2020-01-19 11:18:00 +0900

    Use inline cache for super calls

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2869

commit a91ce05046b1bddc60a3dafcea59a4366359dffa
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-12 20:34:08 +0900

    Move the entries of tempfile on docs

commit bbd1ed626f8246d8003e0060aacd7f18c1a28246
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-12 20:07:15 +0900

    Promote tmpdir to the default gems

commit 160d3165eb095d81ae6e156f832a99728c853b01
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-12 20:09:57 +0900

    Copy non-inlined encoding index

commit bdf3032e3542b318c6f52dbe20d1c97cca3d7067
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-12 19:29:18 +0900

    Make temporary lock string encoding free

    As a temporary lock string is hidden, it can not have instance
    variables, including non-inlined encoding index.

commit 1b219f1fb26d15d69d4a0cb628f856f6f850eac5
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-12 19:47:31 +0900

    Move the entries of tempfile on docs

commit b8e7bd9f44c36cfa458b4f5878d4489097891516
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-12 19:39:20 +0900

    Promote tempfile to the default gems.

commit 15cacf1f5588e34f1745790f7405bde845b2ac08
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-12 19:40:10 +0900

    Add test_complete_symbol

    The previous version of the test method used a symbol, ":abcdefg" to complete
    but longer symbols that can be completed are defined by other test methods of
    other libs.

commit 775e31c801eb954b500e7638cff27cde2210d18d
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-02-12 17:40:25 +0900

    Add array.rb to .document

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2904

commit 65201c054a90c8e7beb8fe1e6d0006541ac33449
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-12 17:33:41 +0900

    test/rubygems: Try not only /usr/bin/env but also /bin/env

    RubyGems chooses available one from the two

    https://github.com/rubygems/rubygems/blob/20b0d609484df2b514954ba9ef890a7cbdd01d18/lib/rubygems/installer.rb#L38

    So, it is good not to hard-code /usr/bin/env in tests.

commit 2090011dbd66e64916488c7b0e04e316b57d5cee
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-12 17:28:29 +0900

    test/etc/test_etc.rb: skip some tests on Android

    Android user management seems different from normal Unix system.

commit 52cdf400efaecc0f5e1d1f70f22dc45212e03c4c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-11 11:28:31 +0900

    Workaround of instance variable on hidden object

    Since 9d9aea7fe50f6340829faa105d9ffe08ebaee658, generic instance
    variables need `iv_index_tbl` in the object's class.  As hidden
    objects, however, have no class, access to the variables causes a
    segfault.  Get rid of that segfault by raising an exception, for
    the time being.

commit 921916ff9e2940f28d932af84c5b2a2e222219d0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-11 13:09:56 +0900

    Isolate the test for Encoding#replicate

    It has global side effect which cannot be reverted.

commit 166c4a6a2838995e3465ab3ce263bf0b5239ddde
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-12 14:38:40 +0900

    Revert "[ruby/irb] Add test_complete_symbol"

    This reverts commit 3af3431c2c145134996e66f3d8d9ade8ad81bde0.

commit 16f5d63bad783ac202a0533249f06deab436aded
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-03 01:18:50 +0900

    [ruby/irb] Use 0.step instead of (..0).each for Ruby 2.5

    https://github.com/ruby/irb/commit/5d628ca40e

commit 8b8cc01229c2849236e7b43e1b5b5d33ccfb6b1e
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-11 02:11:35 +0900

    [ruby/irb] Fix auto indent with closed brace

    A closed brace in auto-indent shouldn't affect the next brace in the same line,
    but it behaves like below:

      p() {
        }

    It's a bug.

    https://github.com/ruby/irb/commit/fbe59e344f

commit 0719e1be11f4e3411b78f5e1d4de553f30f29bb0
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-10 23:22:24 +0900

    [ruby/irb] Check doc namespace correctly

    IRB::InputCompletor::PerfectMatchedProc crashes when doc not found because a
    variable name was incorrect.

    https://github.com/ruby/irb/commit/889fd4928f

commit 3af3431c2c145134996e66f3d8d9ade8ad81bde0
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-10 23:15:13 +0900

    [ruby/irb] Add test_complete_symbol

    https://github.com/ruby/irb/commit/dbbf086c1f

commit 985d1b9ec42e89e39aafadb8ffe68b0b877a7f93
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-12 11:53:51 +0900

    Fixed a potential memory leak

    `rb_str_new_cstr` can raise a `NoMemoryError`.

commit 155ab9caa6bbdeae2377bd9c18f11fc83d938217
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-12 11:47:08 +0900

    Removed unnecessary conversion

    Paths in `rb_execarg_t` should have been converted already.

commit 7a288df7b85d3565f369b305f225c2cd5baa5905
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-02-12 04:56:34 +0900

    Make yield in singleton class definitions in methods a SyntaxError

    This behavior was deprecated in 2.7 and scheduled to be removed
    in 3.0.

    Calling yield in a class definition outside a method is now a
    SyntaxError instead of a LocalJumpError, as well.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2901

commit ea32715e004dc8f56dc599883d3183d7b2635f81
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-02-12 01:49:29 +0900

    Add backwards compatibility example macro for rb_eval_cmd_kwd [ci skip]

commit 28bff9dd98030ceb1be9b57bfb1edf1633fd9dad
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-12 01:47:02 +0900

    * 2020-02-12 [ci skip]

commit 50065dad7f955cd069e43a83793a7ca3cff96b26
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-02-10 12:06:57 +0900

    Remove rb_eval_cmd

    This was related to $SAFE, and was deprecated in 2.7.  I missed it
    earlier when removing the other $SAFE-related code.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2899

commit de3883e7823c89ce90d7661ef5bb3b7eb60968db
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-11 15:52:25 +0900

    Restart timer thread even after preparation failed

    If the timer thread is left stopped, memory crash or segfault can
    happen.

commit f905f694ccc1f97c77af78d8d7881aa7c9ddabd3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-11 14:14:58 +0900

    Monitor is extension library now

commit 3e788241eaf5ff1c6d8ea12e24cbef76550b7229
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-11 14:10:49 +0900

    Update the documentation for weakref

commit 66e636ab24fb980a7d59221bb147a88944e2b3d3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-11 14:05:34 +0900

    ignore revision.tmp with in-place build

commit 56f6973b682f7be6ba8a27ea1516f35be09b0574
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-11 14:05:04 +0900

    Promote weakref to the default gems

commit 9b2e671944a035af6a079ba91628b04687374377
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-11 11:32:08 +0900

    Expose assert_no_memory_leak for weakref

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2900

commit a5d7b8e13d8a648175ec106a1127b4baca2d801d
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-11 10:50:32 +0900

    Expose assert_normal_exit for weakref

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2900

commit de4caa327bdffb766fb6534b4d18e56c903de7f0
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-11 11:15:06 +0900

    * 2020-02-11 [ci skip]

commit d83d61c98b2d6d80a0ffc9aa012a40d2dc39f9b3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-11 11:08:02 +0900

    Removed unused variable

    `generic_iv_tbl_compat` has not been utilized since 14d61a94ff01.

commit 2dea81f47728b9a28831dd91fc14dafcc3d29271
  Author: Tanaka Akira <akr@fsij.org>
  Date:   2020-02-10 21:41:15 +0900

    Don't refer Date in the document for Time.

commit 2d1cb93d40e45972ace391c5479d8f581501d483
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-10 20:50:31 +0900

    Update readline-ext entry at docs

commit 6891fd15805fa0fe1f7e815bfdbf60696b7120ea
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-10 19:41:07 +0900

    Don't use upstream ext/readline/depend

commit 8474e6ae1f327acb3e137c191078a522682cc946
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-02-10 16:00:51 +0900

    Use github.run_id in notification payload URL

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2898

commit 912ef0b5593a1e4edca3a0bad8164f66e05e6662
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-10 14:13:48 +0900

    Revert "gc.c: make the stack overflow detection earlier under s390x"

    This reverts commit a28c166f787710227c6aac54befd72778f041485.

    This change didn't help.
    According to odaira, the issue was fixed by increasing `ulimit -s`.

commit 6e6844320de989cb88a154e2ac75066ccea1bba2
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-10 12:15:48 +0900

    Fixed duplicated warning

    As `command_rhs` is always a "value expression", `command_asgn`
    does not need the same check.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2897

commit 442c6de5546b233364c295155953cd0bc17e99e3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-10 13:28:54 +0900

    Added commands of test-bundler to cheatsheet.

commit f83781c8c109b7f0b8cd6604d8fed6b8c13b8fd3
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-10 12:10:51 +0900

    rb_enc_str_asciionly_p expects T_STRING

    This `str2` variable can be non-string (regexp etc.) but the previous
    code passed it directly to rb_enc_str_asciionly_p(), which expects its
    argument be a string.  Let's enforce that constraint.

commit a2845adb4958db33e3e190716c2a4a94365f94f2
  Author: NagayamaRyoga <nagayama15@sec.is.kit.ac.jp>
  Date:   2020-02-06 21:49:13 +0900

    compile.c: Drop obj_list from ibf_dump

    [Feature #16505]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2835

commit e443f23576686edac795e076ba964cbe1beef62f
  Author: NagayamaRyoga <nagayama15@sec.is.kit.ac.jp>
  Date:   2020-02-06 21:31:28 +0900

    compile.c: Drop iseq_list from ibf_dump

    [Feature #16505]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2835

commit 6e5e6a40c4c35aee1cfb7d0effa47354f80baa9e
  Author: NagayamaRyoga <nagayama15@sec.is.kit.ac.jp>
  Date:   2019-12-18 19:26:02 +0900

    Deduplicate objects efficiently when dumping iseq to binary

    We were inefficient in cases where there are a lot of duplicates due to
    the use of linear search. Use a hash table instead.

    These cases are not that rare in the wild.

    [Feature #16505]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2835

commit 2079f436c7d4047cb09af005e9f8eb6fbf256000
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-10 01:27:54 +0900

    * 2020-02-10 [ci skip]

commit 9c5a2fed85f50f1d593da23eea71437a41d5969e
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2020-02-10 01:12:50 +0900

    Fix readline build dependency

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2895

commit 6f04f0cc444b74f8fdde3e12bb1c949ba0674450
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-09 21:40:53 +0900

    test/ruby/test_thread_queue.rb: add a wait to yield a thread

    On Arch, sending a signal in a loop seems hardly to yield the execution.

    ```
      1) Error:
    TestThreadQueue#test_queue_with_trap:
    Timeout::Error: execution of assert_in_out_err expired timeout (10 sec)
    ```
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/arch/ruby-master/log/20200209T120002Z.fail.html.gz

    This change allows the test to pass.

commit 26532c7e7793ecb7bcfaf2ac71425d1f0a84abe5
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-09 21:40:16 +0900

    doc/make_cheatsheet.md: add a memo about how to run one rubyspec file

commit f3471174bb6e8c717c7b57e2a9b3f0e697eae183
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-09 20:14:32 +0900

    [ruby/readline-ext] Use rake/extensiokntask to build

    https://github.com/ruby/readline-ext/commit/b0b5f709bd

commit 108a2880793867b9270931c508143d6757d6a0f9
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-09 20:00:58 +0900

    [ruby/readline-ext] Add spec.extensions

    https://github.com/ruby/readline-ext/commit/8c33abb13c

commit fd6746c7a651d4a504073726d56be610e1081b78
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-09 17:18:41 +0900

    [ruby/readline-ext] Use require check instead of DONT_RUN_RELINE_TEST env

    https://github.com/ruby/readline-ext/commit/1df99d1481

commit a629f147cd255b9887ce05a803431e243b925d08
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-09 17:06:17 +0900

    [ruby/readline-ext] The ruby/assert.h is adopted by Ruby 2.7 or later

    https://github.com/ruby/readline-ext/commit/106c31fc1b

commit ac0658e72095a2e70f70635a0e2d8c908e54c41e
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-09 16:41:07 +0900

    [ruby/readline-ext] Check TestRelineAsReadline existence

    https://github.com/ruby/readline-ext/commit/c0a6303168

commit 05711adfb4eb30975860749225ddee3484336654
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-09 15:33:28 +0900

    [ruby/readline-ext] Remove unnecessary -I$(top_srcdir) when it's an individual gem

    https://github.com/ruby/readline-ext/commit/efaca4a5f4

commit 9dcb324fbeaba2aeb51d8cfcf472b86704818f08
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-09 17:16:53 +0900

    Revert "[ruby/readline-ext] Include ruby/assert.h in ruby/ruby.h so that assertions can be there"

    This reverts commit 425b2064d394639101854c83a061a0918b33b857.

    This cherry-pick was a mistake.

commit e3e96e3faa1683c8ee832cb6da6f9f96d18b0d77
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-09 20:13:49 +0900

    Check if bindable against the refined target [Bug #16617]

commit 0f05b234fba2d961f1740c094a83f9831c15b210
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-09 16:41:56 +0900

    Disable GC until VM objects get initialized [Bug #16616]

commit aeaf0dc55595b8a5bfdd92007fb85ef13855c632
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-09 16:56:40 +0900

    Separate objspace argument for rb_gc_disable and rb_gc_enable

commit c47cd4be28840159251b4c66df71e10e979316a0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-09 15:43:15 +0900

    Removed duplicated code

commit b7e0831e8f1f84a9440e42a27b2d7b15c65ca9aa
  Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
  Date:   2020-02-09 15:59:55 +0900

    Enhance rdoc for ENV

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2817

    Merged-By: nobu <nobu@ruby-lang.org>

commit e077a910b62ef448380c3f9607d740e5c98100b3
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-02-09 13:39:24 +0900

    Fix message of ExceptionForMatrix::ErrOperationNotDefined

    ```
     % RBENV_VERSION=2.6.5 ruby -r matrix -e 'Vector[1]*Vector[2] rescue p($!)'
     #<ExceptionForMatrix::ErrOperationNotDefined: Operation(*) can't be defined: Vector op Vector>
     % RBENV_VERSION=2.7.0 ruby -r matrix -e 'Vector[1]*Vector[2] rescue p($!)'
     #<ExceptionForMatrix::ErrOperationNotDefined: Operation(*) can\'t be defined: Vector op Vector>
     % RBENV_VERSION=master ruby -r matrix -e 'Vector[1]*Vector[2] rescue p($!)'
     #<ExceptionForMatrix::ErrOperationNotDefined: Operation(*) can't be defined: Vector op Vector>
    ```

commit a28c166f787710227c6aac54befd72778f041485
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-09 12:53:18 +0900

    gc.c: make the stack overflow detection earlier under s390x

    On s390x, TestFiber#test_stack_size fails with SEGV.

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20200205T223421Z.fail.html.gz

    ```
    TestFiber#test_stack_size [/home/chkbuild/build/20200205T223421Z/ruby/test/ruby/test_fiber.rb:356]:
    pid 23844 killed by SIGABRT (signal 6) (core dumped)
    | -e:1:in `times': stack level too deep (SystemStackError)
    |       from -e:1:in `rec'
    |       from -e:1:in `block (3 levels) in rec'
    |       from -e:1:in `times'
    |       from -e:1:in `block (2 levels) in rec'
    |       from -e:1:in `times'
    |       from -e:1:in `block in rec'
    |       from -e:1:in `times'
    |       from -e:1:in `rec'
    |        ... 172 levels...
    |       from -e:1:in `block in rec'
    |       from -e:1:in `times'
    |       from -e:1:in `rec'
    |       from -e:1:in `block in <main>'
    | -e: [BUG] Segmentation fault at 0x0000000000000000
    ```

    This change tries a similar fix with
    ef64ab917eec02491f6bf7233a4031a8c35385e3 and
    3ddbba84b5b1f001cd575a48cec56d7ce8e5fbb2.

commit 92c86e39de30e5cd4ec1298204a5c2de52994165
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-09 12:12:07 +0900

    Removed a useless guard

    MSpec requires Ruby 2.4 or more recent.

commit 2173ae7801c90ef5837b388a7b3f832732785aea
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-09 11:04:53 +0900

    spec/ruby/core/file/utime_spec.rb: far future timestamp may be truncated

    Under some Ext4 filesystem settings, a timestamp is limited up to
    0x37fffffff (2446-05-10).

    https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inode_Timestamps
    > Therefore, timestamps should not overflow until May 2446.

    Actually the spec fails under one of our CI environments, like:

    ```
    1)
    File.utime allows Time instances in the far future to set mtime and atime FAILED
    Expected 2446 == 559444
    to be truthy but was false
    ```
    https://rubyci.org/logs/rubyci.s3.amazonaws.com/arch/ruby-master/log/20200208T180002Z.fail.html.gz

commit acb9b73495e7a9b4bf52b33dabf1714834c1d9ae
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-09 02:56:05 +0900

    * 2020-02-09 [ci skip]

commit 97b583d68b9a26f835cedee3355a07c1452a52b3
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-09 02:52:47 +0900

    [ruby/reline] Organize special keys escape sequences

    https://github.com/ruby/reline/commit/41deb1a3d9

commit 80cbf97918da298ef394ffe9f33167378b57ebbb
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-08 19:48:31 +0900

    [DOC] Added 2.7.x to the latest stable versions [ci skip]

commit c76484c3993532f6c67d7b1889d0edc6b6e28850
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-08 09:57:34 +0900

    * 2020-02-08 [ci skip]

commit 07c98537cae5c88cff0496fb8ef985771218fe1f
  Author: Bernhard F. Brodowsky <bernhard.brodowsky@gmail.com>
  Date:   2020-02-08 09:57:15 +0900

    Clarified documentation in rb_integer_unpack [ci skip]

    I struggled figuring out which of the pack/unpack functions goes into which direction and the two first sentences were of the documentation were:
    * Import an integer into a buffer.
    * Export an integer into a buffer.

    It sounds like both of them go from a ruby integer to a buffer because both use "into". So I fixed it and went to "Import an integer from a buffer". I find this much more clear.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2891

    Merged-By: nobu <nobu@ruby-lang.org>

commit b76a21aa45fff75909a66f8b20fc5856705f7862
  Author: S-H-GAMELINKS <gamelinks007@gmail.com>
  Date:   2020-02-04 17:45:11 +0900

    support multi-run test for test/did_you_mean/spell_checking/test_class_name_check.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2880

commit 59a40feec27790cbe07955eb00f1bc125c8d95e8
  Author: S.H <gamelinks007@gmail.com>
  Date:   2020-02-07 19:36:11 +0900

    remove warning & support multi-run test for test/psych_test_yaml.rb (#2887)

  Notes:
    Merged-By: nurse <naruse@airemix.jp>

commit 38ed8cbb5f77d0fd67ae4aadc6a978b303d3c0e9
  Author: S.H <gamelinks007@gmail.com>
  Date:   2020-02-07 19:35:52 +0900

    remove warning & support multi-run test for test/psych/visitors/test_to_ruby.rb (#2881)

  Notes:
    Merged-By: nurse <naruse@airemix.jp>

commit b64b0f3433b1dafa50ecd12b86567e3df863d57a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-07 18:10:36 +0900

    Show unmatched sequence on failure

commit 115fec062ccf7c6d72c8d5f64b7a5d84c9fb2dd8
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-07 14:14:05 +0900

    more on NULL versus functions.

    Function pointers are not void*.  See also
    ce4ea956d24eab5089a143bba38126f2b11b55b6
    8427fca49bd85205f5a8766292dd893f003c0e48

commit 6ed1a5e0e62bbdadcf3d0c61fcfe0c5f8d01789b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-07 13:50:20 +0900

    Made a test more robust

    Against changes of the `assert_separately` prologue code.

commit dedcf62b13bed5452dbc82590b828805b727bb28
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-07 13:47:11 +0900

    * 2020-02-07 [ci skip]

commit aece5baa751b340f0d1527e3941bc2a755f0b1f9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-07 13:44:34 +0900

    Removed useless empty lines

commit a3fb97465df3a4b6a7f56a1a915c6239a2a303b9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-07 12:44:55 +0900

    Stop auto runner

    Auto runner should not run in forked processes in separated tests.

commit 3d21a75c72586baee75ab9b9c5335c755ee76793
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-07 11:09:19 +0900

    No crafted backtrace for SystemExit

    As SystemExit is ignored, it is just useless.

commit 8c67080381166f97a1153f092f40df699d020a53
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-06 22:07:39 +0900

    Revert "[rubygems/rubygems] Fix require issue with file extension priority"

    This reverts commit d767da428c28b7b9fec56b383bb32f6f76c6ad26.

      It fails with spec/ruby/core/kernel/require_spec.rb:5

commit bd0a02d1433b6d9a9dcde38eb9fb2dbc3b1071e9
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-06 21:54:23 +0900

    Revert to remove the query command of rubygems.

      The original commit was https://github.com/rubygems/rubygems/pull/3119

commit d767da428c28b7b9fec56b383bb32f6f76c6ad26
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-02-05 01:26:28 +0900

    [rubygems/rubygems] Fix require issue with file extension priority

    If `require "a"` is run when two folders have been specified in the -I
    option including a "a.rb" file and a "a.so" file respectively, the ruby
    spec says that the ".rb" file should always be preferred. However, the
    logic we added in https://github.com/rubygems/rubygems/commit/6b81076d9
    to make the -I option always beat default gems does not respect this
    spec, creating a difference from the original ruby-core's require.

    [the ruby spec says]: https://github.com/ruby/spec/blob/d80a6e2b221d4f17a8cadcac75ef950c59cba901/core/kernel/shared/require.rb#L234-L246

    https://github.com/rubygems/rubygems/commit/b3944384f4

commit c6b5881eae28fa1a76514b2de00ef0155c348170
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-02-05 01:25:56 +0900

    [rubygems/rubygems] Make non "test_" method private

    https://github.com/rubygems/rubygems/commit/912d141a35

commit 054d99d95bc9d3c9481be3ea97dd16b39a4ba5bd
  Author: David Rodríguez <deivid.rodriguez@riseup.net>
  Date:   2020-02-04 02:48:44 +0900

    [rubygems/rubygems] Allow releasing with a rubygems pre version

    This condition is too restrictive in my opinion. If a user has a pre
    version of rubygems installed, she should be fully responsible for it,
    and we shouldn't restrict any functionality.

    Also, why is a new prerelease disallowed but an old prelease allowed, or
    why is 2.0.0.rc2 explicitly whitelisted? I believe this kind of
    exceptions are one more reason to actually permit this.

    https://github.com/rubygems/rubygems/commit/7f77a77620

commit e323f50a9c71da2804f66ba6345ef071def60e1e
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-06 21:19:44 +0900

    Fix readline-ext sync

commit 5fac54a594b475e7b7a07e925c0353e18c685f2b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-06 20:53:11 +0900

    Fixed the output from separated test in parallel test

    Redirect the output of separated child process to
    `MiniTest::Unit.output`.

commit f1c230f18ba651ce7bd8e8c621ba4282c5b445db
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-06 20:52:25 +0900

    Add separated assertion count

commit 739fdb7ff0767ae4a666ca83f61e807c0c6c7115
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-06 15:42:01 +0900

    [ruby/spec] Don't care about return values

    RDoc says nothing about them.  Added an example that
    ConditionVariable#wait can be woken up by
    ConditionVariable#signal, instead.

commit 32adae431d3f58e4103ca7ea507ee110c18e19c4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-06 15:40:34 +0900

    [ruby/spec] Just test that sleep completes

commit 3d83e641b1a6e13e0e0a59c19536e1dde96891f4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-06 13:36:02 +0900

    [ruby/spec] Check by Thread#stop?

    Check if threads are stopped by Thread#stop? instead of the status
    name.

commit 34f8e75f9305b0da4ef1b0d4fe9ea3c3f31dcc22
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-31 16:15:28 +0900

    rb_vm_t::postponed_job_index shall be rb_atomic_t

    Pointer to this field is passed to ATOMIC_CAS.  We have to use
    rb_atomic_t for that purpose.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2885

commit ce4ea956d24eab5089a143bba38126f2b11b55b6
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-31 15:53:03 +0900

    function pointers are not void*

    The same as 8427fca49bd85205f5a8766292dd893f003c0e48.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2885

commit b223a78a71b9f000315d70987d600661420f9475
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-31 15:25:09 +0900

    this ternary operator is an undefined behaviour

    Let me quote ISO/IEC 9899:2018 section 6.5.15:

    > Constraints
    >
    > The first operand shall have scalar type.
    > One of the following shall hold for the second and third operands:
    > — both operands have arithmetic type;
    > — both operands have the same structure or union type;
    > — both operands have void type;
    (snip)

    Here, `*option` is a const struct rb_compile_option_struct. OTOH
    `COMPILE_OPTION_DEFAULT` is a struct rb_compile_option_struct, without
    const.   These two are _not_ the "same structure or union type".  Hence
    the expression renders undefined behaviour.  COMPILE_OPTION_DEFAULT is
    not a const because `RubyVM::InstructionSequence.compile_option=`
    touches its internals on-the-fly.  There is no way to meet the
    constraints quoted above.

    Using ternary operator here was a mistake at the first place.  Let's
    just replace it with a normal `if` statement.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2885

commit 34fd7241e445764837ec9fc700af65a0f73e8ce5
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-31 15:07:40 +0900

    fine-grained #ifdef guard for Sparc systems

    There are cases when sizeof(int) == sizeof(long) == sizeof(size_t).  On
    such cases however int and long are incompatible types in theory.  We
    should not assume typedef long size_t, because on Solaris size_t is
    actually a typedef of int.

    This reduces compiler warnings on such situations.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2885

commit 72bbf60f3a6b87a36bebc6b10ae867d8bcb9cadd
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-30 17:49:51 +0900

    do not assume GCC for __builtin_setjmp

    Namely recent Sun C compiler has this function, and is not a GCC.
    Meanwhile the code without RUBY_JMP_BUF assumes GCC.  We have to define
    the macro when we detect __builtin_setjmp for non-GCC compilers.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2885

commit 3b69552a5ca1fb814fd7279edd970be458a907f2
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-21 17:14:20 +0900

    add predefined macros for Doxygen

    Predefined macros are practices not very well recommended, but can be
    better than having no documents at all.  Without those predefined
    macros, Doxygen confused for instace PUREFUNC(int foo()) to be a
    declaration of PUREFUNC, not foo.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2885

commit 7c20a2c83cc50ef33d1095be8806ddacb0f8b321
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-04 11:47:04 +0900

    emacs mode addition

    Now that we have C++ header files, why not let their indents follow our
    way.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2885

commit d16f4220dadb7388f3328b8e7886d1dee40b60e3
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-06 10:38:41 +0900

    * 2020-02-06 [ci skip]

commit 26ffd6e409fad94b3a24420156ab4b2897732cbc
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-01-15 22:40:01 +0900

    Increase the frozen_strings table initial size

    It was set to 1000 in a4a2b9be7a55bb61d17cf9673ed0d2a93bb52d31.

    However on ruby-2.7.0p0, there are much more than 1k frozen string right after boot:

    ```
    $ ruby -robjspace -e 'p ObjectSpace.each_object(String).select { |s| s.frozen? && ObjectSpace.dump(s).include?(%{"fstring":true})}.uniq.count'
    5948
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2841

commit 940cd3b916063338d83f8308086b6e89b1504900
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-05 09:42:29 +0900

    * 2020-02-05 [ci skip]

commit 0226d72e953733759414aa3ffbecfe7eed195858
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-05 09:35:29 +0900

    Fixed the output from separated test in parallel test

    To output to the STDOUT of the parent process according to the
    parallel test protocol, should send to the `MiniTest::Unit.output`
    instead of each own STDOUT.

commit 6fe44576b90c846b763fb46b1d22b4a664a5066e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-05 09:30:12 +0900

    Fixed FD leaks

commit c6cd4206df516da1c6b1935f045e22e0ef7f0709
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-05 08:47:47 +0900

    Get rid of nested string interpolations to be editor-friendly

commit 390a9d3b725a4ea7852f2cabf066b78855869472
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-02-04 21:51:57 +0900

    just use STDOUT

commit 3c7a09ece8f5ddab2a0e71918dc976cd1cd0ec92
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-02-04 20:54:20 +0900

    Add call-seq to Pathname#open from File.open

    before:
    ```
      open(p1 = v1, p2 = v2, p3 = v3)
    ```

commit 9b9a621ae35bd6aefe78ff8a22874d8036ddd883
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-02-04 20:54:48 +0900

    On Windows it cannot receive fd except 0..2

commit 0529fead361c05754550e39daaa54076a04df6a3
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-02-04 19:29:27 +0900

    assert_separately uses their own pipe instead of stdout

commit 7d6903dc476f982e7b432adbeef3a3d9372a309f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-04 15:21:49 +0900

    Add the loaded feature after no exception raised

    Retrying after rescued `require` should try to load the same
    library again.  [Bug #16607]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2879

commit 9cdc964d075fc3d21b8ce8456ac88f57a5183ec0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-04 14:41:52 +0900

    Do not warn CR inside string literal

commit 7a51d979cf9c98209b7c1b1d54016348e8124904
  Author: Lars Kanis <kanis@comcard.de>
  Date:   2020-01-27 21:15:46 +0900

    Fix inaccuracy in encoding tests

    These tests assume
      Encoding.find('locale') == Encoding.find('external')
    and fail if they are distinct.

commit 7c165bd7d9451cc5c9fc833807ca071d7012e138
  Author: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
  Date:   2020-01-26 22:37:34 +0900

    Fix linkage of popen_deadlock test

    DEBUG: BUILDSTDERR: /usr/bin/ld: infinite_loop_dlsym.o: in function `native_loop_dlsym':
    DEBUG: BUILDSTDERR: /builddir/build/BUILD/ruby-2.7.0/ext/-test-/popen_deadlock/infinite_loop_dlsym.c:16: undefined reference to `dlsym'
    DEBUG: BUILDSTDERR: collect2: error: ld returned 1 exit status

    Ruby was built with LibreSSL.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2862

commit a4fca28b805cc8714cad1107424d97b822bf6414
  Author: Lars Kanis <kanis@comcard.de>
  Date:   2020-01-29 23:23:03 +0900

    Fix description of Encoding.default_(in|ex)ternal

    Data written to files is not transcoded per default, but only
    when default_internal is set.

    The default for default_internal is nil and doesn't depend on the
    source file encoding.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2878

commit e7739b600fd3658eaec6ded7190fa997a7dd2d2d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-04 01:16:41 +0900

    * 2020-02-04 [ci skip]

commit f2552216d43040cd42bbb9fd484eab6c70856fe6
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-02-03 20:29:37 +0900

    Fix SimpleDelegator respond_to? regression

    In 2.6, SimpleDelegator would always use the target `respond_to?`

    In 2.7.0 it doesn't if the target does not inherit from Object.

    This breaks compatibility for delegated objects that inherit
    from BasicObject and redefine `respond_to?`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2875

commit 11963da9e8e98821860fbb0c0f2adc118860c814
  Author: Seiei Miyagi <hanachin@gmail.com>
  Date:   2020-02-03 17:43:03 +0900

    Check type of empty keyword [Bug #16603]

    Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2874

commit a635c93fdebeda6347b8654af1a191e214ad7ccf
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-02-03 16:57:41 +0900

    support MJIT with debug option.

    VM_CHECK_MODE > 0 with optflags=-O0 can not run JIT tests because
    of link problems. This patch fix them.

commit db69c5098781087c954e5fc0aaf3079a66f6d6d5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-03 14:19:02 +0900

    Parenthesized macro arguments

commit 0ab7f2f2220cb40aa4c25f858b60eb9b4e9cb477
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-03 13:07:34 +0900

    Make `rb_scan_args_kw` inline too

commit 48c851f86846b273fba0692d5eae1eadf8bf9445
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-03 10:49:17 +0900

    Moved runtime assignments

    Separate assignments of dynamically given runtime values in
    `rb_scan_args_assign` from parsing statically given format in
    `rb_scan_args_parse`.

commit 0fa43b0c1b0126ed714733486eb20f70bec953f8
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-03 11:51:10 +0900

    test/rubygems/test_gem_remote_fetcher.rb: Remove a duplicated test

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu1604/ruby-master/log/20200203T003005Z.log.html.gz
    ```
    /home/hsbt/chkbuild/tmp/build/20200203T003005Z/ruby/test/rubygems/test_gem_remote_fetcher.rb:485: warning: method redefined; discarding old test_fetch_path_socket_error
    /home/hsbt/chkbuild/tmp/build/20200203T003005Z/ruby/test/rubygems/test_gem_remote_fetcher.rb:167: warning: previous definition of test_fetch_path_socket_error was here
    ```

commit d9552cbd5a85e76a4a2b9869cbcbb6d4dd7d257d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-03 10:27:09 +0900

    * 2020-02-03 [ci skip]

commit 9a446fd7ba73d9b74765a04fa745798af50c6d2e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-03 08:44:51 +0900

    `struct rb_scan_args_t::vargs` is never used

commit fae537259da3dd61fb62ae65d382a0ddc7c215dc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-02 23:09:25 +0900

    Removed no longer used variable `last_hash`

    1. By substituting `n_var` with its initializer, `0 < n_var` is
       equivalent to `argc > argi + n_trail`.
    2. As `argi` is non-negative, so `argi + n_trail >= n_trail`, and
       the above expression is equivalent to `argc > n_trail`.
    3. Therefore, `f_last` is always false, and `last_hash` is no
       longer used.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2873

    Merged-By: nobu <nobu@ruby-lang.org>

commit f5806eb2067f905d71bdce0553dcfeb8585d1371
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-02 04:56:02 +0900

    * 2020-02-02 [ci skip]

commit 06c37fa5b4834c81470213a04dc73a63e69e9776
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-02-01 02:59:46 +0900

    [ruby/reline] Bypass cursor down when a char is rendered at eol on Windows

    A newline is automatically inserted if a character is rendered at eol on
    Windows command prompt.

    https://github.com/ruby/reline/commit/4bfea07e4a

commit 16d4774da1f0c5f5a78dff752780e77ebdf9b2f8
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-31 04:24:44 +0900

    [ruby/reline] Fix Reline::Windows#scroll_down

    I mistook Right and Bottom.

    https://github.com/ruby/reline/commit/8be401c5f5

commit ac1f4fa469cfcced9639dd1b148abe37a957c8e7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-01 16:27:03 +0900

    [ruby/irb] Exclude useless files from RDoc

    https://github.com/ruby/irb/commit/8f1ab2400c

commit 7e2ed7d1aaee74b6d1df82f8f97677c513b3878b
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-01-29 00:21:25 +0900

    [ruby/irb] Add a new easter egg: dancing ruby

    https://github.com/ruby/irb/commit/e37dc7e58e

commit 37e0f55c5a317b2b974997ee28131705222484b7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-01 16:26:35 +0900

    [ruby/irb] Reformat LICENSE.txt [ci skip]

    To be valid as an ordered list.

    https://github.com/ruby/irb/commit/078205e57d

commit b68fc08092c7e41fb4cd34a00a59f2bfe8854720
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-01 23:11:23 +0900

    Indent ChangeLog contents [ci skip]

    Separate each entries more obviously as `page-delimiter' works
    fine.

commit a2e215fea4aee398bc903176c4419b4425c98c60
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-01 23:24:43 +0900

    Removed useless shebang and executable bit [ci skip]

commit ab35876444f57e1a04f2053fa3ca69400f3f4d72
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-01 22:54:58 +0900

    Explicitly set the encoding of ChangeLog file to UTF-8 [ci skip]

commit 7f6bd6bb1c2220d2d7c17b77abf52fb4af548001
  Author: Taha Husain <taha@bigbinary.com>
  Date:   2020-01-31 16:34:33 +0900

    fix rdoc formatting [ci skip]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2870

commit a7e1e310dc828b209852af5535d3a38b704de2c9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-02-01 17:03:59 +0900

    [ruby/irb] Exclude useless files from RDoc

commit 7cff2f458575237bc9f673a2001f56b5924920c8
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-02-01 14:02:05 +0900

    fix delete unnecessary return

    Was my mistake to put return here.

commit 563f177aa41519db655359576386d438e3694c48
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-01 11:31:46 +0900

    UnpackedInstaller on rbinstall.rb is inherited from Gem::Installer.

      It also needs to explicitly convert from String to Gem::Package
      with initialization.

commit f8df531bbf4ae662fe6de2cf210a274c97d76bf3
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-01 11:23:34 +0900

    Gem::Installer.new(String, options) is obsoleted. Explicitly converted
    to Gem::Package from String instance.

commit 600a715c9bde99fe2e9a669465d78833445273e8
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-02-01 11:14:04 +0900

    Merge the current master branch of rubygems/rubygems.

      Just started to develop RubyGems 3.2.0.

commit adc303131187654d8ce83f3db17eefa3d5bae26c
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-02-01 00:36:58 +0900

    README*.md: `defines.h` moved [ci skip]

    at 2b592580bf65040373b55ff2ccc3b59a0a231a18

commit 4d43cc1a5308f3b72b61d0c909fe268fe354acfa
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-02-01 00:05:24 +0900

    * 2020-02-01 [ci skip]

commit fac4385f01bdd389f336b8c34cb72cd031658bd3
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-02-01 00:04:45 +0900

    compile.c: remove a unused variable

commit 05229cef45fe04ed2bd0effd35eef271f7599879
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-31 16:53:04 +0900

    Improve `String#slice!` performance

    Instead of searching twice to extract and to delete, extract and
    delete the found position at the first search.

    This makes faster nearly twice, for regexps and strings.

    |              |compare-ruby|built-ruby|
    |:-------------|-----------:|---------:|
    |regexp-short  |      2.143M|    3.918M|
    |regexp-long   |    105.162k|  205.410k|
    |string-short  |      3.789M|    7.964M|
    |string-long   |      1.301M|    2.457M|

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2871

commit 0dd6f020fcffd26cb89ee9eda59b15483e160f45
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-31 14:24:07 +0900

    Make `empty_string` a fake string

commit f31dc8a45877f6db810fa5177270789baefeee0e
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-31 13:10:55 +0900

    a bit terse Doxygen comments [ci skip]

    Creative use of `@copydoc` Doxygen command and abusing its half-broken C
    parser let us delete some lines of documentations, while preserving
    document coverages.

commit cdd75d4e7f0402a0537c516b7331a036347b0fa9
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-31 12:01:39 +0900

    support C++ std::nullptr_t

    C++ keyword `nullptr` represents a null pointer (note also that NULL is
    an integer in C++ due to its design flaw).  Its type is `std::nullptr_t`,
    defined in <cstddef> standard header.  Why not support it when the
    backend implementation can take a null pointer as an argument.

commit 4942adf68cd2d8ab0a3ca64a787bdf55e119b337
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-31 12:52:22 +0900

    Return the makefile content

    Block for `create_makefile` is expected to return the content of
    the makefile.

commit 0c4bbb46f10451b8c29db9ae310e7dd6822d7c95
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-31 12:11:21 +0900

    Removed type-punning pointer casts around `st_data_t`

commit 52dc0632faa8450af90e37ef3c2c9f30d06951a1
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2020-01-27 22:47:24 +0900

    Avoid allocating a temporary empty string in String#slice!

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2863

commit ca2888fb3d23d702738873f5c0f956575fd3c5d3
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-01-31 08:00:56 +0900

    Move .IGNORE in extconf.rb

commit 9aed421d70df65dcada8f529197166166f50357e
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-01-31 06:34:49 +0900

    Support nmake

commit 39a1959d289ecba5e61431deaef239123c3f0fcc
  Author: Florian Heinle <florian.heinle@xbav.de>
  Date:   2020-01-30 20:45:21 +0900

    Fix wrong return value in proc documentation.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2868

commit 53adb53c9aea5da98ed3e470983b2cbfe367cb7d
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-01-31 02:46:05 +0900

    Ignore expected errors on compiling C++ source [Bug #16331]

    BSD make can run parallel more aggressively than GNU make. It communicate
    with other make process through -J option in MAKEFLAGS environment variable
    to notify a build failure happened in an other pararell make process.
    https://www.freebsd.org/cgi/man.cgi?make

    It usually works well but ext/-test-/cxxanyargs/Makefile has two targets
    which are expected to fail (failure.o and failurem1.o).

    Additional note:
    To test and debug this issue, following command will speed up it.
    `make -f exts.mk -j8 clean all`

commit 8e769a5b40200d5b66975e68016d09b47424c10a
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-31 01:23:43 +0900

    * 2020-01-31 [ci skip]

commit 18e7f9000dc3695b9db02ae153d41bd1efa01d6e
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2020-01-30 10:24:39 +0900

    Use `rb_gc_mark` when marking globals

    I think global references should either be 0 or valid heap pointers.
    `rb_gc_mark_maybe` checks to see if the pointer is a valid heap pointer,
    but I believe we already know they are valid addresses

commit 9bcf4f3db26249772c983896ebbc9ff41f4614db
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-21 11:47:04 +0900

    delegate.rb: fixed keyword arguments in DelegateClass

    `Delegator.delegating_block` should delegate keyword arguments
    separately.  [ruby-core:96949]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2852

commit 3893a8dd42fb3bbd71750648c3c0de118955a6ea
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-30 17:47:09 +0900

    Optimized branches in pattern matching

commit e6334fd45064cb720399bf6aa75116ec62a88357
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-30 12:04:15 +0900

    Unnamed groups are not captured when named groups are used

commit 16c5cbe42247fcf253f2dde71f112c707c7dd4fa
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-30 11:35:06 +0900

    * 2020-01-30 [ci skip]

commit f7f8dc5fd47bcd79e8e46cd321ad0dec9e0ec5cd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-30 11:31:48 +0900

    Unnamed groups are not captured when named groups are used

commit 5d124a3b68982e779946804b5b9578c403c6bdf2
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-28 03:21:02 +0900

    [ruby/reline] Support GNOME style Home/End key sequences [Bug #16510]

    https://github.com/ruby/reline/commit/788f0df845

commit d142b37bdc05986f5caec8981550e97cfb7b1ce0
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-29 14:58:43 +0900

    Add more debug print

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11s-sunc/ruby-master/log/20200129T022510Z.fail.html.gz

commit 7b4b01424fe7448133c63e9415edf075a3c760b9
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-29 14:01:00 +0900

    skip SEGV (BUG) tests if ENV['RUBY_ON_BUG'] is given.

    This environment variable can show additional message on BUG.

commit 46173eeb64245ff533dafddd3d74338763c0bb35
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-29 13:07:56 +0900

    support multi-run for test/ruby/enc/test_regex_casefold.rb

    should not mutate test data.

commit 98f6c74b429f9e8afccb000da4a50920479dffd6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-29 10:12:35 +0900

    Isolate the PRNG for tmpdir/tempfile

    To get rid of conflicts affected by `srand`.

commit 30236965057ed7b58b6f83b3103ccace67fbc2d7
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-29 08:30:39 +0900

    Fix a typo [ci skip]

commit 7d02441f0d6e5c9d0a73a024519eba4f69e36dce
  Author: Alan Wu <alanwu@ruby-lang.org>
  Date:   2020-01-29 06:11:53 +0900

    Fix file dependency in make

commit 809f0b8a1357f14f9645210d4812f4400c8d397e
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-01-29 04:47:48 +0900

    Update to ruby/spec@f8a2d54

commit ed377cc9aaf1ccbede19ddc6c464f5fbf3cabc34
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-01-29 04:47:46 +0900

    Update to ruby/mspec@9bce874

commit 6321a685826f6459a6ef4aeaa18080f07494ee99
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-01-29 02:37:42 +0900

    Run specs on Ruby 2.7 too to make sure they keep passing

    * With keyword argument changes, it's more likely to break only 2.7 and
      not other versions.
    * A few specs were broken on 2.7.0 recently, this should catch them earlier.

commit 766f8a7a60f32ab27c2faaa9120f47f00a5e646d
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-01-29 02:26:02 +0900

    Fix some spec breakage on 2.7 related to keyword arguments

    These specs were probably added in the commit to fully
    separate keyword arguments after the release of 2.7.0, but
    apparently not tested on 2.7 before hand. The enclosing
    ruby_version guard for these specs limits them to 2.7.

commit fe8573f31ab4b48d0c3214dbf15ba66a192c078a
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-01-29 02:12:24 +0900

    Run specs against the latest release of 2.4

commit 0ad0e638872a07eafb87989681b05d24d9e0c87f
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-01-29 02:01:59 +0900

    Fix version guard in __dir__ spec

commit 534536c7cc69970fead43df048d55efe518a03f3
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-29 01:26:51 +0900

    fix test cleanup.

    should remove pathname.

commit 650f152d2f5ed929c76cd7e7cf17270e53ac346c
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-29 00:55:27 +0900

    Revert "srand() should not run in tests."

    This reverts commit 4d132fa130e16eeb4af4177cfaccc00e05e2f864.

    There are discussions about using srand() in tests.
    I'll write a ticket about it and continue to discuss.

commit 0cfba9cdd9c18b0245b088ed5b460f0d6f90d586
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-29 00:55:11 +0900

    Revert "remove debug code."

    This reverts commit 65768c80beb64a14c3e918f8ed5e41e9349025d0.

commit e7571f163b791d8ca5df389ba97e7d4acadbf480
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-29 00:50:25 +0900

    restore $LOADED_FEATURES.

    Dir.tmpdir can return same directory because of rand() value,
    so we shouldn't rely on different name.

commit 7882c43fc306c1100be8e1648f3d1caa48d50a8a
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-29 00:49:53 +0900

    refactoring: use Proc and Constant.

commit 7342867fc9a7025187ea18ddbf2bc972a120d962
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-29 00:02:33 +0900

    * 2020-01-29 [ci skip]

commit 29e31e72fb5a14194a78ec974c4ba56c33ad8d45
  Author: Tanaka Akira <akr@fsij.org>
  Date:   2020-01-29 00:01:57 +0900

    ruby_reset_timezone resets leap_second_info.

    [Bug #15177]

commit 338c5b8c1dc061e9f8d21f6d9f5ac053c4497383
  Author: Tanaka Akira <akr@fsij.org>
  Date:   2020-01-28 23:40:25 +0900

    Extract a function, ruby_reset_timezone().

    Initial implementation of ruby_reset_timezone()
    assigns ruby_tz_uptodate_p to false.

commit fb41246ddb2dd3c1b4595cd7e27ed3710def3fc8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-28 23:00:13 +0900

    Stop parsing copyright notices as document [ci skip]

commit 17715153e5cb651b91eab097c561add7ffd2eb97
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-28 22:22:29 +0900

    Revert "Added RDoc files to parse [Bug #16596]"

    This reverts commit 10842daeb571126a090cb10dedf0cda8c2b7f9a8,
    because it has no effect and the rdoc file has been installed to
    lib/racc/rdoc directory.

commit 65768c80beb64a14c3e918f8ed5e41e9349025d0
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 18:29:42 +0900

    remove debug code.

commit 4d132fa130e16eeb4af4177cfaccc00e05e2f864
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 17:56:14 +0900

    srand() should not run in tests.

    test_rand.rb calls srand() several times, however it change global
    rand-sequence (and --seeds doesn't have meaning). This patch makes
    such tests run in other processes.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2865

commit 471a9693118d0e6897b50dbbd935a237ad637398
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 18:20:06 +0900

    use Minitest::Unit.current_repeat_count to skip multi-run.

commit dd64c34682bfcb976ec6fb0c6182fb09d9d790d3
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 18:15:14 +0900

    support multi-run for test/ruby/test_time.rb

    ruby/test_time_tz.rb (not sure only this file affects) changes TZ
    and it seems to change internal state. This internal state change
    fails test_2038 and test_timegm on 2nd time execution.

    At this time I have no idea how to fix this issue, so I skips these
    tests on 2nd trial.

    You can try this failure with the following command without this patch.

      $ make test-all TESTS='--repeat-count=2 ruby/require ruby/time ruby/time_tz'

commit 20c1c240145b7db66014020e233b23d12574efae
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 18:13:58 +0900

    Minitest::Unit.current_repeat_count

    This method returns loop counter for multi-run (0 start).

commit 151533e4bc9dff8efefb251dd25b1d57d3082d19
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 17:53:20 +0900

    support multi-run for test/ruby/test_autoload.rb

    Another test defines Object::A, but it will fail 2nd test.

commit 83d6487ae5c5df6c463373b36ccf1bee3f91d386
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-28 17:20:16 +0900

    fix rb_define_global_function to take const VALUE*

    It was unable for rb_define_global_function to take VALUE(*)(int argc,
    const VLAUE *argv, VALUE self) -style function.  Test added.

commit bbe3420cce30de74b8c4a4f21adecf57a7d52395
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-28 17:08:20 +0900

    add test for rb_define_global_function

    was missing.

commit 16592d6b69dc2538f419edcbd4c91ebb917db5ac
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-28 17:05:43 +0900

    add test for rb_define_method_id

    was missing.

commit 3c3eb418f9ce05740e5ca506b9cd5fe5cabc4bb6
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-28 17:02:30 +0900

    improved support for rb_f_notimplement

    rb_f_notimplement should be accepted for all possible arities.

    Test provided for that.

commit 7cf5d547e422134d506d37a179f64be9e98b105c
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-28 16:52:56 +0900

    delete duplicated function overload

    The `using engine<...snip...>::define;` line already defines this
    function.  We don't have to repeat.

commit 03df02e8716fa698c3dbc3fae0af80baa2096ddf
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-28 16:49:00 +0900

    fix typo

    Add missing `*`.

commit 0a2e0db483883b5fe24233d6f83d38fd7c6db657
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-28 13:54:15 +0900

    delete RB_METHOD_DEFINITION_DECL_1

    This macro is no longer useful.  Just expand it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2864

commit 31fc34c969e2342e24fa52519d7b0a3b950a43e9
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-28 13:29:13 +0900

    delete unreachable branch

    Case of __cplusplus is handled in cxxanyargs.hpp now.  These deleted
    codes no longer reachable.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2864

commit 01825e8bffde9f4517e60878f8a829f91c361d68
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-28 11:43:33 +0900

    template metaprogramming instead of macros

    C++ (and myself) hates macros.  If we could do the same thing in both
    preprocessor and template, we shall choose template.  This particular
    part of the ruby header is one of such situations.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2864

commit ab33b3d6915fe40734cdeaac5f2104fa8792c8a9
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-27 14:34:55 +0900

    move macros around

    Would like to edit them in forthcoming commit.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2864

commit 9552262bb2e293efa6e8f535d68623f2ecd13360
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 15:21:26 +0900

    support multi-run for test/ruby/test_struct.rb

    Remove Structs to avoid redefinition warnings.

commit 4df0819c5d8b7d11e3fa1d2ba45fe7da68a0e064
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 15:15:19 +0900

    support multi-run for test/ruby/test_settracefunc.rb

    need to remove Constants.

commit 0f03c1433ef6a17acd64f4dc4a539b4630e975aa
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 14:44:12 +0900

    support multi-run for test/ruby/test_primitive.rb

    need to redefine some classes.

commit 9b65bfdc9e5eb8a36fdd464ed7534ed2a9557ea7
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 14:35:38 +0900

    support multi-run for test/ruby/test_refinement.rb

    Give up to support multi-run:
    * test_method_should_use_refinements
    * test_instance_method_should_use_refinements

    I hope someone can revisit it.

commit 56b0300f24bc2bce6309279e2c07e8a1f08044e4
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 14:21:44 +0900

    support multi-run for test/ruby/test_proc.rb

    Mysterious error:
    `remove_method(:foo) if method_defined?(:foo)` raise an exception
    `method `foo' not defined in #<Class:#<TestProc:0x000055d12ff154e0>>`
    This patch rename the method name foo to foo_arity to solve it.

commit 1bc731cb65cfd9baae718b9a8588e668dd1c75e0
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 14:16:06 +0900

    support multi-run for test/ruby/test_module.rb

    add cleanup code in some tests.

commit cc2fe6936c0e9b815d43a942d2bb7dff0363ccf6
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 13:58:01 +0900

    support multi-run for test/ruby/test_method.rb

    need to restore a method.

commit ac2b945bc0182859ea538dc6b02ad6945a5cf212
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 13:48:36 +0900

    support multi-run for test/ruby/test_marshal.rb

    need to remove Constants.

commit 251930cea0e935494b1e8cbbe851e63b978dbc80
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 13:43:30 +0900

    support multi-run for test/ruby/test_iseq.rb

    need to remove a Constant.

commit 962c7abb1373ee1ff7d5ce443b2872deac452b9d
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 13:39:50 +0900

    support multi-run for test/ruby/test_eval.rb

    need to remove a Constant.

commit 5f7be6243a5b0cdbf1abc8967a512e48c2f1489e
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 13:36:46 +0900

    support multi-run for test/ruby/test_encoding.rb

    Unique encoding name is required.

commit 14759e6907eaecc86ab06a3ddf107426c00cb2c5
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 13:31:22 +0900

    support multi-run for ruby/test_const.rb

    need to redef Constants.

commit 501e7f4959a1193c82adc1b661a85621952121b8
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 12:01:26 +0900

    support multi-run for ruby/test_basicinstructions.rb

    cvar should be initialized at first.

commit b17bab7472a0491071c7da9e8b41305d3687a341
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 11:58:09 +0900

    support multi-run for ruby/test_autoload.rb

    It requires more cleanup.

commit 8dbd5c76a0ed26d4adb440fee97c3f25ee6bdcf9
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-28 11:43:01 +0900

    support multiple run for test/ruby/test_array.

    test-all supports multiple run with option --repeat-count=2
    but test_equal_resize doesn't support it.

commit c9c0ae05937b33bdda43f42f71b99873c9491fa3
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-28 10:05:33 +0900

    * 2020-01-28 [ci skip]

commit 10842daeb571126a090cb10dedf0cda8c2b7f9a8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-28 10:01:22 +0900

    Added RDoc files to parse [Bug #16596]

commit 33d02e6bc7502c5a3f09c59908a8c9f08a474b8d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-28 09:18:12 +0900

    Skip empty directories to install [Bug #16596]

commit 0b2c7473ddf683a4af7606e70d01b7216a527366
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-27 18:58:07 +0900

    Fix call-seq of GC.verify_compaction_references [ci skip]

commit bc8f28fbd05d2dcb14727cb8873d0d761dc65699
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-27 16:22:53 +0900

    Fixed a typo, missing "i" [ci skip]

commit 1ddc719a562b1ee4c3ae6cf4d1f6c386e142b087
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-27 16:12:15 +0900

    Check the encoding of `half:` option

commit af899503a646f20d63d4aa2f358894b98f85dab7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-27 10:46:57 +0900

    Moved `GC.verify_compaction_references` to gc.rb

    And fixed a segfault by coercion of `Qundef`, when any keyword
    argument without `toward:` option is given.

commit 9b55a9649fb1973180559a067cfee0d6f234fef8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-27 10:10:58 +0900

    Removed useless "spec"s

    It is not specific to particular methods that keyword option
    arguments are coerced to `Hash`es using `to_hash` method.

commit e710e9e886c5b56a6c5f6a034748a498114fc3db
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-27 10:07:46 +0900

    Fixed missing dependency on array.rb

commit ef96981d6f916bce97c24e6a08d52c87def7f989
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-27 09:54:12 +0900

    * 2020-01-27 [ci skip]

commit b1eae5e15e16bdb38d9cb3d8498bf3d33e616bfd
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-27 09:38:30 +0900

    Cleaned an excess semicolon up [ci skip]

    which has not been removed when translated from C.

commit 838fa941f157537ebaa98150fab7664bf602f356
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-26 19:52:16 +0900

    Add more debug print

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11x/ruby-master/log/20200125T032406Z.fail.html.gz
    ```
    IMAPTest#test_connection_closed_without_greeting [/export/home/rubyci/chkbuild-tmp/tmp/build/20200125T032406Z/ruby/test/net/imap/test_imap.rb:485]:
    [Net::IMAP::Error] exception expected, not #<RuntimeError: {:"server before close"=>"#<TCPServer:fd 10, AF_INET6, ::1, 48515>", :sock_addr=>["AF_INET6", 48515, "::1", "::1"], :sock_peeraddr=>["AF_INET6", 35223, "::1", "::1"], :e=>#<Errno::EINVAL: Invalid argument - connect(2) for [::1]:48515>, :server=>#<TCPServer:(closed)>, :port=>48515, :server_addr=>"::1"}>.
    ```

commit d4e1d4e94e866d498ead1f370236df216917a6c7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-26 18:34:18 +0900

    Moved Array#sample to rbinc

commit 29eb1b16028928139dcaa236beb6d351c85f434c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-26 18:27:40 +0900

    Moved Array#shuffle and Array#shuffle! to rbinc

commit 0aa5195262d4193d3accf3e6b9bad236238b816b
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-26 12:58:25 +0900

    Use test_mode on Reline::History::Test for encoding

commit c257d811862b9e29ccff4305d836077835091112
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-26 12:55:13 +0900

    Always use UTF-8 for Reline::GeneralIO on Windows

commit 8f4beec15291b1fae80be42685c61a6e5f9ce369
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-25 23:50:10 +0900

    Always refer to Reline::IOGate.encoding

commit af64d3bc6ead0778e8265fec4b0aea4d487b7b9c
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-26 07:42:09 +0900

    * 2020-01-26 [ci skip]

commit aacd918340e20e4556a6369c3f5933226b0bb093
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-01-26 07:40:56 +0900

    Do not use `git pull` because origin/master was already fetched.

commit da2d6ca8f180a1d88f08fa09812ab3b333cc5c9d
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-01-26 07:37:50 +0900

    Show the repository name before update task

commit 4396ced07dca5599c022a7e86e8f046915982087
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-01-25 19:48:10 +0900

    spec/ruby/core/process/times_spec.rb: add an output code for debugging

commit b4711a0fa0d0a8d9a01ac4f9ac1051f192b93cf2
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-01-25 14:14:05 +0900

    test/rinda/test_rinda.rb: Increase the timeout

    Attempts to fix a occasional failure on Solaris with sunc

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11-sunc/ruby-master/log/20200124T160008Z.fail.html.gz
    ```
      1) Error:
    Rinda::TestRingServer#test_do_reply:
    Timeout::Error: timeout
    ```

commit 0c436bbfbf3b28fab8abfcbda9b8f388fa22290a
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-20 00:41:56 +0900

    Recheck array length after `to_str` conversion

    https://hackerone.com/reports/244787

commit 2b2821acd39530c6c786e34f304e9e018a31e5c4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-20 00:29:40 +0900

    Recheck elements type after `to_str` conversion

    https://hackerone.com/reports/244786

commit 92a30acbfb0813dcf551f907791bf82954a17475
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-25 06:04:34 +0900

    * 2020-01-25 [ci skip]

commit c1d8829ef515ee51fadeadd7dd022b5c47a71cdd
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-01-25 05:13:41 +0900

    Do not autosplat when calling proc with empty keyword splat

    With the removal of the splatted argument when using an empty
    keyword splat, the autosplat code considered an empty keyword
    splat the same as no argument at all.  However, that results
    in autosplat behavior changing dependent on the content of
    the splatted hash, which is not what anyone would expect or
    want.  This change always skips an autosplat if keywords were
    provided.

    Fixes [Bug #16560]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2861

commit 9af7d048b6e2f5221dfb7bb757fd6cb5d5757124
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-24 15:59:45 +0900

    Fix a typo [ci skip]

commit 5bb1c81a3373c9044525fb6c9273d5762c8b8ab8
  Author: MSP-Greg <MSP-Greg@users.noreply.github.com>
  Date:   2020-01-24 13:23:23 +0900

    rename make-cheetsheet.md [ci skip]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2860

commit 80bbc7f402ee641c06840e06ecc7184648ca8c2a
  Author: NARUSE, Yui <naruse@airemix.jp>
  Date:   2020-01-24 15:16:13 +0900

    Add #verify_hostname= and #verify_hostname to skip hostname verification

    [Feature #16555]
    https://github.com/ruby/ruby/pull/2858

commit a19228f878d955eaf2cce086bcf53f46fdf894b9
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-23 15:33:42 +0900

    brace the fact that lchmod(2) can EOPNOTSUPP

    Musl libc has this function as a tiny wrapper of fchmodat(3posix).  On
    the other hand Linux kernel does not support changing modes of a symlink.
    The operation always fails with EOPNOTSUPP.  This fchmodat behaviour is
    defined in POSIX.  We have to take care of such exceptions.

commit 50925b64099df2021f7cdf652f7e807808cb1482
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-23 12:14:19 +0900

    reroute musl unistd.h weirdness

    Musl is (of course) not glibc.  Its confstr(3) does not understand
    _CS_GNU_LIBC_VERSION.  That's fair.  Problem is, its unistd.h has that
    constant defined for unknown reason.  We cannot blindly say the libc is
    glibc by looking at it.  Instead we have to kick it, then see if it
    quacks like a duck.

    See https://git.musl-libc.org/cgit/musl/tree/include/unistd.h

commit 3b9f36d6c6a4e02bf6c9bc99e953d5e558ee2fe6
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-23 11:59:37 +0900

    pass appropriate libc path

    The same as https://github.com/ruby/ruby/pull/2686, but for musl libc.
    Musl is not named as libc.so.6 so the `ldd` hack implemented some lines
    below does not work.

commit db82c680cdc1cf282e5792ca682ed719ae5879db
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-01-24 10:29:33 +0900

    doc/make-cheetsheet.md: Added

commit 6b86549df8f6d48eeab3c7b48b3fd9ee02f744ba
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-24 09:46:34 +0900

    [DOC] fixed line numbers [ci skip]

    Fix up the example of const_source_location at
    2bde7919a0a8302c344e9bb9ddc217958fcbd3c7.

commit f8a8f055123bc81fc13fa295b936504196df0da4
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-01-23 11:12:34 +0900

    Remove empty keyword splats when calling even when using ruby2_keywords

    Keeping empty keyword splats for ruby2_keywords methods was
    necessary in 2.7 to prevent the final positional hash being
    treated as keywords.  Now that keyword argument separation
    has been committed, the final positional hash is never
    treated as keywords, so there is no need to keep empty
    keyword splats when using ruby2_keywords.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2857

commit 6551a25a1951525f27c54c18207f95b6d253cbb9
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-24 02:22:58 +0900

    * 2020-01-24 [ci skip]

commit 2bde7919a0a8302c344e9bb9ddc217958fcbd3c7
  Author: zverok <zverok.offline@gmail.com>
  Date:   2020-01-19 20:49:15 +0900

    Clarify const_source_location docs

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2850

commit 109183c2c0902a0af735b2660737e1724307b264
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-23 22:03:13 +0900

    Guarded the examples for deprecated "taint"

commit 27ac1c615d2a2884435a162403e2833716abf436
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-23 21:49:58 +0900

    Revert pathname, rb_warn_deprecated* are not public API

commit aefb13eb631cc5cd784fe2fc10f1f333a2c5e68c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-23 21:42:05 +0900

    Added rb_warn_deprecated_to_remove

    Warn the deprecation and future removal, with obeying the warning
    flag.

commit 0ea759eac9234afc47e8fb1bcacfe9ee12c8ffb6
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2020-01-23 18:59:26 +0900

    Add more direct test for pp with a ruby2_keywords Hash

commit be6931f7f7d2eed46226f0cc452de64cdeec0dab
  Author: Yuta Iwama <ganmacs@gmail.com>
  Date:   2020-01-23 17:23:17 +0900

    Add #verify_hostname= and #verify_hostname to skip hostname verification (#2858)

    According to https://github.com/ruby/openssl/pull/60,

    > Currently an user who wants to do the hostname verification needs to
    call SSLSocket#post_connection_check explicitly after the TLS connection
    is established.

    if an user who wants to skip the hostname verification,
    SSLSocket#post_connection_check doesn't need to be called

    https://bugs.ruby-lang.org/issues/16555

commit 890200e85e5237d9656a6b72e792effbcaa5460a
  Author: aycabta <aycabta@gmail.com>
  Date:   2019-12-03 12:54:24 +0900

    Check DONT_RUN_RELINE_TEST envvar

commit 0d3e4b8a79dcbc25ab63819e1c05f31424560835
  Author: aycabta <aycabta@gmail.com>
  Date:   2019-12-03 12:46:55 +0900

    Use omit instead of skip

commit f09c1cf0e932095cd507e68126427a773713a92f
  Author: aycabta <aycabta@gmail.com>
  Date:   2019-12-03 12:46:14 +0900

    Skip a test that uses assert_ruby_status if it doesn't exist

commit a737f0cea5dd3a26389c0042d312ff7252de88bb
  Author: aycabta <aycabta@gmail.com>
  Date:   2019-12-03 12:36:01 +0900

    Stop using minitest dependent methods

commit 425b2064d394639101854c83a061a0918b33b857
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-07-14 13:06:22 +0900

    [ruby/readline-ext] Include ruby/assert.h in ruby/ruby.h so that assertions can be there

    https://github.com/ruby/readline-ext/commit/4d44c12832

commit e18b817b1f0a4c318f1f0fe54fceaa5cbc85e8ab
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-01-23 02:18:08 +0900

    Make taint warnings non-verbose instead of verbose

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2856

commit 28d31ead34baff1c4abc0d7d902ef4bc1d576fb2
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-01-22 09:14:10 +0900

    Fix pp when passed a empty ruby2_keywords-flagged hash as array element

    This causes problems because the hash is passed to a block not
    accepting keywords.  Because the hash is empty and keyword flagged,
    it is removed before calling the block.  This doesn't cause an
    ArgumentError because it is a block and not a lambda.  Just like
    any other block not passed required arguments, arguments not
    passed are set to nil.

    Issues like this are a strong reason not to have ruby2_keywords
    by default.

    Fixes [Bug #16519]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2855

commit 90f5c3c1ea34c992dc0f36593bf6141695dfdf67
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-23 02:10:07 +0900

    * 2020-01-23 [ci skip]

commit e91c39f1c0f7d5e670266d9593d533fd444957f6
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-01-18 04:36:52 +0900

    Remove special handling of $SAFE and related C-APIs

    These were all deprecated in Ruby 2.7.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2845

commit 461db352c22c0ffb5c0db295238f97f44168e6cc
  Author: 0x005c <52650857+0x005c@users.noreply.github.com>
  Date:   2020-01-08 20:40:08 +0900

    Rename RUBY_MARK_NO_PIN_UNLESS_NULL to RUBY_MARK_MOVABLE_UNLESS_NULL

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2823

commit c90fc55a1f4630aae862e2d409c933edea3a5d5d
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-22 16:04:38 +0900

    Drop executable bit of *.{yml,h,mk.tmpl}

commit 9e3bfed53ced0ce2970710338863f811759c8d67
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-01-22 16:02:10 +0900

    Added usage documentation for sync_default_gems

commit cdaae38f79345bfb4604c98f915c6e12593b6a57
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-22 13:44:41 +0900

    Use gem name to specify

commit e51b6aa81dcad4f07021fbd986050e1995770855
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-22 08:55:17 +0900

    * 2020-01-22 [ci skip]

commit 913dc64eb6bbc85a05c67f341da2b596f678f09f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-22 08:54:49 +0900

    Drop executable bit set by 25f2005a638570cce832d218a451072057610f06

commit 5798d35ff66e468ebf296c4069ede275d7fb0ec9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-21 22:45:10 +0900

    Also check EWOULDBLOCK as well as EAGAIN

commit 25f2005a638570cce832d218a451072057610f06
  Author: Xia Xionjun <xxjapp@gmail.com>
  Date:   2020-01-21 22:41:45 +0900

    fix load error with EAGAIN

    This is a fix related to the following issue.
    rails/rails#33464

    Not only in rails apps, some little ruby app with only 2 or 3 ruby
    files reproduce the problem during many years.

    When I edit linux ruby files by vs code via samba on windows, and
    then I execute the ruby files on linux, "require_relative" will
    sometimes not work properly.

    My solution is to wait a monument if the required relative file is
    busy.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2702

commit b0ca1fc21bbb9dac65a3b3f7b5935e691ece1501
  Author: Lars Kanis <lars@greiz-reinsdorf.de>
  Date:   2020-01-19 05:22:24 +0900

    Reline: Fix changed test results due to change to UTF-8 on Windows

    In commit f8ea2860b0cac1aec79978e6c44168802958e8af the Reline encoding
    for native windows console was changed to hardcoded UTF-8.
    This caused failures in reline and readline tests, but they were hidden,
    because parallel ruby tests incorrectly used Reline::ANSI as IOGate.
    Tests failures were raised in single process mode, but not with -j switch.

    This patch corrects encodings on native Windows console.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2848

commit d1166c6d3942303b812c475129a84f1025b1db1f
  Author: Lars Kanis <lars@greiz-reinsdorf.de>
  Date:   2020-01-19 02:46:37 +0900

    Reline: Use a more robust detection of MinTTY

    The previous detection per get_screen_size fails when stdout is passed
    to a pipe. That is the case when running ruby tests in parallel ("-j" switch).
    In this case Reline believes that it's running on MinTTY and the tests
    are running with ANSI IOGate instead of the Windows adapter on MINGW.
    So parallel test results were different to that of a single process.
    This commit fixes these differences.

    The code is taken from git sources and translated to ruby.
    NtQueryObject() is replaced by GetFileInformationByHandleEx(), because
    NtQueryObject() is undocumented and is more difficult to use:
      https://github.com/git-for-windows/git/blob/c5a03b1e29c69f3f06c8fabd92493edb73469176/compat/winansi.c#L558

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2848

commit 1de7941ff845ade36cc17c1325dc3453dab75f90
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-21 18:04:20 +0900

    DocumentRoot is optional

    since 2.3.0
    https://github.com/ruby/ruby/commit/0b9d86f29be8e3d4fa0958bf3db41907e21ad1a0

commit 8113f3fee4a962321b6107e58496afc6733c299c
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-21 16:58:00 +0900

    add default break points

commit 97d75639a9970ce3868ba91a57be1856a3957711
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-21 14:21:15 +0900

    VALUE is narrower than rb_serial_t

    VALUE and rb_serial_t do not agree with their width.  We have to be
    consistent.  Assigning an rb_serial_t value to a VALUE variable is
    practically a problem on a ILP32 environment.

commit 32fb6c8c117d018fd8e7887c955ab3ea22f6c420
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-21 09:53:46 +0900

    * 2020-01-21 [ci skip]

commit 2943ebd240bba9c50b1f2a245a9f9186c2255706
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-21 09:30:30 +0900

    [ruby/reline] Implement vi_change_meta

    https://github.com/ruby/reline/commit/8538e0e10f

commit 93ca212ddac5ac49134f2058c24db3948b6695c6
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-01-20 09:38:52 +0900

    [ruby/irb] [ruby/irb] Rewrite an expression to detect multiline

    https://github.com/ruby/irb/commit/ed5cf375a6

    https://github.com/ruby/irb/commit/5b7bbf9c34

commit 51a8055d7db8a6ae35a9f624700c0910ec20aeb8
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-01-16 13:13:35 +0900

    [ruby/irb] Add newline_before_multiline_output

    https://github.com/ruby/irb/commit/9eb1801a66

commit f451bb5406878e1ac9ce9d37952f171837d0cb09
  Author: Lars Kanis <lars@greiz-reinsdorf.de>
  Date:   2020-01-18 03:30:28 +0900

    [ruby/irb] Fix compatibility with rails before 5.2

    Rails before 5.2 added Array#append as an alias to Array#<< ,
    so that it expects only one argument.
    However ruby-2.5 added Array#append as an alias to Array#push
    which takes any number of arguments.

    If irb completion is used in `rails c` (for example "IO.<tab>")
    it fails with:
      irb/completion.rb:206:in `<<': wrong number of arguments (given 3, expected 1) (ArgumentError)

    Using Array#push instead of Array#append fixes compatibility.

    https://github.com/ruby/irb/commit/5b7bbf9c34

commit 3b407abe9b8da640dc07617d3dacac0057ca597f
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-17 20:17:23 +0900

    [ruby/reline] Implement vi_prev_char and vi_to_prev_char

    https://github.com/ruby/reline/commit/0ad3ee63fa

commit b17797a6940cb196c9893edc088828b49772554c
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-17 13:44:07 +0900

    [ruby/reline] Implement vi_to_next_char

    https://github.com/ruby/reline/commit/066ecb0a21

commit 9f99760dafac6eaa53287470b8ff59b1be0bf6d6
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-01-20 16:53:31 +0900

    Get rid of use of special variables

    Use `"\n"` and `IO#fileno` instead of `$/` and `$.` respectively.
    [Feature #14240]

commit f31b90f2b99b04dc9e003436a39fd08732eef004
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-20 09:50:03 +0900

    * 2020-01-20 [ci skip]

commit bdef392ec66168578053fabf8a81de48fd9e980c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-20 09:30:17 +0900

    Fixed double closedir

    In the case that shinking the entries buffer to the exact size
    failed, `dirp` is already closed.  Found by mame with Coverity
    Scan.

commit 884897dbe20674d3a741cbfacac8cbca862675d0
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-19 21:21:28 +0900

    README.ja.md: removed the badge for Cygwin [ci skip]

    The workflow for Cygwin has been removed at
    3344f811074e1e6119eec23684013457dab4f8b0.

commit 2d61684e7c334ae4c5eb845c782d5fabeffdea67
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-19 21:15:23 +0900

    README.md: removed the badge for Cygwin [ci skip]

    The workflow for Cygwin has been removed at
    3344f811074e1e6119eec23684013457dab4f8b0.

commit 0ab93e098f1f31c8479a730b99e994f59d6e00c3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-19 20:55:06 +0900

    NEWS.md: set code format explicitly [ci skip]

    It is not set by default in the Github viewer.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2851

commit 2f1081a451f21ca017cc9fdc585883e5c6ebf618
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-18 00:21:11 +0900

    Sort globbed results by default [Feature #8709]

    Sort the results which matched single wildcard or character set in
    binary ascending order, unless `sort: false` is given.  The order
    of an Array of pattern strings and braces are not affected.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2846

commit af6563f0242487781038f6e5304fb375102aff66
  Author: Ryuta Kamizono <kamipo@gmail.com>
  Date:   2020-01-19 12:49:40 +0900

    Fix typo s/test_ruby2_keywords_hash!/test_ruby2_keywords_hash/

    In #2818, `Hash.ruby2_keywords!` has renamed to `Hash.ruby2_keywords_hash`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2849

commit edf2cedc9c54c48a16f2e6e7cc44d02df8c0603c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-19 11:02:18 +0900

    Allow rexml to fail on macOS of Github Actions

    And revert "Stop test-bundled-gems on macOS for now",
    28b290f7f4cb332dab3ddf3132e1916d413ea65c.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2847

commit 496f295f91bc7cd1d15ff05fd593b5a3cf56d726
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-18 20:46:55 +0900

    Test bundled gems with timeout

commit b5a2e734daf3bd761e85f139a34718e36a4ac426
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-19 09:48:56 +0900

    * 2020-01-19 [ci skip]

commit 28b290f7f4cb332dab3ddf3132e1916d413ea65c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-19 09:48:33 +0900

    Stop test-bundled-gems on macOS for now

commit 979b32d76bfdd4ccf7ef708f2a120f47d5c563ec
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-18 18:46:19 +0900

    Removed useless sorts of lists generated from literals

commit eb96e4e98150435f1473afcef20d231f80724b47
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-18 18:14:47 +0900

    Made glob option keyword IDs static

commit 79f0ed3529c096c1182ccfeb7a4ad316455fc90e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-18 17:46:52 +0900

    NEWS.md: reduce headings level [ci skip]

    As the only h2 did not have its exclusively owned body text,
    merged it to the first paragraph.  Then pulled up h3 and deeper
    headings.

commit 59d255b940b7b5fc0f47e474ab6b557379eaf24c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-18 17:43:07 +0900

    NEWS.md: made ticket references links [ci skip]

commit a1ce1dc2a773e1c49c82e3df4807f5c18d26e3be
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-18 17:23:20 +0900

    NEWS.md: fixed lists and indents [ci skip]

    * The definition lists extensions of the RDoc Markdown parser does
      not support nesting.

    * The RDoc Markdown parser requires more indents for nested lists.

commit 93a51c15d95b93bae428540966c73feebc9f5d4b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-18 16:45:31 +0900

    Update clean-local [ci skip]

    * Remove builtin_binary.inc which is generated for each time
      miniruby is built.

    * dSYM is a directory, not a file.

commit 1e29fe77f4b0f6260e7b418994e798e4277b66fe
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-18 00:17:39 +0900

    * 2020-01-18 [ci skip]

commit 199d829a513fc2750c4b6027b07d82b665e7ccb7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-18 00:17:05 +0900

    [ruby/io-console] bump up to 0.5.5

commit 4e56ec4ef74cf77dbcb4ce7c669e0595cd0d12fa
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-17 23:49:26 +0900

    [ruby/io-console] Set `OPOST` when `intr` is true

    To enable implementation-defined output processing, for the
    compatibility with readline.  [Bug #16509]

    https://bugs.ruby-lang.org/issues/16509

    https://github.com/ruby/io-console/commit/8c8b0b6757

commit 569f56e0f74e29924a63579e77e3e60411dc0479
  Author: Charles Oliver Nutter <headius@headius.com>
  Date:   2020-01-14 04:42:56 +0900

    [ruby/io-console] Filter Ruby engine name rather than just /ruby/

    This breaks tests using this path on JRuby because the `jruby`
    executable turns into `jjruby` after the sub.

    https://github.com/ruby/io-console/commit/e5951aa34c

commit 4e1a7678cdb9c14c0299d893673d9cb07293b78d
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2019-12-23 12:14:11 +0900

    [ruby/io-console] Update the minimum requirement of Ruby version

    https://github.com/ruby/io-console/commit/73e7b6318a

commit 09271acdaf8816562c882780d45306b3155152a1
  Author: Adam Isom <adam.r.isom@gmail.com>
  Date:   2020-01-17 06:42:36 +0900

    Update documentation for Array/Hash Argument section of methods.rdoc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2844

commit 3344f811074e1e6119eec23684013457dab4f8b0
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-01-17 17:25:05 +0900

    .github/workflows/cygwin.yml: Removed

    There is no active maintainer for cygwin.  The CI failure is too noisy.

    [Misc #16407]

commit 7cfe93c028fbf7aa0022ca8a4ac6a66d0103337a
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-01-06 18:22:43 +0900

    hash.c: Add a feature to manipulate ruby2_keywords flag

    It was found that a feature to check and add ruby2_keywords flag to an
    existing Hash is needed when arguments are serialized and deserialized.
    It is possible to do the same without explicit APIs, but it would be
    good to provide them as a core feature.

    https://github.com/rails/rails/pull/38105#discussion_r361863767

    Hash.ruby2_keywords_hash?(hash) checks if hash is flagged or not.
    Hash.ruby2_keywords_hash(hash) returns a duplicated hash that has a
    ruby2_keywords flag,

    [Bug #16486]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2818

commit b23fd59cbb3f097bcd559d0c85a86ff7a1eeeb7e
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-01-11 15:04:44 +0900

    marshal.c: Support dump and load of a Hash with the ruby2_keywords flag

    It is useful for a program that dumps and load arguments (like drb).
    In future, they should deal with both positional arguments and keyword
    ones explicitly, but until ruby2_keywords is deprecated, it is good to
    support the flag in marshal.

    The implementation is similar to String's encoding; it is dumped as a
    hidden instance variable.

    [Feature #16501]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2830

commit c98c492578d898dc07a04b8240d8d5b1508ffafa
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-17 16:56:53 +0900

    Added test for f38b3e8c707ebdcad05aa9485cf1760640b74fbb

commit f9788ca7fe645be50f9248264253b453820d1d35
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-17 16:41:46 +0900

    Update dependencies

    internal/rational.h needs internal/warnings.h with Apple clang,
    for `UNALIGNED_MEMBER_ACCESS`.

commit 4e6bcac23e927bb0ede0935d62491b6c32cbc621
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-17 11:19:01 +0900

    Update dependencies in makefiles again

    patch from https://travis-ci.org/ruby/ruby/jobs/638231960

commit 5275d8bf4c43db9f057d24a26cf33ecd69f8b345
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-01-17 10:47:20 +0900

    rb_rational_raw: convert num and den by to_int

commit 47465ab1ccf48d2c905dbcf3b676e30b61cc41ca
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-01-17 10:41:03 +0900

    rb_rational_raw: make a denominator always positive

commit 73618d84e807b4157e0ba44e9a09e4c643de6c2c
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-17 10:25:00 +0900

    Update dependencies in makefiles

    patch from https://travis-ci.org/ruby/ruby/jobs/638226493

commit 07ce51c5aaf25a5a184a35074a40138256a0c099
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-01-17 09:55:50 +0900

    internal/rational.h: insert assertions in RATIONAL_SET_{NUM,DEN}

commit fbc00c2d863f6cdeb65203e798b08157997cf786
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-01-17 09:45:10 +0900

    rational.c: remove nurat_s_new

commit 019a0ed0c78ccd0eb694d09c6a226761261ec15d
  Author: Kenta Murata <mrkn@mrkn.jp>
  Date:   2020-01-17 09:05:17 +0900

    Make RATIONAL_SET_{NUM,DEN} static inline functions

commit 8ab11096ef3e0cf594308da285af2257cb4f5291
  Author: Marc-Andre Lafortune <github@marc-andre.ca>
  Date:   2020-01-17 04:28:37 +0900

    Clarify documentation for Module#included_modules and Module#included?

    [DOC] [ci skip] [Bug #8841]

commit 95301378fc3b41528b4264de54722a0e7be0e875
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-17 01:37:30 +0900

    * 2020-01-17 [ci skip]

commit 800c2a8e4c4b644aca4bede913d492c25ba304c1
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-17 01:35:13 +0900

    Implement vi_insert_at_bol and vi_add_at_eol

commit ec0b366a5c6eadab1315a8f2681a0ef6de20be75
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-16 20:26:50 +0900

    Add tests for vi_insert and vi_add

commit c171ab23e376b6c7f1094a77f137d916b0a403e6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-16 18:38:48 +0900

    Separate numbered parameter scope in eval

    [Feature #16432]

commit f38b3e8c707ebdcad05aa9485cf1760640b74fbb
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-16 18:34:31 +0900

    Fixed the location of args node with numbered parameter

commit 62baad9fe17077f8881e8512234cf55563aa9fca
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-01-16 16:56:53 +0900

    Removed xmlrpc and net-telnet from the bundled gems.

      [Feature #16484][ruby-core:96682]

commit fce54a5404139a77bd0b7d6f82901083fcb16f1e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-16 15:36:38 +0900

    Fix `String#partition`

    Split with the matched part when the separator matches the empty
    part at the beginning.  [Bug #11014]

commit 0b6682dc57afc95eca9f75f895ec1bf554697e6c
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-16 11:34:30 +0900

    * 2020-01-16 [ci skip]

commit 4f19666e8b144600e959e4673f79d63f98bd637d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-16 11:25:43 +0900

    `Regexp` in `MatchData` can be `nil`

    `String#sub` with a string pattern defers creating a `Regexp`
    until `MatchData#regexp` creates a `Regexp` from the matched
    string.  `Regexp#last_match(group_name)` accessed its content
    without creating the `Regexp` though.  [Bug #16508]

commit 815807d2ab9e87b5543d6837234952fd6cd481a3
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-01-15 12:43:49 +0900

    NEWS.md: mention "Freeze Regexp literals" [Feature #8948]

commit 9feca5ceb924858e54e312da4b1ba097f72c5582
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-01-15 12:42:47 +0900

    NEWS.md: converted from NEWS

    and NEWS is deleted

commit ac93cf4ff85ef195e8f6f151091a86f449a0be7a
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-15 10:50:53 +0900

    Update version guard

    fix up 98ef38ada43338c073f50a0093196f0356284625

commit 98ef38ada43338c073f50a0093196f0356284625
  Author: Jean Boussier <jean.boussier@gmail.com>
  Date:   2019-11-27 20:40:18 +0900

    Freeze Regexp literals

    [Feature #8948] [Feature #16377]

    Since Regexp literals always reference the same instance,
    allowing to mutate them can lead to state leak.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2705

commit 07aef4c99ac4be3073f8b15ebdfa324a7f94f5e3
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-15 10:23:37 +0900

    * 2020-01-15 [ci skip]

commit eb4c86a698e1be9fa2a79f4edb1c891396e6074e
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-15 10:20:19 +0900

    Add option hash doc for GC stats.

    Add a description about optional hash objects for GC.stat and
    GC.latest_gc_info. [Bug #14408]

    The patch is provided by sho-h (Sho Hashimoto).
    Thank you so much.

commit 8c3efa494091e6e0001f4a708fb7568c242387b9
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-14 15:40:03 +0900

    Use Reline.encoding_system_needs if exists

commit a2638c0d87106c6ba023a321eea502f35131753e
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-13 18:26:32 +0900

    Remove an unused setting variable

commit f8ea2860b0cac1aec79978e6c44168802958e8af
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-12 22:24:17 +0900

    Introduce an abstracted structure about the encoding of Reline

    The command prompt on Windows always uses Unicode to take input and print
    output but most Reline implementation depends on Encoding.default_external.
    This commit introduces an abstracted structure about the encoding of Reline.

commit c94025b63091be5b5e83a2f5ab5dc8d6c6147b84
  Author: Ben <kanobt61@gmail.com>
  Date:   2020-01-06 04:44:38 +0900

    [ruby/irb] Fix crashing when multiple open braces per line

    https://github.com/ruby/irb/issues/55

    If we had put multiple open braces on a line the with no closing brace
    spaces_of_nest array keeps getting '0' added to it. This means that when
    we pop off of this array we are saying that we should be in position zero
    for the next line. This is an issue because we don't always want to be
    in position 0 after a closing brace.

    Example:
    ```
    [[[
    ]
    ]
    ]
    ```
    In the above example the 'spaces_of_nest' array looks like this after
    the first line is entered: [0,0,0]. We really want to be indented 4
    spaces for the 1st closing brace 2 for the 2nd and 0 for the 3rd. i.e.
    we want it to be: [0,2,4].

    We also saw this issue with a heredoc inside of an array.

    ```
    [<<FOO]
    hello
    FOO
    ```

    https://github.com/ruby/irb/commit/80c69c8272

commit 9994eb8a5e72ff68ee2a13ddeff8d9307ba7cd84
  Author: Ben <kanobt61@gmail.com>
  Date:   2019-12-31 01:18:05 +0900

    [ruby/irb] Fix newline depth with multiple braces

    This commit fixes the check_newline_depth_difference method to multiple
    open braces on one line into account. Before this change we were
    subtracting from the depth in check_newline_depth_difference on
    every open brace. This is the right thing to do if the opening and
    closing brace are on the same line. For example in a method definition we
    have an opening and closing parentheses we want to add 1 to our depth,
    and then remove it.

    ```
    def foo()
    end
    ```

    However this isn't the correct behavior when the brace spans multiple
    lines. If a brace spans multiple lines we don't want to subtract from
    check_newline_depth_difference and we want to treat the braces the same
    way as we do `end` and allow check_corresponding_token_depth to pop the
    correct depth.

    Example of bad behavior:

    ```
    def foo()
      [
      ]
    puts 'bar'
    end
    ```

    Example of desired behavior:

    ```
    def foo()
      [
      ]
      puts 'bar'
    end
    ```

    https://github.com/ruby/irb/commit/7dc8af01e0

commit 440013b2fa73d12aeb4027bb8d8d237ea8700099
  Author: Jun Aruga <jaruga@redhat.com>
  Date:   2020-01-14 02:00:33 +0900

    Remove s390x from allow_failures

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2837

commit e0a9b8ecef32a1eb719b80e0935a9c5840d2a1fe
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-14 06:58:47 +0900

    * 2020-01-14 [ci skip]

commit 91601dcc6a608cb6f9a124959c738755091dfbd9
  Author: John Hawthorn <john@hawthorn.email>
  Date:   2020-01-03 04:48:03 +0900

    Simplify obj2ubits checks

    If this value is less than zero, then the mask check is guaranteed to
    fail as well, so we might as well rely on that.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2808

commit 5f3189474c3ee3e11b6588acfbb026e119522092
  Author: John Hawthorn <john@hawthorn.email>
  Date:   2020-01-03 04:48:03 +0900

    Avoid rb_check_string_type in month_arg

    This will usually receive a fixnum so we should check that first instead
    of the more expensive rb_check_string_type check.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2808

commit c2e45422f7abc9836d3b68bb94e527b3aad9bfd7
  Author: John Hawthorn <john@hawthorn.email>
  Date:   2020-01-03 04:48:02 +0900

    Store "UTC" and "" fstring as globals in time.c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2808

commit 5aa0e6bee916f454ecf886252e1b025d824f7bd8
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-13 21:22:22 +0900

    Mention new feature of Hash#transform_keys [Feature #16274]

    ref b25e27277dc39f25cfca4db8452d254f6cc8046e

commit f43940633d176464c395ba1342195bf3b2090fbc
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-13 12:27:24 +0900

    test-bundled-gems.rb: Use real paths for symlinks

commit c9b1969fa30c7e86e8d134d2a9bf412796dacdad
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-13 10:02:04 +0900

    Checkout with git on cygwin for EOL code

    `shell: bash` runs bash on msys which prefers git on msys too,
    then checked out in CRLF mode.  Cygwin sed doesn't consider the CR
    a part of EOL code, though.

commit 61ff5cd5fd43ef2a88752b569050d7e24077e827
  Author: Lourens Naudé <lourens@bearmetal.eu>
  Date:   2020-01-12 19:36:15 +0900

    Fix syntax error in obj_free with hash size debug counter when USE_DEBUG_COUNTER is enabled

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2834

commit 83b8dfac90e63d114918c46cda04caa9ed2c573d
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-13 03:44:08 +0900

    * 2020-01-13 [ci skip]

commit 350dafd56a9cff58d36303aeb7515ab41c5dbbb3
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-13 03:36:47 +0900

    reload AR table body for transient heap.

    ar_talbe (Hash representation for <=8 size) can use transient heap
    and the memory area can move. So we need to restore `pair' ptr after
    `func` call (which can run any programs) because of moving.

commit e288632f22b18b29efd20a1469292b0a3ba9b74c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-12 19:54:59 +0900

    Clean generated ChangeLog [ci skip]

commit 8afd304f41ad044964c700ac194b818003b39a6e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-12 19:50:34 +0900

    Ignore existing ChangeLog file and generate always [ci skip]

commit b34f39e86004e0155960dc15685b61a020de7c45
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-12 19:43:59 +0900

    vcs.rb: Allow to empty a part in commit log

commit cccfc66760fe479692852adf62167857243b4847
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-12 19:39:00 +0900

    Added make target to export the ChangeLog file

commit ae69aea3b04271ac078df721887b176d6b6be3db
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-12 12:28:54 +0900

    * 2020-01-12 [ci skip]

commit ca6546704a3035cefff82fe91c8d307df4f2d3be
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-01-12 09:59:10 +0900

    Allow failures with rss tests on test-bundled-gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2832

commit c7ef7d8a7387e427c394c3c0d03b8dd102e97b29
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-01-12 09:15:46 +0900

    Also ignored cve_2014_8080_spec

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2832

commit e61cab3a367c4040a2a487dd893c7be9a37889a9
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-01-12 08:14:26 +0900

    Ignore rexml examples on ruby/spec

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2832

commit 83240f315a10b42b53c3b62c1fbc428f97912665
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-01-11 21:48:06 +0900

    Make rss library the bundle gems

      [Feature #16485][ruby-core:96683]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2832

commit c3ccf23d5807f2ff20127bf5e42df0977bf672fb
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-01-11 21:37:00 +0900

    Make rexml library the bundle gems

      [Feature #16485][ruby-core:96683]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2832

commit 012f297311817ecb19f78c55854b033bb4b0397c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-11 16:32:56 +0900

    Get rid of use of magic number 'E'

commit e62aead26909e83f2c8b940186047f0a88b9f2d6
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-11 16:24:16 +0900

    Add branch option to checkout on push

commit 7584853cfed9eaeaf6e932578362db0ffa74bcac
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-11 10:43:39 +0900

    st_delete_wrap is no longer used

commit eb737916b1e435ff8212913c03e5798089b0d3fe
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-11 10:19:29 +0900

    Warn when :newline precedes other newline options

commit 8bb24712de04cfa8bb1dbfc0c3cee3de6eb4b40d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-11 10:14:53 +0900

    Added assertions for newline decorators

commit 52a9e4ffd3c868214ded91592cf12837bc60f80e
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-11 10:40:57 +0900

    * 2020-01-11 [ci skip]

commit 40c57ad4a13898760b81a99dac181e5bf61afe47
  Author: Lourens Naudé <lourens@bearmetal.eu>
  Date:   2020-01-04 09:45:58 +0900

    Let execution context local storage be an ID table

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2814

commit b53d8230f1fed0f99a8a852d853bbd9b5c353fed
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-01-10 22:57:20 +0900

    Fixed the wrong url for benchmark

commit e04366056af5fb55db1e3d38a39fbe3316b13e9c
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-01-10 22:56:46 +0900

    Update the upstream repository of bundler

commit 7693897a1153c83cb2bdc147552e2fa2aa47f0c7
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-10 21:48:20 +0900

    Reduced duplicate code

commit 1b4d406e3a04032b6d01e92b6d184a16945c6ac3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-10 21:26:43 +0900

    Hash#transform_values should return a plain new Hash

    [Bug #16498]

commit 135b533e84ea04d0a494422efba635e5c9f2bfb2
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-10 20:29:24 +0900

    add missing #include

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2824

commit 13064fe5db237872fcb9dfafb05cbdf2ddd07e07
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-09 16:50:59 +0900

    avoid undefined behaviour when n==0

    ISO/IEC 9899:1999 section 6.5.7 states that "If the value of the right
    operand is negative or is greater than or equal to the width of the
    promoted left operand, the behavior is undefined".  So we have to take
    care of such situations.

    This has not been a problem because contemporary C compilers are
    extraordinary smart to compile the series of shifts into a single
    ROTLQ/ROTRQ machine instruction.  In contrast to what C says those
    instructions have fully defined behaviour for all possible inputs.
    Hence it has been quite difficult to observe the undefined-ness of such
    situations.  But undefined is undefined.  We should not rely on such
    target-specific assumptions.

    We are fixing the situation by carefully avoiding shifts with out-of-
    range values.  At least GCC since 4.6.3 and Clang since 8.0 can issue
    the exact same instructions like before the changeset.

    Also in case of Intel processors, there supposedly be intrinsics named
    _rotr/_rotl that do exactly what we need.  They, in practice, are absent
    on Clang before 9.x so we cannot blindly use.  But we can at least save
    MSVC.

    See also:
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57157
    https://bugs.llvm.org/show_bug.cgi?id=17332

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2824

commit 79dcd26aecaba5f9cff284ad6680e526e9c0f0d4
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-09 15:13:52 +0900

    more use of MSC_VERSION_SINCE

    Replaces `#ifdef _MSC_VER` with more accurate version checks.  Also,
    `defined(_WIN64) && defined(__AVX2__)` is redundant because there is no
    such tihng like a 32bit AVX2 machine.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2824

commit 7fed7eb50b2b95ac4eeb3d29af3ce7b7d500032a
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-10 19:24:59 +0900

    fix Windows breakage

    Fixing typo revealed that _BitScanReverse is BSR, which behaves
    differently than LZCNT.  What we want here is LZCNT so we have to
    emulate.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2824

commit db0398dc04a5eb1e76955f6a80fcfe3041782371
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2020-01-10 15:16:48 +0900

    fix typos

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2824

commit 0a67c214010d6b77cf1f5e520933052c5368fb7d
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-09 00:27:29 +0900

    Ensure seed data to be cleared

    To prevent from leaking the seed data.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2826

commit 499de0a0f684e4bf766bac09b02806391f62c2f3
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-08 23:21:42 +0900

    Fill siphash salt directly with random data

    Expanding less random data with MT is not needed when it
    succeeded.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2826

commit 54e31f4a5f29b076960fa6ebdd189369af982d49
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-10 09:09:39 +0900

    Update dependencies for c6b26f5ccf9296f7fbb23c055401c4f55d32efa0

commit 5bdc6a012378eec226b2d7e450513f279308e907
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-10 06:11:12 +0900

    * 2020-01-10 [ci skip]

commit d3b28ebc7ac527724831a9fb9ec2f963235f9a21
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2020-01-10 06:09:06 +0900

    Fix warnings for URI.encode and URI.decode

    Use __callee__ to display the called method.

    Fixes [Bug #16469]

commit c6b26f5ccf9296f7fbb23c055401c4f55d32efa0
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-01-09 23:52:01 +0900

    io.c, ruby.c: include internal/variable.h for rb_gvar_readonly_setter

    Same as 053f78e13988e9253d1f207bf5e23d9505112b32.
    emscripten requires a prototype declaration of rb_gvar_readonly_setter
    if it is referred as a function pointer.

commit 4c5eac73238a203830d43bccf22eee27d242616f
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-09 21:39:12 +0900

    Renamed `init_seed` as `init_hash_salt` too

commit 661e07c97e1cc742290d045dc5102e5fbdbae6a1
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-09 19:08:54 +0900

    Moved the definition of `rb_define_method_if_constexpr`

    Inside the block where `RB_METHOD_DEFINITION_DECL` family are
    defined.

commit 23fbee0311d34da4f623a828bf0c015a90d8edc9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-09 17:26:01 +0900

    Renamed `seed` as `hash_salt`

    The role of this is a so-called "salt" but not "seed", rename to
    get rid of confusion with other "seed" of PRNG.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2825

commit 97485302db2d8c66e7f6a61e38e9d5dd32d1a8c9
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-08 23:55:40 +0900

    Also clear MT to initialize the siphash seed

commit b0e9db65c3f05e1443c2d8f4ca139182a771500c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-09 15:57:10 +0900

    Include the standard `id` command output

    On macOS, GNU coreutils `id` is limited to NGROUPS_MAX groups,
    because of the backward compatibility of getgroups(2).

commit b369f5e8a2c1e4bc90c561365d42dc5674f83d6e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-09 10:13:08 +0900

    Fixed up 0eeed5bcc5530edb0af2af2ccff09d067c59e8f9

    `Binding#source_location` returns the `__FILE__` when created, and
    may not be an absolute or real path.  And in the `eval` context
    with an explicit file name, `__dir__` also returns that name.
    On the other hand, `__FILE__` in `require`d script file has been
    expanded at searching the library.

commit d254d5563e0e599f25aca9507683ee0abb9e18de
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-08 21:39:39 +0900

    vcs.rb: Get rid of Kernel#open

commit 65c2c75e162ebc8c4b35b0823967eeb132c00749
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-01-09 08:21:42 +0900

    lib/net/imap.rb: use `&blk` instead of Kernel#proc with no block

    [Bug #16488]

commit 1d09acd82bc90c0794c0409e330ecc71a912d1b3
  Author: Marcus Stollsteimer <sto.mar@web.de>
  Date:   2020-01-09 04:53:31 +0900

    [DOC] Improve docs for String#match

    Fix invalid code to make it syntax highlighted; other small fixes.

commit 841a945d63f0662b6eae7761b951e0ddc2d94553
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-09 04:51:11 +0900

    * 2020-01-09 [ci skip]

commit f74021e12ba3b067934271ab193ed8dc694ceb04
  Author: Marcus Stollsteimer <sto.mar@web.de>
  Date:   2020-01-09 04:47:10 +0900

    Improve docs for String#=~

    Move existing example to the corresponding paragraph and
    add an example for `string =~ regexp` vs. `regexp =~ string`;
    avoid using the receiver's identifier from the call-seq
    because it does not appear in rendered HTML docs;
    mention deprecation of Object#=~; fix some markup and typos.

commit 23218d4ab287c63e67314e33079fba56593af4c8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-08 18:35:21 +0900

    config.status should be newer than config.cache if exists

commit 5b06dd3a4237114aac093e560abe24f87536b621
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-08 18:13:35 +0900

    Hoisted out call_default_proc

commit b8fa18079df01df41debc4dbc63e22ee98425b5e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-08 18:12:21 +0900

    Adjusted indents [ci skip]

commit 592d7ceeebb380d197876400efdb18a27d5192b5
  Author: Lourens Naudé <lourens@bearmetal.eu>
  Date:   2020-01-08 09:19:26 +0900

    Speeds up fallback to Hash#default_proc in rb_hash_aref by removing a method call

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2821

commit 13f4f07f215ca66cc727c75e0c3d77389c261e14
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-01-08 16:11:52 +0900

    Merge bundler-2.1.4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2822

commit f518b608d64d08024139e8259f5c7b77e630bfff
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-08 12:30:37 +0900

    * 2020-01-08 [ci skip]

commit beb59c3b4574e2bd6de3484a6cbcbdf6bd8aac48
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-08 12:26:48 +0900

    Add GC guard

    Try to fix infrequent error:

    https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-sunc/ruby-master/log/20200108T010004Z.fail.html.gz
    ```
      1) Error:
    DRbTests::TestDRbSSLCore#test_02_basic_object:
    RangeError: "348" is recycled object
        (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:366:in `_id2ref'
        (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:366:in `to_obj'
        (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1537:in `to_obj'
        (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1856:in `to_obj'
        (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:620:in `recv_request'
        (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:931:in `recv_request'
        (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1665:in `init_with_client'
        (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1677:in `setup_message'
        (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1641:in `perform'
        (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1734:in `block (2 levels) in main_loop'
        (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1730:in `loop'
        (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1730:in `block in main_loop'
        /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/test/drb/drbtest.rb:163:in `test_02_basic_object'
    ```

commit f132825ffa1c225b0055ce6b0aa0d8428fba2623
  Author: Jun Aruga <junaruga@users.noreply.github.com>
  Date:   2020-01-07 12:23:04 +0900

    Disable IPv6 on Travis s390x case. (#2819)

    This fixes following error that sometimes happens once in a few times
    on Travis s390x environment.

    ```
    $ tool/travis_retry.sh sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
    + sudo -E apt-add-repository -y ppa:ubuntu-toolchain-r/test
    Error: retrieving gpg key timed out.
    ```

commit b0bf654c3164e9c6b5b38aa6fe23bd76d28a38d2
  Author: Aaron Patterson <tenderlove@ruby-lang.org>
  Date:   2019-07-02 18:33:40 +0900

    always expand ivar arrays to max width

    If the instance variable table hasn't been "expanded", allocate the
    maximum size of the ivar table.  This operates under the assumption that
    most objects will eventually expand their ivar array to the maximum
    width anyway, so we may as well avoid realloc calls.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2820

commit 95d23f36ff7be45bdca84c9ff6252593e73374a3
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-07 01:40:26 +0900

    * 2020-01-07 [ci skip]

commit e92bebb0c562a2a7829914b5e34c63ba7d2b7e04
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-01-07 01:33:30 +0900

    Suppress some warnings

    ```
    .../ruby/test/ruby/test_keyword.rb:3509: warning: assigned but unused variable - bug8993
    .../ruby/test/ruby/test_object.rb:83: warning: assigned but unused variable - f
    .../ruby/test/ruby/test_object.rb:95: warning: method redefined; discarding old initialize_clone
    .../ruby/test/ruby/test_object.rb:84: warning: previous definition of initialize_clone was here
    ```

commit 7392083c2ffa2dc5449ec0aa529f4a792fb1d2b4
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-06 21:50:48 +0900

    Support history-size in .inputrc correctly

commit e44e3716d01993b4f83af212ab33dce94f4207c9
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-01-06 18:52:19 +0900

    Slightly change the job wording [ci skip]

    mame-san said it's weird

commit e3aca289708845771052b698dac35e31c0254452
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-01-06 18:45:47 +0900

    Support running Actions on a fork

    Since 8c9450e7b875db846b19cc631af0d7fee66db5c6, we increased the chance
    to run GitHub Actions on a fork, as we usually use a topic branch
    instead of master when filing a pull request.

    This patch makes it possible to reuse the same GitHub Actions config on
    a fork repository.

commit 8cd292f5195be094d67096174e688504897663b7
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-01-06 18:42:30 +0900

    Directly refer to GitHub events

    instead of unnecessarily defining env vars

commit 7f1e3a7b7ceb6e5bdfee13da50588d855156b7e0
  Author: zverok <zverok.offline@gmail.com>
  Date:   2018-03-09 03:32:00 +0900

    [flori/json] Add :nodoc: for GeneratorMethods

    https://github.com/flori/json/commit/2f3f44c180

commit 41ef6df8c93039aa1cd4a37e380a13cbfbc4d62f
  Author: zverok <zverok.offline@gmail.com>
  Date:   2019-12-30 05:55:23 +0900

    [flori/json] Fix examples syntax

    https://github.com/flori/json/commit/3845491d92

commit 2e5ef30cb9f56e5a7a8139e0f1d75bbcf5ee8362
  Author: zverok <zverok.offline@gmail.com>
  Date:   2018-03-09 00:32:36 +0900

    [flori/json] Enhance generic JSON and #generate docs

    https://github.com/flori/json/commit/4ede0a7d19

commit 1658e6b5db0380c39d2423281e10acc5b6c6a8bd
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-08-26 09:21:02 +0900

    [flori/json] Remove invalid JSON.generate description from JSON module rdoc

    This text used to be true in older versions of json, but has not
    been true for a number of years (since json version 2 I think).

    https://github.com/flori/json/commit/373b633f38

commit 33d866558b4792d877e7735d2239b1337d334c6c
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-06 15:06:03 +0900

    support RUBY_ON_BUG envval on assert failure.

    Check RUBY_ON_BUG env val also on rb_assert_failure().

commit ce072fe5689184cba5e4a86968367c525cb22a72
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-06 11:36:51 +0900

    script_compiled event on compile error.

    script_compiled event for TracePoint should not be invoked on
    compile error (SyntaxError) because it is not "compiled".
    [Bug #16459]

commit 46845d03c20bf7d157a040762f33a8d2fb2c3de8
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-06 01:24:34 +0900

    * 2020-01-06 [ci skip]

commit 439e1ccd088a2b8d7b965a46db0212db24b40fc4
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-06 01:20:24 +0900

    Complete indented and quoted string correctly

      def foo
        ''.upca[TAB]

    This will be completed to be:

      def foo
      ''.upcase

    The indent was gone. This commit fixes the bug.

commit da028a4fbf879144a09192c5cc4a0020c69048e0
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-05 22:46:35 +0900

    Rescue EOFError

    If C-d is pressed before IRB is ready, IRB crashes because EOFError occurs.

commit 54fd50c951d7bee259bcbc491bf223fb992d12c9
  Author: zverok <zverok.offline@gmail.com>
  Date:   2020-01-03 07:02:26 +0900

    Fix OpenStructDocumentation

    In https://github.com/ruby/ruby/commit/9be3295d53b6fd9f8a3ad8157aa0655b1976d8ac,
    OpenStruct's documentation stopped to be rendered by RDoc
    (there should be no additional code between documentation
    comment and documented class). Fixing this.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2810

commit c7af1e432aed4c4586dd1e62b0431c14fa44289d
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-05 12:25:24 +0900

    Remove unused tmp_buffer in class.c

    ref 44a164c26f5371519636585d8ba7aa59f489442e and beae6cbf0fd8b6619e5212552de98022d4c4d4d4

commit 787c6d591aa0a170d5f5b714df7aea6de6c5f0a2
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-05 11:52:39 +0900

    Remove unused last_idx in class.c

    ref c7f01d889becbeffc4254e1b0b7faecb80ea3f3e and beae6cbf0fd8b6619e5212552de98022d4c4d4d4

commit 5b0c3754d8578564e12df7182fff4a36b0a29938
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-01-05 11:37:40 +0900

    parse.y: fix a wrong sizeof argument for ruby_sized_xfree

commit 44a164c26f5371519636585d8ba7aa59f489442e
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-01-05 11:36:10 +0900

    include/ruby/ruby.h: remove a variable tmp_buffer as it does not change

    It is no longer used due to beae6cbf0fd8b6619e5212552de98022d4c4d4d4.
    Coverity Scan found this.

commit c7f01d889becbeffc4254e1b0b7faecb80ea3f3e
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2020-01-05 11:33:40 +0900

    include/ruby/ruby.h: remove last_idx that is no longer variable

    Due to beae6cbf0fd8b6619e5212552de98022d4c4d4d4, the variable last_idx
    is no longer changed and always -1.  This change simplifies the code by
    removing the variable.  Coverity Scan pointed out this.

commit 9b928fa4437139147602bc62b3aaabdc87f7ff0b
  Author: KOBAYASHI Shuji <shuujii@gmail.com>
  Date:   2019-12-27 13:41:22 +0900

    [ruby/reline] Sort completion list

    #### Legacy mode:

      ```console
      $ irb --legacy
      irb(main):001:0> l[TAB][TAB]
      lambda           load             local_variables  loop
      ```

    #### Before this patch:

      ```console
      $ irb
      irb(main):001:0> l[TAB][TAB]
      local_variables
      loop
      lambda
      load
      ```

    #### After this patch:

      ```console
      $ irb
      irb(main):001:0> l[TAB][TAB]
      lambda
      load
      local_variables
      loop
      ```

    https://github.com/ruby/reline/commit/6074069c7d

commit ded072c2b7a6e95418fb3c70ccf8395ddd5aa83f
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-05 00:53:22 +0900

    * 2020-01-05 [ci skip]

commit ce4d167778fa8c5c2aad8af560b4ec9fdf4aea29
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-05 00:52:43 +0900

    Fix output of example [ci skip]

commit b594005c72f6ef3c84bc3699b30c6372cc7f9362
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-04 13:13:37 +0900

    * 2020-01-04 [ci skip]

commit 04eb7c7e462d1fcbab9efc7022c1b43636ab878a
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-08-26 13:11:46 +0900

    Call initialize_clone with freeze: false if clone called with freeze: false

    This makes it possible to initialize_clone to correctly not freeze
    internal state if the freeze: false keyword is passed to clone.

    If clone is called with freeze: true or no keyword, do not pass
    a second argument to initialize_clone to keep backwards
    compatibility.

    This makes it so that external libraries that override
    initialize_clone but do not support the freeze keyword will fail
    with ArgumentError if passing freeze: false to clone.  I think that
    is better than the current behavior, which succeeds but results in
    an unfrozen object with frozen internals.

    Fix related issues in set and delegate in stdlib.

    Fixes [Bug #14266]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2816

commit 0eeed5bcc5530edb0af2af2ccff09d067c59e8f9
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-07-31 08:15:19 +0900

    Make eval(code, binding) use (eval) as __FILE__ and 1 as __LINE__

    This removes the warning that was added in
    3802fb92ff8c83eed3e867db20f72c53932f542d, and switches the behavior
    so that the eval does not use the binding's __FILE__ and __LINE__
    implicitly.

    Fixes [Bug #4352]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2816

commit 170f4dbb9bf9363c9fd012fc3f4e340ccda43273
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-03 14:53:25 +0900

    Fix unused warnings

    http://ci.rvm.jp/results/trunk_gcc7@silicon-docker/2539622
    ```
    /tmp/ruby/v2/src/trunk_gcc7/class.c: In function 'rb_scan_args_parse':
    /tmp/ruby/v2/src/trunk_gcc7/class.c:1971:12: warning: unused variable 'tmp_buffer' [-Wunused-variable]
         VALUE *tmp_buffer = arg->tmp_buffer;
                ^~~~~~~~~~
    ```
    ```
    In file included from /tmp/ruby/v2/src/trunk_gcc7/vm_insnhelper.c:1895:0,
                     from /tmp/ruby/v2/src/trunk_gcc7/vm.c:349:
    /tmp/ruby/v2/src/trunk_gcc7/vm_args.c:212:1: warning: 'args_stored_kw_argv_to_hash' defined but not used [-Wunused-function]
     args_stored_kw_argv_to_hash(struct args_info *args)
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    ```

commit e014e6bf6685f681998238ff005f6d161d43ce51
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-10-07 01:26:58 +0900

    Update specs for keyword argument separation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2794

commit ff96565686c05919bcae3ea77831879e95f67457
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-10-05 07:41:13 +0900

    Update tests for full keyword argument separation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2794

commit beae6cbf0fd8b6619e5212552de98022d4c4d4d4
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-10-05 04:51:57 +0900

    Fully separate positional arguments and keyword arguments

    This removes the warnings added in 2.7, and changes the behavior
    so that a final positional hash is not treated as keywords or
    vice-versa.

    To handle the arg_setup_block splat case correctly with keyword
    arguments, we need to check if we are taking a keyword hash.
    That case didn't have a test, but it affects real-world code,
    so add a test for it.

    This removes rb_empty_keyword_given_p() and related code, as
    that is not needed in Ruby 3.  The empty keyword case is the
    same as the no keyword case in Ruby 3.

    This changes rb_scan_args to implement keyword argument
    separation for C functions when the : character is used.
    For backwards compatibility, it returns a duped hash.
    This is a bad idea for performance, but not duping the hash
    breaks at least Enumerator::ArithmeticSequence#inspect.

    Instead of having RB_PASS_CALLED_KEYWORDS be a number,
    simplify the code by just making it be rb_keyword_given_p().

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2794

commit 8ba261c7546e3cd12ff6870bb41dd0a0bee32ba8
  Author: Lourens Naudé <lourens@bearmetal.eu>
  Date:   2020-01-03 07:26:20 +0900

    Bump benchmark-driver to v0.15.7 (#2811)

commit 9f460e017b341fc8378f00315b0776e300107ccd
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-03 04:46:51 +0900

    move internal/debug.h definitions to internal.h

    Debug utilities should be accessible from any internal code.

commit 6f5ee1f092414e4d60a403d82a57cf023b38c0b9
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-03 04:39:34 +0900

    modify MJIT_CC only on RUBY_DEBUG=ci

    Modify MJIT_CC (27fae1d4ad) only on CI environment.

commit 27fae1d4adfef26d30d43f2d0d6653e99aaaba3d
  Author: Koichi Sasada <ko1@atdot.net>
  Date:   2020-01-03 02:00:58 +0900

    disable ccache if $CC is in /usr/lib/ccache/$CC.

    MJIT with ccache has a problem on docker environment, so
    we need to use original CC (/usr/bin/gcc, for example).
    Ubuntu system provides /usr/lib/ccache/gcc and so on to use
    gcc with ccache. It is easy to setup ccache by adding
    /usr/lib/ccache to $PATH. However we need to use /usr/bin/gcc
    (and so on) for MJIT_CC. We can specify MJIT_CC option at
    configure, but specifying them is troublesome.

    This patch choose original $CC (/usr/bin/gcc, for example)
    if $CC is /usr/lib/ccache/$CC.

commit b884eb59eb22172b5d8af9f33ece093c8f917176
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-03 01:26:32 +0900

    Fix variable name and add more example [ci skip]

commit db22b368623746ecc21288f23afc435545e5afa4
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-03 00:03:31 +0900

    * 2020-01-03 [ci skip]

commit bba491612283e5e2b3a05f578350f84ce02274bc
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-03 00:02:28 +0900

    Fix example of node.type [ci skip]

    ```
    % docker run -it --rm rubylang/all-ruby env ALL_RUBY_SINCE=ruby-2.6 ./all-ruby -e 'root = RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")
    p [root, root.type]
    call = root.children[2]
    p [call, call.type]
    '
    ruby-2.6.0          [#<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:9>, :SCOPE]
                        [#<RubyVM::AbstractSyntaxTree::Node:LASGN@1:0-1:9>, :LASGN]
    ...
    ruby-2.7.0          [#<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:9>, :SCOPE]
                        [#<RubyVM::AbstractSyntaxTree::Node:LASGN@1:0-1:9>, :LASGN]
    ```

commit 749915e9407f3d623ab817f60a8ac85085e44695
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-02 12:12:05 +0900

    Fix a typo [ci skip]

commit 71ae2acee1459d467e5d5a56745cc9da7c32a264
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-02 10:55:58 +0900

    * 2020-01-02 [ci skip]

commit 34bc15c86b764e8fdd11d9af8ad3dc401f24b5c4
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2020-01-02 10:06:16 +0900

    Check Module#ruby2_keywords arity

    It is considered a mistake, because calling this method with no
    arguments has no effect.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2806

commit 076f24c2278c9718c4e2b23bfb946b960fafa468
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2020-01-01 22:55:12 +0900

    bignum.c: extract bdigits_to_mpz and bdigits_from_mpz (#2805)

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit afd3f64f8cc4ff4fc956727d7e2da70597352008
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-01-01 15:06:18 +0900

    Redmine /projects/ruby-trunk is now redirected

    to /projects/ruby-master

commit 8c9450e7b875db846b19cc631af0d7fee66db5c6
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-01-01 15:03:07 +0900

    Remove code to prevent double build on trunk

    trunk branch was deleted.

commit eca964c24e94ceb9146bcf4c010d9abfc632637a
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-01-01 14:26:39 +0900

    More consistent failure notifications

    The format is the same as Travis / AppVeyor now.

commit ab9f56b61575617fa2c565543b7ce2afffd1c528
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-01-01 08:58:06 +0900

    Do not notify AppVeyor on_build_status_changed

    Similar to 4fb6643f31cdee33184043ce17c42001274c4392.
    This is motivated by the lack of the same feature in GitHub Actions.

commit 47c84c74d4d8c84fd8e58527069548c7b0c2ad3d
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-01-01 08:27:40 +0900

    Make test run condition consistent with other jobs

    When `make all` fails, we should not run tests and output of such run is
    confusing.

commit 69731b248f12f52c3897584db914cdf04a8ce5ac
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-01-01 07:53:27 +0900

    Fixup a6864f6d2f39bcd1ff04516591cc18d4027ab186

commit a6864f6d2f39bcd1ff04516591cc18d4027ab186
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2020-01-01 07:42:42 +0900

    Removed the old executables of racc

      [ruby-core:93516][Feature #15982]

      https://github.com/ruby/racc/pull/123

commit e1c363f847451a4dcf7db7c07dd00e02d9d71ad3
  Author: Sutou Kouhei <kou@clear-code.com>
  Date:   2019-12-31 02:22:00 +0900

    [bundler/bundler] Add ruby2_keywords

    https://github.com/bundler/bundler/commit/29d932d72d

commit 74cb4148856230a10daee1d043a8700f6d798bdf
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-01-01 03:24:00 +0900

    Run tests in the consistent order

    `make check` runs test -> test-all -> test-spec, and other CIs follow that too.

commit 52c228604b06692f0afe578f8333eaf078eda8f3
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-01-01 02:37:03 +0900

    Fix an outdated comment

    We're actually using it for PR :p

commit 860753eabbf364a32f5f95af0809b4682b9f9fb2
  Author: MSP-Greg <MSP-Greg@users.noreply.github.com>
  Date:   2020-01-01 02:35:43 +0900

    Actions MinGW - fix test-all (#2803)

commit 139f0d90d98441ac54c6385acaf6d39eb61de63e
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2020-01-01 02:34:29 +0900

    Use actions/checkout for PR (#2804)

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 049292e3021524bad531a82f5d9a51a22fb88640
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-01 02:04:41 +0900

    Add load path and require for ruby/ruby

commit 66e6055c11be92a1227f2748b3343d408571c70a
  Author: aycabta <aycabta@gmail.com>
  Date:   2020-01-01 01:37:38 +0900

    [ruby/irb] Fix lib name of OpenStruct

    https://github.com/ruby/irb/commit/1f3a84ab6b

commit 287bfb69d25c3bedde38abd801c6b9b9a984aa12
  Author: git <svn-admin@ruby-lang.org>
  Date:   2020-01-01 00:02:24 +0900

    * 2020-01-01 [ci skip]

commit 1a1862236da60e21e51c66543e89bf577b6ed14a
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2020-01-01 00:02:01 +0900

    Update GitHub Actions Badges

    - Generated by [npx github-actions-badge](https://github.com/azu/github-actions-badge)
    - Add MJIT

commit 9deb9427154587549661bd8f51cbf382c1658111
  Author: aycabta <aycabta@gmail.com>
  Date:   2019-12-31 23:31:51 +0900

    Add "require 'openstruct'" what is forgotten

commit a118bb805f022a915a4b075ddd9dd49c04e68591
  Author: Ben <kanobt61@gmail.com>
  Date:   2019-12-28 03:17:02 +0900

    [ruby/irb] Add tests for RubyLex

    The set_auto_indent method calculates the correct number of spaces for
    indenting a line. We think there might be a few bugs in this method so
    we are testing the current functionality to make sure nothing breaks
    when we address those bugs.

    Example test failure:

    ```
      1) Failure:
    TestIRB::TestRubyLex#test_auto_indent [/Users/Ben/Projects/irb/test/irb/test_ruby_lex.rb:75]:
    Calculated the wrong number of spaces for:
     def each_top_level_statement
      initialize_input
      catch(:TERM_INPUT) do
        loop do
          begin
            prompt
            unless l = lex
              throw :TERM_INPUT if @line == ''
            else
    .
    <10> expected but was
    <12>.
    ```

    https://github.com/ruby/irb/commit/752d5597ab

commit 337ba56aff37d34896c0dd091f1bcfb4a556126b
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2019-12-29 09:01:00 +0900

    [ruby/reline] Degenerate the terminal size to [$LINES, $COLUMNS] if it is unknown

    This is a workaround for https://github.com/ruby/irb/issues/50

    https://github.com/ruby/reline/commit/5725677d1a

commit e082f41611755b0fde967fccf3174c90ecb8469e
  Author: Kenta Murata <mrkn@users.noreply.github.com>
  Date:   2019-12-31 22:48:23 +0900

    Introduce BIGNUM_EMBED_P to check BIGNUM_EMBED_FLAG (#2802)

    * bignum.h: Add BIGNUM_EMBED_P

    * bignum.c: Use macros for handling BIGNUM_EMBED_FLAG

  Notes:
    Merged-By: mrkn <mrkn@ruby-lang.org>

commit 4ce28b58cbf3f3b5ab0bcd3fa4479d4f6d427158
  Author: Oleg Zubchenko <RedGreenBlueDiamond@gmail.com>
  Date:   2018-11-03 21:27:10 +0900

    speed up set intersect

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2003

commit 0cf75e38506a412a7b4acd39a93e32aff1e8016c
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-12-31 14:36:54 +0900

    Split test_nomethod_error.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2800

commit a580a3757b162b8d1b2b19d91f5c246c7fc5dca8
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-12-31 14:33:03 +0900

    Split test_name_error.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2800

commit ee4ead8098703959353cb81647e4d23bc62fa51b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-12-31 14:28:57 +0900

    Split test_frozen_error.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2800

commit 8caeef7c1d70757b6196b8444991cb1ea61943ee
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-12-31 18:04:08 +0900

    Fix the exception to be raised

    `NoMethodError` has been raised instead of `FrozenError`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2800

commit 2e1fd4e2d70172fd91c9722aaa3b114ec6cf2ea1
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2019-12-31 18:49:08 +0900

    Official actions/checkout is useless

    It died again https://github.com/ruby/ruby/runs/368837347

commit 918fe2ed7c6ec12beea3b925501a6782ecccd23d
  Author: Joao Fernandes <jfernandes@salsify.com>
  Date:   2019-12-30 23:07:35 +0900

    Fix Object#inspect documentation

    Starting from ruby 2.7.0, there's no longer a connection between the hexadecimal
    number that #inspect shows and the object's ID.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2797

commit db58b4a48d7a632550d67a5c8bc4ecc37819d6c9
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2019-12-31 18:18:21 +0900

    Update NEWS for Ruby 2.8.0 (tentative; to be 3.0.0)

commit 3096baec0e4c24e325885f7dcd4956e8c0421f73
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2019-12-31 18:16:21 +0900

    Copy NEWS to doc/NEWS-2.7.0

commit 26ee0af4b34afc5f622ebcc66dcc17424ef2372e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-12-31 17:12:01 +0900

    Test the bundled version minitest instead of master

    Minitest has the released tags now.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2801

commit d912393e09da82d096cbd18a138a106637ef10b7
  Author: MSP-Greg <MSP-Greg@users.noreply.github.com>
  Date:   2019-12-31 17:29:58 +0900

    text/readline/test_readline.rb - fix skip on Reline (#2743)

    TestRelineAsReadline#test_input_metachar passes on MinGW

commit 56a74659cc084b8a8e45cf076026be0a6d8660b0
  Author: Prem Sichanugrist <s@sikac.hu>
  Date:   2019-12-31 17:27:24 +0900

    Copy-editing NEWS file on "is now warned" messages (#2783)

    The phrase "[doing X] is now warned" is not grammatically correct in
    English as it is lacking an object. We can make these sentences read
    better by switching to "[doing X] will now display a warning" instead.

commit 38c35dd22d0d792309873fb5232758646c1f8569
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2019-12-31 16:46:17 +0900

    Make Slack notifications consistent

commit 8136fec6e4d3acb19d5f40f539fd8b98d2d9b84b
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2019-12-31 16:42:20 +0900

    There's no such target

commit f98650e9f8602bfcf8fbb9fe63c2e1bc08ded81f
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2019-12-31 16:30:34 +0900

    Make all Actions job names consistent

    like "{platform} / make ({make target}, ...)"

commit fe158e4c6536432fec4b3f236910c5fcd9689c29
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2019-12-31 16:23:25 +0900

    Do not doubly build on trunk

commit b00418732c89ce42c1c4cef57d08344659fbdd2b
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2019-12-31 16:20:17 +0900

    Drop MinGW build from AppVeyor

    in favor of #2791

commit eb2b4258214337f165eb994e2c5b9c2a3f6ae0a8
  Author: MSP-Greg <MSP-Greg@users.noreply.github.com>
  Date:   2019-12-31 16:19:31 +0900

    MinGW on Actions (#2791)

    * MinGW - skip spec in spec/ruby/optional/capi/thread_spec.rb

    C-API Thread function rb_thread_call_without_gvl
          -- runs a C function with the global lock unlocked and unlocks IO with the generic RUBY_UBF_IO

    stops/freezes spec tests

    See https://bugs.ruby-lang.org/issues/16265

    * MinGW - skip test test/resolv/test_dns.rb

    Test times out in CI (both AppVeyor & Actions), cannot repo locally

    * MinGW - skip test test/ruby/test_thread_queue.rb

    * Add Actions mingw.yml

commit 79c420267672dbfde257d77eb9d94c996920f368
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2019-12-31 16:09:24 +0900

    Revert "Remove TEST_BUNDLED_GEMS_ALLOW_FAILURES"

    This reverts commit 75e8dd58f69c190c9698d0133942032903fb2f07.

    We seem to randomly hit another issue these days:
    https://github.com/ruby/ruby/runs/368756135
    https://github.com/ruby/ruby/runs/368756191

commit 179e402d8a17b7c909aa48b6327d60ca4a53bb3b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-12-31 11:12:11 +0900

    Updated dependencies on internal/warnings.h

    Needed for `UNALIGNED_MEMBER_ACCESS` using `COMPILER_WARNING_`*
    macros.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2799

commit 3264a00958f56e1ba75a95c93e59fc9cccf323e8
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2019-12-31 08:13:55 +0900

    Fix Proc#<< spec

    [Bug #16406]

commit f1ea5d22dc94aae4150e9021a9bf47ebfe04f8a9
  Author: git <svn-admin@ruby-lang.org>
  Date:   2019-12-31 07:48:19 +0900

    * 2019-12-31 [ci skip]

commit 99c7b0b7ea789643bef60085ab59e4b62011ef8b
  Author: Alan Wu <XrXr@users.noreply.github.com>
  Date:   2019-12-31 07:47:58 +0900

    Decide lambdaness of (f << g) using g (#2729)

    * Deciding lambdaness of (f << g) using g

    * Use version guards for spec changes

  Notes:
    Merged-By: XrXr

commit 3e2418e2a64cadeb59e02d13b424b62b8d867ad5
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-12-30 17:38:28 +0900

    [ruby/io-console] bump up to 0.5.4

commit aed5afdaa0874a372d1f90fbb28fabd0c8993f7b
  Author: git <svn-admin@ruby-lang.org>
  Date:   2019-12-30 09:59:25 +0900

    * 2019-12-30 [ci skip]

commit e882187612512b13b9b3e009515211e8544079e5
  Author: Vladimir Dementyev <dementiev.vm@gmail.com>
  Date:   2019-12-30 09:59:07 +0900

    syntax.rdoc: remove "experimental" from refinements (#2796)

commit 2ef8d5beeebf759c5dd0754bb99cbcfbad3f368e
  Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
  Date:   2019-12-29 22:09:15 +0900

    ext/openssl/ossl_ssl.c: nodoc for private methods

    [Misc #11712][ruby-core:71565]

commit 31e2f035121a4c07d6ea3b5eab69bc97749a022b
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-12-29 16:12:19 +0900

    [ruby/io-console] Enable only interrupt bits on `intr: true`

    https://github.com/ruby/io-console/commit/baaf929041

commit e5c441a4a2885da61df9894ac17b69cb3c5811f2
  Author: Ary Borenszweig <asterite@gmail.com>
  Date:   2019-11-30 05:59:47 +0900

    Optimize Array#rotate!(n) for n = 1 and n = -1

    For the most common cases of `rotate!` one place to the right or to the
    left, instead of doing some reversals of the array we just keep a single
    value in a temporary value, use memmove and then put the temporary
    value where it should be.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2710

commit a0d1fd16d156d289d5ea46327a98517a9b31f860
  Author: Seiei Miyagi <hanachin@gmail.com>
  Date:   2019-12-25 21:55:49 +0900

    Fix documentation of Dir#each_child

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2785

commit d7bef803ac3546119b30e1d78af0097a9df9c907
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-12-29 10:07:17 +0900

    Separate builtin initialization calls

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2792

commit 8ce5d46e662f53a56cf21c47981bb99bcb5b73e6
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-12-29 08:19:43 +0900

    Fixed an unavailable sanitizer feature

commit 290711e1ce450147fe94eb8cdddaa6158b73d380
  Author: git <svn-admin@ruby-lang.org>
  Date:   2019-12-29 07:13:25 +0900

    * 2019-12-29 [ci skip]

commit a04c53596735f563a09d628530a2adae7ba26c7a
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-12-28 17:25:11 +0900

    Use __func__ as rb_cv_function_name_string on OpenBSD

    The use of RUBY_WERROR_FLAG causes this test to fail on OpenBSD
    platforms that use the binutils linker (ld.bfd) instead of the
    llvm linker (ld.lld), due to warnings added to the binutils linker
    in OpenBSD.

    Removing the RUBY_WERROR_FLAG would probably also fix it, but that
    would affect other platforms.

    This should also be backported to Ruby 2.7.

    Analysis and similar fix recommended by George Koehler.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2790

commit bb5b8ace8d7e517ac3686497a819a2a52d32b342
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2019-12-28 21:09:52 +0900

    Fix typo

commit 4fb6643f31cdee33184043ce17c42001274c4392
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2019-12-28 18:10:47 +0900

    Do not notify Travis on_success

    We don't find it useful anymore, because notifications from many other
    CIs are mixed.

commit a994b0aee73a78de1137f195fb252b3660199f0b
  Author: Takashi Kokubun <takashikkbn@gmail.com>
  Date:   2019-12-28 17:44:09 +0900

    Add VM insns counter like debug_counter (#2789)

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit bf04fe086bca47184c6ab13603e064b3c0e88d8e
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2019-12-28 08:45:37 +0900

    Remove "All Rights Reserved." from Copyright statement.

commit f96216df8dfd2d1e206150572912289f4dda7386
  Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
  Date:   2019-12-28 08:41:47 +0900

    Remove "All Rights Reserved." from Copyright statement.

commit f05416c91f4656db652ad9e63c5aa049dd5c0936
  Author: Jeremy Evans <code@jeremyevans.net>
  Date:   2019-12-28 08:01:01 +0900

    Fix coroutine copy implementation on OpenBSD

    OpenBSD is the only platform that uses this support by default,
    and it did not work because while OpenBSD supports alloca, it does
    not include alloca.h.

    This should be backported to Ruby 2.7.

    From George Koehler

commit c74d30e7950f18fd9fadcfa404790e8fb0e891fd
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2019-12-28 01:36:07 +0900

    Update to ruby/spec@7241f39

commit 74fdc1e60fb8ba03f5cdb09866c75bbe5dbce936
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2019-12-28 01:36:04 +0900

    Update to ruby/mspec@673fcab

commit fe3d9d2832cd34cfbc618472bf2e3f0c1979a0a4
  Author: git <svn-admin@ruby-lang.org>
  Date:   2019-12-28 00:47:26 +0900

    * 2019-12-28 [ci skip]

commit a2fac1d72c225192018f8f3f3dfcfcc46f66c08a
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2019-12-28 00:46:08 +0900

    Update to ruby/spec@d419e74

commit 26a9f80c823a9f536a235d80d600aa9e03ed7a2f
  Author: Benoit Daloze <eregontp@gmail.com>
  Date:   2019-12-28 00:46:05 +0900

    Update to ruby/mspec@1034afc

commit bf77fc23e7533ef76bbe6fd261e1d75b4418dd73
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-12-27 17:51:24 +0900

    Use the more popular word [ci skip]

    [Bug #16437]

commit 4db898284db1f02829abf412ae4f584220a2bcba
  Author: aycabta <aycabta@gmail.com>
  Date:   2019-12-27 16:07:30 +0900

    Add test_completion_with_indent_and_completer_quote_characters

    This is for 8a705245e55575d4d310a2e956b89a36a5931971.

commit 778634f778a029476fb85463462848c0341f8e6b
  Author: aycabta <aycabta@gmail.com>
  Date:   2019-12-27 16:02:07 +0900

    Drop an invalid char as UTF-8

commit 729b7ce27058ed4b41d5facbb6b912b8e7c6a960
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2019-12-27 13:06:31 +0900

    Add check_warning_flags to leakchecker

commit 8c5430e2745b7dad698cfcc6e0d3ba6c71bfc39e
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-27 10:17:06 +0900

    reroute macro conflicts on OpenBSD

    OpenBSD's <sys/endian.h> has its own swap32() etc.  We have to avoid
    name conflicts.

    See also https://rubyci.org/logs/rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20191226T210011Z.log.html.gz#miniruby

commit 018769e291c223d82a7bc4d6a5a1bad247584c53
  Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  Date:   2019-12-27 09:20:58 +0900

    Try to fix error on Solaris

commit 30dbd9e4c7e29e4489a8729bfcd2e21e004f7ad9
  Author: git <svn-admin@ruby-lang.org>
  Date:   2019-12-27 00:47:21 +0900

    * 2019-12-27 [ci skip]

commit baf37a5f9c34b660fdb0eb3f899df1303365c723
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-12-27 00:46:50 +0900

    Get rid of LIST_HEAD conflict with a system header on macOS

commit 7bf44e9222dfe270ecfefad2b0cb6235732d50a9
  Author: Yusuke Endoh <mame@ruby-lang.org>
  Date:   2019-12-26 21:20:50 +0900

    `#include "internal/debug"` seems to be needed in assert mode

    http://ci.rvm.jp/results/trunk-theap-asserts@silicon-docker/2525210

commit 0c2d731ef210c9121e2a97cc5b0d7594a80389f3
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-20 10:44:37 +0900

    update dependencies

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 8184adabe5018ff930fde64456029471c1ebcd2e
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-25 13:40:10 +0900

    internal/stdbool.h rework

    Noticed that internal/stdbool.h and addr2line.c are the only two place
    where missing/stdbool.h is included.  Why not delete the file so that
    we can merge internal/stdbool.h and missing/stdbool.h into one.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 5e22f873ed26092522f9bfc617d729bac88b284f
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-04 17:16:30 +0900

    decouple internal.h headers

    Saves comitters' daily life by avoid #include-ing everything from
    internal.h to make each file do so instead.  This would significantly
    speed up incremental builds.

    We take the following inclusion order in this changeset:

    1.  "ruby/config.h", where _GNU_SOURCE is defined (must be the very
        first thing among everything).
    2.  RUBY_EXTCONF_H if any.
    3.  Standard C headers, sorted alphabetically.
    4.  Other system headers, maybe guarded by #ifdef
    5.  Everything else, sorted alphabetically.

    Exceptions are those win32-related headers, which tend not be self-
    containing (headers have inclusion order dependencies).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 33e9601938a79dae149caa88ff1bc06d376dd376
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-03 11:02:10 +0900

    TIMESPEC_SEC_MAX might be bigger than 53 bits.

    The same as 41bc766763dba63ae2529f2f9070b8e26399745c.  Read that commit
    for what is happening.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit bf53d6c7d19f877c821901b3288d7f80955ffbb7
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-03 14:47:38 +0900

    other minior internal header tweaks

    These headers need no rewrite.  Just add some minor tweaks, like
    addition of #include lines.  Mainly cosmetic.

    TIMET_MAX_PLUS_ONE was deleted because the macro was used from only
    one place (directly write expression there).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 3ae09b30f8ba5ff4dd148d358f51b99ae0ae6c38
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-04 16:42:30 +0900

    internal/vm.h rework

    Rearranged contents, then added MJIT_FUNC_EXPORTED function
    declarations.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit e0b1be01624be75d8ac41b163233186ae2a0db2f
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-04 15:40:18 +0900

    internal/thread.h rework

    Rather trivial, added missed MJIT_FUNC_EXPORTED function declaration.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit ce2c97d738d6eb374e6dedf6e082b06a61ab6ef9
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-04 14:15:46 +0900

    internal/symbol.h rework

    Some declatations are moved from internal/parse.h, to reflect the fact
    that they are defined in symbol.c.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 1a80d7bcdaa9a57f0feaf0a14ced8c9fb442d25d
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-04 14:01:56 +0900

    internal/string.h rework

    Reduced the number of macros defined in the file.  Also made it explicit
    for MJIT_FUNC_EXPORTTED functions to be so.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 797c46917e6a2f9faacba369b09132ddd3cc61cd
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-04 13:06:15 +0900

    internal/range.h rework

    Eliminate macros for better readability.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 719efe72b0707ed9b0e75a2bbf00e41ecc9ab451
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-04 12:30:06 +0900

    internal/process.h rework

    Eliminated the macro to convert into an inline function.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit c524df078044dfbf44215557e7b7a0faaa3bc3db
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-04 12:10:06 +0900

    internal/proc.h rework

    Annotated MJIT_FUNC_EXPORTED functions as such.  Declaration of
    rb_sym_to_proc is moved into this file because the function is defined
    in proc.c rather than string.c.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit d0e0c884bb4277e529adbd8d82aae0a651f7edf2
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-04 11:43:51 +0900

    internal/object.h rework

    Eliminated macros.  As a side effect struct RBasicRaw is no longer
    required because we can now define anonymous structs inside of inline
    functions.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit c27bcd70574165d30bb3a9dc50a6b35fc419ab2b
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-04 10:26:41 +0900

    internal/gc.h rework

    Improved readability by reducing the use of macros.  Also moved some
    part of internal/compilers.h into this file, because it seems to be the
    right place for them.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit adc49f0f9a1106fc5a81b5aba684ec1578ac7d6d
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-03 17:20:07 +0900

    internal/sanitizers.h rework

    Rearrange macro orders for better readability.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit ec6f6b53d88b47570c3c2b83cefee2cfd7b72ce3
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-03 17:06:37 +0900

    internal/error.h rework

    Reduce macros for readability.  Also transplanted some part of
    internal/file.h into here because the declared functions are in fact
    defined in error.c.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 23c2a27bf6a36ed31171c681af2288ce3a02912b
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-03 16:12:39 +0900

    internal/compile.h rework

    This file contains other materials than in compile.c.  I could perhaps
    split them into files, but felt overkill.  Just add comments that
    describe the situations.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 0723db6c3972615ebce9e1ed03d4cb2a17d3fcf5
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-03 15:32:02 +0900

    internal/array.h rework

    Rearrange contents for better readability, reduce macros for the same
    reason, and mark MJIT_FUNC_EXPORTED functions as such.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit f3a229fe2d8b1b5dcc4fc4577341256743421f10
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-03 15:11:09 +0900

    internal/variable.h rework

    Eliminated macros.  Also marked MJIT_FUNC_EXPORTED functions as such.
    Some of them are declared in constant.h so edited that file also.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 989068cf7087bf48f30c7f7c3f9acfa0bfd263ef
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-03 14:42:53 +0900

    internal/imemo.h rework

    Arrange contents and eliminate macros, to make them readable.

    Macro IFUNC_NEW was deleted because there was only one usage.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 63c9f620cf87fb5fa08cdb7b0b4cc70e787f5cb2
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-03 13:49:14 +0900

    internal/class.h rework

    This file has almost nothing to do.  Added some #ifdef lines and
    rearranged file contents.

    Those macros are unable to translate into inline functions, because they
    are used as lvalues of assignments.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 7d71d916a225c87ab15d62512f0e9cebad16832f
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-03 13:18:53 +0900

    internal/struct.h rework

    Replace macros with inline functions of equivalent contents, for much
    improved readability.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit e72b8592d9b4daa079d85d0ceb60f466edaec94d
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-03 12:37:15 +0900

    internal/hash.h rework

    Reduce macros to make them inline functions, as well as mark
    MJIT_FUNC_EXPORTED functions explicitly as such.

    Definition of ar_hint_t is simplified.  This has been the only possible
    definition so far.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit f0c02a094988f804a339e9180a5e206fa123b902
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-03 12:00:49 +0900

    internal/numeric.h rework

    Marked MJIT_FUNC_EXPORTED functions as such.  Other changes are rather
    cosmetic.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 099778a6da8f0f2b32648f6d9b34233230ac6517
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-03 11:30:11 +0900

    internal/bignum.h rework

    Turn macros into inline functions for better readability.  Also add
    rb_int128t2big declaration, which was missing.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit f6dc053faf6a8850c50638b5e06fca9e878de7ae
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-03 10:48:45 +0900

    internal/fixnum.h rework

    Add #include lines, move FIXNUM_POSITIVE_P etc. from numeric.h.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 68c0dc8d363675881d60b9fde15645d9ee14fafc
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-02 17:06:40 +0900

    internal/static_assert.h rework

    ISO/IEC 9899:2011 section 7.2 states that <assert.h> must define
    static_assert.  Use it when available.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 6581db2187a1d5b6316fd1c942dccc6b6a3b9ca8
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-02 17:02:24 +0900

    internal/warnings.h rework

    Not a big rewrite.  Just to make those macros readable.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 64ec438b5bbeb6b29dd0393df01cc6ae3f5564da
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-02 15:50:11 +0900

    internal/bits.h rework

    Improving readability by converting some macros into inline functions.
    Also improved support for recent x86_64 processors, which have better
    instructions for the purposes.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 0958e19ffb047781fe1506760c7cbd8d7fe74e57
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-02 14:58:43 +0900

    add several __has_something macro

    With these macros implemented we can write codes just like we can assume
    the compiler being clang.  MSC_VERSION_SINCE is defined to implement
    those macros, but turned out to be handy for other places.  The -fdeclspec
    compiler flag is necessary for clang to properly handle __has_declspec().

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 863dbb21d8912c73e84fed47f2d3a1ac5d8275d4
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-02 14:48:42 +0900

    assume C99

    Now that we no longer support old compilers, we can safely delete
    several obsolete #ifdef gurads.  Also because (as of writing) it is
    impossible to compile the program using C++ compilers, lets just
    entirely prohibit __cplusplus to reduce # of LOCs.

    Note however that we still cannot eliminate __STDC_VERSION__ checks,
    because MSVC does not define it, saying its C99 support is partial.
    See also https://social.msdn.microsoft.com/Forums/vstudio/en-US/53a4fd75-9f97-48b2-aa63-2e2e5a15efa3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit 1dd149d3b1e46f21b0c358fdf205e97ac009bb40
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-04 10:55:55 +0900

    re-add io.h and encoding.h into internal.h

    This is tentative.  For the sake of simplicity we partially revert
    commits e9cb552ec96, ee85a6e72b and 51edb300425.  Will decouple them
    once again when we are ready.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit b739a63eb41f52d33c33f87ebc44dcf89762cc37
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-11-29 15:18:34 +0900

    split internal.h into files

    One day, I could not resist the way it was written.  I finally started
    to make the code clean.  This changeset is the beginning of a series of
    housekeeping commits.  It is a simple refactoring; split internal.h into
    files, so that we can divide and concur in the upcoming commits.  No
    lines of codes are either added or removed, except the obvious file
    headers/footers.  The generated binary is identical to the one before.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit ba78bf9778082795bdb4735ccd7b692b5c3769f9
  Author: 卜部昌平 <shyouhei@ruby-lang.org>
  Date:   2019-12-25 14:19:48 +0900

    debug_counter.h must be self-contained

    Include what is necessary.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2711

commit b25e27277dc39f25cfca4db8452d254f6cc8046e
  Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
  Date:   2019-12-26 15:50:34 +0900

    Transform hash keys by a hash [Feature #16274]

commit dced0e57453ed4cf8703dee61454334baa5a034e
  Author: git <svn-admin@ruby-lang.org>
  Date:   2019-12-26 10:58:26 +0900

    * 2019-12-26 [ci skip]

commit 537a1cd5a97a8c5e93b64851abaab42812506f66
  Author: Yukihiro "Matz" Matsumoto <matz@ruby.or.jp>
  Date:   2019-12-26 10:55:58 +0900

    2.8.0 (tentative; to be 3.0.0) development has started.
