-*- coding: utf-8 -*-

commit 32c733f57bb91e22972319ee63eac9521d954ebc
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-10-07 15:28:32 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-07 15:28:32 +0900

    [DOC] Add some descriptions for options of `Socket::tcp`

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

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

commit 773d140f65c1c8b726e107915bc003c186f38677
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-07 11:06:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-07 11:06:44 +0900

    [Bug #20787] Check the separator in `IO#readline` as well as 3.2

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

commit ec526c61c937ea03c460c91b01552629d196695a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-07 10:04:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-07 10:04:42 +0900

    json upstream is ruby/json now

commit 0752fff2152c86caa67d7a0dafcfda3582fbf384
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-07 09:37:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-07 09:37:33 +0900

    [ruby/reline] Add cursor keys for application keypad mode to default
    key bindings
    (https://github.com/ruby/reline/pull/719)

    * Add SS3 arrow sequence to default key bindings

    * Remove wrong KDE arrow sequence

    https://github.com/ruby/reline/commit/546a42522e

commit 8f5abcb0c7a81b63f8af9fc53ac7bbb48007974b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-07 08:35:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-07 08:35:06 +0900

    [ruby/reline] Allow utf-8 safe meta key mapping in inputrc
    (https://github.com/ruby/reline/pull/723)

    Readline's convert-meta setting is utf-8 unsafe.
    Allow assigning `"\M-char": key` to bind "\echar": key even if convert-meta is not enabled.

    https://github.com/ruby/reline/commit/9844b99c6e

commit 98620f6c5246d27fed440b8d61cdb31cd915eafa
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-06 20:10:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-06 20:10:12 +0900

    [ruby/irb] Change default completor from regexp to auto, try
    TypeCompletor and fallback to RegexpCompletor.
    (https://github.com/ruby/irb/pull/1010)

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

commit a6383fbe1628bdaa9ec6a30b3baa60dd7430b461
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-06 02:03:39 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-06 08:29:08 +0900

    CI: Simplify parsey.yml

commit a1c222801de786d8cf3b2b77cc48f22d87c026ec
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-04 04:45:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-06 02:58:10 +0900

    Non-zero exit when error in loading shared GC

    Before this commit, when there is an error in loading the shared GC, an
    error was outputted but it did not exit, causing it to segfault later on.

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

commit 802445487e5e0abb91811c84c220c0b58da3ca0c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-06 02:02:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-06 02:02:51 +0900

    [ruby/reline] Fix tempfile leaks
    (https://github.com/ruby/reline/pull/757)

    https://github.com/ruby/reline/actions/runs/11187507536/job/31104699331#step:13:1064
    ```
    Children under /tmp/rubytest.m48l5o:
    * -rw------- 1 101 2024-10-02 17:43:51 +0000 rubyfile20241002-60503-bhbfgq
    ```

    https://github.com/ruby/reline/commit/1287f97a6f

commit e6fa7c35445a60598dbe816b46a41e41ed6898d8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-06 01:47:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-06 01:55:26 +0900

    [ruby/reline] Hash#inspect style has changed in ruby 3.4

    [[Bug #20433]](https://bugs.ruby-lang.org/issues/20433)

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

commit a6da8d69e616f6c0c937a2bf18ca3c0561a20b3d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-06 00:45:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-06 00:55:40 +0900

    [ruby/irb] Hash#inspect style has changed in ruby 3.4

    [[Bug #20433]](https://bugs.ruby-lang.org/issues/20433)

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

commit d17edf3a170b733356836353508319443d12c53c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-05 22:08:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-05 23:29:42 +0900

    [Bug #20705] Update `strtod` implementation

    The absence of either the integer or fractional part should be
    allowed.

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

commit f37e6d7f7b9dd0fac4fe01637a410dc4752a7ded
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-05 16:07:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-05 16:07:57 +0900

    Merge `rb_parser_enc_compatible_latter` into `rb_parser_enc_compatible`

commit 4b065bbe2b3e2c5ff747cb27bb1763aa040453a3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-05 16:06:54 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-05 16:06:54 +0900

    Move common code to `enc_compatible_latter`

commit 9dbbd0181f8c5e165f474e064c6f808050011bc8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-05 15:48:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-05 15:59:44 +0900

    Parser string encoding is always ASCII-compatible

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

commit 6743e6285a585fbd0a3b25b8eeed10caf1fae66e
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-05 15:18:45 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-05 15:59:01 +0900

    [Bug #20784] Fix incomplete character syntax followed by EOF

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

commit e939f28cc93a538e751c9c1200c95c4c85c9d09b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-05 11:24:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-05 11:36:21 +0900

    Use quadrigraphs for a hash

    So that the closing bracket does not look like commented out.

commit c50298d7d4f8797963490f5679b1c481b89d4955
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-05 11:10:12 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-05 11:10:12 +0900

    Introduce `rb_io_blocking_region` which takes `struct rb_io` argument. (#11795)

    This does not change any actual behaviour, but provides a choke point for blocking IO operations.

    * Update `IO::Buffer` to use `rb_io_blocking_region`.

    * Update `File` to use `rb_io_blocking_region`.

    * Update `IO` to use `rb_io_blocking_region`.

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit e766cb3e578fcfb3f21dd8f4a95cd4296b704c89
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-10-05 05:54:32 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-05 07:45:50 +0900

    Suppress warnings in `time_init_parse` function

    When building Ruby on Ubuntu 22.04 and GCC 11.4.0, the following warning appeared.
    And this change has suppressed warning.

    ```
    compiling ../ruby/time.c
    ../ruby/time.c: In function ‘time_init_parse’:
    ../ruby/time.c:2650:21: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
     2650 |         if (ndigits < TIME_SCALE_NUMDIGITS) {
          |                     ^
    ../ruby/time.c:2654:26: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
     2654 |         else if (ndigits > TIME_SCALE_NUMDIGITS) {
          |
    ```

commit 563263a91ceba742277c6f4d2ec1b821388fbceb
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-05 06:56:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 06:56:10 +0900

    [ruby/reline] Concatenate some rendeing test
    (https://github.com/ruby/reline/pull/749)

    https://github.com/ruby/reline/commit/41b54140f4

commit 87169dd435e0db40303f8dc3a29408663e978d14
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-05 05:11:10 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-05 05:11:10 +0900

    [DOC] Tweaks for Array#none? (#11788)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit b57bbf774fc0599740b0d133a762b2ad14ce021d
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-05 05:10:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-05 05:10:58 +0900

    [DOC] Tweaks for Array#one? (#11789)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 648f558e01a9dbc71bb9d24fe5cb2dabe2b1bcb0
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-05 02:49:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 05:01:57 +0900

    [rubygems/rubygems] Remove now unused realworld spec

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/2484267920

commit b653be0ba572adc145dfb13ea312439edca49e68
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-05 02:48:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 05:01:57 +0900

    [rubygems/rubygems] Update spec rubygems_ext

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/1ef33fa0af

commit e472d1a6d697eea93dfa6c037fd9d65dc9d9f34e
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-03 06:31:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 05:01:56 +0900

    [rubygems/rubygems] Remove extra space in BUNDLED WITH section

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/d8b5d05e46

commit 40d7e5d2abcaa2206074a924e94d8fea2a67a3a5
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-03 01:34:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 05:01:56 +0900

    [rubygems/rubygems] Update rubocop to ruby 3.1

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/300fb96ffc

commit dfa11551aa1a4dc9ba9d2d78c083dc77e17b8f29
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-03 01:25:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 05:01:52 +0900

    [rubygems/rubygems] More rubygems 3.2.x removals

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/272f3464a3

commit 7695bf183b02361cc6adb953da6a54c505082260
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-03 01:22:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 05:01:52 +0900

    [rubygems/rubygems] Remove CorrectHashForLambdaOperator monkey patch

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/085bafd8d4

commit db6e6155d673931d1ae6b962664684c4fe4937e6
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-03 01:19:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 05:01:51 +0900

    [rubygems/rubygems] Remove outdated conditionals from tests

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/06eec6d855

commit bdc3363d0f045b1a6d81b72c3cd9b10d5759f71e
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-02 10:20:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 05:01:51 +0900

    [rubygems/rubygems] Update required_ruby_version to 3.1

    3.0 has been EOL since march, drop support for it before the 3.4 release is cut

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/fc1f03b06a

commit 30038656aa3a4931abefd99b8166c26599d168fd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-05 02:57:14 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-10-05 04:04:26 +0900

    Fix intermediate array off-by-one error

    Co-authored-by: Adam Hess <HParker@github.com>

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

commit f77517f473c38e3fcef72c23de977a44da881caf
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-05 02:36:36 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-05 02:36:36 +0900

    [DOC] Minor adjustment for Array#min

commit c7dc7da2ee29322980a143d7125e22c11b540012
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-05 02:35:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-05 02:35:56 +0900

    [DOC] Minor adjustment for Array#max

commit 95ad0e5f85ed5c46367cb61dfcb01978925a225e
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-05 02:34:11 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-05 02:34:11 +0900

    [DOC] Tweaks for Array#minmax (#11787)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 5a95a6905875594bb434d25d3db131d6fc2432ee
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-05 01:43:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 02:01:58 +0900

    [ruby/prism] Fix up pattern parsing with trailing commas

    https://github.com/ruby/prism/commit/51f2df60ff

commit 75640037bfc8fc35562224b97c677f2c88221a3e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-05 01:02:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 01:22:21 +0900

    [ruby/prism] Fix up multi target parsing

    https://github.com/ruby/prism/commit/80cd335222

commit cd86393ad858d29c1204fd3f1561dca9c96fec16
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-04 05:20:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-04 21:50:43 +0900

    Assume VM locked in rb_mark_generic_ivar

    rb_gen_ivtbl_get locks the VM, but the VM must be locked during marking
    so we can directly read from the generic_ivtbl without locking the VM.

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

commit 79a8750ade3e332c1ab78aa9cbc6ca7fd823dec2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-04 18:49:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-04 18:49:47 +0900

    [Bug #20783] Insert a space between RPATHFLAG and LIBPATHFLAG

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

commit 86e8a36e77a9946aeb179c73a232a793867951bb
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-04 17:25:43 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-04 17:25:43 +0900

    Revert "Direct access to `fptr->fd` should prefer to use the `internal/io.h`. (#11793)"

    This reverts commit 6ea0dcc9781931129e77540097712f6196d49fde that was accidentally merged.

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

    Merged-By: ioquatix <samuel@codeotaku.com>

commit 6ea0dcc9781931129e77540097712f6196d49fde
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-04 16:44:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-04 16:44:23 +0900

    Direct access to `fptr->fd` should prefer to use the `internal/io.h`. (#11793)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit c33cb9a5867b0d35335a7d6921184a60356a32d7
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-04 16:35:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-04 16:35:57 +0900

    Update `io_spec.c` to use `rb_io_maybe_wait*` if possible. (#11792)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit c878843b2cb8fd54ebfaabd10b6334cf4d400208
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-04 15:36:06 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-04 15:36:06 +0900

    Better handling of timeout in `rb_io_maybe_wait_*`. (#9531)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 96d69d2df269bbf68bb0e378b2cd4af46bfd37a4
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-04 14:40:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-04 14:40:38 +0900

    Clarify `rb_io_maybe_wait` behaviour. (#9527)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit c5b1df7524e35d6c0a270c38ae65daf7668e2c31
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-04 11:54:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-04 12:21:27 +0900

    Skip related tests in PathnameInstanceTest

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

commit 3c54b8e9205fa8debe09447138fd08aeaa59e69c
  Author:     schneems <richard.schneeman+foo@gmail.com>
  AuthorDate: 2020-10-27 03:46:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-04 12:21:27 +0900

    Allow method chaining with Pathname#mkpath

    Currently in my code when I want to create a pathname object and create a path at the same time I must use tap

    ```
    path = Pathname.new("/tmp/new").tap(&:mkpath)
    ```

    I think it would be cleaner to be able to chain on the results of these methods instead:

    ```
    path = Pathname.new("/tmp/new").mkpath
    ```

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

commit 08346e7267b4f17ae207d67543d5f78c2541dc86
  Author:     schneems <richard.schneeman+foo@gmail.com>
  AuthorDate: 2020-10-28 03:54:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-04 11:15:33 +0900

    Introduce Pathname.mktmpdir

    When I want to create a tmpdir I often want to manipulate it as a pathname. By introducing Pathname.mktmpdir I can get this behavior.

    Currently I must:

    ```ruby
    Dir.mktmpdir do |dir|
      dir = Pathname(dir)
      # ... code
    end
    ```

    I would like to be able to instead:

    ```ruby
    Pathname.mktmpdir do |dir|
      # ... code
    end
    ```

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

commit e90862f0edc08400183c81e08b7a20d5449f6f9b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-04 06:02:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-04 06:02:52 +0900

    [DOC] Correct documentation for Array#max

    The return value of Array#max is the maximum value per the block, not
    from the block.

commit 3ece042c384b8d630fa7d9bf4ca96774f44c4a82
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-04 06:02:32 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-04 06:02:32 +0900

    [DOC] Tweaks for Array#min (#11786)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 8e7df4b7c674cf408fa570b9593811167bbff04a
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-10-03 21:53:49 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-10-04 05:20:09 +0900

    Rename size_pool -> heap

    Now that we've inlined the eden_heap into the size_pool, we should
    rename the size_pool to heap. So that Ruby contains multiple heaps, with
    different sized objects.

    The term heap as a collection of memory pages is more in memory
    management nomenclature, whereas size_pool was a name chosen out of
    necessity during the development of the Variable Width Allocation
    features of Ruby.

    The concept of size pools was introduced in order to facilitate
    different sized objects (other than the default 40 bytes). They wrapped
    the eden heap and the tomb heap, and some related state, and provided a
    reasonably simple way of duplicating all related concerns, to provide
    multiple pools that all shared the same structure but held different
    objects.

    Since then various changes have happend in Ruby's memory layout:

    * The concept of tomb heaps has been replaced by a global free pages list,
      with each page having it's slot size reconfigured at the point when it
      is resurrected
    * the eden heap has been inlined into the size pool itself, so that now
      the size pool directly controls the free_pages list, the sweeping
      page, the compaction cursor and the other state that was previously
      being managed by the eden heap.

    Now that there is no need for a heap wrapper, we should refer to the
    collection of pages containing Ruby objects as a heap again rather than
    a size pool

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

commit b58a3645229b6c82c1f199fd948ec1fa97c0cc10
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-10-02 20:51:11 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-10-04 05:20:09 +0900

    Inline eden_heap into size_pool

    After the individual tomb_heaps were removed in favour of a global list
    of empty pages, the only instance of rb_heap_t left is the eden_heap
    within each size pool.

    This PR inlines the heap fields directly into rb_size_pool_t to remove
    indirection and remove the SIZE_POOL_EDEN_HEAP macro

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

commit cd71fa96ac5ac46479eae262bff7349b2817d198
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-03 23:59:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-04 04:45:03 +0900

    Remove else case for shared-gc make target

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

commit 568511f3937502aa84a33f321508bd2cda652303
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-04 02:33:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-04 02:43:11 +0900

    [ruby/prism] Handle single global variable character name

    https://github.com/ruby/prism/commit/7a0af49997

commit f8568fbd7f87f749de46abc6ce07b9d3e0c6b40d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-04 01:31:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-04 02:30:20 +0900

    [ruby/prism] Pop lex mode for heredocs in the lexer, not the parser

    https://github.com/ruby/prism/commit/5dd36b979e

commit 77db37813a5a436507260a92c8d41b616db1efd9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-03 00:04:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-04 00:58:20 +0900

    Fix indentation in test_after_gc_start_hook_with_GC_stress

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

commit ac0a8c6230537cc92f137f517517f67ea2e34032
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-04 00:52:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-04 00:52:34 +0900

    [ruby/reline] Make rendering test faster using updated yamatanooroti
    (https://github.com/ruby/reline/pull/747)

    https://github.com/ruby/reline/commit/7534f7f92a

commit 9986a7c3930437bc9d9b88736c22695585aa6c48
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-12 13:29:41 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-10-03 23:27:01 +0900

    Make Object#singleton_method return methods in modules included in or prepended to singleton class

    To simplify the implementation, this makes Object#singleton_method
    call the same method called by Object#method (rb_obj_method), then
    check that the returned Method is defined before the superclass of the
    object's singleton class.  To keep the same error messages, it rescues
    exceptions raised by rb_obj_method, and then raises its own exception.

    Fixes [Bug #20620]

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

commit dc83de49288d6da59fd8b13f701ac437e09f2d23
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-03 02:56:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-03 22:28:13 +0900

    [DOC] Add missing word

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

commit f56be4286f70734ead11b316b85f504ca5b6c6dc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-03 02:55:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-03 22:28:13 +0900

    [DOC] Add pound sign before all <=> methods

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

commit 66124cdb17f5152e7b1b269ca62be1773b127b2b
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-10-03 20:34:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 21:52:02 +0900

    [ruby/prism] Use `partial_script` for the parser translators

    Followup to https://github.com/ruby/prism/pull/3079

    https://github.com/ruby/prism/commit/68f434e356

commit cd96af2cb88a0b98add14eacf0005a8bee505d5d
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-03 21:29:16 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-03 21:29:16 +0900

    Add `IO::Buffer` tests for read and write with length & offset. (#11779)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 218445bb1fbda6b215b42e6149da672d330a7042
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-03 21:27:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 21:27:43 +0900

    [ruby/rdoc] Fix ToRdoc#accept_table
    (https://github.com/ruby/rdoc/pull/1184)

    https://github.com/ruby/rdoc/commit/7b68545094

commit b421964b9d00c685f11e1bcfdb2c0d9005e4f356
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-10-03 20:19:58 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-10-03 20:49:24 +0900

    Remove unused macros

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

commit 9d4af312bd7406fe648f82100ae7f597b53e4de2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-03 19:38:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 19:38:38 +0900

    [ruby/reline] Rename `matches?` as `match?`
    (https://github.com/ruby/reline/pull/753)

    https://github.com/ruby/reline/commit/9230fe162d

commit 5bf8a53063507c17085d6fa6593d2c40277f76f8
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-01 01:37:27 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-03 18:47:09 +0900

    Specify commit hash of debug in bundled_gems

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

commit c94815bab720e88c76b46709a1c0b992cae5353c
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-14 21:57:41 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-03 18:47:09 +0900

    Update spec/ruby/ for colon-style hash inspect

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

commit af1c356c7b318ccdb8abbcf35bd1fff2082bf91b
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-08 00:23:39 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-03 18:47:09 +0900

    Update default gem test for colon-style hash inspect

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

commit f7343b636f4d5939691adc05d9f8008e05d72038
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-07 22:17:03 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-03 18:47:09 +0900

    prettyprint hash with colon style

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

commit 7237af75d2aa700454fbaba9bda7a9283413d903
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-08 00:23:12 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-03 18:47:09 +0900

    Update ruby test for colon-style hash inspect

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

commit f4e548924e36c9b1d19551a943881cb57bb41471
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-08 01:20:03 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-03 18:47:09 +0900

    Update bootstraptest test for colon-style hash inspect

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

commit a8a059125314a411eaf879a9fbfdc68d6c01a667
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-07 02:05:22 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-03 18:47:09 +0900

    Hash#inspect with colon style

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

commit 6435dfce5fcddd22d3570eda2c60cc772c34909c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-03 17:01:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 17:41:13 +0900

    style

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

commit 50b32a3c9206df2ec7bcb4c54a59844c27f1c144
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-03 17:01:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 17:41:13 +0900

    Added repl_type_completor as bundled gems

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

commit 7f251ce5c43d1c0c04b192b730c66b07b5f6530d
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-10-03 16:00:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 16:00:45 +0900

    Update bundled gems list as of 2024-10-03

commit 1b3f18afce19a693921e3021f81bd1289b113036
  Author:     Sadiq Saif <staticsafe@users.noreply.github.com>
  AuthorDate: 2018-11-24 01:38:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 15:04:46 +0900

    each_address should now resolve for AAAA first

    AAAA over A is standards track behaviour as per RFC 6724.

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

commit 4cd893b0487b9a853a57d1e9cdc461bd0dd6de8f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-03 17:40:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 14:20:34 +0900

    [flori/json] Optimize key type check in `json_object_i`

    Rather than checking the class we can check the type.
    This is very subtly different for String subclasses, but I think it's
    OK.

    We also save on checking the type again in the fast path.

    https://github.com/flori/json/commit/772a0201ab

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

commit 57282c62a0df04808d24d63a48be3774f3180763
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-02 20:45:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 14:20:34 +0900

    [flori/json] Optimize `fbuffer_inc_capa`

    On my `JSON.dump` benchmark it shows up as 6% of runtime, compared
    to 40% for `convert_UTF8_to_JSON`.

    Since the vast majority of the time this function is called we
    still have some buffer capacity, we might as well check that
    first and skip the expensive loop etc.

    With this change my profiler now report this function as 0.7%,
    so almost 10x better.

    https://github.com/flori/json/commit/a7206bf2db

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

commit 630c681321cd247a55360e52743a5d706cd46bcb
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-02 16:41:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 14:20:34 +0900

    [flori/json] JSON.dump: avoid redundant UTF-8 validation

    Given that we called `rb_enc_str_asciionly_p`, if the string encoding
    isn't valid UTF-8, we can't know it very cheaply by checking the
    encoding and coderange that was just computed by Ruby, rather than
    to do it ourselves.

    Also Ruby might have already computed that earlier.

    https://github.com/flori/json/commit/4b04c469d5

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

commit a048090bd591ef874f36effb2065d66719c04d59
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-03 12:41:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 13:10:34 +0900

    Update bundled_gems

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

commit d40db5cfecba8bd4fbc4809cf67024be4d83e113
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-03 12:38:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-03 12:38:01 +0900

    [DOC] [pty] Add clean up to `PTY.spawn`

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

commit 9bd2f30d0a73e5fd01aa80cfb5fd1c61b9ef64ff
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-03 12:16:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 12:16:39 +0900

    [ruby/reline] Fix FD leaks (https://github.com/ruby/reline/pull/752)

    `PTY.spawn` with a block detaches the spawned process and leaves it
    running in background even after exiting the given block.  It is the
    responsibility of the caller to clean up the yielded IOs and PID.

    https://github.com/ruby/ruby/actions/runs/11148759246/job/30986064044#step:13:950
    ```
    Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 9 : #<File:/dev/pts/0>
    Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 10 : #<File:/dev/pts/0>
    Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 11 : #<File:/dev/pts/1>
    Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 12 : #<File:/dev/pts/1>
    Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 13 : #<File:/dev/pts/2>
    Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 14 : #<File:/dev/pts/2>
    ```

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

commit 75c4ac3395f609cad55a0e30a59d61ecfd092952
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-03 11:33:48 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-03 11:33:48 +0900

    Update `IO::Buffer` documentation. (#11737)

    Update documentation.

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit e5c26b0f3222a499ccf1b7dddb1e61fb685d1a0a
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-10-02 22:10:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 09:40:57 +0900

    Stop skipping broken tests

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

commit 8877e9d922e159a9d121d5dc7e6d324f59a8b0ad
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-10-02 22:09:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 09:40:57 +0900

    Update rbs test

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

commit e77346153d68bb3846db07e213fc90567af76326
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-02 19:32:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 06:33:02 +0900

    [rubygems/rubygems] Remove compatibility code with old RubyGems

    https://github.com/rubygems/rubygems/commit/f11e42a3c5

commit d3e2d23c60ce4a91ff402aaac36b1072962f632d
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-10-03 03:49:16 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-10-03 04:43:35 +0900

    Fix compilation when RGENGC_CHECK_MODE >= 4

    the mark_function_data callback was moved from the ractor to the VM.

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

commit e7cf2e76398fb226bf87a80ca72599e0b621f668
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-03 03:44:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-03 03:44:57 +0900

    [DOC] Fix indentation in documentation for Array#sort!

commit 77056674a048986257a3370862c255bc7363b610
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-03 03:28:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 03:39:20 +0900

    [ruby/prism] Fix up binding power for singleton method receiver

    https://github.com/ruby/prism/commit/f29ceae5cf

commit 253b76ec0a628b1dbf7529f19a7843595e700568
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-03 02:54:12 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-03 02:54:12 +0900

    [DOC] Tweaks for Array#max (#11768)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 09761e4789d04eff1f407dcb9afcc2f5f93b541f
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-03 02:46:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 02:47:02 +0900

    [ruby/reline] Fix incremental search cancel bug
    (https://github.com/ruby/reline/pull/748)

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

commit 8f4277f40594333a7dcad21fe0ef9138a909e777
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-03 02:36:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 02:36:35 +0900

    [ruby/reline] Add a timeout to cursor_pos
    (https://github.com/ruby/reline/pull/750)

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

commit 9f47f0eb3cd8a67b1a5708cbd3d105b5388af485
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-03 01:12:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-03 02:19:27 +0900

    [DOC] Tweaks for Array#length

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

commit 99620b98ba5a9e24a4996794441e1806af66908e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-03 01:02:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-03 01:02:18 +0900

    fake.rb: Copy options in RUBY_DESCRIPTION to the fake string

    The `RUBY_DESCRIPTION_WITH` macro has been removed already, so there
    are no more descriptions strings with rjit/yjit enabled.

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

commit bf8a8820baeff59d507ce7d32a2f52e46500733f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-02 22:58:58 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-03 00:47:45 +0900

    Deduplicate RGENGC_CHECK_MODE into gc/gc.h

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

commit 2610bf01b26b437df6a3634ffb7629b83ea57e17
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-03 00:16:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 00:27:01 +0900

    [ruby/prism] Fix up doubled range in arguments

    https://github.com/ruby/prism/commit/aee2de91a3

commit 609fdde2c99ad6b59a05808b96886bb6b71f3b8d
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-03 00:12:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-03 00:12:01 +0900

    [DOC] Tweaks for Array.intersect? (#11744)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit a7c04a317f7e16dacab15f2ad9332c86edb0dd5e
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-03 00:11:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-03 00:11:29 +0900

    [DOC] Tweaks for Array#intersection (#11745)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 75ab01f3b77e61091b0b47a57beeeb2db8a1ffe2
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-02 23:55:19 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-02 23:55:19 +0900

    [DOC] Tweaks for Array#last (#11748)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 2e2520ef10d4cbb86123adcb75e5aab664813bec
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-02 23:29:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-02 23:47:53 +0900

    [ruby/prism] Fix up beginless ranges in method definitions

    https://github.com/ruby/prism/commit/ab9d80987a

commit e41e4bacb1664e4f74e7c00f83e0bc81eee897c6
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-02 22:15:25 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-02 22:15:25 +0900

    [DOC] Tweaks for Array#inspect (#11743)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit c1d6d55f5af4b06372c6a016907a351e1ed7414f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-02 22:03:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-02 22:03:32 +0900

    Assert in only one place just after adding an argument

commit 6acf03618a937f5302fbd3043f9c3420a49f8cb3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-02 04:35:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-02 21:54:18 +0900

    Mark iseq keyword default values during compilation

    During compilation, we write keyword default values into the iseq, so we
    should mark it to ensure it does not get GC'd.

    This might fix issues on ASAN like
    http://ci.rvm.jp/logfiles/brlog.trunk_asan.20240927-194923

        ==805257==ERROR: AddressSanitizer: use-after-poison on address 0x7b7e5e3e2828 at pc 0x5e09ac4822f8 bp 0x7ffde56b0140 sp 0x7ffde56b0138
        READ of size 8 at 0x7b7e5e3e2828 thread T0
        #0 0x5e09ac4822f7 in RB_BUILTIN_TYPE include/ruby/internal/value_type.h:191:30
        #1 0x5e09ac4822f7 in rbimpl_RB_TYPE_P_fastpath include/ruby/internal/value_type.h:352:19
        #2 0x5e09ac4822f7 in gc_mark gc/default.c:4488:9
        #3 0x5e09ac51011e in rb_iseq_mark_and_move iseq.c:361:17
        #4 0x5e09ac4b85c4 in rb_imemo_mark_and_move imemo.c:386:9
        #5 0x5e09ac467544 in rb_gc_mark_children gc.c:2508:9
        #6 0x5e09ac482c24 in gc_mark_children gc/default.c:4673:5
        #7 0x5e09ac482c24 in gc_mark_stacked_objects gc/default.c:4694:9
        #8 0x5e09ac482c24 in gc_mark_stacked_objects_all gc/default.c:4732:12
        #9 0x5e09ac48c7f9 in gc_marks_rest gc/default.c:5755:9
        #10 0x5e09ac48c7f9 in gc_marks gc/default.c:5870:9
        #11 0x5e09ac48c7f9 in gc_start gc/default.c:6517:13

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

commit 3e1021b1448a5820d387795e065ae25b9da5abdf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-02 19:08:54 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-02 20:43:40 +0900

    Make default parser enum and define getter/setter

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

commit 4e219d8f7d3e76cf60e747dc16deb3452f297442
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-02 19:04:48 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-02 20:43:40 +0900

    Split appending options to ruby_description

    It's becoming tedious to map each format specifier to an argument.

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

commit acbdb309417a8436ae542cc8948121d9baaf1fed
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-27 16:37:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-02 19:37:26 +0900

    [rubygems/rubygems] Fix error in one source when fetching dependency APIs clearing results from all sources

    https://github.com/rubygems/rubygems/commit/0549ddbcc5

commit bb97061f65d620b225d7638400642e41ad9ee692
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-02 17:31:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 18:03:18 +0900

    SKip failing tests that are caused by unknown IOError

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

commit 973d470288840839bb57bc7ba01047ec7bb702cb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-02 11:37:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 18:03:18 +0900

    Update bundled_gems

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

commit fe8d7ca8538d613e454e185f1f28c9958e825241
  Author:     Nithin Bekal <nithinbekal@gmail.com>
  AuthorDate: 2024-10-02 12:04:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 17:32:35 +0900

    [DOC] Alias Float#magnitude to abs

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

commit b7a33aef9eeb93fcad997ddaa0e8991b9373a32b
  Author:     Nithin Bekal <nithinbekal@gmail.com>
  AuthorDate: 2024-10-02 11:52:04 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-02 17:07:46 +0900

    [DOC] Keep example styles consistent

    The examples of chaining for other methods, such as #tap have the dot at
    the start of the line, while #then has it at the end of the previous
    line. Updated this to have consistent style in Kernel docs.

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

commit bae3d6813470bacbaac281616a07d9079697c882
  Author:     Nithin Bekal <nithinbekal@gmail.com>
  AuthorDate: 2024-10-02 11:51:00 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-02 17:07:46 +0900

    [DOC] Remove repeated examples for Kernel#then

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

commit 5eb7cbf4e3f96444ba6189ecf2d349f35747d5ce
  Author:     Nithin Bekal <nithinbekal@gmail.com>
  AuthorDate: 2024-10-02 11:43:59 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-02 17:06:02 +0900

    [DOC] Alias Kernel#yield_self to #then

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

commit d2ec0e8039ccb24af28570d4944db39050df817c
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-09-28 21:23:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:36:11 +0900

    [ruby/fiddle] test memory-view: ensure releasing in test

    It's for avoiding calling release on exit via GC. If it's happen, Ruby
    will be crashed because Fiddle::MemoryView's finalizer may refer other
    Ruby object. In exit phrase, the referred Ruby object may be already
    freed.

    https://github.com/ruby/fiddle/commit/02915f13de

commit c99108517655db33b45edd5d74e488e2f60dfe66
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-09-28 08:06:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:36:10 +0900

    [ruby/fiddle] test: remove fragile memory leak tests

    https://github.com/ruby/fiddle/commit/0bfcd02bef

commit 9d4e7b376aaeeea2676ca2691cdc52996bfb3e43
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-24 19:44:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:34:55 +0900

    Make spec file for env helpers more generic

commit 50001380846c7a3a5648005b80ac8cae7fbec8f0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-24 19:51:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:34:55 +0900

    [rubygems/rubygems] Fix `bundler/inline` resetting ENV

    https://github.com/rubygems/rubygems/commit/72d8d4dbba

commit a3929a9ca19d69f6ab2f26d4d8ed59c2612ac733
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-24 22:29:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:34:55 +0900

    [rubygems/rubygems] The `BUNDLER_SETUP` env should also be cleaned up

    https://github.com/rubygems/rubygems/commit/47b7e50f64

commit 49483904d8fcac3bd5ef9e897279563235583f4a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-26 22:53:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:34:55 +0900

    [rubygems/rubygems] Make sure MissingSpecVersionError#to_s prints exception message

    Gem command loading errors rely on `#to_s` on the raised exception, but
    in the case of `MissingSpecVersionError` that was only the exception
    name, making it printed twice and no message at all.

    Before:

    ```
    ERROR:  Loading command: install (Gem::MissingSpecVersionError)
            Gem::MissingSpecVersionError
    ```

    After:

    ```
    ERROR:  Loading command: install (Gem::MissingSpecVersionError)
            Could not find 'io-wait' (>= 0.a) - did find: [io-wait-0.3.0-java]
      Checked in 'GEM_PATH=/Users/deivid/Code/rubygems/rubygems/bundler/tmp/1.1/gems/system' , execute `gem env` for more information
    ```

    https://github.com/rubygems/rubygems/commit/d06944bb2f

commit 02d50d9cb17e8daccf788347593e97cae354ba4e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-26 22:52:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:34:54 +0900

    [rubygems/rubygems] Simplify command loading

    https://github.com/rubygems/rubygems/commit/95f60f0e60

commit 3d1eb62bf38e6d6691213018ef29a5680f9d2161
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-26 20:09:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:34:54 +0900

    [rubygems/rubygems] Standarize "ins" test command too

    https://github.com/rubygems/rubygems/commit/517e9a8669

commit 8e73609c7b4c7fdc35e47cefd8f696777c0da5e6
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-26 19:58:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:34:54 +0900

    [rubygems/rubygems] Fix weirdness of "interrupt" test command

    https://github.com/rubygems/rubygems/commit/0a75590ac9

commit 63f31a9ed5e668b609ca5f46510e30e8b20739d0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-01 18:08:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-02 14:33:31 +0900

    [ruby/singleton] Fixed double assignment

    https://github.com/ruby/singleton/commit/9d3c77a868

commit 30775d0b085284a6e0a54bc71025622ecabd8591
  Author:     Nithin Bekal <nithinbekal@gmail.com>
  AuthorDate: 2024-10-02 11:57:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:13:00 +0900

    [DOC] Fix typo in Forwardable docs

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

commit a8a921aef3e3f5a91425e53e4faf44d032a32a97
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-02 12:18:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-02 12:18:35 +0900

    [ruby/irb] Use correct binding in debug mode
    (https://github.com/ruby/irb/pull/1007)

    In debug command, IRB's context was using wrong binding.
    Some code colorization, command detection failed because binding.local_variable returned wrong value.

    https://github.com/ruby/irb/commit/68f718de21

commit 5edc32198895c02f014a778963eaa1297e5d618c
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-01 06:41:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-02 04:47:20 +0900

    [DOC] Tweaks for Array#keep_if

commit e72e18b31d79b16b307c0bdf5b07416ff3ab595e
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-01 06:31:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-02 04:46:25 +0900

    [DOC] Tweaks for Array#join

commit 467ebbebd9b5a6a950bc2c52eb393ba9401ed826
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-02 03:21:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-10-02 04:42:44 +0900

    [ruby/prism] Disallow dynamic patterns in labels at top level followed by pipes

    https://github.com/ruby/prism/commit/ccc746f918

commit e320da60976f6818c8667afb98fe88142c3073d2
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-02 02:01:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-02 02:01:38 +0900

    [ruby/reline] Fix Reline crash with invalid encoding history
    (https://github.com/ruby/reline/pull/751)

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

commit ec230ac6432ea89f1ee53d82a62337d4883dc83a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-01 23:22:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-10-02 00:03:25 +0900

    Resync to latest Prism

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

commit 169a5ee99e1e8742e6821f8b846d39e90c3c9ea8
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-10-01 21:25:09 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-01 23:59:58 +0900

    Use user defined inline rules `user_or_keyword_variable`

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

commit d86b4041b5eca43eea581e4af874e3fd46faaaa2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-01 22:45:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-01 22:51:05 +0900

    [ruby/prism] Disallow empty labels when not allowed

    https://github.com/ruby/prism/commit/399ee28dc1

commit 75568d23e90148490208e3ac5b719406b3e9f75f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-01 21:42:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-01 21:57:00 +0900

    [ruby/prism] Disallow &. after endless range

    https://github.com/ruby/prism/commit/498dd922d4

commit 3932d8a87ad1a9468bb8954dfe117f9bfb54505d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-30 23:14:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-01 21:48:51 +0900

    Replace heap_eden_total_slots with objspace_available_slots

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

commit 86ae409467e3674c142f012ee3b2288b0305d87c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-01 01:03:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-01 20:00:22 +0900

    [Bug #20764] Refactor argument forwarding in lambda

    Reject argument forwarding in lambda:
    - without parentheses
    - after optional argument(s)

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

commit 35e124832e29b65c84d4e0e4e434616859f9bdf5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-30 22:49:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-01 18:46:35 +0900

    [Bug #20755] Frozen string should not be writable via IO::Buffer

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

commit 3ebc85e240c64849e8645ae9b6242abbd1a2b63a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-01 18:41:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 18:41:38 +0900

    Define RactorLocalSingleton on .mspec.constants

commit d109c7c620a9f426b9aa60f9ff3a227fd9794933
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-01 18:32:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 18:32:40 +0900

    Temporary disabled RactorLocalSingleton from constant leak check.

commit 0f00544984f0b2b7fefc7d9039b206f9415fd371
  Author:     rm155 <rohitmenon@verizon.net>
  AuthorDate: 2021-11-09 03:59:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 17:59:43 +0900

    [ruby/singleton] Make compatible with Ruby 2.4

    https://github.com/ruby/singleton/commit/0a77bb492d

commit 2f53c9fc62e48d31101ab3072085a1ace336c938
  Author:     rm155 <rohitmenon@verizon.net>
  AuthorDate: 2021-09-17 11:42:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 17:59:42 +0900

    [ruby/singleton] Clean VERSION freezing

    https://github.com/ruby/singleton/commit/f31334a736

commit d0c1eef51174701889767e1fed584d2d56d9f9c9
  Author:     rm155 <rohitmenon@verizon.net>
  AuthorDate: 2021-08-19 05:51:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 17:59:42 +0900

    [ruby/singleton] Only use RactorLocalSingleton if Ractor is defined

    https://github.com/ruby/singleton/commit/f684d36a47

commit a6e96df573b8180568d7365a258dddc36a246fd1
  Author:     rm155 <rohitmenon@verizon.net>
  AuthorDate: 2021-08-01 05:17:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 17:59:42 +0900

    [ruby/singleton] Change PerRactorSingleton to RactorLocalSingleton

    https://github.com/ruby/singleton/commit/1216a86303

commit 136b30b414b3fcaddf0505d5a72fed8b08b2da3c
  Author:     rm155 <rohitmenon@verizon.net>
  AuthorDate: 2021-07-31 04:45:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 17:59:42 +0900

    [ruby/singleton] Improve Ractor-compliance; Create PerRactorSingleton

    https://github.com/ruby/singleton/commit/ec4f66d9c1

commit 76111af632a0689cbe56787b0fb1ba4c8bbbe2e0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-01 17:08:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 17:35:38 +0900

    expand relative path

commit 4822220e6bab0991a9acc7fc7731d08b67fde8ad
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-01 16:52:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 17:35:38 +0900

    Pass MSPECOPT from compilers.yml

commit af63b4f8b7a659ab78a75af97416c042ca357a3b
  Author:     whtsht <85547207+whtsht@users.noreply.github.com>
  AuthorDate: 2024-10-01 08:00:54 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-01 08:00:54 +0900

    Return an Iterator Instead of a Vector in `addrs_to_pages` Method (#11725)

    * Returning an iterator instead of a vec

    * Avoid changing the meaning of end_page

    ---------

    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

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

commit 30507a4aed83ee0712fbe84875b1d9bec1f1dd70
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-01 02:37:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-01 03:23:32 +0900

    Move RUBY_INTERNAL_EVENT_FREEOBJ into GC implementation

    Instead of calling rb_gc_event_hook inside of rb_gc_obj_free, it should
    be up to the GC implementation to call the event.

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

commit 292c9793abb20242b12973c5fb9db5c612e2a90a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-01 02:55:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-01 02:55:16 +0900

    Remove no longer needed excludes files

commit d592ddd5e619ffe1691b8050de2ccc3e1bd6e080
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2024-09-30 01:39:23 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-01 02:12:56 +0900

    Fix compile issue with a short-circuited if/unless condition and `defined?`

    This caused an issue when `defined?` was in the `if` condition. Its
    instructions weren't appended to the instruction sequence even though it was compiled
    if a compile-time known logical short-circuit happened before the `defined?`. The catch table
    entry (`defined?` compilation produces a catch table entry) was still on the iseq even though the
    instructions weren't there. This caused faulty exception handling in the method.
    The solution is to no add the catch table entry for `defined?` after a compile-time known logical
    short circuit.

    This shouldn't touch much code, it's only for cases like the following,
    which can occur during debugging:

        if false && defined?(Some::CONSTANT)
        "more code..."
        end

    Fixes [Bug #20501]

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

commit 2a58092360c70caf7544544c95549b4c83e81237
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-30 23:03:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-01 01:58:43 +0900

    Remove unneeded prototype for objspace_available_slots

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

commit 6c9b5c16157ae7c9bb551e573e8fb60d2422eaf6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-30 23:51:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-10-01 00:36:29 +0900

    Sync Prism with latest main branch

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

commit c1c9ba77caf7edc6e57252a26afffa849cbe1277
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-30 23:15:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 23:33:58 +0900

    [ruby/prism] Require a delimiter for singleton classes

    https://github.com/ruby/prism/commit/fd58d6a9ea

commit 6b8078cc038e926969ec351bceda26182c04654d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-30 10:03:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-30 22:09:09 +0900

    Don't create empty string for interpolation

    We don't need to create an empty string for interpolation unless it is
    the only element.

    For example:

        "#{hello} world"

    Before:

        0000 putobject                              ""                        (   1)[Li]
        0002 putself
        0003 opt_send_without_block                 <calldata!mid:hello, argc:0, FCALL|VCALL|ARGS_SIMPLE>
        0005 dup
        0006 objtostring                            <calldata!mid:to_s, argc:0, FCALL|ARGS_SIMPLE>
        0008 anytostring
        0009 putobject                              " world"
        0011 concatstrings                          3
        0013 leave

    After:

        0000 putself                                                          (   1)[Li]
        0001 opt_send_without_block                 <calldata!mid:hello, argc:0, FCALL|VCALL|ARGS_SIMPLE>
        0003 dup
        0004 objtostring                            <calldata!mid:to_s, argc:0, FCALL|ARGS_SIMPLE>
        0006 anytostring
        0007 putobject                              " world"
        0009 concatstrings                          2
        0011 leave

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

commit 637067440f74043c6d79fc649ab8acf1afea25a5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-30 16:24:03 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-30 20:39:14 +0900

    [Bug #20752] Slice of readonly `IO::Buffer` also should be readonly

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

commit b93c51c114c2b3c8f9845f3a7bd2c936baf0996d
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-30 19:40:23 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-30 20:35:46 +0900

    Free a buffer allocated by realpath

    8350b48cfa7d344d9e2dc9748c26607c1b89d7df introduced a memory leak bug.

    Will fix [Bug #20773]
    `loop { File.realpath("foo") }` caused memory leak.

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

commit 5ed67f48261ee0d50f12115908dfb9d3463e5fab
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-09-30 20:32:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 20:32:45 +0900

    [ruby/rdoc] Only let browser search through source code until it's
    expanded
    (https://github.com/ruby/rdoc/pull/1181)

    Something that's been bothering me is that while the source code is
    not visible by default, the browser still jump to it when searching.
    Adding the `visible` property prevents this.

    Test it out yourself:
    * `bundle exec rdoc`
    * open `_site/index.html`
    * Search for `NameError`

    Before, you will get a match from `load_yaml` source code, after
    you only get the match when that methods source code is expanded.

    https://github.com/ruby/rdoc/commit/003126cc23

commit 81d26814be036a7b15c587d1e1832d9ddd24601e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-30 19:10:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-30 19:10:16 +0900

    Update test args with bundled gems. webrick has been removed that targets

commit 8cd36a6dab170f4127c58c07b1a388dd3813fb7a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-30 18:39:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-30 18:53:21 +0900

    Don't warn the bundled gems that are migrated at Ruby 3.0.

    We should stop warnings at some point. I decided to that period EOL-ed versions.
    ex. In 2024, Ruby 3.0 is EOL. we removed webrick, rexml, rss from warning targets.

commit c30a3ed027f2ea03d98aedf677368542ee6ca873
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-30 18:17:42 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-30 18:17:42 +0900

    Fix the last character index in an assertion

    Also, when `RUBY_DEBUG` is enabled, objects allocated in shared-gc
    fail at `rb_ractor_confirm_belonging`, so assert it always.

commit ac2786757e1920fb2366a7331650acf6e328b2d6
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-24 20:17:49 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-30 18:04:41 +0900

    Use Named Reference

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

commit 044e57ed7c34bfe2cea6e7dcc685cc0a4050c86f
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-24 20:05:12 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-30 18:04:41 +0900

    Implement SPLAT NODE keyword locations

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

commit 239c1c621e92f519498e421cf825f44667c0e56c
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-09-30 15:59:32 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-09-30 17:43:56 +0900

    LLVM 20 begun

    see also https://github.com/llvm/llvm-project/commit/10c6d6349e51bb245b9deec4aafca9885971135b

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

commit 6abed7eae993ca3a7f17dab3fc4f0adedf90a4af
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-30 15:47:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-30 16:20:33 +0900

    Test with -O3 is flaky now. I disabled it same as before.

commit 3a273c4742e9bf04bc690523fb485860ae4d59e7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-27 14:27:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 14:09:16 +0900

    [rubygems/rubygems] Fix error when changing a path source to a git source if frozen mode

    https://github.com/rubygems/rubygems/commit/4c79ab9b2e

commit 1e0076368832129016814604918013d70383fde9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-27 14:26:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 14:09:16 +0900

    [rubygems/rubygems] Fix duplicated spec names

    https://github.com/rubygems/rubygems/commit/26f6600197

commit 7d318c2cb267fcf7e1f475e37dff473f5e74f1a8
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-09-27 00:24:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 14:08:48 +0900

    [rubygems/rubygems] Fix `stub.activated?` sometimes returning false after activation under bundler

    Closes https://github.com/rubygems/rubygems/pull/8068

    This issue only occurs if the underlying stub is a gem stub:
    https://github.com/Earlopain/rubygems/blob/f56098d8a193dcb94584d721e82b8cff397e5265/bundler/lib/bundler/stub_specification.rb#L109-L112

    https://github.com/rubygems/rubygems/commit/9b0152b3d5

commit dbe69a466f71b5f0e4057d48e13686914ffcec32
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-27 01:44:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 14:08:25 +0900

    [rubygems/rubygems] I _think_ this workaround is no longer necessary

    https://github.com/rubygems/rubygems/commit/6a76fedfd0

commit 060932af989831f31c562781385100f196d63d4d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-27 00:12:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 14:08:25 +0900

    [rubygems/rubygems] Fix old cache format detection when application is not source controlled

    https://github.com/rubygems/rubygems/commit/b2adcc0173

commit 82f250af45f676b3d0a22f00d01cd29bfaa2761c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-26 18:24:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 14:07:58 +0900

    [rubygems/rubygems] `gem cleanup` no longer needs to reset paths

    Since `Gem::Uninstaller` no longer changes paths either.

    https://github.com/rubygems/rubygems/commit/427059d45f

commit d4ac5c573b3b57dc4e62b684be297269defceba2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-26 18:22:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 14:07:57 +0900

    [rubygems/rubygems] Don't add duplicated specs to unresolved specs

    This could happen when a regular gem shadows a default gem.

    https://github.com/rubygems/rubygems/commit/9ef70dd1f7

commit 73d60df6e015d20b418d6307965251cbaec18e68
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-26 18:35:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 14:07:57 +0900

    [rubygems/rubygems] Don't list duplicated version in `Gem::Specification.reset` warning

    https://github.com/rubygems/rubygems/commit/e6e3db821f

commit 1b6c234fec2addd74a4fe2349edd853adde91df8
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-28 17:25:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-30 13:04:49 +0900

    s/reproducable/reproducible/

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

commit 3fe59b04d6ed099c92d749a948f452f562cdae51
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-30 12:03:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-30 12:03:02 +0900

    -l option of 7z is unknown switch with the `ubuntu-latest`.

    https://github.com/ruby/actions/actions/runs/11095032727/job/30823174026#step:3:349

commit 3a9e48b9a4860022f43d8101c0f3249299437886
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-30 11:35:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-30 11:35:59 +0900

    Fixed warning condition with LoadError

commit 28a01e306abbafce2b5586a7d9aacc8e795f0f02
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-30 09:40:34 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-30 10:27:30 +0900

    Ruby exception cannot work here

    Just show error messages then ignore the invalid library.

commit 03ca99c93beece993c607a01dc99425d70eba619
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-30 10:22:43 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-30 10:22:43 +0900

    [DOC] Tweaks for Array#hash (#11704)

commit 5be11c1d1b712db4f77d5acea3d2fd493a6853ff
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-30 10:21:55 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-30 10:21:55 +0900

    [DOC] Tweaks for Array#first (#11687)

commit 116395d31522886fdac52543bfb391ce3a84a34a
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-30 10:21:26 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-30 10:21:26 +0900

    [DOC] Tweaks for Array#flatten! (#11689)

commit 154ec2d242c9f3063d810598d401ed297e4777fd
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-30 10:21:11 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-30 10:21:11 +0900

    [DOC] Tweaks for Array#insert (#11709)

commit 9b4a497456b3f538c4d3237f941f634f97e0e30e
  Author:     Lars Kanis <lars@greiz-reinsdorf.de>
  AuthorDate: 2024-09-29 03:59:02 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-30 08:01:18 +0900

    Fix loading of nonascii script name on Windows

    Since the prism parser was enabled by default, loading scripts with nonascii characters somewhere in the script path is no longer working.
    It only works when the codepage was switched to 65001 (UTF-8).

    This patch doesn't change the encoding of __FILE__. It is still in locale encoding.
    That's why pm_load_file() is called with UTF-8 script name and pm_parse_file() with locale encoding.

    The loading of nonascii script names is part of the test-all, but it doesn't trigger the failure on GHA, since it is using cp 65001.
    On other codepages it fails with:

    [53/71] TestRubyOptions#test_command_line_progname_nonascii = 0.04 s
      1) Failure:
    TestRubyOptions#test_command_line_progname_nonascii [C:/Users/Administrator/ruby/test/ruby/test_rubyoptions.rb:1086]:
    [ruby-dev:48752] [Bug #10555]
    pid 1736 exit 1
    | C:\Users\Administrator\ruby\ruby.exe: No such file or directory -- �.rb (LoadError)
    .

    1. [1/2] Assertion for "stdout"
       | <["\xFF.rb"]> expected but was
       | <[]>.

    2. [2/2] Assertion for "stderr"
       | <[]> expected but was
       | <["C:\\Users\\Administrator\\ruby\\ruby.exe: No such file or directory -- \xFF.rb (LoadError)"]>.

commit a0838a39021ccb0d38d69c2c3e6793290b979747
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-30 00:20:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-30 00:20:35 +0900

    Raise fatal error instead of BUG

    Failures due to the external setting is not a bug of ruby itself.

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

commit 5139a574aa00e034bfb1dbdc9d97aca207916817
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-30 00:19:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-30 00:19:16 +0900

    Make directory for shared-GC libraries at build

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

commit 9d60480094b076e2697248238787b589e3f69ab7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-30 00:01:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-30 00:03:14 +0900

    CI: Remove `SHARED_GC` compilation

    It is checked in ubuntu.yml.

commit 5e466ad3f74dd8dbfd9e5ae772bb42d61b0fd0e3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-29 23:13:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-30 00:03:14 +0900

    CI: Remove `ENABLE_PATH_CHECK` compilation

    As `ENABLE_PATH_CHECK` is defaulted to 1 on other than DOSISH and
    Cygwin, setting this macro to 1 on Ubuntu changes nothing from the
    default.  As for `ENABLE_PATH_CHECK=0` tests, we have real CI
    platforms already.

commit 1f6d2e77d9be9a5a829e60908d21d621f4e1ceb0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-29 23:07:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 23:07:16 +0900

    Remove leading spaces from `LIBPATHFLAG` and `RPATHFLAG`

    Join with a space in `MakeMakefile#libpathflag` instead.

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

commit 9138b388eea48e6f1c005a9a3071aed72799f0cc
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-09-29 22:24:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-29 22:24:09 +0900

    Update bundled gems list as of 2024-09-29

commit 52e40aeab60e46bc59e34e20b80c5c7f4abb889f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-29 21:38:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 21:38:14 +0900

    Bump actions/checkout

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

commit f5d9d9b5f8bce3c1f7003221e02877fcf7e9b727
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-03 22:48:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 21:00:26 +0900

    win32/sspi: Use `start_with?` to see prefix

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

commit 25eb9bded8bd60dcf186f393acf84a4e623b60e1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-03 22:33:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 21:00:26 +0900

    win32/sspi: Rafactor pack/unpack

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

commit 30230ed9e66cfbb97f8ba6859c8313061de7d58b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-03 22:31:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 21:00:26 +0900

    win32/sspi: For Ractor use a constant instead of a class variable

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

commit fc2f196cb8542a81bf271cdb90e0189c54321103
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-03 22:30:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 21:00:26 +0900

    win32/sspi: Fix missing A suffix in an API constant name

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

commit b7bca0ebdc5a48c487bc4fa42e749bb23f66bca0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-03 22:24:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 21:00:26 +0900

    win32/sspi: Fix Win32::SSPI::SSPIResult#== with Integer

    The values of `@@map` are `Symbol`s and `@value` should be an
    `Integer` since unpacked as unsigned long, so this comparison should
    be false always.  Probably comparison with `Symbol` was intended.

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

commit 1179c86384bb6211d45bf721651b100dca1fb53e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-03 22:22:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 21:00:25 +0900

    win32/sspi: Already Fixnum has been removed years ago

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

commit 65a0795c3f92be5bff27211600cf3a832ab43b2f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-29 19:09:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 19:09:59 +0900

    [DOC] Mention block mode of `String#unpack`

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

commit e7144af7504aca614b8f9e04aba848afd3e70945
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-29 19:07:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 19:07:16 +0900

    [DOC] Refine about offset directives

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

commit 066ac0fdc2703ef627dab19cbb275d9aa28857a3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-29 18:53:55 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 18:55:15 +0900

    Expand buffer at once then fill it at once

commit 3b43585a84978e9ca9b474ba55087edfd0863147
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-29 18:07:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 18:45:47 +0900

    Extract common code from `pack_pack` and `pack_unpack_internal`

commit e1889dd7dedb8afc8571de01f363366b1f8f1a24
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-29 11:42:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 11:42:10 +0900

    Assertions should not have side effects

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

commit 01ff65af32a57fda3e9c993bad7761788260e2e5
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-27 21:02:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-29 10:13:21 +0900

    [DOC] Tweaks for Array#replace

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

commit 3986b5fef5f813573f8b60b0ab6644b445e338eb
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-27 06:27:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-29 10:12:17 +0900

    [DOC] Tweaks for Array#include?

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

commit d64528c69564989a9a72e398ba05a4c2a2eefff1
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-27 04:40:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-29 09:59:36 +0900

    [DOC] Tweaks for Array#freeze

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

commit 5a7b66fa97d0a7eee4c9a2e9ce8196f91539986f
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-29 09:58:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-29 09:58:14 +0900

    [DOC] Tweaks for Array#flatten (#11688)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 87212a54862e86f1fa224e68bd3bdb1f81b7da5d
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-09-29 04:34:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-29 06:12:26 +0900

    [rubygems/rubygems] Improve Gem::SpecFetcher tests.

    https://github.com/rubygems/rubygems/commit/6e0456583b

commit 5c18b63d0058d3d4acfce3588c3b47f3ae6c46bd
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-09-29 03:57:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-29 06:12:25 +0900

    [rubygems/rubygems] [tests] Don't expect suggestions that aren't actually helpful.

    https://github.com/rubygems/rubygems/commit/e7d6b92e31

commit 47a3482a414013bdbbcb9da4bc3bea7451977009
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-09-28 10:13:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-29 06:12:25 +0900

    [rubygems/rubygems] Remove code that makes suggest_gems_from_name give worse results.

    https://github.com/rubygems/rubygems/commit/09ec67ffdf

commit b9e225fcbfd045e65f1a95bcef16d97cbfb97287
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-28 13:15:29 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-28 22:37:44 +0900

    Allow dot3 in defs singleton

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

commit 8f678d69895d8b0562a52925a1840b698e021f56
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-27 02:32:27 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-28 20:53:09 +0900

    Implement OP_ASGN2 NODE locations

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

commit 027ef60500c43fecbd4784cf24a99f6955606567
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-28 02:35:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-28 02:45:22 +0900

    [Bug #20763] Add tests

commit addb5fea94ea4011fe7d593ee3c59d6d07803839
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-28 02:06:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-28 02:43:37 +0900

    Fix up compiling popped ranges with non-optimizable bounds

    Fixes [Bug #20763]

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

commit 7e19904c88fde024051333dfbd534b9fd3b26bf9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-28 00:20:09 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-28 01:59:33 +0900

    Remove on `RSTRING_END` dependency from parser

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

commit d1324170b6c25e893b0dec4d7829e6d561b15cf3
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-25 23:59:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-28 01:49:32 +0900

    [rubygems/rubygems] Warning about PATH in `--user-install` mode is only necessary for gems with executables

    https://github.com/rubygems/rubygems/commit/2fe0f452a2

commit b873787a42e4ec23dab3dbc5dded95c4804472d2
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-09-27 23:45:36 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-09-27 23:45:36 +0900

    Update recommendations regarding parsing Ruby code now that Prism is stable

commit 94ad2c3fe9e75f08972f5952c5ba8307172692c2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-27 21:16:52 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-27 23:10:14 +0900

    Reduce creating `rb_parser_string_t` repeatedly for literals.

    Since #11698, `parser_str_new` makes `rb_parser_string_t` and `VALUE`
    but discards the former, and then `STR_NEW3` makes the same thing
    again.

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

commit 710d916c32bea6c2c91a0a052ad4b19027f1f6b7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-27 21:15:12 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-27 23:10:14 +0900

    Add wrapper macros of `rb_parser_str_buf_cat`

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

commit 098649bc59af5ece0b947416cfd3185be3e9a462
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-09-27 22:58:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-27 22:58:36 +0900

    [ruby/rdoc] Add home page link to output message
    (https://github.com/ruby/rdoc/pull/1165)

    The link is clickable in the terminal and opens the home page in the browser

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

commit 7f83bd3732b9ecb66655416a58b4c2bf329afa20
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-09-26 22:04:49 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-27 19:34:35 +0900

    Reduce `is_ascii_string` function dependency for parser

    Changed to use `rb_parser_is_ascii_string` function instead of `is_ascii_string` function

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

commit c1ee5ea28f1684250b1386d8ac9d1e754f54a79e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-27 18:36:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 18:39:05 +0900

    Avoid to unintentional Bundler definition by Bundler::Definition.no_lock

commit ff3f61556fb62d12d57d017f4c54f1a8fd5208be
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-27 17:51:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 18:39:05 +0900

    Only warn fiddle as optional dependency

commit eff16d93025d354de08cb40a11a51acffdf26e57
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-27 02:01:08 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-27 18:20:00 +0900

    Implement OP_ASGN1 NODE locations

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

commit a70adce1ce5fae8eaae385214ac0d2e7d17c1103
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-05 05:01:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 17:03:45 +0900

    Only `warn` about bundled gems when require succeeds

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

commit a896c4cc532b9192732af02ac5cb84d3b5e7f82d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-27 13:25:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 14:39:59 +0900

    RGENGC_FORCE_MAJOR_GC is disabled same as current HEAD

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

commit b63f3c9d9edef09c0b6ad821dadc03cd94b1b978
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-27 12:12:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 14:39:59 +0900

    Use user.login instead of actor

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

commit e58c7a9330e90df3e94352d7fa9c33533a989eaf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-27 11:59:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 14:39:59 +0900

    Applied https://github.com/ruby/ruby/pull/11574

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

commit 52bb90f92d9ebc8c06d1adf364b0e55c746c46b2
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-07-12 12:02:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 14:39:59 +0900

    sequential execution of some CI tasks

    reduced parallelism from some 50-ish to 10-ish so that other jobs
    can run.

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

commit d7e5133d6d9ae882a5f8e1ae85d75104a1e36ec8
  Author:     Nithin Bekal <nithinbekal@gmail.com>
  AuthorDate: 2024-09-27 12:39:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-27 13:31:47 +0900

    [ruby/benchmark] Add example for Benchmark.realtime

    https://github.com/ruby/benchmark/commit/0f278be6c1

commit 3209bb950b07e80a5c32f68e445718be03eb44f0
  Author:     Nithin Bekal <nithinbekal@gmail.com>
  AuthorDate: 2024-09-27 12:37:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-27 13:31:47 +0900

    [ruby/benchmark] Specify unit of time for Benchmark.realtime

    https://github.com/ruby/benchmark/commit/388236685c

commit dc8fa59fb0f1844bb6c44ccba5982b9253f56da0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-27 13:14:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-27 13:14:01 +0900

    Skip non-existent directories in PATH

commit 0c25eb4ffe50d6628dbed0a20e310afeb5993825
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-26 21:12:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 09:58:32 +0900

    s/interation/iteration/

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

commit a50a7c70702c51cca9058b1f070a8e32c64b9774
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-26 21:13:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 09:58:17 +0900

    s/erorr/error/

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

commit 0209b9554dc86b95018b454d81ad48d1a9c6af27
  Author:     Yudai Takada <t.yudai92@gmail.com>
  AuthorDate: 2024-09-27 01:03:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-27 01:03:40 +0900

    Extract `setup_branch`

    From duplicate code in `decl_branch_base` and `add_trace_branch_coverage`.

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

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

commit 1172d65926236e866ff1eb330e510ac2113ddc17
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-27 01:00:34 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-27 01:00:34 +0900

    [DOC] Improve description of `LoadError#path` and `SyntaxError#path`

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

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

commit 9a966a09cb553991b33a642a5583c821ac99dcc5
  Author:     Daniel Insley <dan.insley@eventtemple.com>
  AuthorDate: 2024-09-27 00:18:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-27 00:47:51 +0900

    [ruby/prism] Fix incorrect reference to AlternationPatternNode as non-void expressions

    https://github.com/ruby/prism/commit/68de31919e

commit a73d80db41ca3681bf316cb7741a254f6ba5a505
  Author:     Daniel Insley <dan.insley@eventtemple.com>
  AuthorDate: 2024-09-26 09:40:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-27 00:47:51 +0900

    [ruby/prism] Add fields documentation for AliasMethodNode and AlternationPatternNode

    https://github.com/ruby/prism/commit/6953daebde

commit 1f431b63a2aa4b5c3827de8fbdc6001f6d4ab252
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 23:28:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 23:57:02 +0900

    [ruby/prism] Reject non-assoc ranges with subsequent operators

    https://github.com/ruby/prism/commit/976a3cd0a5

commit 49057f36efd894663cc879be08ada042b287e93a
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-09-26 22:38:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 22:38:04 +0900

    [ruby/irb] Bump version to v1.14.1
    (https://github.com/ruby/irb/pull/1009)

    https://github.com/ruby/irb/commit/04cd2317ef

commit 87f4999b4f838cdbede34d76d85fb046969ad888
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-26 18:54:29 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-26 20:01:20 +0900

    s/accomodate/accommodate/

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

commit cc1e1e77d50833aa5a64f6c399e3def637294f43
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-26 18:54:15 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-26 20:01:20 +0900

    s/useable/usable/

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

commit 3e742579bb5626e1d48c2c2e65cd448399deae9b
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-09-24 12:21:15 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-26 19:20:57 +0900

    Remove rb_str_cat for parser

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

commit 2a65f4c90713c3738993aba34b03eeed02ac7a87
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-26 18:17:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-26 18:17:13 +0900

    Extract `mutable_CFString_new`

    From duplicate code in `rb_CFString_class_initialize_before_fork` and
    `rb_str_append_normalized_ospath`.

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

commit 71b253cdf377acf04fb8bd98221f48d7087946de
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-26 17:10:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-26 17:53:21 +0900

    Added LARCH_REG_FP to dump results

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

commit a07bf6d5ffddff95eb2f83d5950b759fb4285d2e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-26 17:09:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-26 17:53:21 +0900

    Use constants for register numbers

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

commit bdee1772b28127b07c603bd17605f0f2fb67a9ff
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-26 17:08:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-26 17:53:21 +0900

    Removed duplicated dumps

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

commit b2ee760f306a24419d8ae0f4927d731bebbd76ac
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-24 22:08:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-26 17:07:20 +0900

    Update test dependencies

commit b7674a128541dcc5a304bf255e0442aea5dd2d67
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-26 00:26:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 16:59:35 +0900

    [rubygems/rubygems] Get specs to run on JRuby and make them pass

    Turns out we were not running specs on JRuby, so we introduced a
    failure. Seems fine to skip.

    https://github.com/rubygems/rubygems/commit/4e2d6affb3

commit 8cd295ecf09e9419de0e3f3d4eecabfb430f9df1
  Author:     David Carlier <devnexen@gmail.com>
  AuthorDate: 2022-03-24 06:47:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-26 16:34:22 +0900

    regparse possible memory leak fix proposal

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

commit a3fd24e22e4f7c38db891e1ddf8ea3461d28659f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-26 05:24:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 13:56:36 +0900

    [ruby/digest] Import patches for old macOS from MacPorts

    https://github.com/ruby/digest/commit/07a5db2f77

commit 8350b48cfa7d344d9e2dc9748c26607c1b89d7df
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-26 10:32:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-26 10:32:30 +0900

    Import patches for old macOS from MacPorts

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

commit cab81d1bbaa459f686b9da76cbe9822caadc6393
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 04:37:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 04:43:47 +0900

    [ruby/prism] Update templates/include/prism/ast.h.erb

    https://github.com/ruby/prism/commit/dc7164e21c

commit fa7fef270df8b406970711ea5bddcb2e8e85001e
  Author:     Alexander Momchilov <alexander.momchilov@shopify.com>
  AuthorDate: 2024-08-31 04:31:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 04:43:47 +0900

    [ruby/prism] Fix rendering of type overview docs

    https://github.com/ruby/prism/commit/d42bc309cc

commit be331c0eeb5bbc39aa9fe28c8f26357f454e2e2c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 04:06:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 04:19:18 +0900

    [ruby/prism] Fix up more error messages to more closely match parse.y

    https://github.com/ruby/prism/commit/988ac82187

commit 8bf55328da72b1512b41496e6085a607b04a0d05
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-26 03:42:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-26 03:42:40 +0900

    [DOC] Tweaks for Array#find_index (#11686)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit b97ff7dfdae59e688609c008a459cf264362490f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 03:23:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 03:35:05 +0900

    [ruby/prism] Fix up lex difference when ~ heredoc with 0 dedent and line continuation

    https://github.com/ruby/prism/commit/84a9251915

commit 12cf9f2ae57f84278cbee8bc20d2af697efc66f1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 03:16:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 03:34:51 +0900

    [ruby/prism] Fix up void value expression checking for rescue

    https://github.com/ruby/prism/commit/509ff88e92

commit 768ceceb12c7947030132007b91d5bdb97a8839c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 02:23:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 02:33:51 +0900

    [ruby/prism] Disallow label in parentheses

    https://github.com/ruby/prism/commit/b624e09cc6

commit 6a168fbf41589820018a58e9a55b75103486d99a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 00:35:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-26 01:23:29 +0900

    Potentially fix ASAN checks for GC-ing operand

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

commit 505206b8acff856f3829be1e16167e74ea5900dc
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-26 01:18:13 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-26 01:18:13 +0900

    YJIT: Cache Context decoding (#11680)

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

commit a6ea4ddb4e992e11a016f22a7c93eece0eca6e92
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 01:17:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 01:17:08 +0900

    [ruby/prism] Remove use of __assume to simplify

    https://github.com/ruby/prism/commit/4daf58f7a0

commit bf6109c8cc7ea9983ca88ae84a99d57155d847ee
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 01:08:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 01:08:13 +0900

    [ruby/prism] Fix up windows use of __assume

    https://github.com/ruby/prism/commit/9fd0c0901e

commit 57688cd62589d5c6021a0299c036d7785e64aad5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-25 01:52:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 00:47:08 +0900

    [ruby/prism] Support a max depth to protect against malicious payloads

    https://github.com/ruby/prism/commit/a474017bbe

commit b77772496a9e2598366554086e6611fd37b85ec8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-26 00:14:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-26 00:14:14 +0900

    Don't check poisoned for immediates

commit c32fd1b5ed6709dfbed3d19cac881886576e231b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-24 00:56:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-26 00:00:04 +0900

    Add debugging code to vm_objtostring in ASAN

    To debug this issue on CI:
    http://ci.rvm.jp/logfiles/brlog.trunk_asan.20240922-002945

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

commit ecbc4a67c973f512a5876c44efc2ec03ad92b1b6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-25 22:52:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-25 22:52:47 +0900

    Fix up new types for block arguments and splats in prism compiler

commit cafd666adfddf5e623ffc468306610aadb7e294c
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-08-29 05:32:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-25 22:46:31 +0900

    [ruby/prism] Type every node field and mark on-error-only types explicitly

    * For Loader.java, do not deserialize the AST if there are errors, so then Java nodes only have non-error types for fields.

    https://github.com/ruby/prism/commit/ae78e3c605

commit 407f8b871668b257f28303a74cf38cc2b53ca965
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-24 02:55:37 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-25 21:56:14 +0900

    Fix memory leak in Ripper for indented heredocs

    The allocated parser string is never freed, which causes a memory leak.

    The following code leaks memory:

        Ripper.sexp_raw(DATA.read)

        __END__
        <<~EOF
          a
            #{1}
          a
        EOF

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

commit 3830bca5edd6964131971866c80107c89fac5362
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-25 17:36:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-25 17:36:03 +0900

    TestProcess#test_daemon_noclose is only working with macOS 15.1 beta, we should skip with macOS 15.0

commit 0283b5ddb4f3b90ceb1bde9cf76ae57d72ea80bb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-10 15:11:16 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-25 11:18:41 +0900

    Check syntax warnings in built-in scripts

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

commit 0d16c36d0ab2afa2ec79b72b229e69c141ebdaba
  Author:     Josh Cooper <joshcooper@users.noreply.github.com>
  AuthorDate: 2023-02-24 06:15:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-25 10:43:31 +0900

    [win32/registry] Fallback to UTF-8 for unknown codepages

    There are some codepages like cp708 for which no ruby encoding exists:

        $ ruby -e "Encoding.find('cp708')"
        Traceback (most recent call last):
            1: from -e:1:in `<main>'
        -e:1:in `find': unknown encoding name - cp708 (ArgumentError)

    win32/registry uses ENCODING to transcode error messages and expand environment
    variables from UTF-16LE, so using UTF-8 seems like the best choice and is better
    than a hard failure.

    This should resolve [Bug #13831]

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

commit c94ea1cccb24a41a5cd5c7e90aec04cb477b367e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-25 10:40:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-25 10:40:14 +0900

    Fix size modifier for `size_t`

commit 509b577e0126d92f37ae45d83863c449f8666be1
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-24 14:49:00 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-25 09:15:43 +0900

    Implement BLOCK_PASS NODE keyword locations

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

commit 31a88d1554550a7c70fd63991051890c4fd71ac7
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-11 16:17:15 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-25 09:06:42 +0900

    Implement RETURN NODE keyword locations

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

commit 6b46060fc29055b1e1d38da83959f4f2c98edfb1
  Author:     masatoshi_moritsuka <yakiyaki_ikayaki@yahoo.co.jp>
  AuthorDate: 2023-01-01 19:15:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-25 07:06:42 +0900

    doc: Remove description of experimental warnings related pattern matching from documentation

    Ruby 3.2.0 has been released and all experimental warnings about pattern matching have been removed.
    Experimental warnings about pattern matching are no longer output, so I remove description about it from documentation as well.

    cf. https://bugs.ruby-lang.org/issues/18585
    cf. db6b23c76cbc7888cd9a9912790c2068703afdd0
    cf. https://twitter.com/k_tsj/status/1606956336037900289?s=20&t=-_PSYLhYPtYsB9FZhtXl5A

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

commit a80a9cf9ef268d6df44097535cae690636255c8a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-25 04:28:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-25 06:08:17 +0900

    Further split up pm_compile_node to work on -O0 builds

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

commit d5241414c551598ff1389fa7ec07179d46d3db7e
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-25 05:35:43 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-25 05:35:43 +0900

    [DOC] More on Array#fill (#11610)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit d31378dc919cd3f39ee194f452b9dbc5942bb89d
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-25 04:20:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-25 04:25:40 +0900

    [ruby/psych] Use `String#match?` over `String#=~` when applicable

    Save on allocating useless `MatchData` instances.

    https://github.com/ruby/psych/commit/b2d9f16e58

commit e956ce32c8f7d1b1c57ed109f91979173ff22c36
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-25 02:45:12 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-25 03:54:55 +0900

    Use rb_bug instead of UNREACHABLE for assertions

    UNREACHABLE uses __builtin_unreachable which is not intended to be used
    as an assertion.

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

commit c51d8ff458e00b34e03b1fd5ac9bb0665c5a516a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-25 02:20:35 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-25 03:54:55 +0900

    Fix undefined behavior in String#append_as_bytes

    The UNREACHABLE macro calls __builtin_unreachable, which according to
    the [GCC docs](https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html#index-_005f_005fbuiltin_005funreachable):

    > If control flow reaches the point of the __builtin_unreachable, the
    > program is undefined.

    But it can reach this point with the following script:

        "123".append_as_bytes("123")

    This can crash on some platforms with a `Trace/BPT trap: 5`.

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

commit 4f0fe97995cef41a36a229b0ace89263c4e3224f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-24 02:59:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-24 23:23:45 +0900

    Free scope node in prism

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

commit 4113dcc4aec8943edcb0d48e596a61b815a18310
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-24 02:58:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-24 23:23:45 +0900

    Fix memory leak in constant ID list in prism

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

commit b48add3c65c394b2314eb699441f1a1c27b3c2c0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-21 03:01:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-24 23:17:23 +0900

    [rubygems/rubygems] Fix `bundler/inline` overwriting lockfiles

    This was introduced by https://github.com/rubygems/rubygems/commit/0b7be7bb7705, because
    the original patch was not adapted to some recent refactorings.

    https://github.com/rubygems/rubygems/commit/0bca60d6e5

    Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>

commit 07842491c539bf5d0abe29d63380ee5aaf121934
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-24 23:07:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-24 23:07:47 +0900

    [ruby/irb] Use proper locale in history encoding test
    (https://github.com/ruby/irb/pull/1008)

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

commit 2a0ee408afeeae0f1a0d354ac36c400a361f6767
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2024-09-17 21:34:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-24 22:28:01 +0900

    [ruby/error_highlight] Fix error with prism when method given no arguments

    such as:

      p = Proc.new

    This now matches the RubyVM::AbstractSyntaxTree behavior, which is
    not to highlight anything.

    https://github.com/ruby/error_highlight/commit/d5c592a1ba

commit 414a848cc6697067a988e056a787a0a7689c344b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-24 21:41:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-24 22:21:36 +0900

    [ruby/prism] Accept version shorthand like 3.4

    https://github.com/ruby/prism/commit/098f1c4607

commit e02a6097e690f9c3dc22e5ed469304a54cafd7b8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-24 02:53:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-24 21:59:15 +0900

    Set node_id to -1 in add_adjust_info

    add_adjust_info will increment the insns_info_index, so we need to set
    the node_id to -1 to prevent a "Conditional jump or move depends on
    uninitialised value" in Valgrind.

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

commit 8edd6e606f77e5cac764c00f0645d222ec80f711
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-24 21:37:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-24 21:37:19 +0900

    Update deps for prism/options.c

commit ed4a55fc4d7dc5f9f95983f4713cbd0c733601a3
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-09-18 05:44:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-24 21:24:19 +0900

    [ruby/prism] Accept all 3.3.x and 3.4.x Ruby versions for Prism.parse

    https://github.com/ruby/prism/commit/a4fcd5339a

commit b8baf3f3ee7727682cddafb6e7a589ac2a220a38
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-09-21 05:20:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-24 21:24:19 +0900

    [ruby/prism] check_string() should always return a valid C string

    * Otherwise it is invalid e.g. to call strlen() to the result,
      or to assume the argument was a string.
    * All callers are already checking for nil before.

    https://github.com/ruby/prism/commit/8197be883e

commit 5228d349d98a2cac91503b73710c31125e62c244
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-19 02:00:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 15:33:31 +0900

    [rubygems/rubygems] Restore `gem_dir` as an instance variable accessor

    I suspect someone could be setting this instance variable, and the
    previous changes made that no longer effective.

    Also I implemented a previous TOOD in `full_gem_path` the other way
    around:

    > # TODO: This is a heavily used method by gems, so we'll need
    > # to aleast just alias it to #gem_dir rather than remove it.

    I made `gem_dir` an alias of `full_gem_path` rather than the opposite.

    This alternative change keeps both methods symmetric without deprecating
    either of them for now.

    https://github.com/rubygems/rubygems/commit/28983973a3

commit 5f47f0f759ebac7b4ce6e8d3d68cabba81f7ffbc
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-19 01:57:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 15:33:31 +0900

    [rubygems/rubygems] Remove TODO I can't make much sense of

    https://github.com/rubygems/rubygems/commit/6d627e0671

commit 4b1e852d3ee79037e1b3963cc00c1407a7b3dda8
  Author:     Adam Hess <hparker@github.com>
  AuthorDate: 2024-09-19 08:02:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 15:33:31 +0900

    [ruby/error_highlight] Prism added node_id and Node#breadth_first_search in the 1.0 release. These methods are required for Prism to be able to find the method from the backtrace.

    https://github.com/ruby/prism/blob/main/CHANGELOG.md#100---2024-08-28

    In practice you will likely only end up in this situation if you previously had pre-1.0 prism installed and upgrade Ruby to a version with Prism as the default parser.

    https://github.com/ruby/error_highlight/commit/cb574daf62

commit 373f679e48068ebead61a029922a48879c39bef5
  Author:     NAITOH Jun <naitoh@gmail.com>
  AuthorDate: 2024-09-14 06:36:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 15:12:48 +0900

    fix rb_memsearch() document

    ## Why?
    The explanation of x and y is reversed.

    https://github.com/ruby/ruby/blob/ddbd64400199fd408d23c85f9fb0d7f742ecf9e1/re.c#L251-L256
    ```
    long
    rb_memsearch(const void *x0, long m, const void *y0, long n, rb_encoding *enc)
    {
        const unsigned char *x = x0, *y = y0;

        if (m > n) return -1;
    ```

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

commit 4956324af3ef3b3f706a863e3ba5239ad77f73c4
  Author:     MSP-Greg <Greg.mpls@gmail.com>
  AuthorDate: 2024-06-19 01:32:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 15:05:14 +0900

    mingw.yml - fixup to use ucrt, logging

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

commit acf28e835fc649c2a8597ef6244af5a8f61fa24a
  Author:     Lars Kanis <lars@greiz-reinsdorf.de>
  AuthorDate: 2023-10-27 20:50:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 14:06:51 +0900

    Windows: Use Unicode aware WinAPI function for ENV[]=

    This only makes a difference when setting an empty value to a Unicode key.

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

commit 7627a95e414cec5753bae514fd5490777d9afd7f
  Author:     Lars Kanis <lars@greiz-reinsdorf.de>
  AuthorDate: 2023-10-27 19:27:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 14:06:51 +0900

    Windows: Remove ENV code targeting Windows before Vista

    Windows Vista removed the limit to 32768 bytes environment block.
    Also MINGW supports _wputenv_s() for years.

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

commit 0641845a4bcbbeec6f0bc8191c866ac62c370eb3
  Author:     Lars Kanis <lars@greiz-reinsdorf.de>
  AuthorDate: 2023-10-27 19:30:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 14:06:51 +0900

    Windows: Remove compatibility to ancient MSVCRT API

    Using _wputenv_s simplifies the code and we can avoid code duplication by using rb_w32_home_dir() to initialize ENV['HOME'].

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

commit 79e79afee4fffcf211dca11d9bcf10829a7f3eda
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-24 13:32:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 13:32:52 +0900

    Show volume details at Windows platform of GHA

commit 48b3386f6a63f6ae3944441c428aeb6baf5612ba
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-24 08:40:20 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-24 08:40:20 +0900

    Fix a typo

commit 798a115a15f872654916e0a3d3ae58efe4f64e42
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-24 08:39:24 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-24 08:39:31 +0900

    Fix a -Wsign-compare warning

    ../time.c:5247:50: warning: operand of ‘?:’ changes signedness from ‘int’ to ‘long unsigned int’ due to unsignedness of other operand [-Wsign-compare]
     5247 |         int w = (year >= -9999 && year <= 9999 ? year_width : (int)(year < 0) + DECIMAL_SIZE_OF(year));
          |                                                  ^~~~~~~~~~

commit fc043a2e61fac23159a92f581bf9f0dbf8e843f7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-24 03:58:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-24 04:51:16 +0900

    Remove write barrier for non-Ruby object

    enumerator's meth attribute is an ID, which is not a Ruby object, so we
    should not apply the write barrier on it.

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

commit 19c617b51de7f8fc73baa1c404bed3b4e6dbbf69
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-24 00:45:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-24 00:45:21 +0900

    Revert "GC guard current_string in the putobject instruction"

    This reverts commit 69f28ab715a02692fb2a9128bed46044963cbb50.

    This commit is being reverted because it does not fix the ASAN issue in
    the objtostring instruction.

commit f6dcab5f50bc3ab00b17d3ce84bd906b176baa7a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-20 23:52:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-23 23:36:48 +0900

    Assert that objects in write barrier are not dead

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

commit 4c3727c6ace506d00e2e869243b7812ea7d31bc2
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2023-06-22 07:49:58 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-09-23 21:23:58 +0900

    Add anonymous module name spec.

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

commit 5d53993a3773e4299277807a8bbcb63aa552bf68
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-19 23:25:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-23 19:53:32 +0900

    [rubygems/rubygems] Don't try to auto-install dev versions of Bundler not available remotely

    https://github.com/rubygems/rubygems/commit/1a7a3fdeb9

commit d0925c075b5c9de9702adf1949f77faf8fbfc3b8
  Author:     Daniel Colson <danieljamescolson@gmail.com>
  AuthorDate: 2024-09-20 03:48:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-23 19:49:21 +0900

    [rubygems/rubygems] Ensure refs directory in cached git source

    See https://github.com/rubygems/rubygems/issues/8046 for details

    Prior to this commit a cached git source without a specific ref wouldn't
    survive pushing to a remote and then pulling on a different machine.
    We'd end up without a refs directory in the cache, at which point git
    won't recognize it as a repo.

    This commit fixes the problem by adding a refs directory if it's not
    already there. This needs to be done as early as possible, so any git
    commands will work as expected, so this commit adds it before creating
    the app cached git proxy.

    https://github.com/rubygems/rubygems/commit/8c89f0b065

commit c071fedb320d8e7c9edc3087a3386895d59c6100
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-20 22:37:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-23 19:37:57 +0900

    [rubygems/rubygems] Fix `bundle outdated` with `--group` option

    It was printing incorrect output and returning incorrect status.

    https://github.com/rubygems/rubygems/commit/96f5979c7d

commit 7be1fafe58e2baaa1da4dcd6f4854e674f9d3100
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-22 12:14:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-23 14:29:25 +0900

    Refactor `Time#xmlschema`

    And refine uncommon date cases.

    # Iteration per second (i/s)

    |                            |compare-ruby|built-ruby|
    |:---------------------------|-----------:|---------:|
    |time.xmlschema              |      5.020M|   14.192M|
    |                            |           -|     2.83x|
    |utc_time.xmlschema          |      6.454M|   15.331M|
    |                            |           -|     2.38x|
    |time.xmlschema(6)           |      4.216M|   10.043M|
    |                            |           -|     2.38x|
    |utc_time.xmlschema(6)       |      5.486M|   10.592M|
    |                            |           -|     1.93x|
    |time.xmlschema(9)           |      4.294M|   10.340M|
    |                            |           -|     2.41x|
    |utc_time.xmlschema(9)       |      4.784M|   10.909M|
    |                            |           -|     2.28x|
    |fraction_sec.xmlschema(10)  |    366.982k|    3.406M|
    |                            |           -|     9.28x|
    |future_time.xmlschema       |    994.595k|   15.853M|
    |                            |           -|    15.94x|

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

commit b811a9a097f2ce9ed9b200be84523698bc693e54
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-22 00:22:59 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-23 09:19:37 +0900

    Implement CASE3 NODE keyword locations

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

commit 5334766bebcb471549b300c6e6e9cf0d08575116
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-22 00:17:52 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-23 09:19:37 +0900

    Implement CASE2 NODE keyword locations

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

commit feac2b4b77b337a637d80793c53b680e5697cab6
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-22 00:13:16 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-23 09:19:37 +0900

    Implement CASE NODE keyword locations

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

commit 02b36f75721aa61d48e3031c71695837d7a8a410
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-09-21 20:11:27 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-09-23 09:11:54 +0900

    Unpoison page->freelist before trying to assert on it

    Otherwise trying to deref the pointer can cause an ASAN crash, even
    though the only reason we're dereferencing it is so that we can assert
    on it.

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

commit 95d26ee41e136088560caa04943d177342795b5b
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-09-21 08:39:42 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-22 12:22:20 +0900

    Reuse dedent_string function in rb_ruby_ripper_dedent_string function

    This change is reduce Ruby C API dependency for Universal Parser.
    Reuse dedent_string functions in rb_ruby_ripper_dedent_string functions and remove dependencies on rb_str_modify and rb_str_set_len from the parser.

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

commit 9f574fa12f0cbe9d7aa4a11a6c7055ed32f02822
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-21 06:57:56 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-09-22 03:00:23 +0900

    Make Complex#{inspect,to_s} work correctly if real part #inspect returns frozen string

    Make static f_format function take a non-frozen string to append
    to.

    This does not result in an additional allocation for #inspect,
    but it does result in an additional allocation for #to_s.

    Fixes [Bug #20337]

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

commit 75ed086348da66e4cfe9488ae9ece5462dd2aef9
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-09-10 12:22:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-21 02:17:21 +0900

    [ruby/prism] Fix `kDO_LAMBDA` token incompatibility for `Prism::Translation::Parser::Lexer`

    ## Summary

    This PR fixes `kDO_LAMBDA` token incompatibility between Parser gem and `Prism::Translation::Parser` for lambda `do` block.

    ### Parser gem (Expected)

    Returns `kDO_LAMBDA` token:

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "-> do end"; p Parser::Ruby33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:tLAMBDA, ["->", #<Parser::Source::Range example.rb 0...2>]], [:kDO_LAMBDA, ["do", #<Parser::Source::Range example.rb 3...5>]],
    [:kEND, ["end", #<Parser::Source::Range example.rb 6...9>]]]
    ```

    ### `Prism::Translation::Parser` (Actual)

    Previously, the parser returned `kDO` token when parsing the following:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "-> do end"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:tLAMBDA, ["->", #<Parser::Source::Range example.rb 0...2>]], [:kDO, ["do", #<Parser::Source::Range example.rb 3...5>]],
    [:kEND, ["end", #<Parser::Source::Range example.rb 6...9>]]]
    ```

    After the update, the parser now returns `kDO_LAMBDA` token for the same input:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "-> do end"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:tLAMBDA, ["->", #<Parser::Source::Range example.rb 0...2>]], [:kDO_LAMBDA, ["do", #<Parser::Source::Range example.rb 3...5>]],
    [:kEND, ["end", #<Parser::Source::Range example.rb 6...9>]]]
    ```

    ## Additional Information

    Unfortunately, this kind of edge case doesn't work as expected; `kDO` is returned instead of `kDO_LAMBDA`.
    However, since `kDO` is already being returned in this case, there is no change in behavior.

    ### Parser gem

    Returns `tLAMBDA` token:

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "-> (foo = -> (bar) {}) do end"; p Parser::Ruby33.new.tokenize(buf)[2]'
    ruby 3.3.5 (2024-09-03 revision https://github.com/ruby/prism/commit/ef084cc8f4) [x86_64-darwin23]
    [[:tLAMBDA, ["->", #<Parser::Source::Range example.rb 0...2>]], [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 3...4>]],
    [:tIDENTIFIER, ["foo", #<Parser::Source::Range example.rb 4...7>]], [:tEQL, ["=", #<Parser::Source::Range example.rb 8...9>]],
    [:tLAMBDA, ["->", #<Parser::Source::Range example.rb 10...12>]], [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 13...14>]],
    [:tIDENTIFIER, ["bar", #<Parser::Source::Range example.rb 14...17>]], [:tRPAREN, [")", #<Parser::Source::Range example.rb 17...18>]],
    [:tLAMBEG, ["{", #<Parser::Source::Range example.rb 19...20>]], [:tRCURLY, ["}", #<Parser::Source::Range example.rb 20...21>]],
    [:tRPAREN, [")", #<Parser::Source::Range example.rb 21...22>]], [:kDO_LAMBDA, ["do", #<Parser::Source::Range example.rb 23...25>]],
    [:kEND, ["end", #<Parser::Source::Range example.rb 26...29>]]]
    ```

    ### `Prism::Translation::Parser`

    Returns `kDO` token:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "-> (foo = -> (bar) {}) do end"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.3.5 (2024-09-03 revision https://github.com/ruby/prism/commit/ef084cc8f4) [x86_64-darwin23]
    [[:tLAMBDA, ["->", #<Parser::Source::Range example.rb 0...2>]], [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 3...4>]],
    [:tIDENTIFIER, ["foo", #<Parser::Source::Range example.rb 4...7>]], [:tEQL, ["=", #<Parser::Source::Range example.rb 8...9>]],
    [:tLAMBDA, ["->", #<Parser::Source::Range example.rb 10...12>]], [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 13...14>]],
    [:tIDENTIFIER, ["bar", #<Parser::Source::Range example.rb 14...17>]], [:tRPAREN, [")", #<Parser::Source::Range example.rb 17...18>]],
    [:tLAMBEG, ["{", #<Parser::Source::Range example.rb 19...20>]], [:tRCURLY, ["}", #<Parser::Source::Range example.rb 20...21>]],
    [:tRPAREN, [")", #<Parser::Source::Range example.rb 21...22>]], [:kDO, ["do", #<Parser::Source::Range example.rb 23...25>]],
    [:kEND, ["end", #<Parser::Source::Range example.rb 26...29>]]]
    ```

    As the intention is not to address such special cases at this point, a comment has been left indicating that this case still returns `kDO`.
    In other words, `kDO_LAMBDA` will now be returned except for edge cases after this PR.

    https://github.com/ruby/prism/commit/2ee480654c

commit 69f28ab715a02692fb2a9128bed46044963cbb50
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-21 01:34:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-21 02:07:38 +0900

    GC guard current_string in the putobject instruction

    This is a band-aid solution for #11655 that only applies the fix for the
    putobject instruction before the objtostring instruction.

    This should help fix the use-after-poison in the ASAN CI.

    http://ci.rvm.jp/logfiles/brlog.trunk_asan.20240920-082802

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

commit 54a21851fef85563940dffbb2fe19e1da69d44bf
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-20 21:24:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-21 00:57:42 +0900

    [rubygems/rubygems] Disallow RubyGems warnings during Bundler test suite

    https://github.com/rubygems/rubygems/commit/472371ee1e

commit 8dd87a66f58dcc35fea871c9b120e230043e9051
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-20 21:21:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-21 00:57:41 +0900

    [rubygems/rubygems] I don't think we need a conditional shebang

    https://github.com/rubygems/rubygems/commit/7ba7073a35

commit 9bf3210adba9129f429ddf2489515f67a43c640d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-20 20:59:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-21 00:57:41 +0900

    [rubygems/rubygems] Fix RubyGems warnings about missing shebang

    https://github.com/rubygems/rubygems/commit/362c960497

commit c262861e5c999e080eba29a12b789724db178303
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-20 20:22:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-21 00:57:40 +0900

    [rubygems/rubygems] Fix RubyGems warnings about pre-release dependencies

    Nothing here relies on the dependency being on a pre-release, and
    Bundler does not use prereleases in the realworld.

    https://github.com/rubygems/rubygems/commit/96f5742ff1

commit c30297b3d19283ec27b1d0248bed9fca6092038b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-20 20:13:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-21 00:57:39 +0900

    [rubygems/rubygems] Fix RubyGems warnings about incorrect executable permissions

    https://github.com/rubygems/rubygems/commit/92dcf60fc1

commit 42a6916a3c120afcce76910059e09408ace3c24b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-20 20:12:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-21 00:57:39 +0900

    [rubygems/rubygems] Fix RubyGems warnings about minimum required Ruby

    https://github.com/rubygems/rubygems/commit/8f262f3a47

commit f515a1ab4b04ae79e02194e1f25a400b9f3f8f66
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-21 00:20:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-21 00:42:12 +0900

    [ruby/prism] Introduce partial_script option

    https://github.com/ruby/prism/commit/b28877fa4f

commit 2882408dcb2b30a2f0041d8712e75d614149c6d7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-20 23:58:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-20 23:58:19 +0900

    Remove unneeded function prototype for rb_gc_impl_mark

commit 43e3416b700e421ffdff3a9c534e1de620bb7ad6
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-09-20 07:10:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-20 23:26:13 +0900

    [rubygems/rubygems] Unconditionally set installed_by_version

    It has been supported since RubyGems 2.2.0 via https://github.com/rubygems/rubygems/commit/4525e45a4d45

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/bf39c583e8

commit 276bb584570eef4565a11d0dbb246b2b4aed8390
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-20 19:39:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-20 21:09:16 +0900

    Update parsey.yml as others

commit 511925f99b4fc87b5461c42f3fd4de05670bea6f
  Author:     OKURA Masafumi <masafumi.o1988@gmail.com>
  AuthorDate: 2023-12-15 11:26:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-20 19:26:37 +0900

    [ci-skip] Fix doc for `refinements`

    The current doc is partially wrong since `refinements` method
    returns an array of `Refinement` class, not `Module`.
    I'm not sure if it's right to link to `Refinement`, but it has
    some documentation so it should be useful.
    https://docs.ruby-lang.org/en/3.2/Refinement.html

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

commit 34e008d0756a355e0658f9b52f7d66b4b8eee388
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-20 19:13:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-20 19:13:39 +0900

    [ruby/irb] Fix debug command in nomultiline mode
    (https://github.com/ruby/irb/pull/1006)

    * Fix debug command in nomultiline mode

    * context.colorize_code -> context.colorize_input

    https://github.com/ruby/irb/commit/71f4d6bfb5

commit cf29594c03f7d3d4200ab346d81008b66301be36
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-18 23:57:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-20 18:58:24 +0900

    [rubygems/rubygems] Don't try to install locked bundler when `--local` is passed

    https://github.com/rubygems/rubygems/commit/907d46964d

commit aa2662d5906cb3d7b55b42539b39976f5a32856a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-20 16:14:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-20 16:23:55 +0900

    Simplify offset calculations of `tbl0208`

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

commit 75a8c937e75a0b57fbdbc3d72a2429f5799a42e4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-03-24 01:42:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-20 16:23:55 +0900

    [Bug #18651] Pass undefined region in CP51932 as is to CP50220

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

commit 546f13fded6481e89c8e1f8a9f85d2ccd167f4d7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-03-24 01:37:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-20 16:23:55 +0900

    Define `tbl0208` as a static array

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

commit a8d600edff913e5e35d74f563f1f21eb8f7ab367
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-03-24 01:34:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-20 16:23:55 +0900

    Extract `iso2022jp_put_state`

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

commit 26a3de0dfde2399fdda42b41602906cae622d3a5
  Author:     Silvio Traversaro <silvio@traversaro.it>
  AuthorDate: 2020-11-11 07:02:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-20 12:20:27 +0900

    Define HAVE_ISINF for Visual Studio >= 2013

    isinf is defined in Visual Studio since version 2013.

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

commit 2230ac4a28a727bbc621fb085d2d5ed0b6771ca5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-19 05:43:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-20 03:51:21 +0900

    Fix potentially missing write barrier in iseq_build_kw

    We're writing objects to the iseq but not firing the write barrier.

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

commit ead280fe8b12bfe074cb43abb8a831932f4f2335
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-19 05:40:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-20 03:51:21 +0900

    Replace RB_OBJ_WRITTEN with RB_OBJ_WRITE in iseq_set_arguments_keywords

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

commit 7a2b5ed5ee10c627f5b47c7dab1f7d0681277162
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-19 05:40:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-20 03:51:21 +0900

    Replace RB_OBJ_WRITTEN with RB_OBJ_WRITE in pm_compile_scope_node

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

commit dc64448202299633a235f310b8bf2192263f274f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-20 02:14:17 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-20 02:14:17 +0900

    Remove an unused variable

commit d9981beb40ae9ed4fdce788ed629b94a75f2761b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-19 00:40:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-20 01:10:27 +0900

    [DOC] Improve docs for GC.latest_gc_info

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

commit 6118e8a47394409b53164b60e79fadf348b97db3
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-10 12:48:32 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-09-19 23:34:01 +0900

    Fix method caching bug when including/prepend module A that prepends module B

    Fix by always adding the generated iclass to the subclasses list,
    otherwise the method cache for the iclass is not cleared when
    the method in the module is overwritten.

    Fixes [Bug #20716]

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

commit 167fba52f0fa233e930a0f2b70cc8b368b7e23f9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-19 03:54:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-19 21:21:10 +0900

    Remove rb_gc_impl_initial_stress_set

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

commit dc8c382266b056fa51408806478218f5230fbce2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-19 17:23:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-19 18:08:12 +0900

    Fix bug at fork on FreeBSD

    The main thread in a forked process appears not to own the read-write
    lock.

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

commit d9f6e326ad2f8c72282b691547bf6c0c2e3a26ce
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-19 18:06:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-19 18:06:28 +0900

    Don't update lockfile with bundler/inline

commit 46ee05f05a01b528ba3fc1cb13b265f2dc9ef749
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-19 16:23:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-19 16:23:08 +0900

    Added missing block arg

commit 59db92a1a18992d1b95af3cac14855c9f4900649
  Author:     Akinori MUSHA <knu@idaemons.org>
  AuthorDate: 2024-09-19 16:11:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-19 16:12:00 +0900

    [ruby/set] 2024

    https://github.com/ruby/set/commit/ea95c5a3d2

commit e53d2f2092111828d692c85b5f0d0d57be1d095f
  Author:     Akinori MUSHA <knu@idaemons.org>
  AuthorDate: 2024-09-19 16:09:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-19 16:11:58 +0900

    [ruby/set] Reword the document for to_a and clarify the implementation notes

    ref. https://github.com/ruby/ruby/pull/11453

    https://github.com/ruby/set/commit/3cf6d11bd2

commit 24b587e7ba08e9347d4b4f02c6442eac7ccba54c
  Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
  AuthorDate: 2024-04-24 21:38:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-19 14:59:24 +0900

    Use ppc64le coroutines for powerpc64-freebsd*

    There is nothing endianness-related in ppc64le and all the tests pass on both ucontext and ppc64le coroutines on powerpc64-freebsd14.0

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

commit c362206a48cb34eb207ecf3df9ca53b487951caa
  Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
  AuthorDate: 2024-04-22 16:42:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-19 14:59:24 +0900

    Use ppc64le coroutines on powerpc64le-freebsd*

    Only one ractor-related test fails, but it also fails with ucontext.

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

commit 8dc0d2904a7d859b463a3f44ac73e5d4540a1cc1
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-04 04:17:12 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-09-19 13:29:07 +0900

    Update exception message in string_for_symbol

    This is a static function only called in two places (rb_to_id and
    rb_to_symbol), and in both places, both symbols and strings are
    allowed.  This makes the error message consistent with rb_check_id
    and rb_check_symbol.

    Fixes [Bug #20607]

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

commit 268c72377b06b7d84a0998ca241340d0f58768f6
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-19 08:54:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-19 08:54:56 +0900

    Raise a compile error for break/next/redo inside eval in cases where it is optimized away

    In cases where break/next/redo are not valid syntax, they should
    raise a SyntaxError even if inside a conditional block that is
    optimized away.

    Fixes [Bug #20597]

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

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

    Merged-By: jeremyevans <code@jeremyevans.net>

commit 984a791d58ec4350d62714a2d063c1bb54707bb6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-18 23:40:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-19 05:47:59 +0900

    [DOC] Escape the word GC in GC.config

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

commit 29f2cb83fb72d970ee07004b2fc019fd31efd823
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-19 04:46:07 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-19 04:46:07 +0900

    Fix evaluation order issue in f(**h, &h.delete(key))

    Previously, this would delete the key in `h` before keyword
    splatting `h`.  This goes against how ruby handles `f(*a, &a.pop)`
    and similar expressions.

    Fix this by having the compiler check whether the block pass
    expression is safe.  If it is not safe, then dup the keyword
    splatted hash before evaluating the block pass expression.

    For expression: `h=nil; f(**h, &h.delete(:key))`

    VM instructions before:

    ```
    0000 putnil                                                           (   1)[Li]
    0001 setlocal_WC_0                          h@0
    0003 putself
    0004 getlocal_WC_0                          h@0
    0006 getlocal_WC_0                          h@0
    0008 putobject                              :key
    0010 opt_send_without_block                 <calldata!mid:delete, argc:1, ARGS_SIMPLE>
    0012 splatkw
    0013 send                                   <calldata!mid:f, argc:1, ARGS_BLOCKARG|FCALL|KW_SPLAT>, nil
    0016 leave
    ```

    VM instructions after:

    ```
    0000 putnil                                                           (   1)[Li]
    0001 setlocal_WC_0                          h@0
    0003 putself
    0004 putspecialobject                       1
    0006 newhash                                0
    0008 getlocal_WC_0                          h@0
    0010 opt_send_without_block                 <calldata!mid:core#hash_merge_kwd, argc:2, ARGS_SIMPLE>
    0012 getlocal_WC_0                          h@0
    0014 putobject                              :key
    0016 opt_send_without_block                 <calldata!mid:delete, argc:1, ARGS_SIMPLE>
    0018 send                                   <calldata!mid:f, argc:1, ARGS_BLOCKARG|FCALL|KW_SPLAT|KW_SPLAT_MUT>, nil
    0021 leave
    ```

    This is the same as 07d3bf4832532ae7446c9a6924d79aed60a7a9a5, except that
    it removes unnecessary hash allocations when using the prism compiler.

    Fixes [Bug #20640]

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

    Merged-By: jeremyevans <code@jeremyevans.net>

commit e358104e6ef57abaa51bb4c0f2ae9fe1bda18a4e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-18 23:34:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-19 04:18:07 +0900

    [DOC] Fix formatting for ways to create Range objects

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

commit 9c12c39ed175c634dfa0e56619cb30a49e292043
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-19 03:26:10 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-09-19 03:26:10 +0900

    Revert "Fix evaluation order issue in f(**h, &h.delete(key))"

    This reverts commit 07d3bf4832532ae7446c9a6924d79aed60a7a9a5.

    No failures in the pull request CI, but there are now allocation
    test failures.

commit 07d3bf4832532ae7446c9a6924d79aed60a7a9a5
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-19 03:18:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-19 03:18:29 +0900

    Fix evaluation order issue in f(**h, &h.delete(key))

    Previously, this would delete the key in h before keyword
    splatting h.  This goes against how ruby handles f(*a, &a.pop)
    and similar expressions.

    Fix this by having the compiler check whether the block pass
    expression is safe.  If it is not safe, then dup the keyword
    splatted hash before evaluating the block pass expression.

    For expression: `h=nil; f(**h, &h.delete(:key))`

    VM instructions before:

    ```
    0000 putnil                                                           (   1)[Li]
    0001 setlocal_WC_0                          h@0
    0003 putself
    0004 getlocal_WC_0                          h@0
    0006 getlocal_WC_0                          h@0
    0008 putobject                              :key
    0010 opt_send_without_block                 <calldata!mid:delete, argc:1, ARGS_SIMPLE>
    0012 splatkw
    0013 send                                   <calldata!mid:f, argc:1, ARGS_BLOCKARG|FCALL|KW_SPLAT>, nil
    0016 leave
    ```

    VM instructions after:

    ```
    0000 putnil                                                           (   1)[Li]
    0001 setlocal_WC_0                          h@0
    0003 putself
    0004 putspecialobject                       1
    0006 newhash                                0
    0008 getlocal_WC_0                          h@0
    0010 opt_send_without_block                 <calldata!mid:core#hash_merge_kwd, argc:2, ARGS_SIMPLE>
    0012 getlocal_WC_0                          h@0
    0014 putobject                              :key
    0016 opt_send_without_block                 <calldata!mid:delete, argc:1, ARGS_SIMPLE>
    0018 send                                   <calldata!mid:f, argc:1, ARGS_BLOCKARG|FCALL|KW_SPLAT|KW_SPLAT_MUT>, nil
    0021 leave
    ```

    Fixes [Bug #20640]

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

    Merged-By: jeremyevans <code@jeremyevans.net>

commit f8e1c93fe1433b039caa48f87440a938781c00fc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-17 23:33:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-19 01:58:05 +0900

    Move more of GC.latest_gc_info into Ruby

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

commit 461c48960da24fbc47735b47814a6b175c107209
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-14 02:22:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-19 01:42:14 +0900

    [rubygems/rubygems] Add a note about when hack can be removed

    https://github.com/rubygems/rubygems/commit/058b29fe98

commit ae214be9d678756c5af26fd9161f03ee8340e1c7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 18:14:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-19 01:42:14 +0900

    [rubygems/rubygems] Fix TODO

    https://github.com/rubygems/rubygems/commit/2cd13005f6

commit 47db8bc01cac3b0008de62a0f6300ec00acef9b1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 18:14:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-19 01:42:13 +0900

    [rubygems/rubygems] Stop fighting with ourselves

    https://github.com/rubygems/rubygems/commit/7cf2fdcfa1

commit c14b60630d680addd5b4ef9c9b159a26a5446483
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2024-09-14 01:42:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-19 00:52:57 +0900

    Fix coding issue in prism_compile.c

    Make sure to set back `ISEQ_COMPILE_DATA(iseq)->current_block` for
    forwarding super nodes with a block.

    Fixes [Bug #20740]

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

commit 96da3f16a0e4ad9c14197d5ed794cecf1abf9546
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-18 03:10:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-19 00:52:27 +0900

    [ruby/prism] Allow returns in default parameter values

    https://github.com/ruby/prism/commit/e98ea15596

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

commit 5df5eba465762880e50fb17bffb5ab8030fd5557
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-17 23:55:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-18 23:18:47 +0900

    Change rb_gc_impl_get_measure_total_time to return a bool

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

commit f82618578666ee720bdc0ec8e4aeace541f2d953
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-18 21:03:48 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-18 21:03:48 +0900

    [Bug #20754] Document in hash.rb

commit 4797b0704ae49fb42c8ad9a45028efbe2298b5f5
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-18 11:16:22 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-18 11:16:22 +0900

    Prevent a warning (retry)

    ```
    test/ruby/test_case.rb:75: warning: 'when' clause on line 75 duplicates 'when' clause on line 75 and is ignored
    ```

commit 94a17f32796955750b6ccd63f3a6bbdaec8997e6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-17 13:53:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-18 09:59:01 +0900

    Detect existing Visual Studio instances using `vswhere.exe`

    https://learn.microsoft.com/en-us/visualstudio/install/tools-for-managing-visual-studio-instances?view=vs-2022#using-vswhereexe
    > `vswhere.exe` is automatically included in Visual Studio 2017 and
    > later

commit 7c4b028435aa83ee42f3db2ecf47f53a1c2247cf
  Author:     Randy Stauner <randy.stauner@shopify.com>
  AuthorDate: 2024-09-18 09:06:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-18 09:06:27 +0900

    YJIT: Accept key for runtime_stats to return only that stat (#11536)

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

commit 39679d7fabca7fe0918b538e746d5d4381862bce
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-18 02:06:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-18 07:12:12 +0900

    [ruby/uri] Fix spelling of "cannot"

    https://github.com/ruby/uri/commit/77241d6508

commit 5307c65c76774f8a5964ccdb8ed94412962b5eaa
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-17 23:41:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-18 05:35:52 +0900

    Make rb_gc_impl_set_measure_total_time return void

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

commit b203e667c91960b732269b3dd182c422e1a0a74b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-18 02:00:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-18 05:09:07 +0900

    [rubygems/rubygems] Fix spelling, it's "cannot" rather than "can not"

    https://github.com/rubygems/rubygems/commit/3434f094a2

commit dc61c7fc7d64e9ad75f7e0ce0239d04a807f78d7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-18 00:41:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-18 04:22:43 +0900

    Rename rb_gc_impl_get_profile_total_time to rb_gc_impl_get_total_time

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

commit 2af080bd3031cc4ea37c985f5782355df151ab1c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-18 00:39:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-18 04:22:43 +0900

    Change rb_gc_impl_get_profile_total_time to return unsigned long long

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

commit 5de7517bcb735b9d9c0daddaf7f519f63b033a9e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-18 00:10:58 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-18 04:22:43 +0900

    Use unsigned long long for marking and sweeping time

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

commit 748933aa1b9f6067dbb24fad99aa66bf1f93b4cd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-18 03:37:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-18 03:47:27 +0900

    [ruby/prism] Accept "do" blocks in some parameter default values

    https://github.com/ruby/prism/commit/6d7b734dbe

commit 0160dafc4c52b84bb1f989670b54186505649493
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-17 04:29:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-17 23:34:26 +0900

    Replace all GC.disable with EnvUtil.without_gc

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

commit 82151a86305d79cd2301d92258462f25fc28ac80
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-17 23:07:44 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-17 23:07:44 +0900

    Fix a typo, sorry!

commit fd5e583990330f2d84d05d1ae1ceea2a472b6352
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-17 22:32:09 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-17 22:52:25 +0900

    Prevent two warnings

    ```
    /home/chkbuild/chkbuild/tmp/build/20240917T123003Z/ruby/test/ruby/test_case.rb:73: warning: 'when' clause on line 73 duplicates 'when' clause on line 73 and is ignored
    /home/chkbuild/chkbuild/tmp/build/20240917T123003Z/ruby/test/ruby/test_syntax.rb:333: warning: key :k1 is duplicated and overwritten on line 333
    ```

commit cf063c008fd988def961fdddf7616e52345af3f9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-12 23:40:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-17 20:10:58 +0900

    [rubygems/rubygems] Bump rubies in CI to 3.3.5

    A spec needed changes because now loading the default `json` prints a
    warning about `ostruct` getting loaded although it will be removed in
    the future. Use a different default gem to test this.

    https://github.com/rubygems/rubygems/commit/7415a66906

    Co-authored-by: Samuel Giddins <segiddins@segiddins.me>

commit 1ecac5d4ed620247bdb74fa2c20e1665fae75b1a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-17 16:16:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 16:16:45 +0900

    TestProcess#test_daemon_noclose is working fine with macOS 15.1 beta3 and Xcode 16 RC

commit 95f08f2b7fcbad889e4aef7aa941da3da3e8e74b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-17 15:44:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 15:44:18 +0900

    Skip failing examples related with https://github.com/ruby/ruby/commit/d81b0588bb3c97167d1f7e2d2a74185e0c19b68c

commit c0116860ba2e1d3efed71de35942f0ac298bc8e6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-17 15:37:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 15:37:20 +0900

    Removed accidentally commit for snapshot file of prism

commit d81b0588bb3c97167d1f7e2d2a74185e0c19b68c
  Author:     NAITOH Jun <naitoh@gmail.com>
  AuthorDate: 2024-09-14 09:32:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 15:12:25 +0900

    [ruby/strscan] Accept String as a pattern at non head
    (https://github.com/ruby/strscan/pull/106)

    It supports non-head match cases such as StringScanner#scan_until.

    If we use a String as a pattern, we can improve match performance.
    Here is a result of the including benchmark.

    ## CRuby

    It shows String as a pattern is 1.18x faster than Regexp as a pattern.

    ```
    $ benchmark-driver benchmark/check_until.yaml
    Warming up --------------------------------------
                  regexp     9.403M i/s -      9.548M times in 1.015459s (106.35ns/i)
              regexp_var     9.162M i/s -      9.248M times in 1.009479s (109.15ns/i)
                  string     8.966M i/s -      9.274M times in 1.034343s (111.54ns/i)
              string_var    11.051M i/s -     11.190M times in 1.012538s (90.49ns/i)
    Calculating -------------------------------------
                  regexp    10.319M i/s -     28.209M times in 2.733707s (96.91ns/i)
              regexp_var    10.032M i/s -     27.485M times in 2.739807s (99.68ns/i)
                  string     9.681M i/s -     26.897M times in 2.778397s (103.30ns/i)
              string_var    12.162M i/s -     33.154M times in 2.726046s (82.22ns/i)

    Comparison:
              string_var:  12161920.6 i/s
                  regexp:  10318949.7 i/s - 1.18x  slower
              regexp_var:  10031617.6 i/s - 1.21x  slower
                  string:   9680843.7 i/s - 1.26x  slower
    ```

    ## JRuby

    It shows String as a pattern is 2.11x faster than Regexp as a pattern.

    ```
    $ benchmark-driver benchmark/check_until.yaml
    Warming up --------------------------------------
                  regexp     7.591M i/s -      7.544M times in 0.993780s (131.74ns/i)
              regexp_var     6.143M i/s -      6.125M times in 0.997038s (162.77ns/i)
                  string    14.135M i/s -     14.079M times in 0.996067s (70.75ns/i)
              string_var    14.079M i/s -     14.057M times in 0.998420s (71.03ns/i)
    Calculating -------------------------------------
                  regexp     9.409M i/s -     22.773M times in 2.420268s (106.28ns/i)
              regexp_var    10.116M i/s -     18.430M times in 1.821820s (98.85ns/i)
                  string    21.389M i/s -     42.404M times in 1.982519s (46.75ns/i)
              string_var    20.897M i/s -     42.237M times in 2.021187s (47.85ns/i)

    Comparison:
                  string:  21389191.1 i/s
              string_var:  20897327.5 i/s - 1.02x  slower
              regexp_var:  10116464.7 i/s - 2.11x  slower
                  regexp:   9409222.3 i/s - 2.27x  slower
    ```

    See:
    https://github.com/jruby/jruby/blob/be7815ec02356a58891c8727bb448f0c6a826d96/core/src/main/java/org/jruby/util/StringSupport.java#L1706-L1736

    ---------

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

    Co-authored-by: Sutou Kouhei <kou@clear-code.com>

commit 7d80c139f777a2018a93ab8df4e57dbf4fd27572
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-06 21:22:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 14:41:19 +0900

    Unlock parallel_tests

commit 80e934c29c5bd8b7955e26f8683ac6644d69a200
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 02:24:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 14:39:06 +0900

    [rubygems/rubygems] Fix `--local` hitting the network when default gems are included

    https://github.com/rubygems/rubygems/commit/b9a2d4d539

commit 335d630903c53c4c6665d739f620834f1b57c1de
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 02:14:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 14:39:05 +0900

    [rubygems/rubygems] Improve spec

    The behavior it's testing is independent from the bundle path being
    used.

    https://github.com/rubygems/rubygems/commit/9a4b32ec82

commit 166cde7d24ee698ee720987645bcd792f3db6e78
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 02:07:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 14:39:05 +0900

    [rubygems/rubygems] Fix spec to setup a default gem correctly

    Looking at the description is something that used to be done a long time
    ago.

    https://github.com/rubygems/rubygems/commit/9c226f52a6

commit 7428709d204728b807db1250be43abdf3dd514e8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 01:58:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 14:39:04 +0900

    [rubygems/rubygems] Inline a private method

    Removes an (in my opinion) excessive indirection and handles options
    more consistently.

    https://github.com/rubygems/rubygems/commit/642e6d2c0c

commit 7e0934d33e7ce09f9d2f50eb3f31708c0d852817
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 01:50:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 14:39:04 +0900

    [rubygems/rubygems] Consistently access install options through symbol keys

    https://github.com/rubygems/rubygems/commit/7ddf1dc70a

commit 70111fcc45b22b691aca2b522cb8eb30bf9fc34c
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-17 14:15:44 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-17 14:15:44 +0900

    Prevent a warning due to error recovery of prism

commit d90da9408df5969427c6957797d5a3095f91077b
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-17 14:10:49 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-17 14:10:49 +0900

    Prevent warnings for RubyVM::AbstractSyntaxTree.parse in test_ast.rb

commit d84b062b635d49ad069b95c3d905f3ea92445894
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-17 13:56:04 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-17 13:56:04 +0900

    Prevent warning: assigned but unused variable - message

commit bb2d24731e72ebb029396f1fa17201da0bce3901
  Author:     Nikolay Ponomarev <itsnikolay@gmail.com>
  AuthorDate: 2024-09-16 05:07:17 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-17 12:52:31 +0900

    [DOC] Fix autoload method formatting

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

commit bb7025b7e837e44100c982a3fa294f1f265374fe
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-17 12:36:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 12:46:01 +0900

    Activate irb if irb is bundled gems

commit 76d927f88f9b64cf01912be41d5e88238a9e6ec6
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-15 09:50:14 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-17 12:44:07 +0900

    Prevent prism warnings in syntax exhaustive tests

    [Bug #20736]

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

commit e08d5239b68ad61a731f4938cf963e37a5e88c25
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-09-13 16:40:30 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-09-17 09:11:44 +0900

    Ensure fiber scheduler is woken up when close interrupts read

    If one thread is reading and another closes that socket, the close
    blocks waiting for the read to abort cleanly. This ensures that Ruby is
    totally done with the file descriptor _BEFORE_ we tell the OS to close
    and potentially re-use it.

    When the read is correctly terminated, the close should be unblocked.
    That currently works if closing is happening on a thread, but if it's
    happening on a fiber with a fiber scheduler, it does NOT work.

    This patch ensures that if the close happened in a fiber scheduled
    thread, that the scheduler is notified that the fiber is unblocked.

    [Bug #20723]

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

commit 50d4840bd975a5e187c56dc4a56795cb6d02d658
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-13 00:31:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-17 04:58:27 +0900

    Move desired_compaction_pages_i inside of GC_CAN_COMPILE_COMPACTION

    Fixes the following warning on WebAssembly:

        gc/default.c:7306:1: warning: unused function 'desired_compaction_pages_i' [-Wunused-function]
        desired_compaction_pages_i(struct heap_page *page, void *data)

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

commit 7e2ae30f8b30f9f9f7250abffc1c311115548bba
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-17 04:27:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-17 04:55:29 +0900

    [ruby/prism] Handle retry doubly nested under rescue

    Fixes [Bug #20747]

    https://github.com/ruby/prism/commit/d3194715a9

commit 2ea1950510003dbce5a761a712039ed69fa499f2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-17 03:40:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-17 03:57:54 +0900

    [ruby/prism] Do not leak explicit encoding

    Fixes [Bug #20744]

    https://github.com/ruby/prism/commit/f1b8b1b2a2

commit 1e53e46275e2f49a711ff90adddc804d11a347b1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-17 01:29:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-17 03:38:49 +0900

    Don't export unnecessary string functions

    These functions are not used publicly, so we don't need to export them.

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

commit 2beb4c6e878dd519b82a96e10838e5da69e942f5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-17 00:03:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-17 03:31:01 +0900

    [PRISM] Assume an eval context for RubyVM::ISEQ compile

    Fixes [Bug #20741]

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

commit 6c4ce72609396cff8970c0fdebbfa190ec75ece1
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-17 02:36:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-17 02:36:27 +0900

    [ruby/irb] Use InstructionSequence#script_lines to get method source
    (https://github.com/ruby/irb/pull/1005)

    It works with both prism and parse.y

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

commit 1c3981cb88f13a40576ddf73fc8525a277af512c
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-16 21:30:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-17 01:33:42 +0900

    [DOC] Tweaks for Array#select!

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

commit 4e17fa2906c51d6f5e70023c7b300b61ae378b13
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-16 21:21:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-17 01:33:07 +0900

    Tweaks or Array#select

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

commit 1e52dde82af10f2a2ec648b34dce30bec4154245
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-17 00:14:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-17 00:53:56 +0900

    [PRISM] Match defined behavior for explicit block

    Fixes [Bug #20748]

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

commit 50564f8882922964ebbe2bfdd7cae0bd6d0f6f00
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-14 03:36:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-16 22:27:29 +0900

    ASAN unpoison whole heap page after adding to size pool

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

commit 46ba3752c2c9dbf631cae602c3549e8b95a0de72
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-14 03:04:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-16 22:27:29 +0900

    Don't return inside of asan_unpoisoning_object

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

commit c5a782dfb04a00f47dc5c80d407df9931735b3dc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-14 03:02:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-16 22:27:29 +0900

    Replace with asan_unpoisoning_object

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

commit f4f46af95818cd6015e938616afef88fd8e6351d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 00:09:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-16 22:13:43 +0900

    Complete spec

    Co-authored-by: Vít Ondruch <vondruch@redhat.com>

commit 2bfeedc082af7adfbbba2f4d9e40beb49f0ceaae
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-12 23:41:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-16 22:13:43 +0900

    [rubygems/rubygems] Simplify handling default gem caching

    By the time `cached_gem` is called, default gem cache has already been
    handled. So no need to try redownload it again, it's enough to check the
    cache location directly.

    https://github.com/rubygems/rubygems/commit/70e10236b6

commit d57bc870ac8021f2c23e4da346d037820ad45d64
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-14 04:33:14 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-16 21:44:19 +0900

    [PRISM] Remove snapshot testing from Prism sync

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

commit fab01b15e999e9f9e18389dabfce3919e080ed56
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-11 23:42:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-16 20:37:58 +0900

    [rubygems/rubygems] Remove temporary `.lock` files left around by gem installer

    https://github.com/rubygems/rubygems/commit/edbb2e3475

commit 7411caa103ccba8b9c16b9bd7aff96fc2b42f1fc
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-11 22:46:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-16 20:37:58 +0900

    [rubygems/rubygems] Make sure implementations of `Gem.open_file_with_flock` match

    https://github.com/rubygems/rubygems/commit/174a8e5284

commit 532af89e3b5b78dd3a6fe29c6cc64ad1b073afe2
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-15 10:06:11 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-15 10:06:11 +0900

    Prevent warnings: the block passed to ... may be ignored

commit bc13ec735b33771c279e67e4143fa8e98a8252fd
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-15 10:05:57 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-15 10:05:57 +0900

    Prevent warnings: assigned but unused variable

commit ddbd64400199fd408d23c85f9fb0d7f742ecf9e1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-14 04:18:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-14 04:30:57 +0900

    [ruby/prism] Stat file first to check directory

    https://github.com/ruby/prism/commit/4ed7de537b

commit f85efc9748b193bceaefd2e94293927404ac951f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-14 04:00:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-14 04:13:21 +0900

    [ruby/prism] Expose main_script in serialization API

    https://github.com/ruby/prism/commit/0b527ca93f

commit 77521afac1687602fde4046ab20f016c61089003
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-14 01:47:33 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-14 03:09:02 +0900

    [PRISM] Do not warn ambiguous ampersand when symbol literal

    Fixes [Bug #20735]

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

commit 9afc6a981deae6e23d938cf5c2c4baadfeaafdb1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-14 00:21:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-14 01:51:53 +0900

    [PRISM] Only parse shebang on main script

    Fixes [Bug #20730]

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

commit d42d19059d75bf1c05c1bc916775b47629b59eb7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-14 01:06:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-14 01:51:36 +0900

    [PRISM] Allow case/when to be indented with no warning

    Fixes [Bug #20731]

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

commit 74f315c3f5908512dfdeeab2dd76d93e98149769
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-14 00:25:57 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-14 01:08:56 +0900

    [PRISM] Turn off mismatched indentation warnings in eval

    Fixes [Bug #20732]

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

commit 353997dd3ee8d437113a3e9b5e85ef850adbf31d
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-09-13 20:25:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-14 00:05:33 +0900

    [ruby/prism] Refactor and move common node flags count into a constant to reuse in templates

    https://github.com/ruby/prism/commit/c20bf05ecc

commit 38f8f42e4fcad111a13b154631e3026be1826538
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-09-12 23:31:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-14 00:05:33 +0900

    [ruby/prism] Unify code style of flags generation in the nodes templates

    https://github.com/ruby/prism/commit/dbb7e0a44e

commit c996f4091fb7af3ff28842ff4b6facdb7f0c35a2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-13 04:04:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-13 23:06:57 +0900

    Ignore -Wdangling-pointer in rb_gc_set_stack_end

    Fixes this compiler warning:

        thread.c:4530:18: warning: storing the address of local variable ‘stack_end’ in ‘*stack_end_p’ [-Wdangling-pointer=]
        4530 |     *stack_end_p = &stack_end;
              |     ~~~~~~~~~~~~~^~~~~~~~~~~~

commit f0dcbbe9b9de45669dad67bd99d4539ccd4bbc83
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-13 01:32:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-13 22:17:56 +0900

    [ruby/prism] Reverse-sync numbered reference range handling

    https://github.com/ruby/prism/commit/a2f57ef6e3

commit 8e2d971b9ac7b6f0642b0ab83e4a363f8a0c7183
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 19:42:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-13 21:42:26 +0900

    [rubygems/rubygems] Remove redundant arguments passed to `bundle` helper

    They are used by default.

    https://github.com/rubygems/rubygems/commit/0b7f7d879f

commit 36b2fea69121d62213b0ccd3cb09c6a6effeb543
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 19:16:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-13 21:42:26 +0900

    [rubygems/rubygems] Remove `BUNDLER_IGNORE_DEFAULT_GEM`

    As long as we use a high enough test version, the default version of
    Bundler should never get in the middle.

    https://github.com/rubygems/rubygems/commit/d63f0818aa

commit 642528511e514cc92655e1800ef5e2830e7fd305
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 18:10:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-13 21:42:25 +0900

    [rubygems/rubygems] Make sure test does not load system version of Bundler

    https://github.com/rubygems/rubygems/commit/d850ea1d95

commit 24493779b79bb57fd2e71bf6e0ababe95448a9d6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-13 10:50:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-13 18:23:28 +0900

    [Bug #20725] Should not call compare on `nil`-endpoint

    It means unbounded, always inclusive of other ranges.

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

commit 0f3dc2f958bd1447cc459bc4a4f39071a6a07a9c
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-13 13:48:51 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-13 16:52:38 +0900

    Prevent warnings "the block passed to ... may be ignored"

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

commit b6c7226facc140bf8976d48fbd6c06f729534379
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-13 15:18:01 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-13 15:49:28 +0900

    Put typeprof.gemspec

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

commit f090d1fa598ec13b30a40101d8de85c02a77cce3
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-13 14:50:35 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-13 15:49:28 +0900

    Try to find bundled gem version from lib/*/version.rb

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

commit cf5b965897141b84365fbf84231745e18d36c755
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-13 14:28:23 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-13 15:49:28 +0900

    Use the development version of typeprof in test-bundled-gems

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

commit 5894202365a80f027880129bcf51840534559237
  Author:     aoki1980taichi <aoki1980taichi@users.noreply.github.com>
  AuthorDate: 2022-06-23 21:40:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-13 14:35:25 +0900

    typo otherBasis -> orthoBasis

    The original function name in ao.c was orthoBasis.
    I guess the function is generating orthonormal basis (https://en.wikipedia.org/wiki/Orthonormal_basis).

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

commit 3146cbbbc423c6995936b53b639f65a4b91881db
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-13 13:19:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-13 13:19:31 +0900

    Dont't warn reline called from irb, reline is already declared at irb gemspec

commit 6ae05584bdceb8e8fc5db248d8f4fa7e2c8022c7
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-13 11:30:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-13 11:39:11 +0900

    [ruby/net-http] Prevent warnings

    ```
    /home/chkbuild/chkbuild/tmp/build/20240913T003003Z/ruby/test/net/http/utils.rb:32: warning: assigned but unused variable - e
    /home/chkbuild/chkbuild/tmp/build/20240913T003003Z/ruby/test/net/http/utils.rb:61: warning: assigned but unused variable - version
    /home/chkbuild/chkbuild/tmp/build/20240913T003003Z/ruby/test/net/http/utils.rb:124: warning: method redefined; discarding old query
    ```

    https://github.com/ruby/net-http/commit/6f818346ce

commit 5e3f1b6a6d64598982219644edfa9c3da09bafed
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-13 11:34:20 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-13 11:34:20 +0900

    Prevent a warning: assigned but unused variable - exp_events

commit d1d0c50c9d557d57cd0c209e5e2759a05eed3f05
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-13 11:32:21 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-13 11:32:51 +0900

    Prevent a warning: assigned but unused variable - t0

commit d80a81c1526cc01a4cbd2e2bb3e0feae5bd9c800
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-13 09:28:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-13 09:28:51 +0900

    Constify `struct getpwnam_r_args::login`

commit 0fc8422a05e21a3d1247794e8ec34a43010d51c9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-12 23:27:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-13 05:03:28 +0900

    Move checks for heap traversal to rb_gc_mark_weak

    If we are during heap traversal, we don't want to call rb_gc_impl_mark_weak.
    This commit moves that check from rb_gc_impl_mark_weak to rb_gc_mark_weak.

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

commit 92b7b78e06fe8df4d8e008719f6d9717004b6c51
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-12 23:24:04 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-13 05:03:28 +0900

    Assert that we are during GC when marking

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

commit 661f64e87643f7a7f5042b0454b751215df8b40f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-12 23:23:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-13 05:03:28 +0900

    Add variable objspace in RB_GC_MARK_OR_TRAVERSE

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

commit 606db2c423aa2951c3f404fb5b58e15ee635f0ca
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-12 23:21:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-13 05:03:28 +0900

    Move special const checks to rb_gc_mark_weak

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

commit 2d495300e2559c4633376086672a1c695d567a1f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-13 04:49:44 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 04:49:44 +0900

    [PRISM] Fix up pm_compile_branch_condition issue with single insn iseqs

commit 0960c8aacd30c28347de6b7d906df0c5d2d86b41
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-13 04:19:20 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-13 04:19:20 +0900

    [DOC] Tweaks for Array#fetch_values (#11603)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit ce5fd35b356b122ba945706d3682e128cb3cd625
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-13 04:18:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-13 04:18:56 +0900

    [DOC] Tweaks for Array#fetch (#11602)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 05e02783a5ee489064159630252a8ed9cc2c7779
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-13 04:07:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 04:07:04 +0900

    [PRISM] Ignore test_parse_directory if error is nil

commit 9c461cd1252b9a56ca54818e90042745ad08be29
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-13 01:03:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    [PRISM] Check error type for parsing directory

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

commit 38ba15beed5eb9f3a4923f9a215473965f31a7bc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-12 05:49:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    [ruby/prism] Check errno for parsing directory

    https://github.com/ruby/prism/commit/d68ea29d04

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

commit ca61729fa7713f650c7e4144daa08932f8b66454
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-12 04:09:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    Fix opening multibyte character filepath on Windows

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

commit d4af38ec9d808da3e2f3ba97477332bc96b258b9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-12 01:42:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    Fix FILE_SHARE_* permissions for Windows in read_entire_file

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

commit d5232fd7aee45d1dba3d07cdbf29389207e5ef6c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-12 00:59:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    Temporarily exclude some TestRubyOptions test for parse.y

    The description has been updated when running with Prism to have
    +PRISM, which means that tests asserting against the description
    when running with --parser=parse.y will be incorrect if the
    subprocess ends up using Prism. We need to fix these tests, but
    we are currently disabling them in order to get this over the line.

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

commit f59b908e477797b069bd5628440df6977e972916
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-12 00:57:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    [PRISM] Omit some TestAST tests when Prism is enabled

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

commit d4ab1e448245f1bc13c9262102fd4db3a2284b88
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-11 22:26:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    [PRISM] Move compile scope node to its own function

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

commit c4b43692dbca56ef5ff983213faa07d06a4ea8ab
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-11 21:54:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    [PRISM] Move case node compilation into its own function

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

commit ea2af5782df63266577ba08a4ef4c30b6d63e564
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-29 05:35:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    Switch the default parser from parse.y to Prism

    This commit switches the default parser to Prism. There are a
    couple of additional changes related to this that are a part of
    this as well to make this happen.

    * Switch the default parser in parse.h
    * Remove the Prism-specific workflow and add a parse.y-specific
      workflow to CI so that it continues to be tested
    * Update a few test exclusions since Prism has the correct
      behavior but parse.y doesn't per
      https://bugs.ruby-lang.org/issues/20504.
    * Skips a couple of tests on RBS which are failing because they
      are using RubyVM::AbstractSyntaxTree.of.

    Fixes [Feature #20564]

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

commit f2919bd11c570fc5f5440d1f101be38f61e3d16b
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-13 02:04:10 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-13 02:04:10 +0900

    Add error checking to readdir, telldir, and closedir calls in dir.c

    Raise SystemCallError exception when these functions return an error.

    This changes behavior for the following case (found by the tests):

    ```ruby
    dir1 = Dir.new('..')
    dir2 = Dir.for_fd(dir1.fileno)
    dir1.close
    dir2.close
    ```

    The above code is basically broken, as `dir1.close` closed the file
    descriptor.  The subsequent `dir2.close` call is undefined behavior.
    When run in isolation, it raises Errno::EBADF after the change, but
    if another thread opens a file descriptor between the `dir1.close`
    and `dir2.close` calls, the `dir2.close` call could close the file
    descriptor opened by the other thread.  Raising an exception is much
    better in this case as it makes it obvious there is a bug in the code.

    For the readdir check, since the GVL has already been released,
    reacquire it rb_thread_call_with_gvl if an exception needs to be
    raised.

    Due to the number of closedir calls, this adds static close_dir_data
    and check_closedir functions.  The close_dir_data takes a
    struct dir_data * and handles setting the dir entry to NULL regardless
    of failure.

    Fixes [Bug #20586]

    Co-authored-by: Nobuyoshi Nakada <nobu.nakada@gmail.com>

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

    Merged-By: jeremyevans <code@jeremyevans.net>

commit 15135030e5808d527325feaaaf04caeb1b44f8b5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-12 05:47:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-13 00:50:34 +0900

    [ruby/prism] Do not warn \r in shebang on windows

    https://github.com/ruby/prism/commit/e8c862ca1f

commit a542479a750ff65c036df913a4b8d9dd350c4522
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-13 00:04:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-13 00:04:37 +0900

    [ruby/irb] Remove KEYWORD_ALIASES which handled special alias name
    of irb_break irb_catch and irb_next command
    (https://github.com/ruby/irb/pull/1004)

    * Remove KEYWORD_ALIASES which handled special alias name of irb_break irb_catch and irb_next command

    * Remove unused instance variable user_aliases

    Co-authored-by: Stan Lo <stan001212@gmail.com>

    ---------

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

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit fcb058309b1e2ffcc372ca17b0bcf9812b492653
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-12 10:19:14 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-12 23:47:34 +0900

    Accept version range

    Single `Integer` argument means an exact match to the major version.

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

commit d8aa8f4184cd18eac0b87d2d4306fb3c245a5479
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-12 08:56:20 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-12 23:33:56 +0900

    Related for Array#eql?

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

commit c147e43b4f18bf3c5838e6a8f770acbeb01f7eff
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-12 08:49:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-12 23:32:56 +0900

    [DOC] Related for Array#empty?

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

commit 471d3950e6982719402df2abdd3a489deb7696bb
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-12 08:43:36 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-12 23:32:18 +0900

    [DOC] Tweaks for Array#each_index

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

commit ad761ad2d0a63270fbd243a477dc962446a5116e
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-19 04:08:06 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-09-12 23:24:02 +0900

    Release GVL for get{pwnam,pwuid,grgid,grnam}_r calls in process.c

    Do not release GVL around get{pwuid,pwnam,grgid,grnam} calls,
    as doing so is not thread-safe.  Another C extension could have
    a concurrent call, and derefencing the returned pointer from
    these calls could result in a segfault.

    Have rb_home_dir_of call rb_getpwdirnam_for_login if available,
    so it can use getpwnam_r and release GVL in a thread-safe manner.

    This is related to GVL releasing work in [Bug #20587].

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

commit b10500b72b2a696608015c2a2e60422a296d8614
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-11 00:25:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-12 23:15:25 +0900

    Assume VM is locked in rb_vm_ci_free

    The GC always locks the VM, so we don't need to lock it in rb_vm_ci_free.

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

commit f47c057c327467a8dcdb8482b13d2ea281a6ad6f
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-12 10:42:50 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-12 21:06:16 +0900

    Remove unnecessary file

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

commit 885cf350de4c80a918a33da109d0462711ac5e49
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-11 18:32:50 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-12 21:06:16 +0900

    Lrama v0.6.10

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

commit 2a1962fc4ad720835fd74ea178d4910d00e51b70
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-12 15:46:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-12 16:28:02 +0900

    Warn missing irb cases

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

commit 86fcfcb3c0c8762aef84ccf2f4f4304887f9c72d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-12 14:30:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-12 16:28:02 +0900

    Fixed ensure scope

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

commit 6c9f0be6475ced23de2df65969f5e27336932e7c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-12 14:14:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-12 16:28:02 +0900

    Don't use instance variable

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

commit ee064d1cb2a7a4e2c4e9eecc3f64055c4e6a6801
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-12 14:02:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-12 16:28:02 +0900

    Back to Bundler.ui and Bundler::Definition.no_lock

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

commit 754e15f4d0a60c8d9abfa7cdc5e06a2365d97ae7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-12 12:50:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-12 16:28:02 +0900

    Support bundler/inline mode

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

commit 70c66137817d4d4e56e60aaefb841237912e4b43
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-12 12:47:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-12 16:28:02 +0900

    Use better resolution by Bundler at force_activate

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

commit 5d358b660d41e64de301f428dc0300a52a6f9566
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2024-09-08 01:17:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-12 05:41:46 +0900

    Fix issue with super and forwarding arguments in prism_compile.c

    Fixes [Bug #20720]

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

commit d4d6f1de83628b12e4a27d273edace7762f69860
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-12 02:51:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-12 04:17:12 +0900

    [ruby/prism] UTF-8 characters in file name

    https://github.com/ruby/prism/commit/487f0ffe78

commit 12d7ead04318786bd098e29ff92a3ac18c76a839
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-12 00:06:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-12 03:14:50 +0900

    [rubygems/rubygems] Small simplification in Definition class

    https://github.com/rubygems/rubygems/commit/03ddfd7610

    Co-authored-by: Jonathan Hefner <jonathan@hefner.pro>

commit 364cc958978313f7c886a826f428a9b4bd53f635
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-12 00:03:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-12 03:14:36 +0900

    [rubygems/rubygems] Uncomment and possibly fix spec on JRuby

    This was commented out almost 10 years ago, but I think it passes now!

    https://github.com/rubygems/rubygems/commit/4a6b1aba3c

commit efc77d535b1a0eab02af98e72f2e40ab295ee2e1
  Author:     John Meade <john.meade@zendesk.com>
  AuthorDate: 2024-09-09 23:22:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-12 02:19:18 +0900

    [ruby/psych] Ensure strings with only underscores are not processed as Integer

    A string similar to "0x____" should be treated as a string.
    Currently it is processed as an Integer.

    This alters the regex specified by http://yaml.org/type/int.html
    to ensure at least one numerical symbol is present in the string
    before converting to Integer.

    https://github.com/ruby/psych/commit/81479b203e

commit 818e20359f0415413de2888b1e6233f574882471
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-12 00:28:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-12 02:15:41 +0900

    [DOC] Tweaks for Array#each

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

commit 18fb11aaa407feb6677effb0229a9b82806d8b46
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-12 02:14:41 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-12 02:14:41 +0900

    [DOC] Tweaks for Array#difference (#11593)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit c7faffd1d6013a840d5286312cd08790c0e0e69a
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-11 22:08:06 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-12 02:14:08 +0900

    [DOC] Tweaks for Array#drop_while

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

commit 1be9a99837171fa7ec9b40d216f5a86f39bfaa27
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-12 01:29:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-12 01:35:10 +0900

    [ruby/prism] Add a flag for arguments that contain forwarding

    https://github.com/ruby/prism/commit/ebd2889bee

commit 886fc69b1cfb20141608eb1f461b93e5a5464cf9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-11 23:42:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-12 00:39:22 +0900

    [ruby/prism] Parse tempfile

    https://github.com/ruby/prism/commit/31154a389a

commit 7facf2323206e244b53d3771a857a8f677d2ab3e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-11 04:35:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 21:49:10 +0900

    [DOC] Related for Array#compact

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

commit 0906b1627766efa65e5c4fc2ea15a2337ec0cef0
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-11 21:43:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 21:48:49 +0900

    [DOC] Tweaks for Array#drop

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

commit 309362d6c51f731a9a42157c40bc94dca86f8f77
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-11 21:34:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 21:47:09 +0900

    [DOC] Tweaks for Array#dig

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

commit c7e186211665691ca9cdb4ae07cf76fbd3df1af8
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-11 21:07:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 21:36:23 +0900

    [DOC] Tweaks for Array#delete_at

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

commit 3aeb9c75bd521e0fd8f7df63a27b70e4c10a952e
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-11 21:14:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 21:33:10 +0900

    [DOC] Related for Array#delete_if

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

commit e52d4d462f9b4d10f6d29a69058c5117399c968e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-29 21:24:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-11 20:28:35 +0900

    [rubygems/rubygems] Fix `bundle exec rake install` failing when local gem has extensions and `gemspec` DSL is being used

    In a `bundle exec` context, the local specification will actually be
    part of the known specifications, so RubyGems will assume it has already
    been installed, which is not actually true.

    This will cause `RequestSet` to rebuild extensions for a gem that's not
    actually installed, causing errors.

    The fix is to make sure detection of installed activation requests
    considers not only that there's a known spec with the same full name as
    the one being installed, but also that this spec is installed in the
    same gem_home were pretend to install the new gem.

    https://github.com/rubygems/rubygems/commit/a8ef1286a6

commit 89eba5074e8ffc28a54646d40f6915d279be367d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-06 03:07:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-11 20:28:12 +0900

    [rubygems/rubygems] Only raise DSLError during Gemfile parsing when it's actually useful

    DSLError prints the specific line in a Gemfile where the error was
    raised. That's helpful when the error was explicitly raised by the
    Gemfile DSL or, in the case it's implicitly raised, when the offending
    code lives right in the Gemfile.

    If it's an internal error, or something buried dowm in user code called
    from the Gemfile, `DSLError` is not helpful since it hides the actual
    culprit.

    This commit tries to only raise `DSLError` in the cases mentioned above
    and otherwise let the original error be raised.

    https://github.com/rubygems/rubygems/commit/b30ff5a682

commit 1d72b3bd1a1ebaaca89b50a8b6f391b7358c0986
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-05 23:12:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-11 20:28:12 +0900

    [rubygems/rubygems] Don't rescue Exception when evaluating Gemfile

    Things like OOM, or StackOverflow should be raised immediately.

    https://github.com/rubygems/rubygems/commit/11691ce492

commit f0b9baa2d6c79d5a9f1c23e54ec8bb2cf33a1c18
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-05 21:04:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-11 20:28:11 +0900

    [rubygems/rubygems] Refactor setting current gemfile in DSL

    https://github.com/rubygems/rubygems/commit/b4ecb66224

commit 1d768ebd712293e1a3d87e537a0b0d4dbdd7c54e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-05 21:22:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-11 20:28:11 +0900

    [rubygems/rubygems] The `dsl_path` parameter in DSLError is documented as a string

    https://github.com/rubygems/rubygems/commit/ab44fa9ee4

commit baac5376da6a836397745056b1e2d4f9f5dbac7b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-11 16:52:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-11 18:13:01 +0900

    Use macos? helper

commit 74c3259ce70ae51ca79dea1e607a0284f8d129cf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-11 16:46:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-11 18:13:01 +0900

    macOS 10.13(High Sierra) is already EOL

commit 0b11e039d7a38550bf5d93df96081e0bf3df29a4
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-11 16:09:54 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-11 18:01:16 +0900

    Fix wrong NODE name

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

commit d03e0d1c35638fcd3b474bf604c855f132356e6d
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-10 16:41:27 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-11 18:01:16 +0900

    Implement BREAK, NEXT and REDO NODE locations

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

commit f7ffa76377ead1760dcb0a84db282facb461ecd7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-11 14:13:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-11 14:13:30 +0900

    Clean up clean only extensions

    The clean targets should clean up all extensions, including those have
    nothing to build for any reason, e.g., platform requirements etc.

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

commit cb576c13fb15a80fd77b81071cc3a68a340ecb33
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-11 14:09:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-11 14:09:45 +0900

    Fix duplicate dependency lines

    exts.mk should deal with cleanings of extensions, including bundled
    gems.

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

commit 6c16598a72213b492132e3f26bd7ba15a2f7113e
  Author:     Ivan Kuchin <tadump+git@gmail.com>
  AuthorDate: 2023-12-27 22:16:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-11 13:49:08 +0900

    [ruby/pathname] use delete_prefix instead of sub in find method

    delete_prefix with a string is easier to read than a regular expression
    also it should be faster. It is available since ruby 2.5 and the gem requires
    ruby 2.7.

    https://github.com/ruby/pathname/commit/0070f43f19

commit c37b667774c0c7fc761d974bdec9e4d593781433
  Author:     Yuji Yaginuma <yuuji.yaginuma@gmail.com>
  AuthorDate: 2024-09-11 11:29:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-11 13:41:20 +0900

    [rubygems/rubygems] Make an exe file executable when generating new gems

    Currently, an exe file isn't executable when generating new gems
    because it doesn't have the correct permission.
    This PR sets the correct permission same as files under the `bin`.

    https://github.com/rubygems/rubygems/commit/6509bf128a

commit 4e6091ce09154d735cca025a4d0130eecebbbc19
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-10 00:13:24 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-11 09:28:55 +0900

    Implement WHILE and UNTIL NODE locations

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

commit 1adcc41b94d49899b1809fba119f74501fc992b1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-11 02:15:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 04:38:54 +0900

    [DOC] What's Here for String#append_as_bytes

    String#append_as_bytes was newly introduced in #11552.

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

commit a723d480813c4b4ad2fdaca498279b4d2abba250
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-10 00:10:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 04:38:41 +0900

    [DOC] Tweaks for Array#delete

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

commit 7ec51310d510ac8b46a7815e49bf8098a8957300
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-09 23:45:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 04:37:41 +0900

    [DOC] Related for Array#cycle

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

commit a055a426ed146c55f4916f0c2d198bb9de109725
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-09 23:26:58 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 04:37:17 +0900

    [DOC] Related for Array#count

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

commit ff43e618e99851592b6b595d640941588911ed4f
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-08 09:00:58 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 04:36:46 +0900

    [DOC] Related for Array#concat

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

commit b27a128d72d7f24f8ef037a18f2b4d2d602ee955
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-08 08:51:36 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 04:31:50 +0900

    [DOC] Related for Array#compact

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

commit 648866b6710f815b861be8f43faab9b02d074861
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-08 06:12:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 04:31:31 +0900

    [DOC] Related for Array#combination

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

commit 175a98d5160e9c3773c1273c07255c6ab9b8a396
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-08 06:05:25 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 04:30:40 +0900

    [DOC] Related for Array#collect!

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

commit 316c2001e04d76c9f898074c6a87b4e8f2668536
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-08 05:56:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:53:35 +0900

    Related for Array#collect

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

commit 07a0aa9be67a0a0c2b0f501fb470c91091056188
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-02 01:49:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:07:04 +0900

    [DOC] Fix link

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

commit 5df574d26e6c97281678414a3eecf80544d7f494
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-02 01:22:26 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:04:41 +0900

    [DOC] Fix links

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

commit ec3851e6b1e3dc652e46426b911530b1173ab153
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-02 00:18:33 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:03:13 +0900

    [DOC] Related for Array#clear

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

commit bd9fa014e39b1d805cedcce43052234136ff8b95
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-02 00:09:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:02:23 +0900

    [DOC] Related for Array bsearch methods

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

commit 3d09242cc411283dc972564961fdff5fc0b8e56d
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-01 23:41:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:01:21 +0900

    [DOC] Related for Array#at

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

commit a552e04d81a8c754382ca5d50455152467f034c4
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-01 03:57:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:00:54 +0900

    [DOC] Related for Array#assoc

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

commit b420b094d97343bdbc24b946c17f9550c779647c
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-01 03:48:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:00:28 +0900

    [DOC] Related for Array#push

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

commit ccd35eaecf7604a9c2edc4a6d9eab5fa8c527cab
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-01 02:11:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:00:00 +0900

    [DOC] Rationalize aliases in What's Here

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

commit 22f12b0a62c512f115cd60d4192e53921b11f0c7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-10 01:11:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-10 23:09:50 +0900

    Use rb_id_table_foreach_values for marking CC table

    We don't use the key, so we can speed it up by not needing to convert the
    key to ID in the iterator.

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

commit a79907ed5e8014215a658f4731ff33df3aca9eaa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-10-25 16:44:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 17:44:50 +0900

    [ruby/tmpdir] Reject empty parent path

    https://github.com/ruby/tmpdir/commit/628c5bdc59

commit 3231ac6008bdcfe605b97bf09d79b3e58a2e58a3
  Author:     Kasumi Hanazuki <kasumi@rollingapple.net>
  AuthorDate: 2024-08-31 16:31:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 17:34:37 +0900

    [ruby/resolv] test_dns: Fix FD leak

    The listening TCP socket is closed by `with_udp_and_tcp` helper, but
    the connected socket is leaking.

    ```
    Leaked file descriptor: TestResolvDNS#test_multiple_servers_with_timeout_and_truncated_tcp_fallback: 12 : #<TCPSocket:fd 12, AF_INET, 127.0.0.1, 50888>
    COMMAND     PID     USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
    ruby    3248055 chkbuild   12u  IPv4 112546322      0t0  TCP localhost:50888->localhost:40112 (CLOSE_WAIT)
    ```

    For the purpose of the test case to simulate a timeout over TCP
    transport, we have to delay closing this socket until the end the test
    case.

    Fixup: https://github.com/ruby/resolv/pull/50

    https://github.com/ruby/resolv/commit/236c38bdb1

commit f622548800e538ec88ddc45148113a1a8b520ac9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 23:44:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 17:33:32 +0900

    [ruby/resolv] Add spec extensions

    https://github.com/ruby/resolv/commit/3189d16b69

commit 2d12fbc4db7d1501d8f2a6b464af165ec40f7f3c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-10 15:37:32 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-10 16:50:21 +0900

    Add predicates for platforms

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

commit a3ba723ef09f0a42bb7ad31167a5457756e53f8d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-10 16:06:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-10 16:07:04 +0900

    Suppress constant warning for test-bundled-gems-spec

commit 3db2782748e0753f0e4b5c10e6837e0609c5ad1b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-10 10:09:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 11:50:49 +0900

    [rubygems/rubygems] Mark to exclude examples at ruby/ruby repository

    `make test-bundler` on ruby/ruby don't have installed gemspec.
    So, `require "psych"` didn't activate psych as default gems on ruby repo.

    https://github.com/rubygems/rubygems/commit/f8ca514cbb

commit a5d658cb7a6ecedc5eadf6709ea31bf5cf0229be
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-09 19:06:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 11:50:48 +0900

    [rubygems/rubygems] Removed duplicated dependencies that used by bundler inline

    https://github.com/rubygems/rubygems/commit/d46b6a49af

commit 3725c388f8654c789c87c0b9633c99241679bf9a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-09 17:28:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 11:50:48 +0900

    [rubygems/rubygems] Added example for bundler/inline conflict

    https://github.com/rubygems/rubygems/commit/6b1e8a14bd

commit f8f9cecd7003227ea21422dfd6609cbafaf5e5f5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2022-05-13 21:50:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 11:50:47 +0900

    [rubygems/rubygems] Retry resolution with activated gems if inline has conflicts

    https://github.com/rubygems/rubygems/commit/8d94c14ca0

    Co-authored-by: Jonathan Hefner <jonathan@hefner.pro>

commit 07fa9e3a8f4246498ff143407aa5e8f8f49bcc9f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2022-05-13 21:03:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 11:50:47 +0900

    [rubygems/rubygems] Remove unnecessary verification

    `DSL#to_definition` already verifies this.

    https://github.com/rubygems/rubygems/commit/c596f0af83

commit d6baa6258c394df9ef54282bc738a326396e06ab
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2022-05-13 20:35:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 11:50:46 +0900

    [rubygems/rubygems] Avoid having to redefine `Definition#lock` in inline mode

    https://github.com/rubygems/rubygems/commit/0b7be7bb77

    Co-authored-by: Jonathan Hefner <jonathan@hefner.pro>

commit 88723dd5a5a27bb0bc244c7b20223ca99f917fd6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-10 04:28:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-10 04:28:05 +0900

    [DOC] Fix missing colons in String

commit bd7bc9e2bac6165577c409ade6682e67fd944a73
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-10 04:26:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-10 04:26:00 +0900

    [DOC] Rationalize aliases in "What's Here" (#11517)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 2b1147f1de8f510fe8c77939c5975107c00d017a
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-10 04:24:33 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-10 04:24:33 +0900

    [DOC] Rationalize aliases in "What's Here" (#11516)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 7a6533452807aa432f097db4e637e4c480645d6b
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-09-08 18:25:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 04:01:30 +0900

    [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser::Lexer`

    This PR fixes a token incompatibility between Parser gem and `Prism::Translation::Parser` for double splat argument.

    ## Parser gem (Expected)

    Returns `tDSTAR` token:

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "def f(**foo) end"; p Parser::Ruby33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:kDEF, ["def", #<Parser::Source::Range example.rb 0...3>]], [:tIDENTIFIER, ["f", #<Parser::Source::Range example.rb 4...5>]],
    [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 5...6>]], [:tDSTAR, ["**", #<Parser::Source::Range example.rb 6...8>]],
    [:tIDENTIFIER, ["foo", #<Parser::Source::Range example.rb 8...11>]], [:tRPAREN, [")", #<Parser::Source::Range example.rb 11...12>]],
    [:kEND, ["end", #<Parser::Source::Range example.rb 13...16>]]]
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the parser returned `tPOW` token when parsing the following:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "def f(**foo) end"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:kDEF, ["def", #<Parser::Source::Range example.rb 0...3>]], [:tIDENTIFIER, ["f", #<Parser::Source::Range example.rb 4...5>]],
    [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 5...6>]], [:tPOW, ["**", #<Parser::Source::Range example.rb 6...8>]],
    [:tIDENTIFIER, ["foo", #<Parser::Source::Range example.rb 8...11>]], [:tRPAREN, [")", #<Parser::Source::Range example.rb 11...12>]],
    [:kEND, ["end", #<Parser::Source::Range example.rb 13...16>]]]
    ```

    After the update, the parser now returns `tDSTAR` token for the same input:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "def f(**foo) end"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:kDEF, ["def", #<Parser::Source::Range example.rb 0...3>]], [:tIDENTIFIER, ["f", #<Parser::Source::Range example.rb 4...5>]],
    [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 5...6>]], [:tDSTAR, ["**", #<Parser::Source::Range example.rb 6...8>]],
    [:tIDENTIFIER, ["foo", #<Parser::Source::Range example.rb 8...11>]], [:tRPAREN, [")", #<Parser::Source::Range example.rb 11...12>]],
    [:kEND, ["end", #<Parser::Source::Range example.rb 13...16>]]]
    ```

    With this change, the following code could be removed from test/prism/ruby/parser_test.rb:

    ```diff
    -          when :tPOW
    -            actual_token[0] = expected_token[0] if expected_token[0] == :tDSTAR
    ```

    `tPOW` is the token type for the behavior of `a ** b`, and its behavior remains unchanged:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "a ** b"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:tIDENTIFIER, ["a", #<Parser::Source::Range example.rb 0...1>]], [:tPOW, ["**", #<Parser::Source::Range example.rb 2...4>]],
    [:tIDENTIFIER, ["b", #<Parser::Source::Range example.rb 5...6>]]]
    ```

    https://github.com/ruby/prism/commit/66bde35a44

commit 1205f17125e5e07d7649c8c9fedcf4b74079a54d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-09 23:55:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-09 23:55:18 +0900

    ASAN unlock freelist in size_pool_add_page

commit f2057277ea604293aadc3c31b09becea0d539a87
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-09 23:23:25 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-09 23:23:25 +0900

    ASAN unlock freelist in gc_sweep_step

commit 5a502c1873165418a866eb817b44944a6a8784cb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-07 04:26:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-09 23:15:21 +0900

    Add keys to GC.stat and fix tests

    This adds keys heap_empty_pages and heap_allocatable_slots to GC.stat.

commit 079ef92b5e59b616d670efe81a33e500f2bf6451
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-06 05:07:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-09 23:15:21 +0900

    Implement global allocatable slots and empty pages

    [Bug #20710]

    This commit introduces moves allocatable slots and empty pages from per
    size pool to global. This allows size pools to grow globally and allows
    empty pages to move between size pools.

    For the benchmark in [Bug #20710], this signficantly improves performance:

        Before:
            new_env      2.563 (± 0.0%) i/s -     26.000 in  10.226703s
            new_rails_env      0.293 (± 0.0%) i/s -      3.000 in  10.318960s

        After:
            new_env      3.781 (±26.4%) i/s -     37.000 in  10.302374s
            new_rails_env      0.911 (± 0.0%) i/s -      9.000 in  10.049337s

    In the headline benchmarks on yjit-bench, we see the performance is
    basically on-par with before, with ruby-lsp being signficantly faster
    and activerecord and erubi-rails being slightly slower:

        --------------  -----------  ----------  -----------  ----------  --------------  -------------
        bench           master (ms)  stddev (%)  branch (ms)  stddev (%)  branch 1st itr  master/branch
        activerecord    452.2        0.3         479.4        0.4         0.96            0.94
        chunky-png      1157.0       0.4         1172.8       0.1         0.99            0.99
        erubi-rails     905.4        0.3         967.2        0.4         0.94            0.94
        hexapdf         3566.6       0.6         3553.2       0.3         1.03            1.00
        liquid-c        88.9         0.9         89.0         1.3         0.98            1.00
        liquid-compile  93.4         0.9         89.9         3.5         1.01            1.04
        liquid-render   224.1        0.7         227.1        0.5         1.00            0.99
        lobsters        1052.0       3.5         1067.4       2.1         0.99            0.99
        mail            197.1        0.4         196.5        0.5         0.98            1.00
        psych-load      2960.3       0.1         2988.4       0.8         1.00            0.99
        railsbench      2252.6       0.4         2255.9       0.5         0.99            1.00
        rubocop         262.7        1.4         270.1        1.8         1.02            0.97
        ruby-lsp        275.4        0.5         242.0        0.3         0.97            1.14
        sequel          98.4         0.7         98.3         0.6         1.01            1.00
        --------------  -----------  ----------  -----------  ----------  --------------  -------------

commit de7ac11a09249defd93d1ee34c817fa9d31e7936
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-05 04:09:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-09 23:15:21 +0900

    Replace heap_allocated_pages with rb_darray_size

commit b66d6e48c8832edebcf7e6d667d10702ddbce42c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-05 00:59:37 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-09 23:15:21 +0900

    Switch sorted list of pages in the GC to a darray

commit 16f241f0aa047ed77ccea6b6c361b421a72d0454
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-01 18:14:19 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-09 22:04:51 +0900

    Implement String#append_as_bytes(String | Integer, ...)

    [Feature #20594]

    A handy method to construct a string out of multiple chunks.

    Contrary to `String#concat`, it doesn't do any encoding negociation,
    and simply append the content as bytes regardless of whether this
    result in a broken string or not.

    It's the caller responsibility to check for `String#valid_encoding?`
    in cases where it's needed.

    When passed integers, only the lower byte is considered, like in
    `String#setbyte`.

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

commit 966901b39dd7b37eec68dd6e8a76a79827dc522f
  Author:     Daniel Colson <danieljamescolson@gmail.com>
  AuthorDate: 2024-09-07 02:10:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 20:59:52 +0900

    [rubygems/rubygems] Don't include hook templates in cached git source

    With a default git setup, each cloned repo in the cache will end up with
    ~60K of sample git hooks. These files all end in `.sample`, and they are
    disabled by default. Deleting them should be a no-op, and makes the
    cache a bit smaller.

    https://github.com/rubygems/rubygems/commit/d2149999cd

commit 3aae0873f71098946fa06d8428205762a26e1f27
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-09 19:22:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-09 19:22:45 +0900

    Update clang for LTO

commit 391bb55a8ebfd93a49c5c4aac5885c4ae4573a14
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-09 17:25:22 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-09 19:12:41 +0900

    Run just bignum related tests when gmp enabled

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

commit d7b0f269636749fdae2ba155ba5f9b752aa17341
  Author:     zverok <zverok.offline@gmail.com>
  AuthorDate: 2024-09-09 01:26:23 +0900
  Commit:     Akinori MUSHA <knu@idaemons.org>
  CommitDate: 2024-09-09 17:46:13 +0900

    Return back legacy Range#step behavior for symbol ranges

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

commit 155989415b660caba247db74f96b299e0cea66c1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-03 02:12:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 17:46:02 +0900

    [rubygems/rubygems] Avoid now unnecessary reset

    https://github.com/rubygems/rubygems/commit/511c7b211b

commit 72e80c8f29c7da37039e16f403814aa7fedc7754
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-30 01:26:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 17:46:01 +0900

    [rubygems/rubygems] Make `gem exec` use the standard GEM_HOME

    https://github.com/rubygems/rubygems/commit/032b3c518a

commit a304fe00f3db3719f7dbb6942e7e65e49d760c48
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-06 18:55:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 17:44:27 +0900

    [rubygems/rubygems] Fix `gem fetch` always exiting with zero status code

    https://github.com/rubygems/rubygems/commit/5887e6dfa1

commit a2ae7450d75bafbbbbd1cf9c1b5ada09038d7cf6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-09 16:25:43 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-09 16:25:43 +0900

    Suppress discards qualifiers warning with ASN

commit 2d4fdafa64cc3153792c870a56971a70db23033b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-09 15:46:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 15:46:51 +0900

    [ruby/psych] Bump up 5.2.0.beta1

    https://github.com/ruby/psych/commit/a8b73bb80e

commit 74872109beb8280eebf7ad1edae23b3c356a1923
  Author:     Juanjo Bazán <jjbazan@gmail.com>
  AuthorDate: 2024-07-12 19:46:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 15:44:40 +0900

    [ruby/psych] Unlimited line_width with -1

    https://github.com/ruby/psych/commit/3b63a93dfc

commit dbfabafe9676c5569f2a923fd713b3fdd24ab344
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-09 15:27:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 15:43:35 +0900

    [ruby/psych] Make to load stringio lazily

    https://github.com/ruby/psych/commit/9f5392d180

commit aed8e46118e592a9d7752f6e1cd48a5fad07d941
  Author:     Gareth Jones <Jones258@Gmail.com>
  AuthorDate: 2024-01-27 05:59:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 15:40:59 +0900

    [ruby/psych] docs: specify correct default `fallback` value

    https://github.com/ruby/psych/commit/ce7946981d

commit d52e599538fb67535c95d86aec89fd7e53c61818
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-05 18:41:10 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-09 10:34:02 +0900

    Implement WHEN NODE locations

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

commit b5f12910151f93f5f14057c52ffffa2b2ef09caa
  Author:     JP Camara <jp@jpcamara.com>
  AuthorDate: 2024-08-28 06:57:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-09 09:10:06 +0900

    The Timeout::Error example no longer works consistently

    * This PR from the timeout gem (https://github.com/ruby/timeout/pull/30) made it so you have to handle_interrupt on Timeout::ExitException instead of Timeout::Error

    * Efficiency changes to the gem (one shared thread) mean you can't consistently handle timeout errors using handle_timeout: https://github.com/ruby/timeout/issues/41

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

commit 19c1f0233eb5202403c52b196f1d573893eacab7
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-09-06 19:09:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 01:43:50 +0900

    [ruby/benchmark] Set required_ruby_version = ">= 2.1.0"

    `Process.clock_gettime` only works since 2.1

    https://github.com/ruby/benchmark/commit/94cfe56291

commit ac960b08eee1ef984097847034fb1de5b28b0b78
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-09 00:51:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-09 00:51:41 +0900

    Clean up dummped IBF files

commit 6e544f2fed8c26de14be55093ef66315977ef7d0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-08 21:42:42 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-08 23:40:18 +0900

    Initialize goruby only when executing

commit ecb58a8d08bb3b53326319fb5b7ba3ed26fcac2b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-08 21:18:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-08 23:40:17 +0900

    Fix prelude to use IBF

    Since universal-parser and prism support, prelude code used functions
    inaccessible from outside libruby shared library.

    ```
    linking goruby
    /usr/bin/ld: goruby.o: in function `prelude_eval':
    /home/runner/work/ruby/ruby/build/golf_prelude.c:221: undefined reference to `rb_ruby_prism_ptr'
    /usr/bin/ld: goruby.o: in function `pm_prelude_load':
    /home/runner/work/ruby/ruby/build/golf_prelude.c:192: undefined reference to `pm_options_line_set'
    /usr/bin/ld: /home/runner/work/ruby/ruby/build/golf_prelude.c:193: undefined reference to `pm_parse_string'
    /usr/bin/ld: goruby.o: in function `prelude_eval':
    /home/runner/work/ruby/ruby/build/golf_prelude.c:224: undefined reference to `pm_iseq_new_with_opt'
    /usr/bin/ld: /home/runner/work/ruby/ruby/build/golf_prelude.c:226: undefined reference to `pm_parse_result_free'
    /usr/bin/ld: goruby.o: in function `prelude_ast_value':
    /home/runner/work/ruby/ruby/build/golf_prelude.c:181: undefined reference to `rb_ruby_ast_data_get'
    /usr/bin/ld: goruby.o: in function `prelude_eval':
    /home/runner/work/ruby/ruby/build/golf_prelude.c:231: undefined reference to `rb_ruby_ast_data_get'
    /usr/bin/ld: goruby.o: in function `pm_prelude_load':
    /home/runner/work/ruby/ruby/build/golf_prelude.c:196: undefined reference to `pm_parse_result_free'
    collect2: error: ld returned 1 exit status
    ```

commit 70871fa6e3172d10d615174e9aa909d3e08687f0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-08 21:06:54 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-08 23:16:46 +0900

    Extract `rb_builtin_find`

    Refactor out the same code from `rb_builtin_ast_value` and
    `pm_builtin_ast_value.

commit be84abffbaf315c7534ec4c76edc7b30c3ec8111
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-08 21:02:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-08 23:16:46 +0900

    Gather code for builtin loading to miniinit.c

commit d2179eeaacd9a85fa10188d79f74adc8068f29c3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-07 21:43:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-08 23:16:46 +0900

    Try to run goruby

commit 903f3790ade13054af6a4c2f654d8b75edf0936e
  Author:     otegami <otegami@clear-code.com>
  AuthorDate: 2024-09-06 09:32:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-08 23:13:00 +0900

    [ruby/open-uri] Update error message for `request_specific_fields` option validation

    Added `inspect` to the `request_specific_fields` value to provide
    better visibility for users in the exception message.

    https://github.com/ruby/open-uri/commit/f89ce5112d

commit 76475bf5c090a482af0e656601c38d138205bad1
  Author:     otegami <otegami@clear-code.com>
  AuthorDate: 2024-08-28 17:00:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-08 23:13:00 +0900

    [ruby/open-uri] Add documentation for `request_specific_fields` option

    https://github.com/ruby/open-uri/commit/2e7734c061

commit 0ac16215da216556e6aa14b271d7be4885c13c76
  Author:     otegami <otegami@clear-code.com>
  AuthorDate: 2024-08-27 18:16:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-08 23:12:59 +0900

    [ruby/open-uri] Add test about `request_specific_fields` option

    https://github.com/ruby/open-uri/commit/060886f312

commit 6ea2b6f65f92c4b8cfd91a655dcd89a7082bf6e4
  Author:     otegami <otegami@clear-code.com>
  AuthorDate: 2024-08-27 13:45:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-08 23:12:59 +0900

    [ruby/open-uri] Add `request_specific_fields` option for customizing headers

    This commit introduces the `request_specific_fields` option in OpenURI.
    It provides two methods for customizing headers as follows.

    1. Specify headers only for the initial request

    Use a Hash to apply headers only to the first request.
    These headers are automatically removed during redirects.

    2. Specify headers dynamically for each request

    Use a Proc to dynamically generate headers for each request,
    including during redirects, based on the request URL.

    This feature allows users to control headers flexibly,
    ensuring that sensitive headers like "Authorization" are not unintentionally
    transferred during redirects unless explicitly specified.

    https://github.com/ruby/open-uri/commit/460f858e3c

commit ec5d5422ca7220975a4eded9a39a9f2a30d9e758
  Author:     Mads Ohm Larsen <mads.ohm@gmail.com>
  AuthorDate: 2024-09-08 21:17:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-08 21:17:36 +0900

    [ruby/rdoc] Use pointer cursor for navigation toggle
    (https://github.com/ruby/rdoc/pull/1175)

    https://github.com/ruby/rdoc/commit/964a1982c8

commit 47742841246c637053dc8dad447c7e5e28182676
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-09-07 23:21:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-08 07:36:38 +0900

    [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser::Lexer`

    This PR fixes a token incompatibility between Parser gem and `Prism::Translation::Parser` for left parenthesis.

    ## Parser gem (Expected)

    Returns `tLPAREN2` token:

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 \
    -ve 'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "foo(:bar)"; p Parser::Ruby33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:tIDENTIFIER, ["foo", #<Parser::Source::Range example.rb 0...3>]], [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 3...4>]],
    [:tSYMBOL, ["bar", #<Parser::Source::Range example.rb 4...8>]], [:tRPAREN, [")", #<Parser::Source::Range example.rb 8...9>]]]
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the parser returned `tLPAREN` token when parsing the following:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "foo(:bar)"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:tIDENTIFIER, ["foo", #<Parser::Source::Range example.rb 0...3>]], [:tLPAREN, ["(", #<Parser::Source::Range example.rb 3...4>]],
    [:tSYMBOL, ["bar", #<Parser::Source::Range example.rb 4...8>]], [:tRPAREN, [")", #<Parser::Source::Range example.rb 8...9>]]]
    ```

    After the update, the parser now returns `tLPAREN2` token for the same input:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "foo(:bar)"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:tIDENTIFIER, ["foo", #<Parser::Source::Range example.rb 0...3>]], [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 3...4>]],
    [:tSYMBOL, ["bar", #<Parser::Source::Range example.rb 4...8>]], [:tRPAREN, [")", #<Parser::Source::Range example.rb 8...9>]]]
    ```

    The `PARENTHESIS_LEFT` token in Prism is classified as either `tLPAREN` or `tLPAREN2` in the Parser gem.
    The tokens that were previously all classified as `tLPAREN` are now also classified to `tLPAREN2`.

    With this change, the following code could be removed from `test/prism/ruby/parser_test.rb`:

    ```diff
    -          when :tLPAREN
    -            actual_token[0] = expected_token[0] if expected_token[0] == :tLPAREN2
    ```

    https://github.com/ruby/prism/commit/04d6f3478d

commit f97332a3a3647b79a19a7ad81ab8e58bc8608399
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-07 16:34:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-07 16:34:28 +0900

    Preserve encoding in exception message of `Float`

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

commit c1862cbb89a6bf42dcd07d92fe4f4bfeebca5775
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-07 16:06:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-07 16:06:14 +0900

    [Bug #20719] `Float` argument must be ASCII compatible

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

commit c1a510a8dffa1c8065e47697cd57edae67126712
  Author:     Jonathan Calvert <athemeus@athemeus.com>
  AuthorDate: 2024-09-07 12:19:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-07 12:19:47 +0900

    [Bug #20718] Free non-`RTypedData` objects

    Allow objects that are not of type `RTypedData` to use the default
    free function, as `RTYPEDDATA_EMBEDDED_P` can return a false positive
    when casting non-`RTypedData` objects.

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

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

commit 6dc93846943a0fc85e597fd16c653de6fd7f35d7
  Author:     Mads Ohm Larsen <mads.ohm@gmail.com>
  AuthorDate: 2024-09-07 06:26:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-07 06:26:17 +0900

    [ruby/rdoc] Add more space after magnifying glass
    (https://github.com/ruby/rdoc/pull/1173)

    https://github.com/ruby/rdoc/commit/6a9cad4c54

commit 731805ddde4b6a2b72a6648f1b3a61dd0366af76
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-09-06 15:06:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-07 05:51:19 +0900

    Add an explicit check for broken libunwind builds

    Libunwind as packaged in MacOS cannot actually unwind code which has
    pointer authentication on, because _LIBUNWIND_IS_NATIVE_ONLY is not
    defined. Add a check for this, and prefer building with working
    unwinding over pointer authentication if we must make a choice.

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

commit 2865148a5aeb067ab8e1373a12c2f16de8cca0c9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-05 02:47:03 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-07 05:51:19 +0900

    Revert "Check for both aarch64 and arm64 arch's for pac-ret"

    This reverts commit 6a746e1bc902d4245aac58db4e9ffc2f72d79629.

    This patch breaks the C level backtrace on macOS ARM machines.

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

commit b0adae7fb25cd0c2113c3498d384c1f0ffad5e6e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-07 02:01:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-07 03:44:38 +0900

    [rubygems/rubygems] Remove unnecessary "./" when appending string to uri

    https://github.com/rubygems/rubygems/commit/732679306d

commit fe1bace43c73d88a5721e9b97066e746a34f135c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-06 16:34:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-07 03:44:37 +0900

    [rubygems/rubygems] Fix `gem install does-not-exist` being super slow

    Every time a gem is not found in the Compact Index API, RubyGems will
    fallback to the full index, which is very slow. This is unnecessary
    because both indexes should be providing the same gems, so if a gem
    can't be found in the Compact Index API, it won't be found in the full
    index.

    We _do_ want a fallback to the full index, whenever the Compact Index
    API is not implemented. To detect that, we check that the API responds
    to the "/versions" endpoint, just like Bundler does.

    Before:

    ```
    $ time gem install fooasdsfafs
    ERROR:  Could not find a valid gem 'fooasdsfafs' (>= 0) in any repository
    gem  20,77s user 0,59s system 96% cpu 22,017 total
    ```

    After:

    ```
    $ time gem install fooasdsfafs
    ERROR:  Could not find a valid gem 'fooasdsfafs' (>= 0) in any repository
    gem  5,02s user 0,09s system 91% cpu 5,568 total
    ```

    https://github.com/rubygems/rubygems/commit/c0d6b9eea7

commit 2a17b4f0222a24e2ae2cd686e611f6951215387e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-06 20:02:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-07 03:44:37 +0900

    [rubygems/rubygems] Deprecate constant that has been unused for a long time

    https://github.com/rubygems/rubygems/commit/282dbb3d62

commit 4478ca31131a1c5d7eac5ae79bfae5f2d28f4d60
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-06 20:01:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-07 03:44:36 +0900

    [rubygems/rubygems] Remove incorrect documentation

    This exception has not been raised for a long time.

    https://github.com/rubygems/rubygems/commit/a6271a0b21

commit 53f784178ac4eb4c854985e7855be2b9d66dfe8c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-06 19:59:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-07 03:44:36 +0900

    [rubygems/rubygems] Remove unreachable code

    Nothing is actually raising this at the moment.

    https://github.com/rubygems/rubygems/commit/3b824ca7a6

commit ad742de79bcce53290005429868f63c51cbeb0f2
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-09-06 03:06:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-07 01:58:18 +0900

    [ruby/openssl] Fix test_provider.rb in FIPS.

    https://github.com/ruby/openssl/commit/7bdbc52100

commit 30176e3f238f198ae835bf1c593d2ad2dce2df49
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-16 20:19:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-06 23:46:43 +0900

    [rubygems/rubygems] Ensure that the lock file will be removed

    https://github.com/rubygems/rubygems/commit/2706acb271

commit 6dd917bd01f204e76d65137f2218d6305652f179
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-15 16:20:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-06 23:46:42 +0900

    [rubygems/rubygems] Workaround for TruffleRuby

    https://github.com/rubygems/rubygems/commit/b82e43fd54

commit 5afee4d79599e5aad366a788b0c84e68594e6d34
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-13 17:19:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-06 23:46:42 +0900

    [rubygems/rubygems] Remove the lock file for binstubs

    https://github.com/rubygems/rubygems/pull/7806#issuecomment-2241662488

    https://github.com/rubygems/rubygems/commit/4f06ee234a

commit 6bf519ba8128a2dfa7f2f2bec92ca6321b39406a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-04 23:49:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-06 22:56:59 +0900

    Remove unneeded rb_darray_append_impl

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

commit 37712c1ed6cc57a3b5979a6e695ab24b5e64c4e6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-06 21:58:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-06 21:58:01 +0900

    Prefer constants for `shutdown` over magic numbers

commit bc85c8d8529b58c5c649f418ca549569ba348caa
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-06 03:00:32 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-06 19:40:32 +0900

    Implement Array#fetch_values

    [Feature #20702]

    Works the same way than `Hash#fetch_values` for for array.

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

commit 214668fccbca2db14ce57797017b34acd86d4690
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-06 15:53:46 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-06 15:53:46 +0900

    [Feature #20707] Fix negative UTC offset conversion

    In short, get rid of division and modulo of negative integers.

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

commit 7387a0979158c50ca37884f14bad2b493d3e2f0a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-01 00:26:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-06 14:58:21 +0900

    [ruby/digest] Suppress md5 deprecation warnings by gcc as well as clang

    https://github.com/ruby/digest/commit/76878e3201

commit 0e7b6e348fa5b85de365ab9ec62abe26d0adb0bc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-06 13:37:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-06 14:45:17 +0900

    Merge GH-11492

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

commit 74c4e562e2ed3f641e68219db507b5a41ea3b6eb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-06 13:26:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-06 14:45:17 +0900

    Warn missing irb cases

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

commit 1b4f394c527652210941d1da768b83203a33715d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-06 13:24:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-06 14:45:17 +0900

    Only provide force_activate. Because it's hard to determine require name.

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

commit 69d0e690bb632c0f67d8bb55988e91f61aff68f8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-06 13:06:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-06 14:45:17 +0900

    Added force_require for binding.irb

    When we make irb to bundled gems, binding.irb with bundle exec is not
    working without irb declaration of Gemfile.

    This force_require makes to load irb without Gemfile.

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

commit e43d701f091e78725acc312465174d938fd5d639
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-06 12:56:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-06 14:45:17 +0900

    Warn irb, reline for Ruby 3.5

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

commit e17d91459cc1f806b31feaff0cdbaaafea4c9b86
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-06 09:31:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-06 09:31:38 +0900

    [ruby/time] Bump up v0.4.0

    https://github.com/ruby/time/commit/a14fa00ef7

commit 72acd1c8b1003467d838728a5c113a127a441f6b
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-05 17:06:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-06 07:37:35 +0900

    [ruby/time] Do not redefine Time#xmlschema if it already exists

    [Feature #20707]

    Ruby 3.4 will define this method natively, so the time gem shouldn't
    redefine it with a slower version.

    https://github.com/ruby/time/commit/f05099ce38

commit f250296efaa7ea3e929eeaecfecd29e5cfe13de3
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-06 04:39:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-06 04:39:57 +0900

    YJIT: Speed up block_assumptions_free (#11556)

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

commit cf3b62b54579d5cba4ceee707fee01b198de034a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-30 01:18:07 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-06 03:03:39 +0900

    Fix check_tempfile_leak in leakchecker.rb

    The instance variable @tmpfile was removed in ddcfc9f so check_tempfile_leak
    did not work.

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

commit 57e3fc32ea83e55d40f4cc6c3e437d485c506d34
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-30 20:04:11 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-06 02:23:12 +0900

    Move Time#xmlschema in core and optimize it

    [Feature #20707]

    Converting Time into RFC3339 / ISO8601 representation is an significant
    hotspot for applications that serialize data in JSON, XML or other formats.

    By moving it into core we can optimize it much further than what `strftime` will
    allow.

    ```
    compare-ruby: ruby 3.4.0dev (2024-08-29T13:11:40Z master 6b08a50a62) +YJIT [arm64-darwin23]
    built-ruby: ruby 3.4.0dev (2024-08-30T13:17:32Z native-xmlschema 34041ff71f) +YJIT [arm64-darwin23]
    warming up......

    |                        |compare-ruby|built-ruby|
    |:-----------------------|-----------:|---------:|
    |time.xmlschema          |      1.087M|    5.190M|
    |                        |           -|     4.78x|
    |utc_time.xmlschema      |      1.464M|    6.848M|
    |                        |           -|     4.68x|
    |time.xmlschema(6)       |    859.960k|    4.646M|
    |                        |           -|     5.40x|
    |utc_time.xmlschema(6)   |      1.080M|    5.917M|
    |                        |           -|     5.48x|
    |time.xmlschema(9)       |    893.909k|    4.668M|
    |                        |           -|     5.22x|
    |utc_time.xmlschema(9)   |      1.056M|    5.707M|
    |                        |           -|     5.40x|
    ```

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

commit d4de8aef374310d318b27c910f2fb562da170641
  Author:     mterada1228 <49284339+mterada1228@users.noreply.github.com>
  AuthorDate: 2024-09-06 01:53:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-06 01:53:31 +0900

    `rake install` command is failed (#1170)

    * `rake install` command is failed

    \### Problems

    Several file paths were changed by following PR.

    - https://github.com/ruby/rdoc/commit/4211292ffe80dd4737db2450d72df404a9d55051
    - https://github.com/ruby/rdoc/commit/d7bca12c13b8b3f1632d698d497e67d4ea8a88bc

    Because rdoc.gemspec doesn't take in this changes,
    the `rake install` command is permanently failed.

    \### Test

    \#### before

    ```console
    ❯ bundle exec rake install
    Running RuboCop...
    Inspecting 4 files
    ....

    4 files inspected, no offenses detected

    Tip: Based on detected gems, the following RuboCop extension libraries
    might be helpful:
      * rubocop-rake (https://rubygems.org/gems/rubocop-rake)

    You can opt out of this message by adding the following to your config
    (see
    https://docs.rubocop.org/rubocop/extensions.html#extension-suggestions
    for more options):
      AllCops:
        SuggestExtensions: false
    rake aborted!
    Running `gem build -V
    /Users/mterada/dev/redDataTools/remove_dependency/rdoc/rdoc.gemspec`
    failed with the following output:

    WARNING:  See https://guides.rubygems.org/specification-reference/ for
    help
    ERROR:  While executing gem ... (Gem::InvalidSpecificationException)
        ["RI.rdoc", "lib/rdoc/alias.rb", "lib/rdoc/anon_class.rb",
    "lib/rdoc/any_method.rb", "lib/rdoc/attr.rb",
    "lib/rdoc/class_module.rb", "lib/rdoc/constant.rb",
    "lib/rdoc/context.rb", "lib/rdoc/context/section.rb",
    "lib/rdoc/extend.rb", "lib/rdoc/ghost_method.rb", "lib/rdoc/include.rb",
    "lib/rdoc/meta_method.rb", "lib/rdoc/method_attr.rb",
    "lib/rdoc/mixin.rb", "lib/rdoc/normal_class.rb",
    "lib/rdoc/normal_module.rb", "lib/rdoc/require.rb",
    "lib/rdoc/single_class.rb", "lib/rdoc/top_level.rb"] are not files

    /Users/mterada/.rbenv/versions/3.1.0/bin/bundle:25:in `load'
    /Users/mterada/.rbenv/versions/3.1.0/bin/bundle:25:in `<main>'
    Tasks: TOP => install => build
    (See full trace by running task with --trace)
    ```

    \#### after

    ```console
    ❯ bundle exec rake install
    Running RuboCop...
    Inspecting 4 files
    ....

    4 files inspected, no offenses detected

    Tip: Based on detected gems, the following RuboCop extension libraries might be helpful:
      * rubocop-rake (https://rubygems.org/gems/rubocop-rake)

    You can opt out of this message by adding the following to your config (see https://docs.rubocop.org/rubocop/extensions.html#extension-suggestions for more options):
      AllCops:
        SuggestExtensions: false
    rdoc 6.7.0 built to pkg/rdoc-6.7.0.gem.
    rdoc (6.7.0) installed.
    ```

    * Add a `bundle exec rake install` step to github workflow

    * make intentionally CI failed

    * Revert "make intentionally CI failed"

    This reverts commit 9fc5dd9423a024594ad26d86a8a6af829e7017f8.

commit 721a2ceecfe3e3f943b7da50efe8f134efb97fea
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-09-05 21:47:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-05 21:48:02 +0900

    [ruby/reline] Bump version to 0.5.10
    (https://github.com/ruby/reline/pull/745)

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

commit be6d23646f3d187c1c68cfdd9fb8eb85481342ed
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-09-05 21:22:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-05 21:22:34 +0900

    [ruby/reline] Prevent a warning for `warning: literal string will be
    frozen in the future`
    (https://github.com/ruby/reline/pull/744)

    https://github.com/ruby/reline/commit/69c95c8b6a

commit bf9879791af11a20e50921551220c08d1c7f7f02
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-08-05 19:31:24 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-05 19:46:02 +0900

    Optimized instruction for Hash#freeze

    If a Hash which is empty or only using literals is frozen, we detect
    this as a peephole optimization and change the instructions to be
    `opt_hash_freeze`.

    [Feature #20684]

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

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

commit a99707cd9c6a1d53cf8ebc883dc210219bd67a28
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-07-29 19:15:02 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-05 19:46:02 +0900

    Optimized instruction for Array#freeze

    If an Array which is empty or only using literals is frozen, we detect
    this as a peephole optimization and change the instructions to be
    `opt_ary_freeze`.

    [Feature #20684]

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

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

commit 63cbe3f6ac9feb44a2e43b1f853e2ca7e049316c
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-29 23:46:04 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-05 18:43:46 +0900

    Proof of Concept: Allow to prevent fork from happening in known fork unsafe API

    [Feature #20590]

    For better of for worse, fork(2) remain the primary provider of
    parallelism in Ruby programs. Even though it's frowned uppon in
    many circles, and a lot of literature will simply state that only
    async-signal safe APIs are safe to use after `fork()`, in practice
    most APIs work well as long as you are careful about not forking
    while another thread is holding a pthread mutex.

    One of the APIs that is known cause fork safety issues is `getaddrinfo`.
    If you fork while another thread is inside `getaddrinfo`, a mutex
    may be left locked in the child, with no way to unlock it.

    I think we could reduce the impact of these problem by preventing
    in for the most notorious and common cases, by locking around
    `fork(2)` and known unsafe APIs with a read-write lock.

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

commit 2e5680d304a9cf9a6a2ba582091af6719e839351
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-07-26 23:57:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-05 17:41:30 +0900

    [ruby/openssl] Fix test_pkey_rsa.rb in FIPS.

    * test_sign_verify
      I created the signature text (`signature_encoded.txt`), that is used as a
      text to create the `signature0` in the `test_sign_verify` by the following
      steps with the `openssl` CLI on FIPS module.
      ```
      $ OPENSSL_DIR="${HOME}/.local/openssl-3.4.0-dev-fips-debug-3c6e114959"
      $ export OPENSSL_CONF="${OPENSSL_DIR}/ssl/openssl_fips.cnf"

      $ echo -n "Sign me!" > data.txt
      $ "${OPENSSL_DIR}/bin/openssl" dgst -sha256 -sign test/openssl/fixtures/pkey/rsa2048.pem data.txt > signature.txt
      $ cat signature.txt | base64 > signature_encoded.txt
      ```

    https://github.com/ruby/openssl/commit/091f3eb421

commit 08e142b209a4919aac527bb0ce174a0ca0333d5c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-04 11:44:12 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-05 16:55:54 +0900

    Refactor `getlogin` and `getpw*` functions

    - Extract functions to check not-found conditions
    - Set the length to the result of `rb_getlogin`
    - Reentrant versions return an error numeber but not `errno`
    - Check maybe-undefined macros with `defined`

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

commit 630bfd36f9a10c74da1084493ea806d3c706eeba
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-09-05 16:01:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-05 16:01:45 +0900

    Update bundled gems list as of 2024-09-04

commit 32680f543c6fc515870d4f5c6829607dc67d59ef
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-05 11:07:13 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-05 13:03:28 +0900

    Implement AND/OR NODE operator locations

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

commit 294dad22d7ac5f307d567cff897507b9fd9d05e9
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-04 19:52:18 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-04 23:12:50 +0900

    Time#strftime: avoid repeated coderange scanning

    Followup: a3f589640fd443deea230c27efd6bdfc92f5817f

    Restarting scanning has a fixed cost. Since we build a string
    from many small parts, that causes the scan to restart many times.

    It's much faster to ignore the coderange, if it's needed later it
    will be faster to scan it in one go.

    ```
    compare-ruby: ruby 3.4.0dev (2024-09-04T11:54:06Z opt-strftime-growth 149480f0ff) +YJIT [arm64-darwin23]
    built-ruby: ruby 3.4.0dev (2024-09-04T11:55:26Z opt-strftime-coder.. 29a5153cba) +YJIT [arm64-darwin23]
    warming up...

    |                            |compare-ruby|built-ruby|
    |:---------------------------|-----------:|---------:|
    |time.strftime("%FT%T")      |      1.870M|    2.225M|
    |                            |           -|     1.19x|
    |time.strftime("%FT%T.%3N")  |      1.731M|    2.068M|
    |                            |           -|     1.19x|
    |time.strftime("%FT%T.%6N")  |      1.744M|    2.073M|
    |                            |           -|     1.19x|
    ```

    Cumulative with a3f589640fd443deea230c27efd6bdfc92f5817f:

    ```
    compare-ruby: ruby 3.4.0dev (2024-09-04T11:55:26Z opt-strftime-coder.. 29a5153cba) +YJIT [arm64-darwin23]
    built-ruby: ruby 3.4.0dev (2024-09-04T12:57:30Z opt-strftime-coder.. 2b938d667a) +YJIT [arm64-darwin23]
    warming up...

    |                            |compare-ruby|built-ruby|
    |:---------------------------|-----------:|---------:|
    |time.strftime("%FT%T")      |      1.784M|    2.277M|
    |                            |           -|     1.28x|
    |time.strftime("%FT%T.%3N")  |      1.504M|    2.056M|
    |                            |           -|     1.37x|
    |time.strftime("%FT%T.%6N")  |      1.489M|    2.094M|
    |                            |           -|     1.41x|
    ```

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

commit 2e5a7d768b0b83a8184eb9e2c5a7560de3e5e78a
  Author:     Takuya Noguchi <takninnovationresearch@gmail.com>
  AuthorDate: 2022-09-06 04:56:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 22:57:38 +0900

    [rubygems/rubygems] Improve `bundle add` manpage

    * Fix synopsis for mutually exclusive options.
    * Add more descriptive examples.

    Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>

    https://github.com/rubygems/rubygems/commit/c0f1efda69

    Co-authored-by: Jerome Dalbert <jerome.dalbert@gmail.com>

commit ae84c017d6c3cb920b5ccdcf733942b79ddf09e9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-04 22:29:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-04 22:29:18 +0900

    Remove unused allocatable_pages field in objspace

commit da0460a2e1a4a22368b01647af92a689980f7c24
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-04 22:03:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 22:13:38 +0900

    [ruby/prism] Update config.yml

    https://github.com/ruby/prism/commit/8a3fa9f46e

commit a246188695fd5c27a843f4e56aafeb560d3fb47a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-04 22:03:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 22:13:38 +0900

    [ruby/prism] Update config.yml

    https://github.com/ruby/prism/commit/369b2c1304

commit dbb8f97eaa4c6c7e36c797c7b1d9a803db2623ea
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-04 21:55:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 22:13:37 +0900

    [ruby/prism] essentialy ==> essentially

    https://github.com/ruby/prism/commit/9c68c01bcd

commit 5c3a52627f945670dd6929614db56c154ebfe552
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-04 21:54:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 22:13:37 +0900

    [ruby/prism] containt ==> contains

    https://github.com/ruby/prism/commit/fa65b66237

commit a3f589640fd443deea230c27efd6bdfc92f5817f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-04 19:38:30 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-04 21:52:55 +0900

    Time#strftime: grow the buffer faster

    Use a classic doubling of capacity rather than only adding
    twice as much capacity as is already known to be needed.

    ```
    compare-ruby: ruby 3.4.0dev (2024-09-04T09:21:53Z opt-strftime-2 ae98d19cf9) +YJIT [arm64-darwin23]
    built-ruby: ruby 3.4.0dev (2024-09-04T11:46:02Z opt-strftime-growth 586263d6fb) +YJIT [arm64-darwin23]
    warming up...

    |                            |compare-ruby|built-ruby|
    |:---------------------------|-----------:|---------:|
    |time.strftime("%FT%T")      |      1.754M|    1.889M|
    |                            |           -|     1.08x|
    |time.strftime("%FT%T.%3N")  |      1.508M|    1.749M|
    |                            |           -|     1.16x|
    |time.strftime("%FT%T.%6N")  |      1.488M|    1.756M|
    |                            |           -|     1.18x|
    compare-ruby: ruby 3.4.0dev (2024-09-04T09:21:53Z opt-strftime-2 ae98d19cf9) +YJIT [arm64-darwin23]
    built-ruby: ruby 3.4.0dev (2024-09-04T09:21:53Z opt-strftime-2 ae98d19cf9) +YJIT [arm64-darwin23]
    warming up...
    ```

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

commit 83334ebb3c8056534974873b528f44fc0622cd22
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-03 03:21:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 21:00:36 +0900

    [rubygems/rubygems] Load gemspecs in the context of its parent also when using local overrides

    https://github.com/rubygems/rubygems/commit/0a6c1c53ce

commit 9a766777d465dd408679880d2e070b4396b7c1a5
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-04 20:57:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 20:58:03 +0900

    [ruby/reline] Split render_differential to LineEditor's rendering
    logic and actual differential rendering part
    (https://github.com/ruby/reline/pull/731)

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

commit 036ca726bb9763690b7f6b7fe05ddf112d22ddc5
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-04 18:24:00 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-04 18:26:17 +0900

    Fix documentation for String#rindex and String#byterindex

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

commit ae98d19cf97bf3ec70c4d1e2df9b90c7d0ecd130
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-04 16:47:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-04 18:21:53 +0900

    Test with Ubuntu 24.04

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

commit 56817865d64e898aac28e644bc44ee4e242f4ceb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-04 16:07:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 17:57:17 +0900

    [rubygems/rubygems] Removed unused stringio

    Fixed https://github.com/rubygems/rubygems/pull/7996

    https://github.com/rubygems/rubygems/commit/16bfcac883

commit 7fc1fd8977d0012067d736a88cebe2bbd71fd64d
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-09-04 16:02:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 16:02:15 +0900

    Update bundled gems list as of 2024-09-04

commit e884d65094e7b10b3e4c2764c83ed68db67666ab
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-04 12:59:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-04 14:49:25 +0900

    Ignore blocks to `Test::Unit::Assertions#pend` silently

    Although `pend` in test-unit gem expects the block does not pass if it
    is given, our `pend` should ignore the block silently as same as it
    just skips the test with no message by default.  Add an unused
    parameter, to suppress the warning for the block to be ignored.

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

commit a3e08718b4c6505564b6a36933477a6093a38c77
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-04 14:44:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-04 14:44:34 +0900

    Use bundler/inline to download diffy gem

commit ab18b1b4f55d3d06e6e040d755e75b5b447198f3
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-03 16:20:52 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-04 14:36:35 +0900

    Implement VALIAS NODE keyword locations

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

commit 37d7ae06afb03ae5508bfd81033961559886bd6b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-03 20:19:55 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-04 10:42:48 +0900

    [Bug #20708] Retry `open` on EINTR

    Co-Authored-By: Martin Dorey <martin.dorey@hds.com>

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

commit 08f14b8d4cf2058e8f23f3c6dab37c82c5e73d70
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-04 10:21:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-04 10:21:01 +0900

    Allow Errno::EACCES when testing connection timeout

    Some packaging systems that include support for running tests,
    such as OpenBSD's, do not allow outbound network connections
    during testing for security reasons. EACCES is the error raised by
    OpenBSD in this case.

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

    Merged-By: jeremyevans <code@jeremyevans.net>

commit 974b4043271b805c959b709183369bede3ba1fdb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-04 08:41:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-04 08:41:38 +0900

    Bump up openssl-3.0.15

commit ef42e04a1a623df533815d3d9305a79fb69b1593
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-04 02:44:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-04 02:44:09 +0900

    Don't traverse garbage objects in heap traversal

    The object could be garbage (e.g. T_NONE, T_MOVED, or T_ZOMBIE) so we
    don't want to traverse those.

commit 53eaa67305611e29e45722036cd49b528ac32abf
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-04 02:43:33 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-04 02:43:33 +0900

    Unpoision the object in rb_gc_impl_garbage_object_p

commit 675529b9c662c0e69a71de12d7a22c68016186f5
  Author:     Durable Programming Team <djberube@durableprogramming.com>
  AuthorDate: 2024-09-03 04:16:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 02:40:12 +0900

    [rubygems/rubygems] standardize pretty-print output for Gem::Source and subclasses

    https://github.com/rubygems/rubygems/commit/6d5fbf82f1

commit 767d0a171668fbfcc5bbd9c060bb59d192717ce3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-04 02:16:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-04 02:16:24 +0900

    [PRISM] Fix up compile warning for sign comparison

commit f7b097dea0491410dbb98db792c29d87abf888a6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-04 00:22:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-04 01:12:08 +0900

    [PRISM] Keep script lines option for eval iseqs as well

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

commit f1349924df3b5e9ff2a06453a142a914d5a2799f
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-04 00:45:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 00:45:40 +0900

    [ruby/irb] Fix easter_egg run without RDoc, fix input-method test
    run without RDoc
    (https://github.com/ruby/irb/pull/998)

    * EasterEgg no longer depend on RDoc

    * Run most of the input-method tests even if RDoc is not avialable

    https://github.com/ruby/irb/commit/30fa1595d9

commit 0889f640219f964d75ad334b65c516ba3eacf55b
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-09-04 00:32:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 00:32:29 +0900

    [ruby/reline] Add test for reset_variables in Reline::Config
    (https://github.com/ruby/reline/pull/741)

    * Fix reset variables

    * Add assertion for reload

    * Add helper method to get instance variable value of Reline::Config

    https://github.com/ruby/reline/commit/386f619ff5

commit ad9d2c643504b3235602d5102a28545c4d06d148
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-04 00:19:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 00:19:44 +0900

    [ruby/reline] Fix redisplay/insert_text called from pre_input_hook
    (https://github.com/ruby/reline/pull/742)

    * Fix redisplay/insert_text called from pre_input_hook

    * Rename insert_pasted_text to insert_multiline_text

    It is now used from Reline.insert_text which is not inserting pasted text

    https://github.com/ruby/reline/commit/694a540939

commit 3c63a01295b4219743b3d3e883fd4a4a616960a6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-31 02:05:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-03 23:05:38 +0900

    Move responsibility of heap walking into Ruby

    This commit removes the need for the GC implementation to implement heap
    walking and instead Ruby will implement it.

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

commit a2243ee48bf6d68b0e5c713b5e7dd6bf3b57f62c
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-03 16:12:30 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-03 22:09:08 +0900

    Implement ALIAS NODE keyword locations

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

commit af143d8a749ae0ba0f394521dd46bea824a354fa
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-03 17:53:55 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-03 21:15:12 +0900

    Implement UNDEF NODE keyword locations

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

commit b7fa2dd0d0b7328f8f713b7cf0332d1e34c20fe4
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-03 16:38:18 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-03 19:21:36 +0900

    rb_enc_str_asciionly_p: avoid always fetching the encoding

    Profiling of `JSON.dump` shows a significant amount of time spent
    in `rb_enc_str_asciionly_p`, in large part because it fetches the
    encoding.

    It can be made twice as fast in this scenario by first checking the
    coderange and only falling back to fetching the encoding if the
    coderange is unknown.

    Additionally we can skip fetching the encoding for the common
    popular encodings.

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

commit 245ed2fc890f7f33526e1c0f42b79c30366493e6
  Author:     zverok <zverok.offline@gmail.com>
  AuthorDate: 2024-08-26 02:58:47 +0900
  Commit:     Akinori MUSHA <knu@idaemons.org>
  CommitDate: 2024-09-03 16:21:42 +0900

    Range#step: restore legacy behavior for String ranges

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

commit 452eb24b1566f3fd8319e9eeb0ece6758eace08d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-03 16:11:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-03 16:11:34 +0900

    Added missing client_payload for ruby-build

commit 1b8fb4860bebe077bdf24bfb1b0218fba959446e
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-03 15:37:15 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-03 15:37:15 +0900

    Revert "Experiment with removing --profile ruby for now"

    This reverts commit 6986536488ba23c033c043ef8765438f22df7bf5.

    We were just missing the secrets.

commit 6986536488ba23c033c043ef8765438f22df7bf5
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-03 15:31:58 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-03 15:31:58 +0900

    Experiment with removing --profile ruby for now

commit ad613d088415fa9d9373ae0a2ef367311005f9c0
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-03 15:29:43 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-03 15:29:43 +0900

    Try to fix AWS_CLI_OPTS with AWS_ACCESS_KEY_ID

commit 20c3401543a92c3f310a03c4d2e664c463e390ef
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-03 15:25:13 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-03 15:25:20 +0900

    Drop `--profile ruby` on the release workflow

commit e7cb70be4eb7411204f73ee748e317fefaa0410a
  Author:     Zack Deveau <zack.ref@gmail.com>
  AuthorDate: 2024-08-24 02:18:44 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-03 14:25:25 +0900

    Improve String#rindex performance on OSX

    On OSX, String#rindex is slow due to the lack of `memrchr`.
    The fallback implementation finds a match by instead doing
    a `memcmp` on every single character in the search string
    looking for a substring match.

    For OSX hosts, this changeset introduces a simple `memrchr`
    implementation, `rb_memrchr`, that can be used instead. An
    example benchmark below demonstrates an 8000 char long
    search string with a 10 char substring near the end.

    ```
    ruby-master | substring near the end | osx

    UTF-8
           user     system      total        real
    index  0.000111   0.000000   0.000111 (  0.000110)
    rindex  0.000446   0.000005   0.000451 (  0.000454)
    ```

    ```
    ruby-patched | substring near the end | osx

    UTF-8
           user     system      total        real
    index  0.000112   0.000000   0.000112 (  0.000111)
    rindex  0.000057   0.000001   0.000058 (  0.000057)
    ```

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

commit 5fd3942466004daa0b07ed61acae1dee84ebdd75
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-03 13:35:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-03 13:43:25 +0900

    [ruby/optparse] Prefer `require_relative`

    https://github.com/ruby/optparse/commit/bb08cd47a8

commit f4883e790495da3fd9a8e44ade1099821429153c
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-09-02 17:49:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-03 11:51:51 +0900

    [flori/json] Use the compiled extension in test

    https://github.com/flori/json/commit/148afef84c

commit d612f9fd347a3803ff8ecd3f2bef9cda2dbd3ad7
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-02 17:17:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-03 11:51:51 +0900

    [flori/json] Remove outdated ifdef checks

    `json` requires Ruby 2.3, so `HAVE_RUBY_ENCODING_H` and `HAVE_RB_ENC_RAISE`
    are always true.

    https://github.com/flori/json/commit/5c8dc6b70a

commit 81c71efc55740ac5bdeb5817703110fd879f3693
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-30 21:38:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-03 10:49:13 +0900

    Vendor `securerandom` in Bundler as well

    It is loaded by `Fetcher` so in most case it's fine.

    But if using `bundler/inline` and a gem need to be fetched,
    `securerandom` will be loaded and cause a conflict.

    Can be reproduced with:

    ```ruby
    require 'bundler/inline'

    gemfile do
      source 'https://rubygems.org'
      gem 'graphql', '~> 2.0'
      gem 'graphql-client', '~> 0.18'
    end

    require 'json'
    require 'graphql/client'
    require 'graphql/client/http'
    ```

    Ref: https://github.com/rails/rails/pull/52473#issuecomment-2284667451

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit e66e3cf1b9160c657778d4a85e39a9cf1ae452f1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-30 21:37:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-03 10:49:13 +0900

    Change automatiek to properly vendor securerandom

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit 053caa313b52910a5d5fb5e8d305f2abf80ede95
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-23 05:16:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-03 10:49:13 +0900

    Fix `gem exec rails new foo` failing on Ruby 3.2

    The default version of securerandom (0.2.2) gets activated by RubyGems,
    but does not match Rails requirements (>= 0.3), leading to an error like
    this:

    ```
    $ gem exec rails new repro
    /Users/deivid/Code/rubygems/rubygems/lib/rubygems/specification.rb:2246:in `raise_if_conflicts': Unable to activate activesupport-7.2.1, because securerandom-0.2.2 conflicts with securerandom (>= 0.3) (Gem::ConflictError)
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/specification.rb:1383:in `activate'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/specification.rb:1421:in `block in activate_dependencies'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/specification.rb:1403:in `each'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/specification.rb:1403:in `activate_dependencies'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/specification.rb:1385:in `activate'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/core_ext/kernel_gem.rb:62:in `block in gem'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/core_ext/kernel_gem.rb:62:in `synchronize'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/core_ext/kernel_gem.rb:62:in `gem'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/commands/exec_command.rb:193:in `activate!'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/commands/exec_command.rb:73:in `execute'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/command.rb:326:in `invoke_with_build_args'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/command_manager.rb:255:in `invoke_command'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/command_manager.rb:194:in `process_args'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/command_manager.rb:152:in `run'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/gem_runner.rb:56:in `run'
            from /Users/deivid/code/rubygems/rubygems/exe/gem:12:in `<main>'
    ```

    Vendoring our own securerandom fixes the issue since that way we avoid
    activating the gem internally.

commit 24c51e1cbba4ed5a681d6dc7bad572ee422105db
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-23 05:15:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-03 10:49:13 +0900

    Let automatiek convert requires that are indented to require_relative as well

commit a33416a3339de040bb4d2621d0bbae14b0e7aed3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-02 20:26:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-03 09:59:28 +0900

    Fix runnable symlinks

    Fix symlinks to executable as relative paths from `bin` directory.

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

commit c93d07ed7448f332379cf21b4b7b649b057e5671
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-08-26 09:22:35 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-03 08:40:07 +0900

    [Bug #20695] Do not create needless string object in parser

    `set_parser_s_value` does nothing in parser therefore no need to
    create string object in parser `set_yylval_node`.

    # Object allocation

    Run `ruby benchmarks/lobsters/benchmark.rb` with the patch

    ```diff
    diff --git a/benchmarks/lobsters/benchmark.rb b/benchmarks/lobsters/benchmark.rb
    index 240c50c..6cdd0ac 100644
    --- a/benchmarks/lobsters/benchmark.rb
    +++ b/benchmarks/lobsters/benchmark.rb
    @@ -7,6 +7,8 @@ Dir.chdir __dir__
     use_gemfile

     require_relative 'config/environment'
    +printf "allocated_after_load=%d\n", GC.stat(:total_allocated_objects)
    +exit
     require_relative "route_generator"

     # For an in-mem DB, we need to load all data on every boot
    ```

    ## Before

    ```
    ruby 3.4.0dev (2024-08-31T18:30:25Z master d6fc8f3d57) [arm64-darwin21]
    ...
    allocated_after_load=2143519
    ```

    ## After

    ```
    ruby 3.4.0dev (2024-09-01T00:40:04Z fix_bugs_20695 d1bae52f75) [arm64-darwin21]
    ...
    allocated_after_load=1579662
    ```

    ## Ruby 3.3.0 for reference

    ```
    ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin21]
    ...
    allocated_after_load=1732702
    ```

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

commit 1b82d6346227dd451003802a09f4abed5eb732bd
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-31 04:17:06 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-03 07:14:48 +0900

    Fix flaky test_latest_gc_info_need_major_by

    It's possible for a GC to run between the calls of GC.latest_gc_info,
    which would cause the test to fail. We can disable GC so that GC only
    triggers manually.

commit c1fecc5eabba5bb22a3ebd5616fa50ad612ef4d9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-12 20:38:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-03 02:28:50 +0900

    [rubygems/rubygems] Simplify `Gem.read_binary` and `Gem.write_binary`

    Since `Gem.open_file` no longer locks the target file and is same as
    `File.open` now, simply `Gem.read_binary` should read in binary mode.
    Also the body of `Gem.write_binary` is same as `File.binwrite`.

    https://github.com/rubygems/rubygems/commit/44df9045df

commit 1f00f6a09ef8c973be699ad27ab3df3787b4f7af
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-12 20:18:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-03 00:51:10 +0900

    [rubygems/rubygems] Avoid another race condition of open mode

    Instead, just open in CREATE and APPEND mode.
    Also, move the workaround for old Solaris as fallback to retry.

    https://github.com/rubygems/rubygems/commit/2daad257be

commit b539b43b2b25529e679401091836ac7de4df3beb
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-03 00:36:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-03 00:36:53 +0900

    [ruby/rdoc] [DOC] Fix links (https://github.com/ruby/rdoc/pull/1169)

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

commit fe2db1bed9effe7ae18a39e3068ce7d957cc894c
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-02 23:34:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-02 23:34:39 +0900

    [ruby/reline] Get console handle again and retry when Win32API call
    fails
    (https://github.com/ruby/reline/pull/734)

    https://github.com/ruby/reline/commit/66291b5e3c

commit bb511c3f10918efdcc4d5efd980561903e67dc10
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-31 01:57:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-02 23:01:15 +0900

    [rubygems/rubygems] Don't try to remove previous install folder if it's empty

    Ruby ships with empty directories for default gems. If Ruby
    installations has unsafe world-writable permissions, we will complain
    when about to install a gem that happens to be also a default gem,
    because we'll start by removing the previous install folder and that's
    supposed to be insecure due to too loose permissions.

    However, if the folder is empty, we don't actually need to remove
    anything, so we can skip the whole thing, avoiding the errors.

    https://github.com/rubygems/rubygems/commit/2f3cd8ac4e

commit b00b0d5f8fb9b3e39c55289b67b9320ebaddd5d3
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-31 01:47:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-02 23:01:14 +0900

    [rubygems/rubygems] Improve insecure gem overwrite message

    https://github.com/rubygems/rubygems/commit/7c71dac22e

commit 4303a02f46fd37c0e70eb95b6703d44406691c34
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-09-02 21:47:18 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-09-02 22:36:09 +0900

    CI: windows.yml: Drop pull-request - path-ignore.

    It's to avoid the stucking "Windows result" job.
    It seems only the files included in the list of the pull-request - path-ignore,
    GitHub Actions "Windows result" permanently waits for the jobs that don't exist.

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

commit c853e48fc17e906c8965d76e09e4553923e4dd75
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-08-31 15:39:57 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-09-02 22:36:09 +0900

    .travis.yml: Drop all the pipelines due to jobs not starting.

    Remove `.travis.yml` as a temporary workaround.

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

commit 3d83df2b963476df91d22199e589955ed08d4af6
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-08-30 19:17:00 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-09-02 22:36:09 +0900

    .travis.yml: Allow failures for arm64/arm32 pipelines.

    Right now, the arm64 servers on Travis took around 7 hours to start the jobs.
    Therefore, allow failures for the arm64 and arm32 pipelines

    https://app.travis-ci.com/github/ruby/ruby/builds/272105049

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

commit 9d522cc44d256bcad157f9dc351c7dfce146c848
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-28 19:30:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-02 21:31:15 +0900

    [rubygems/rubygems] Make ruby-core check not depend on ENV

    I found it useful to be able to use `GEM_COMMAND` outside of a ruby-core
    env, so I made the ruby-core env detection not depend on it.

    https://github.com/rubygems/rubygems/commit/6cb389c290

commit b6e7e903a09e1577adc2f17600ca40dee80a0534
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-02 18:25:28 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-02 18:25:29 +0900

    redmine-backporter: Support matching multiple revs

    with `done` command

commit 7d47f3c94f4c38f9b236716c9f98b928895d6b2d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-02 18:05:21 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-02 18:22:45 +0900

    redmine-backporter: Clarify the actual control flow

    The `rev && has_commit(rev, "ruby_#{TARGET_VERSION.tr('.','_')}")`
    case seems to be used if and only if it's manually specified in the
    argument to the done command. It was hard to notice it with the previous
    code.

commit 745b4775c5d8b28f6e5fa26b928239dabf966b45
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-02 11:28:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-02 11:29:24 +0900

    [ruby/logger] Bump up 1.6.1

    https://github.com/ruby/logger/commit/bda937b4cc

commit eb144ef91e0b7f01cbe915bac2ac29bd532e1c28
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-29 17:41:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-01 20:00:13 +0900

    Skip show_doc tests if RDoc is not available

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

commit 4aa3491bd235fd16fbef7ba24181bc838aa29abb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-29 17:38:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-01 20:00:13 +0900

    Skip RDoc related feature if Gem::RDoc is not available

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

commit 185602e696980ba776465842fc0398eba2acb677
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-01 12:37:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-01 12:46:44 +0900

    [ruby/io-console] Fix mixing declarations and code for older versions

    https://github.com/ruby/io-console/commit/504292b487

commit 37db194c02fcaefd167304d30041666ec3914c40
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-01 12:29:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-01 12:46:43 +0900

    [ruby/io-console] Support older rubies

    https://github.com/ruby/io-console/commit/cad8169568

commit afd12873e0db8bbdc9a1b3bf155a723d37211ece
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-01 12:00:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-01 12:00:12 +0900

    Update dependencies of io-console

commit d6fc8f3d572f777d434e18f81147371c1f33ad6c
  Author:     Durable Programming Team <djberube@durableprogramming.com>
  AuthorDate: 2024-08-29 05:53:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-01 03:30:25 +0900

    [rubygems/rubygems] fix `@license` typo preventing licenses from being correctly unmarshalled

    https://github.com/rubygems/rubygems/commit/d6ba7ef79f

commit e69945fc57efba5c8895c21235e109145865952d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-31 17:34:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-31 17:43:59 +0900

    [ruby/io-console] Workaround for old TruffleRuby

    https://github.com/ruby/io-console/commit/f10c946ac7

commit 4a1ea9b63ae24918e7aaddcb41de5dbe0f500d7f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-31 16:17:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-31 17:43:59 +0900

    [ruby/io-console] Store console IO in Ractor-local storage

    Ractor requires a shareable class has shareable constants only, but IO
    is not shareable unless frozen.

    https://github.com/ruby/io-console/commit/65e0ff895c

commit 365ededfdf4fa33000411e63d7a1c2d6063ff812
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-31 14:43:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-31 14:46:05 +0900

    [ruby/io-console] io-console is considered Ractor-safe

    https://github.com/ruby/io-console/commit/b1adc15af7

commit 32f134bb8541b21b941c49c68b5bf91cf62c97dc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-31 14:19:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-31 14:22:17 +0900

    Added pre-release suffix for development version of default gems

    https://github.com/ruby/stringio/issues/81

commit f304afd26d22a6c9922399f3eaf0865ff64d95a7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-31 14:18:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-31 14:22:17 +0900

    Added check method with released version of rubygems.org

commit 7900128ab2d8c1d3c52e9c3e14df3ccdd9b3d7c5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-27 14:23:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-31 14:14:54 +0900

    [ruby/uri] Bump up 0.13.1

    https://github.com/ruby/uri/commit/31ec9cea66

commit 818e3037ed8635ae2ed63a5d783cb347d9166764
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-30 03:31:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-31 14:04:30 +0900

    [ruby/zlib] Bump up 3.1.1

    https://github.com/ruby/zlib/commit/d756bb0a0f

commit a2b3cb65ea4d8b9f2d57f027531875bcaab812bf
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-08-31 12:26:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-31 12:26:50 +0900

    [ruby/reline] Implement re-read-init-file
    (https://github.com/ruby/reline/pull/740)

    https://github.com/ruby/reline/commit/59e4ade807

commit f1a7966187886e5b62e22126bd7e83fb005973a2
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-31 05:30:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-31 11:26:50 +0900

    [DOC] Rationalize aliases in What's Here

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

commit a85dc3e9723fc02f3449340fa4a206fc9534ca08
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-31 05:07:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-31 11:25:47 +0900

    [DOC] Rationalize aliases

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

commit 2d944dde7010997b519594670c9792b5f0f22736
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-31 11:23:03 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-31 11:23:03 +0900

    [DOC] Related for Array#[] (#11487)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit eef2121cf3e755cdf33538647d40993d296f9a04
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-31 04:40:46 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-31 05:36:28 +0900

    [macOS CI] Delete big SDKs to avoid exhausting disk space

    Lately we've seen frequent failures on macOS GitHub Action runs due to
    disk space issues. Poking with du(1) revealed that
    /Library/Developer/CoreSimulator/Caches/dyld was growing to be multiple
    gigbytes.

    Deleting unused stuff is a known workaround to space issues.

    https://github.com/actions/runner-images/issues/2840#issuecomment-790492173

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

commit 89bbb9a888fe0c1ea46192791fa0a324d909e34c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-30 23:45:25 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-30 23:45:25 +0900

    Fix call to each_location_ptr for ASAN

commit ca7b3d467d8ea2c86fb1fadc5c5eae28db54639c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-30 05:27:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-30 23:03:17 +0900

    Combine gc_mark_locations and each_stack_location

    Also renames the new function each_location_ptr to be consistent with
    each_location.

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

commit e3f00df2278f8b23278cffc74db11b10c4bf030b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-30 04:05:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-30 23:03:17 +0900

    Drop support for Motorola 68000

    The last Motorla 68000 architecture CPU was released 1994, so we can
    probably drop support for it.

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

commit 830ff66e2c7315470580dd8531f4c10b0200aed5
  Author:     Matt Brictson <matt@mattbrictson.com>
  AuthorDate: 2024-08-25 06:16:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-30 19:36:08 +0900

    [rubygems/rubygems] Emit progress to stderr when `--parseable` is passed to `bundle outdated`

    Before, `bundle outdated --parseable` (or `--porcelain`) caused output
    to be completely silenced during definition resolution, so nothing was
    printed at all until the table of outdated gems was printed.

    With this change, `--parseable`/`--porcelain` now prints progress to
    stderr during resolution. E.g.:

    ```
    Fetching gem metadata from https://rubygems.org/.........
    Resolving dependencies...
    ```

    This provides a better user experience, especially when
    `outdated --parseable` takes several seconds or more.

    The report of outdated gems is still printed to stdout, and the exit
    status codes are unchanged, so the fundamental contract with other tools
    consuming the `outdated --parseable` result should not be affected.

    https://github.com/rubygems/rubygems/commit/7d4bb43570

commit 08b92b67ffdfbfaf53974457308b719f6e2d0d24
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-28 06:35:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-30 19:16:29 +0900

    [rubygems/rubygems] Don't blow up when explicit version is removed from some git sources

    `version` is actually an attribute of the dependency, not of the git
    source. Sometimes it's passed to the git source to be able to fake a
    gemspec in case there's no gemspec in the source, but it should not be
    used for source comparison.

    https://github.com/rubygems/rubygems/commit/d936fbd78e

commit 63287fef9c3290a1e11b5e83bff648b385ad80ee
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-28 06:35:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-30 19:16:28 +0900

    [rubygems/rubygems] Fix grammar in one spec description

    https://github.com/rubygems/rubygems/commit/a1046466c9

commit 371432b2d7a5f4a21876434047192e680a688780
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-30 03:26:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-30 09:27:01 +0900

    [PRISM] Handle RubyVM.keep_script_lines

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

commit 554098303dd70adbe611eac5507277560bfa299a
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-30 08:25:04 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-30 09:20:26 +0900

    [PRISM] For stdin scripts, use locale encoding

    For example:

        $ echo 'p __ENCODING__' | LANG=C ruby
        #<Encoding:US-ASCII>

    But, allow -K to override the source encoding.
    Found by running spec/ruby/language/magic_comment_spec.rb with LANG=C.

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

commit b1c569c1936bc644e99b5892b5fc0e522b0816d9
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-30 05:31:26 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-30 05:31:26 +0900

    [DOC] Related for Array#all? and Array#any? (#11495)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit af65b41e07091c31603b7012941f1edc20d042e7
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-08-21 02:56:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-30 05:04:55 +0900

    [ruby/prism] Remove deprecated lib/prism/translation/parser/rubocop.rb file

    Follow up https://github.com/ruby/prism/pull/2558.

    This PR removes deprecated lib/prism/translation/parser/rubocop.rb file.

    The file was a workaround to allow setting `TargetRubyVersion: 80_82_73_83_77.xx` until Prism (`Prism::Translation::Parser`) is integrated into RuboCop.
    RuboCop already supports Prism (`Prism::Translation::Parser`) as of https://github.com/rubocop/rubocop/pull/12724.

    It has been several months since the file was deprecated in ruby/prism#2558.
    And, yesterday, Prism 1.0.0 was released, but perhaps the file should have been removed before then.

    Although this might be seen as incompatible with semver 1.0.0, I think there is no longer a reason to keep the file.

    https://github.com/ruby/prism/commit/646a10270e

commit 22d9260f05967c456df09375952deedbbab0ab03
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-30 03:46:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-30 05:03:48 +0900

    Remove unused ec argument in each_stack_location

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

commit 9f4954559b03ec910514fdff2f70d113721b30bf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-30 03:39:18 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-30 04:24:55 +0900

    [PRISM] Handle nth reference ERANGE with warning

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

commit 1f114464fc3424b8c5bb1ff41fde84dc1269f184
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-29 04:14:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-30 03:37:01 +0900

    Change each_stack_location to accept data instead of objspace

    The callers were abusing each_stack_location and passing data into the objspace
    argument.

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

commit c162da69e7b56f4e5304c0694613ce0a51ef70e8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-29 04:04:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-30 03:37:01 +0900

    Change each_location to accept data instead of objspace

    The callers were abusing each_location and passing data into the objspace
    argument.

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

commit 591a157b0f95dff3ce6be0956a77c7605d122243
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-08-30 02:06:19 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-30 03:09:35 +0900

    prism_compile.c: Fix read_entire_file() for platforms without file mmap

    Apply similar fix to https://github.com/ruby/prism/pull/2944

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

commit e07f794967abfca691a275ebdbf0bfc2268a6057
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-08-30 02:54:55 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-08-30 02:54:55 +0900

    Stop using the "undef" keyword to remove a constant

    The keyword tries to remove a method of the same name which is unlikely
    to be the intention of this test:

        $ ruby -e 'undef Object'
        -e:1:in '<main>': undefined method 'Object' for class 'Object' (NameError)

    Found looking at GH-11497. The NameError triggers error_highlight, which
    loads a bunch of file under GC.stress set by this test when using Prism.
    That takes a long time, causing a timeout.

commit b74e0c5f6b3af5f6d94cbcade3e7eb6da97439ef
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-30 02:34:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-30 02:34:31 +0900

    [ruby/reline] Calculate mbchar width with bsearch
    (https://github.com/ruby/reline/pull/632)

    https://github.com/ruby/reline/commit/0851e93640

commit a04dd0bf5e559bf20334efc0b1787fb269bae314
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-29 21:41:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-29 23:44:29 +0900

    [DOC] Related for Array#[]=

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

commit 74888846e542362354a16930723ec5f34f5b39d9
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-29 23:43:54 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-29 23:43:54 +0900

    [DOC] Relateds for combo methods (#11483)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 079161e1ba535da34a4a30179d606390346cdda1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-29 05:17:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-29 23:31:02 +0900

    [PRISM] Respect PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING flag

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

commit 14bb376b79ca9140bfd36dbbad06be045f31f92e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-29 22:24:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-29 23:29:34 +0900

    [PRISM] Copy the rest of the setup_args_dup_rest_p function

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

commit 6b08a50a62f3575be4f7f4aeac0d416b8d3cd7c1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-29 01:19:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-29 22:11:40 +0900

    Move checks for special const for marking

    This commit moves checks to RB_SPECIAL_CONST_P out of the GC implmentation
    and into gc.c.

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

commit ddd2b1784512aa8ac1efbe546635d21415d8a452
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-29 00:18:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-29 22:11:40 +0900

    Move marking code together in gc.c

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

commit d33e3d47b84a73b38644f2a3d41881ce9be6ef18
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-29 10:51:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-29 19:41:53 +0900

    [Bug #20704] Win32: Fix chdir to non-ASCII path

    On Windows, `chdir` in compilers' runtime libraries uses the active
    code page, but command line arguments in ruby are always UTF-8, since
    commit:33ea2646b98adb49ae2e1781753bf22d33729ac0.

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

commit 871ba3e9e3e01ce313ac2274dec1058db6b63b8e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-26 23:36:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-29 18:59:26 +0900

    [rubygems/rubygems] Add a note about "platforms" in Gemfile vs "platforms" in Gemfile.lock

    https://github.com/rubygems/rubygems/commit/0dd4bd59b4

commit 6dee0d3fb092924afe1c7e1df5e9294a8ae23b15
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-26 23:33:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-29 18:59:26 +0900

    [rubygems/rubygems] Reject unknown platforms when running `bundle lock --add-platform`

    https://github.com/rubygems/rubygems/commit/1f93a2bdc5

commit 1515353353271fd89b803bcbb1472ddb97e3f10d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-29 10:53:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-29 17:37:44 +0900

    Make optional benchmark test in OpenSSL::OSSL#test_memcmp_timing

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

commit 4e5b3e58e26cf65e383ddb60ebb89e3ecd66824e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-29 10:40:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-29 17:37:44 +0900

    Make optional benchmark test in test_find_in_unresolved_tree_is_not_exponentiental

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

commit a780633d2af00e79b8437b0a7d988dbdadb0d80f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-29 10:38:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-29 17:37:44 +0900

    Don't use benchmark for test_activate_via_require_respects_loaded_files

    benchmark.rb may extract as bundled gems in the future release

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

commit a68208235e389158427f24c7573fd2cffc58d3a6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-29 10:37:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-29 17:37:44 +0900

    Removed redundant require for TestGemRequire

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

commit 7cc6f70aa2d2eb3b6ad493b1cf32a29287103aaf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-29 11:11:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-29 11:11:35 +0900

    Surpressing 'unknown command: “Switch to inspect mode.”' message

commit fe440c59679b0475ad7b566b5680fdb9998207f7
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-29 07:30:21 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-29 08:27:15 +0900

    [PRISM] Use node flags for dup_rest detection instead of looping

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

commit 3fa5b4be195a84391e7cbde88b4c7d2e6fcf0e7c
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-08-29 06:27:57 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-08-29 06:27:57 +0900

    [DOC] Mention rb_io_fdopen() takes ownership of the FD

commit c3ffa7106b8cd89bdc85f579a8e27cde6b5539ab
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-29 05:22:00 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-29 06:17:33 +0900

    [PRISM] Set use_block parameter flag for forwardable methods

    Match logic in compile.c:2133. Without this, the unused block warning
    code allocates an array, causing TestAllocation to fail.

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

commit dba9601e0f9c42698cb6ca804d604bcdacbd60b7
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-29 06:17:21 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-29 06:17:21 +0900

    [DOC] Array comparing doc (#11486)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit d25833b81a70fae6724d5dc4fe6affb9f2c81690
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-29 05:56:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-29 06:10:39 +0900

    [ruby/prism] Multi-splat flag for arguments

    https://github.com/ruby/prism/commit/21cb9b78ae

commit ec88979a06de7320af9eadb2c36c774e4a223f3c
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-29 05:42:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-29 05:51:33 +0900

    Related for Array#<<

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

commit ad737a8d0f5929dd8e2cdd1ab8f75a21e3117e4e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-29 04:43:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-29 04:43:32 +0900

    [PRISM] Sync version update

commit 45f32e3a50c71dbcb9969a2d379783e50eab772f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-29 04:07:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-29 04:07:16 +0900

    [ruby/prism] Reverse-sync ruby/ruby and deprecate old fields

    https://github.com/ruby/prism/commit/bc21c9f3ee

commit 417bb8d4fd7f197d2cbe8223e9666e3a41896d75
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-29 03:11:41 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-29 04:06:53 +0900

    [PRISM] Field renaming

    Rename some fields that do not quite make sense.

    * CaseMatchNode#consequent -> CaseMatchNode#else_clause
    * CaseNode#consequent -> CaseNode#else_clause
    * IfNode#consequent -> IfNode#subsequent
    * RescueNode#consequent -> RescueNode#subsequent
    * UnlessNode#consequent -> UnlessNode#else_clause

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

commit acafb924648c761c43adc94c95c954fcb129c5dd
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-29 00:16:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-29 04:05:52 +0900

    [DOC] Remove Array#abbrev

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

commit a7cec438a1b253b27774ac091f10cda2455ff73d
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-29 01:15:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-29 04:05:04 +0900

    [DOC] More xrefs for array creation

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

commit 8f95e2abfe6c8da091b48bd32db45593e10f1647
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-29 03:07:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-29 03:07:40 +0900

    [ruby/irb] Make colorize test pass with NO_COLOR env set
    (https://github.com/ruby/irb/pull/994)

    https://github.com/ruby/irb/commit/985ac509c1

commit d6764076a1721a1acb8429931f1815491038d2a6
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-07-26 05:49:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-29 02:42:56 +0900

    [ruby/prism] Review config.yml: documentation, types and field names

    https://github.com/ruby/prism/commit/d43333539e

commit 7c9bcdf3973300aaed107f055d7cd4062799bea4
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-29 01:41:56 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-29 02:34:37 +0900

    [PRISM] Improve `dup_rest` optimization targeting

    Part of implementing 3de20efc308cccc38bf9dacfffca6c626d039a06 in
    prism_compile.c. Down to 2 failures from 30 failures in
    test/ruby/test_allocation.rb.

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

commit ce6b0c44256fc10509263d92959150fcbaa63e21
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-29 01:16:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-29 01:16:31 +0900

    [ruby/irb] Colorize command input
    (https://github.com/ruby/irb/pull/983)

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

commit ccef391140f924af907080e62f24ef259550f324
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-29 00:35:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-29 00:35:23 +0900

    [ruby/prism] Swap around order of predicates for assoc static literal

    https://github.com/ruby/prism/commit/ec181a3b68

commit 4c5a1dad0a7e9fb70a830d9312352b855abfc7cb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-28 22:33:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-28 23:50:46 +0900

    [PRISM] Check length of line for shebang

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

commit 91c6c2bdb544a84313030809d7fcd32da7e17a29
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-28 04:24:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-28 23:43:37 +0900

    Related methods for Array#delete

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

commit f93c27d86bfc0c40c84c186ac2c00c553bd69470
  Author:     Alexander Momchilov <alexander.momchilov@shopify.com>
  AuthorDate: 2024-08-26 22:19:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-28 21:47:43 +0900

    Set encoding index correctly

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

commit b5646124b3a7bdc0639b2a66315b2340e3cff915
  Author:     Olle Jonsson <olle.jonsson@gmail.com>
  AuthorDate: 2024-08-28 19:23:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-28 19:58:23 +0900

    [ruby/timeout] timeout.rb: Update documentation

    This is a followup to #49.

    https://github.com/ruby/timeout/commit/683fdb45ee

commit c1e51abda935ceaa0c78739793cf6c66471e494a
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-08-28 16:00:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-28 16:00:25 +0900

    Update bundled gems list as of 2024-08-28

commit 942317ebf8a5e4a85189411ee4d48267f21ecca5
  Author:     Randy Stauner <randy.stauner@shopify.com>
  AuthorDate: 2024-08-28 11:24:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-28 11:24:17 +0900

    YJIT: Encode doubles to VALUE objects and move stat generation to rust (#11388)

    * YJIT: Encode doubles to VALUE objects and move stat generation to rust

    Stats that can now be generated from rust have been moved there.

    * Move object_shape_count call for runtime_stats to rust

    This reduces the ruby method to a single primitive.

    * Change hash_aset_usize from macro to function

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

commit 5b129c899a5cf3bf8253eaaf7fbc8331b1e55f75
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-08-28 09:04:43 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-28 09:04:43 +0900

    YJIT: Pass method arguments using registers (#11280)

    * YJIT: Pass method arguments using registers

    * s/at_current_insn/at_compile_target/

    * Implement register shuffle

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

commit f2ac0130091708a10f37f5416be7edc71b05899b
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-28 08:15:37 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-28 08:15:37 +0900

    Add RB_DEFAULT_PARSER preprocessor macro

    This way there is one place to change for switching the default.
    This also allows for building the same commit with different cppflags.

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

    Merged-By: XrXr

commit 1729f47e72b22c3d13203548583e7d70c0b44427
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-28 01:19:37 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-28 06:39:34 +0900

    [PRISM] Wait for data before reading pipes and chardevs

    With the parse.y parser, when a fifo (named pipe) is passed to
    Kernel#load and friends, we wait for data to be available first before
    reading. Note that with fifos, opening with `O_RDONLY|O_NONBLOCK` and
    then reading will look like EOF with read(2) returning 0, but data can
    become available later.

    The prism compiler needs to match this behavior to pass
    `test_loading_fifo_{fd_leak,threading_raise,threading_success}`. I chose
    to use IO#read to do this.

    An alternative way to match behavior would be to use open_load_file()
    from ruby.c like parse.y, but I opted to only allocate an IO to deal
    with threading when reading from pipes and character devices. The
    memory mapping code seems to work fine for regular files.

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

commit 2157dcb568de0e387c6a203a731caea7923f856e
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-08-28 05:40:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-28 05:53:11 +0900

    [ruby/prism] Add `contains_splat` flag

    If we have a splat, add a flag for it named `contains_splat`.

    https://github.com/ruby/prism/commit/5be97a75c8

commit 7462cc77431b5e7f9a98a59c7e3996dd9c23a540
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-08-23 01:04:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-28 05:01:46 +0900

    [PRISM] Fix allocations for keyword splat params

    Fixes the following allocations tests:

    * `test_keyword_and_keyword_splat_parameter`
    * `test_keyword_parameter`
    * `test_keyword_splat_parameter`
    * `test_no_array_allocation_with_splat_and_nonstatic_keywords`
    * `test_no_parameters`
    * `test_positional_splat_and_keyword_splat_parameter`
    * `test_ruby2_keywords`

    * Checks for `first_chunk` and if `stack_length == 0` to match the
    upstream parser. Otherwise, this optimization is skipped.
    * Subtracts the index, otherwise it will skip the hash allocation for
    the following: `keyword(*empty_array, a: 2, **empty_hash)`.
    * Sets `dup_rest` in order to determine when to set the correct flags
    * Doesn't set `VM_CALL_KW_SPLAT_MUT` flag unless `dup_rest` doesn't
    match `initial_dup_rest`.

    Given the following code:

    ```ruby
    keyword(*empty_array, a: 2)
    ```

    Instructions before:

    ```
    == disasm: #<ISeq:test@test.rb:4 (4,0)-(8,3)>
    local table (size: 2, argc: 1 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
    [ 2] empty_hash@0<Arg>[ 1] empty_array@1
    0000 newarray                               0                         (   5)[LiCa]
    0002 setlocal_WC_0                          empty_array@1
    0004 putself                                                          (   7)[Li]
    0005 getlocal_WC_0                          empty_array@1
    0007 splatarray                             true
    0009 putobject                              :a
    0011 putobject                              2
    0013 newhash                                2
    0015 opt_send_without_block                 <calldata!mid:keyword, argc:2, ARGS_SPLAT|ARGS_SPLAT_MUT|FCALL|KW_SPLAT>
    0017 leave                                                            (   8)[Re]
    ```

    Instructions after:

    ```
    == disasm: #<ISeq:test@test.rb:4 (4,0)-(8,3)>
    local table (size: 2, argc: 1 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
    [ 2] empty_hash@0<Arg>[ 1] empty_array@1
    0000 newarray                               0                         (   5)[LiCa]
    0002 setlocal_WC_0                          empty_array@1
    0004 putself                                                          (   7)[Li]
    0005 getlocal_WC_0                          empty_array@1
    0007 splatarray                             false
    0009 putobject                              {:a=>2}
    0011 opt_send_without_block                 <calldata!mid:keyword, argc:2, ARGS_SPLAT|FCALL|KW_SPLAT>
    0013 leave                                                            (   8)[Re]
    ```

    Differences:

    * `splatarray` is `false` not `true
    * `putobject`, `putobject`, `newhash` is simply `putobject` with
    optimizations on
    * Remove `ARGS_SPLAT_MUT` flag

    Related: ruby/prism#2994

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

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

commit 8f700db4edb2ae335c3c340a8bf5a6cc0f527a4b
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-28 01:22:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-28 02:01:42 +0900

    [DOC] Tweaks for Array#delete_if

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

commit 0228cf74e3d1fd15e1db43b96ef8a1e854ee5e0e
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-28 01:59:31 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-28 01:59:31 +0900

    [DOC] Tweaks for Array#cycle (#11459)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 2fbaff5351e6130929079d73575f0a00fe86a770
  Author:     Alexander Momchilov <alexander.momchilov@shopify.com>
  AuthorDate: 2024-08-23 07:30:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-28 01:46:44 +0900

    [ruby/prism] Fix warning when `#!` ends with carriage return

    https://github.com/ruby/prism/commit/5753fb6260

commit 83e72fde83640eb4ed0b4ce2ba6dbe5be024e25b
  Author:     Alexander Momchilov <alexander.momchilov@shopify.com>
  AuthorDate: 2024-08-28 01:06:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-28 01:23:50 +0900

    Optimize Array allocations

    … by allocating them with the correct capacity.

commit a3562c2a0abf1c2bdd1d50377b4f929580782594
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-08-28 01:08:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-28 01:08:22 +0900

    Remove incorrect setting of KW_SPLAT_MUT flag

    Fixes [Bug #20701]

    Co-authored-by: Pablo Herrero <pablodherrero@gmail.com>

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

    Merged-By: jeremyevans <code@jeremyevans.net>

commit 2459e79b8080c168e1764045072e5bc6d5694303
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-22 00:53:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-27 22:58:38 +0900

    Assume that shared array is not embedded

    An array cannot be shared and embedded at the same time, so we can assume
    that a shared array is not embedded.

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

commit 87fa75c5db2e6f89a892c0ed75f1701398ce5f19
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-08-27 21:49:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-27 21:49:23 +0900

    [ruby/irb] Move parse_command method to Context
    (https://github.com/ruby/irb/pull/993)

    Since Context dictates whether a line is a command or an expression,
    moving the parse_command method to Context makes the relationship
    more explicit.

    https://github.com/ruby/irb/commit/9a4487af61

commit a431f4ecc474d51990a0cb263fdf3e07964150e4
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-08-27 21:46:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-27 21:46:45 +0900

    [ruby/reline] Remove unused variables
    (https://github.com/ruby/reline/pull/739)

    https://github.com/ruby/reline/commit/14784eddee

commit 04ca75ea6987bdcc3d23ebdc547fedf505cf334d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-27 11:36:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-27 11:39:52 +0900

    [ruby/uri] Also warn URI::RFC3986_PARSER.extract

    https://github.com/ruby/uri/commit/0f6b945557

commit 52c4d0e04825071044fa3b3062371a356924044c
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-08-26 23:01:54 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-08-27 09:59:43 +0900

    Remove `enc_coderange_broken` field from `struct rb_parser_config_struct`

    It has not been used since fcc55dc2261b4c61da711c10a5476d05d4391eca.

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

commit e5295644c983c909fbdad48c2cdfbdcbf4067102
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-27 09:38:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-27 09:39:24 +0900

    [ruby/fileutils] Update license files same as ruby/ruby

    https://github.com/ruby/fileutils/commit/9e32a88573

commit ec61dbd98ecaf153e941cbaecdb6ad36d5af4672
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-08-27 07:02:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-27 07:02:33 +0900

    [ruby/rdoc] Make darkfish more responsive and readable on mobile
    devices
    (https://github.com/ruby/rdoc/pull/1162)

    - Make the sidebar toggle fixed on all devices
    - Prevent default zooming on mobile devices
    - Improve sidebar opening on mobile devices

    https://github.com/ruby/rdoc/commit/95b6cfb64f

commit 8c01dec8275739f247eedc505723c6585da13c4b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-26 23:59:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-27 02:25:12 +0900

    Skip assertion in gc/default.c when multi-Ractor

    The counter for total allocated objects may not be accurate when there are
    multiple Ractors since it is not atomic so there could be race conditions
    when it is incremented.

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

commit 1cafc9d51d3be36ab34e77b5c8f034b2daba231f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-26 23:59:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-27 02:25:12 +0900

    Use rb_gc_multi_ractor_p in gc/default.c

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

commit 51aadefb4dd5c616103b831d18f13b7503f36fbc
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-27 00:41:04 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-27 02:21:21 +0900

    [DOC] Tweaks to Array#delete_at

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

commit efa4ec0f981ed51af82d32146f24158552eb2bd7
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-26 22:33:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-27 00:20:22 +0900

    [DOC] Tweaks to Array#delete

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

commit 7c794c287ec727f4634579556228cc018056e6f9
  Author:     Matt Brictson <matt@mattbrictson.com>
  AuthorDate: 2024-08-23 09:29:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-26 23:56:26 +0900

    [rubygems/rubygems] Emit progress to stderr when `--print` is passed to `bundle lock`

    `bundle lock --print --update` can take a long time to fetch sources and
    resolve the lock file.

    Before, `--print` caused output to be completely silenced, so nothing
    was printed at all until the resolved lock file is finally emitted to
    stdout.

    With this change, `--print` now prints progress to stderr. E.g.:

    ```
    Fetching gem metadata from https://rubygems.org/.........
    Resolving dependencies...
    ```

    This provides a better user experience, especially when
    `lock --print --update` takes several seconds or more.

    The lock file is still printed to stdout, so tools consuming the lock
    file on stdout will not be affected.

    https://github.com/rubygems/rubygems/commit/6719baa700

commit 20664826840f1ae1ba83c97764996a71105212e5
  Author:     Matt Brictson <matt@mattbrictson.com>
  AuthorDate: 2024-08-23 09:14:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-26 23:56:26 +0900

    [rubygems/rubygems] Fix newline=false being ignored by Shell#warn

    https://github.com/rubygems/rubygems/commit/e021ff33a8

commit cfad1f95d50c76cf66b8539a34b67cb72323848e
  Author:     Matt Brictson <matt@mattbrictson.com>
  AuthorDate: 2024-08-23 09:12:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-26 23:56:25 +0900

    [rubygems/rubygems] Fix missing 'msg' parameter in Shell#no?

    https://github.com/rubygems/rubygems/commit/ffe89a099a

commit 4ede15fb53121419f7b00540cba73beae25b90a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-26 23:07:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-26 23:49:35 +0900

    [PRISM] Fix up nested string flags inside string concatenation

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

commit 80d457b4b4357d3b6a44abd0ceb67e7657bc657a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-24 05:15:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-26 22:40:07 +0900

    Fix object allocation counters in compaction

    When we move an object in compaction, we do not decrement the total_freed_objects
    of the original size pool or increment the total_allocated_objects of the
    new size pool. This means that when this object dies, it will appear as
    if the object was never freed from the original size pool and the new
    size pool will have one more free than expected. This means that the new
    size pool could appear to have a negative number of live objects.

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

commit c3dc1322ba9f664f4c8e7451c8b18add875b8b5b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-24 04:53:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-26 22:40:07 +0900

    Move final_slots_count to per size pool

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

commit 2b0b68fa464c3c51b35243449c9d9801752be455
  Author:     Alexander Momchilov <alexander.momchilov@shopify.com>
  AuthorDate: 2024-08-24 05:13:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-26 21:38:58 +0900

    Shrink `pm_integer_t` (32 bytes → 24)

commit 03475e5533551f4e65d3fab901dde7187865ef3a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-26 18:44:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-26 19:36:04 +0900

    bundle install with git repo needs to be run under the git environment

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

commit 136cbf04419acf993357701e54712f921a294355
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-24 00:37:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-26 11:49:02 +0900

    [ruby/tempfile] Support anonymous tempfile on earlier than Ruby 3.2

    https://github.com/ruby/tempfile/commit/7052805029

commit 2e07c13049a887c22849e77648838f040b0759b0
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-08-25 16:42:45 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-08-26 09:08:53 +0900

    Remove nonexist declarations

    These functions were removed by 33c1e082d0807db403a2d93cbf0a094c911.

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

commit 76e0ea28ea5f39913ed51c3628afa1a1fa679554
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-25 10:22:33 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-25 10:22:33 +0900

    [DOC] Tweaks to Array#combination (#11440)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 620ce3807b51e126bfb41b9b87ff7b33584058f2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-17 20:50:24 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-25 08:16:54 +0900

    [Bug #20680] `ensure` block is always void context

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

commit 519152db6dd11173acc1118543770e053ab0ab71
  Author:     Ufuk Kayserilioglu <ufuk@paralaus.com>
  AuthorDate: 2024-08-25 03:15:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-25 03:15:21 +0900

    [ruby/rdoc] Make the summary triangle appear in the correct place
    when the summary text overflows to next line.
    (https://github.com/ruby/rdoc/pull/1160)

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

commit fd0263d7ef072ada6f56b6a0fb78bfc0c34db662
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-25 00:10:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-25 00:51:28 +0900

    [DOC] Tweaks for Array#concat

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

commit bd19d3d163dc51c70355d5cd65a8db0c2ca33dc8
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-25 00:31:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-25 00:49:58 +0900

    [DOC] Tweaks for Array#count doc

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

commit e962c9c4c3a45729831a497fee8190ca121bef78
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-24 23:57:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-25 00:45:01 +0900

    [DOC] Tweaks to Array#compact!

commit 418e85b1205f66921ef22f9360fe2c42979ea20d
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-24 23:49:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-25 00:44:29 +0900

    [DOC] Tweaks for Array#compact

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

commit 6717b69067b47b96910f2b77be26e7f1e5df029b
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-08-24 20:07:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-24 20:07:28 +0900

    [ruby/rdoc] Modernize RDoc Darkfish template CSS
    (https://github.com/ruby/rdoc/pull/1157)

    - Update color scheme with muted green tones and improved contrast
    - Enhance readability by adjusting font sizes and weights
    - Improve code block styling with a light gray background
    - Refactor layout for better responsiveness and sidebar presentation
    - Standardize link styles across the document
    - Implement CSS variables for easier theme customization
    - Adjust heading styles for better visual hierarchy
    - Enhance table and list styling for improved readability
    - Optimize search field and navigation toggle appearance
    - Improve method detail and documentation section styling
    - Reorganize css and overhaul the sidebar design
    - Improve code block's syntax highlighting

    https://github.com/ruby/rdoc/commit/6cde9edadb

commit 552f5cd50c8b622294e2dc87a73eb9e1102d78a0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-23 01:00:37 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-24 05:37:11 +0900

    Fix use-after-free in WeakKeyMap#clear

    [Bug #20691]

    If the WeakKeyMap has been marked but sweeping hasn't started yet and we
    cann WeakKeyMap#clear, then there could be a use-after-free because we do
    not call rb_gc_remove_weak to remove the key from the GC.

    For example, the following code triggers use-after-free errors in Valgrind:

        map = ObjectSpace::WeakKeyMap.new

        1_000.times do
          1_000.times do
            map[Object.new] = nil
          end

          map.clear
        end

    Output from Valgrind:

        ==61230== Invalid read of size 8
        ==61230==    at 0x25CAF8: gc_update_weak_references (default.c:5593)
        ==61230==    by 0x25CAF8: gc_marks_finish (default.c:5641)
        ==61230==    by 0x26031C: gc_marks_continue (default.c:5987)
        ==61230==    by 0x26031C: gc_continue (default.c:2255)
        ==61230==    by 0x2605FC: newobj_cache_miss (default.c:2589)
        ==61230==    by 0x26111F: newobj_alloc (default.c:2622)
        ==61230==    by 0x26111F: rb_gc_impl_new_obj (default.c:2701)
        ==61230==    by 0x26111F: newobj_of (gc.c:890)
        ==61230==    by 0x26111F: rb_wb_protected_newobj_of (gc.c:917)
        ==61230==    by 0x2DE218: rb_class_allocate_instance (object.c:131)
        ==61230==    by 0x2E32A8: class_call_alloc_func (object.c:2141)
        ==61230==    by 0x2E32A8: rb_class_alloc (object.c:2113)
        ==61230==    by 0x2E32A8: rb_class_new_instance_pass_kw (object.c:2172)
        ==61230==    by 0x4296BC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3788)
        ==61230==    by 0x44A9CD: vm_sendish (vm_insnhelper.c:5955)
        ==61230==    by 0x44A9CD: vm_exec_core (insns.def:898)
        ==61230==    by 0x43A0E4: rb_vm_exec (vm.c:2564)
        ==61230==    by 0x2341B4: rb_ec_exec_node (eval.c:281)
        ==61230==    by 0x236258: ruby_run_node (eval.c:319)
        ==61230==    by 0x15D665: rb_main (main.c:43)
        ==61230==    by 0x15D665: main (main.c:62)
        ==61230==  Address 0x2159cb00 is 0 bytes inside a block of size 8 free'd
        ==61230==    at 0x4849B2C: free (vg_replace_malloc.c:989)
        ==61230==    by 0x248EF1: rb_gc_impl_free (default.c:8512)
        ==61230==    by 0x248EF1: rb_gc_impl_free (default.c:8493)
        ==61230==    by 0x248EF1: ruby_sized_xfree.constprop.0 (gc.c:4178)
        ==61230==    by 0x4627EC: wkmap_free_table_i (weakmap.c:652)
        ==61230==    by 0x3A54AF: apply_functor (st.c:1633)
        ==61230==    by 0x3A54AF: st_general_foreach (st.c:1543)
        ==61230==    by 0x3A54AF: rb_st_foreach (st.c:1640)
        ==61230==    by 0x46203C: wkmap_clear (weakmap.c:973)
        ==61230==    by 0x4296BC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3788)
        ==61230==    by 0x44A9CD: vm_sendish (vm_insnhelper.c:5955)
        ==61230==    by 0x44A9CD: vm_exec_core (insns.def:898)
        ==61230==    by 0x43A0E4: rb_vm_exec (vm.c:2564)
        ==61230==    by 0x2341B4: rb_ec_exec_node (eval.c:281)
        ==61230==    by 0x236258: ruby_run_node (eval.c:319)
        ==61230==    by 0x15D665: rb_main (main.c:43)
        ==61230==    by 0x15D665: main (main.c:62)
        ==61230==  Block was alloc'd at
        ==61230==    at 0x484680F: malloc (vg_replace_malloc.c:446)
        ==61230==    by 0x25C68E: rb_gc_impl_malloc (default.c:8527)
        ==61230==    by 0x4622E9: wkmap_aset_replace (weakmap.c:817)
        ==61230==    by 0x3A4D02: rb_st_update (st.c:1487)
        ==61230==    by 0x4623E4: wkmap_aset (weakmap.c:854)
        ==61230==    by 0x4296BC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3788)
        ==61230==    by 0x44A9CD: vm_sendish (vm_insnhelper.c:5955)
        ==61230==    by 0x44A9CD: vm_exec_core (insns.def:898)
        ==61230==    by 0x43A0E4: rb_vm_exec (vm.c:2564)
        ==61230==    by 0x2341B4: rb_ec_exec_node (eval.c:281)
        ==61230==    by 0x236258: ruby_run_node (eval.c:319)
        ==61230==    by 0x15D665: rb_main (main.c:43)
        ==61230==    by 0x15D665: main (main.c:62)
        ==61230==
        ==61230== Invalid write of size 8
        ==61230==    at 0x25CB3B: gc_update_weak_references (default.c:5598)
        ==61230==    by 0x25CB3B: gc_marks_finish (default.c:5641)
        ==61230==    by 0x26031C: gc_marks_continue (default.c:5987)
        ==61230==    by 0x26031C: gc_continue (default.c:2255)
        ==61230==    by 0x2605FC: newobj_cache_miss (default.c:2589)
        ==61230==    by 0x26111F: newobj_alloc (default.c:2622)
        ==61230==    by 0x26111F: rb_gc_impl_new_obj (default.c:2701)
        ==61230==    by 0x26111F: newobj_of (gc.c:890)
        ==61230==    by 0x26111F: rb_wb_protected_newobj_of (gc.c:917)
        ==61230==    by 0x2DE218: rb_class_allocate_instance (object.c:131)
        ==61230==    by 0x2E32A8: class_call_alloc_func (object.c:2141)
        ==61230==    by 0x2E32A8: rb_class_alloc (object.c:2113)
        ==61230==    by 0x2E32A8: rb_class_new_instance_pass_kw (object.c:2172)
        ==61230==    by 0x4296BC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3788)
        ==61230==    by 0x44A9CD: vm_sendish (vm_insnhelper.c:5955)
        ==61230==    by 0x44A9CD: vm_exec_core (insns.def:898)
        ==61230==    by 0x43A0E4: rb_vm_exec (vm.c:2564)
        ==61230==    by 0x2341B4: rb_ec_exec_node (eval.c:281)
        ==61230==    by 0x236258: ruby_run_node (eval.c:319)
        ==61230==    by 0x15D665: rb_main (main.c:43)
        ==61230==    by 0x15D665: main (main.c:62)
        ==61230==  Address 0x2159cb00 is 0 bytes inside a block of size 8 free'd
        ==61230==    at 0x4849B2C: free (vg_replace_malloc.c:989)
        ==61230==    by 0x248EF1: rb_gc_impl_free (default.c:8512)
        ==61230==    by 0x248EF1: rb_gc_impl_free (default.c:8493)
        ==61230==    by 0x248EF1: ruby_sized_xfree.constprop.0 (gc.c:4178)
        ==61230==    by 0x4627EC: wkmap_free_table_i (weakmap.c:652)
        ==61230==    by 0x3A54AF: apply_functor (st.c:1633)
        ==61230==    by 0x3A54AF: st_general_foreach (st.c:1543)
        ==61230==    by 0x3A54AF: rb_st_foreach (st.c:1640)
        ==61230==    by 0x46203C: wkmap_clear (weakmap.c:973)
        ==61230==    by 0x4296BC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3788)
        ==61230==    by 0x44A9CD: vm_sendish (vm_insnhelper.c:5955)
        ==61230==    by 0x44A9CD: vm_exec_core (insns.def:898)
        ==61230==    by 0x43A0E4: rb_vm_exec (vm.c:2564)
        ==61230==    by 0x2341B4: rb_ec_exec_node (eval.c:281)
        ==61230==    by 0x236258: ruby_run_node (eval.c:319)
        ==61230==    by 0x15D665: rb_main (main.c:43)
        ==61230==    by 0x15D665: main (main.c:62)
        ==61230==  Block was alloc'd at
        ==61230==    at 0x484680F: malloc (vg_replace_malloc.c:446)
        ==61230==    by 0x25C68E: rb_gc_impl_malloc (default.c:8527)
        ==61230==    by 0x4622E9: wkmap_aset_replace (weakmap.c:817)
        ==61230==    by 0x3A4D02: rb_st_update (st.c:1487)
        ==61230==    by 0x4623E4: wkmap_aset (weakmap.c:854)
        ==61230==    by 0x4296BC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3788)
        ==61230==    by 0x44A9CD: vm_sendish (vm_insnhelper.c:5955)
        ==61230==    by 0x44A9CD: vm_exec_core (insns.def:898)
        ==61230==    by 0x43A0E4: rb_vm_exec (vm.c:2564)
        ==61230==    by 0x2341B4: rb_ec_exec_node (eval.c:281)
        ==61230==    by 0x236258: ruby_run_node (eval.c:319)
        ==61230==    by 0x15D665: rb_main (main.c:43)
        ==61230==    by 0x15D665: main (main.c:62)

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

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

commit b9902c94a3ca1ac16eae4496fbaf01f718e19285
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-23 00:49:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-24 05:21:40 +0900

    Adds remarks about returned Enumerator

commit 3eb42054d9f50a0a65d014bb9e55349938deb97b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-24 04:03:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-24 04:18:14 +0900

    [ruby/prism] Pass Unicode escapes on to onigmo

    When we encounter an invalid unicode escape within a regular
    expression, we now pass that error on to Onigmo as if it didn't
    exist in the parser (which matches the upstream parser's behavior).

    We do this because there are tests that specify that you are
    allowed to have invalid Unicode escapes if they are within the
    context of a regular expression comment for a regular expression
    in extended mode. That looks like:

        /# \u /x

    Note that this _only_ applies to Unicode escapes (as opposed to
    applying to hex or meta/control escapes as well). Importantly it
    also only applies if the regular expression is terminated. An
    unterminated regular expression will still get error handling done
    in the parser. That would look like:

        /# \u

    that would result in the same error handling we have today.

    https://github.com/ruby/prism/commit/fb98034806

commit 3f6be01bfc34e13d9fd1f3fa4c4023735d631428
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-19 23:51:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-23 23:49:27 +0900

    Make object ID faster by checking flags

    We can improve object ID performance by checking the FL_SEEN_OBJ_ID flag
    instead of looking up in the table.

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

commit b51e1c07d84af189885f10a947e75497481c958d
  Author:     Andy Wong <36797624+topcminwer@users.noreply.github.com>
  AuthorDate: 2024-08-23 20:44:51 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-23 20:44:51 +0900

    [DOC] Fix typos in ObjectSpace::WeakMap docs

    The value of variable key2 should be "bar". This way, when nil is assigned to val1 and garbage collection occurs, the output of m.keys will then be ["bar"].

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

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

commit 4dae4c6858bb57053ce1e8174e2d52b8288cf7c9
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-08-23 15:21:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-23 17:08:26 +0900

    [rubygems/rubygems] Don't break if extra calls to File.writable? happen

    In https://bugs.ruby-lang.org/issues/20693, I'd like to have Dir.tmpdir
    call `File.writable?` instead of `Stat#writable?`. However, that causes
    this test to break in bundler because it's using RSpec to stub
    `File.writable?`.

    We can fix this by allowing the real `File.writable?` to be called for
    all files except the directory we're trying to stub.

    https://github.com/rubygems/rubygems/commit/0fa6657293

commit 73a946c61850314264cc47f2414e571921d59fde
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-08-23 16:00:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-23 16:00:52 +0900

    Update bundled gems list as of 2024-08-23

commit 9f5860407f310b85fa6c425a948563870b0fb8ea
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-22 01:26:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-23 16:00:30 +0900

    [rubygems/rubygems] Fix error message when Bundler refuses to install due to frozen being set without a lockfile

    https://github.com/rubygems/rubygems/commit/0857d62ca6

commit 7812732e2c271732b96e285584ba84eb236c647a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-23 14:58:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-23 15:07:40 +0900

    [ruby/tempfile] File.new(fileno, mode: mode, path: path) is provided from Ruby 3.2

    https://github.com/ruby/tempfile/commit/67ce897727

commit 52082d19e084c43457ce79c1e76f6f2707fac80e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 23:14:29 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-23 12:17:07 +0900

    `load_relative` is always falsy here

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

commit fbadcd277f5b68ac619d3c861dfdd3e109aeda81
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 23:14:08 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-23 12:17:07 +0900

    Reuse `load_relative` local

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

commit c48e5959debdd0da966b911c73c57e44bd3178d1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-20 11:47:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-23 11:44:38 +0900

    [ruby/fiddle] Removed libffi patchs for old Ruby
    (https://github.com/ruby/fiddle/pull/143)

    Pick
    https://github.com/ruby/ruby/commit/92865d8760e22dc5035a67e636fab3fbd7a77a26
    from `ruby/ruby` repo.

    ---------

    https://github.com/ruby/fiddle/commit/aad5a3bc79

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 784ccd0115b5f34fb1a9120da128dea6821484a8
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-23 09:59:59 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-23 09:59:59 +0900

    [DOC] Tweaks for Array#collect! (#11434)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit fdba458e85bc66f35194f15a55aa8c27a4b5ce4a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-23 08:47:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-23 08:47:40 +0900

    Uncomment test accidentally commented in 1656350

commit 8800127d80fb1063a186ced65af445e79a518924
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-08-08 20:24:13 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-08-23 08:34:41 +0900

    Skip some tests which don't work under permissionless containers

    When running as UID 0 but without CAP_DAC_OVERRIDE (for example, in a
    docker container running with --uid 0 but --cap-drop=all), these tests
    won't work because of hard-coded assumptions about what uid 0 can and
    can't do.

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

commit 165635049a2f5af83efe2bd64b08e7b59e925e18
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-22 04:20:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-23 02:50:17 +0900

    Don't use gc_impl.h inside of gc/gc.h

    Using gc_impl.h inside of gc/gc.h will cause gc/gc.h to use the functions
    in gc/default.c when builing with shared GC support because gc/gc.h is
    included into gc.c before the rb_gc_impl functions are overridden by the
    preprocessor.

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

commit b0c92d6c3ffc483f00ef9ad6dd41fa500f9a4324
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-22 03:28:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-23 02:50:17 +0900

    Change hash_replace_ref_value to assume value moved

    When hash_foreach_replace_value returns ST_REPLACE, it's guaranteed that
    the value has moved in hash_replace_ref_value.

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

commit 3f30c4df8c70788b065d2004dde791056d6f4162
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-22 22:31:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-23 00:23:33 +0900

    [ruby/prism] Update templates/include/prism/ast.h.erb

    https://github.com/ruby/prism/commit/7f7620b6d5

commit 0ef703b91c9c185067f6484d8c6ad689750194ad
  Author:     Alexander Momchilov <alexander.momchilov@shopify.com>
  AuthorDate: 2024-08-16 02:31:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-23 00:23:32 +0900

    [ruby/prism] Render node comments into their `ast.h`

    https://github.com/ruby/prism/commit/b17c3241d3

commit d57486cb100d6814423c0e22556266e67000d101
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-22 23:22:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-22 23:43:35 +0900

    [ruby/prism] Turn off extended mode when parsing extended group

    https://github.com/ruby/prism/commit/098b3f08bc

commit 56a34b5af58b55177d671cc6f12241ef8b18c23c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 22:42:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 23:01:55 +0900

    Fix use-after-free for WeakKeyMap

    [Bug #20688]

    We cannot free the key before the ST_DELETE because it could hash the
    key which would read the key and would cause a use-after-free. Instead,
    we store the key and free it on the next iteration.

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

commit df9a6aa94330cbf414afcd957d1b87defc67e1c5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 00:43:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 23:01:55 +0900

    Fix WeakMap use-after-free

    [Bug #20688]

    We cannot free the weakmap_entry before the ST_DELETE because it could
    hash the key which would read the weakmap_entry and would cause a
    use-after-free. Instead, we store the entry and free it on the next
    iteration.

    For example, the following script triggers a use-after-free in Valgrind:

        weakmap = ObjectSpace::WeakMap.new
        10_000.times { weakmap[Object.new] = Object.new }

        ==25795== Invalid read of size 8
        ==25795==    at 0x462297: wmap_cmp (weakmap.c:165)
        ==25795==    by 0x3A2B1C: find_table_bin_ind (st.c:930)
        ==25795==    by 0x3A5EAA: st_general_foreach (st.c:1599)
        ==25795==    by 0x3A5EAA: rb_st_foreach (st.c:1640)
        ==25795==    by 0x25C991: gc_mark_children (default.c:4870)
        ==25795==    by 0x25C991: gc_marks_wb_unprotected_objects_plane (default.c:5565)
        ==25795==    by 0x25C991: rgengc_rememberset_mark_plane (default.c:5557)
        ==25795==    by 0x25C991: rgengc_rememberset_mark (default.c:6233)
        ==25795==    by 0x25C991: gc_marks_start (default.c:6057)
        ==25795==    by 0x25C991: gc_marks (default.c:6077)
        ==25795==    by 0x25C991: gc_start (default.c:6723)
        ==25795==    by 0x260F96: heap_prepare (default.c:2282)
        ==25795==    by 0x260F96: heap_next_free_page (default.c:2489)
        ==25795==    by 0x260F96: newobj_cache_miss (default.c:2598)
        ==25795==    by 0x26197F: newobj_alloc (default.c:2622)
        ==25795==    by 0x26197F: rb_gc_impl_new_obj (default.c:2701)
        ==25795==    by 0x26197F: newobj_of (gc.c:890)
        ==25795==    by 0x26197F: rb_wb_protected_newobj_of (gc.c:917)
        ==25795==    by 0x2DEA88: rb_class_allocate_instance (object.c:131)
        ==25795==    by 0x2E3B18: class_call_alloc_func (object.c:2141)
        ==25795==    by 0x2E3B18: rb_class_alloc (object.c:2113)
        ==25795==    by 0x2E3B18: rb_class_new_instance_pass_kw (object.c:2172)
        ==25795==    by 0x429DDC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3786)
        ==25795==    by 0x44B08D: vm_sendish (vm_insnhelper.c:5953)
        ==25795==    by 0x44B08D: vm_exec_core (insns.def:898)
        ==25795==    by 0x43A7A4: rb_vm_exec (vm.c:2564)
        ==25795==    by 0x234914: rb_ec_exec_node (eval.c:281)
        ==25795==  Address 0x21603710 is 0 bytes inside a block of size 16 free'd
        ==25795==    at 0x4849B2C: free (vg_replace_malloc.c:989)
        ==25795==    by 0x249651: rb_gc_impl_free (default.c:8527)
        ==25795==    by 0x249651: rb_gc_impl_free (default.c:8508)
        ==25795==    by 0x249651: ruby_sized_xfree.constprop.0 (gc.c:4178)
        ==25795==    by 0x4626EC: ruby_sized_xfree_inlined (gc.h:277)
        ==25795==    by 0x4626EC: wmap_free_entry (weakmap.c:45)
        ==25795==    by 0x4626EC: wmap_mark_weak_table_i (weakmap.c:61)
        ==25795==    by 0x3A5CEF: apply_functor (st.c:1633)
        ==25795==    by 0x3A5CEF: st_general_foreach (st.c:1543)
        ==25795==    by 0x3A5CEF: rb_st_foreach (st.c:1640)
        ==25795==    by 0x25C991: gc_mark_children (default.c:4870)
        ==25795==    by 0x25C991: gc_marks_wb_unprotected_objects_plane (default.c:5565)
        ==25795==    by 0x25C991: rgengc_rememberset_mark_plane (default.c:5557)
        ==25795==    by 0x25C991: rgengc_rememberset_mark (default.c:6233)
        ==25795==    by 0x25C991: gc_marks_start (default.c:6057)
        ==25795==    by 0x25C991: gc_marks (default.c:6077)
        ==25795==    by 0x25C991: gc_start (default.c:6723)
        ==25795==    by 0x260F96: heap_prepare (default.c:2282)
        ==25795==    by 0x260F96: heap_next_free_page (default.c:2489)
        ==25795==    by 0x260F96: newobj_cache_miss (default.c:2598)
        ==25795==    by 0x26197F: newobj_alloc (default.c:2622)
        ==25795==    by 0x26197F: rb_gc_impl_new_obj (default.c:2701)
        ==25795==    by 0x26197F: newobj_of (gc.c:890)
        ==25795==    by 0x26197F: rb_wb_protected_newobj_of (gc.c:917)
        ==25795==    by 0x2DEA88: rb_class_allocate_instance (object.c:131)
        ==25795==    by 0x2E3B18: class_call_alloc_func (object.c:2141)
        ==25795==    by 0x2E3B18: rb_class_alloc (object.c:2113)
        ==25795==    by 0x2E3B18: rb_class_new_instance_pass_kw (object.c:2172)
        ==25795==    by 0x429DDC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3786)
        ==25795==    by 0x44B08D: vm_sendish (vm_insnhelper.c:5953)
        ==25795==    by 0x44B08D: vm_exec_core (insns.def:898)
        ==25795==    by 0x43A7A4: rb_vm_exec (vm.c:2564)
        ==25795==  Block was alloc'd at
        ==25795==    at 0x484680F: malloc (vg_replace_malloc.c:446)
        ==25795==    by 0x25CE9E: rb_gc_impl_malloc (default.c:8542)
        ==25795==    by 0x462A39: wmap_aset_replace (weakmap.c:423)
        ==25795==    by 0x3A5542: rb_st_update (st.c:1487)
        ==25795==    by 0x462B8E: wmap_aset (weakmap.c:452)
        ==25795==    by 0x429DDC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3786)
        ==25795==    by 0x44B08D: vm_sendish (vm_insnhelper.c:5953)
        ==25795==    by 0x44B08D: vm_exec_core (insns.def:898)
        ==25795==    by 0x43A7A4: rb_vm_exec (vm.c:2564)
        ==25795==    by 0x234914: rb_ec_exec_node (eval.c:281)
        ==25795==    by 0x2369B8: ruby_run_node (eval.c:319)
        ==25795==    by 0x15D675: rb_main (main.c:43)
        ==25795==    by 0x15D675: main (main.c:62)

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

commit 34bf724a9b53ce724a2cc02195221b32879b962c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 00:23:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 23:01:55 +0900

    Remove wmap_free_entry

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

commit 3dd4679786f0134cce218e0bc9bebc32e6f749b4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 00:13:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 23:01:55 +0900

    Refactor wmap_compact to use wmap_foreach

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

commit 9c372f872db2a272197e3ea7965a6fcc3c3d096e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 00:03:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 23:01:55 +0900

    Use wmap_foreach for wmap_mark

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

commit e375fa078fe8ad8c6c55ca0b8207aec26ad9142f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-20 23:40:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 23:01:55 +0900

    Refactor wmap_foreach to pass weakmap_entry

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

commit 9a9e74389c08e8cb4421da88eae26c28f50e7820
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-20 00:50:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 23:01:55 +0900

    Add struct weakmap_entry for WeakMap entries

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

commit 2569413b1cb9765d0e31fc8dcf0e674d428bb4e7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-20 04:53:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-22 20:48:32 +0900

    [rubygems/rubygems] Fix `--prefer-local` flag

    The original implementation of this flag was too naive and all it did
    was restricting gems to locally installed versions if there are any
    local versions installed.

    However, it should be much smarter. For example:

    * It should fallback to remote versions if locally installed version
      don't satisfy the requirements.
    * It should pick locally installed versions even for subdependencies not
      yet discovered.

    This commit fixes both issues by using a smarter approach similar to how
    we resolve prereleases:

    * First resolve optimistically using only locally installed gems.
    * If any conflicts are found, scan those conflicts, allow remote
      versions for the specific gems that run into conflicts, and
      re-resolve.

    https://github.com/rubygems/rubygems/commit/607a3bf479

    Co-authored-by: Gourav Khunger <gouravkhunger18@gmail.com>

commit 203051d83997ef092fda16b0c10a9bed24120a00
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-20 05:14:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-22 20:48:31 +0900

    [rubygems/rubygems] Fix bad grammar in log message

    https://github.com/rubygems/rubygems/commit/bea4c1ad79

commit d731adb7552f3e2980348004a62fa4175fb748b0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-22 16:38:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-22 16:38:54 +0900

    Strictly checking pull-request author

commit 86c2724e75375ceb165c378ed4261c551136e593
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-08-19 15:25:09 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-08-22 16:35:43 +0900

    Don't emit ELF notes on non-ELF platforms

    These apparently break compilation on old MacOS toolchains, because the
    MachO section name is capped to 16 chars (although, on my MacOS, at
    least, the section name just gets truncated). Nevertheless, these serve
    no purpose on non-ELF platforms (they're part of the LSB Linux ABI).

    [Bug #20677]

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

commit 6a746e1bc902d4245aac58db4e9ffc2f72d79629
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-08-19 15:22:27 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-08-22 16:35:43 +0900

    Check for both aarch64 and arm64 arch's for pac-ret

    Linux calls it aarch64, but MacOS calls it arm64; pac-ret works on both.

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

commit ff0a1818526460fe71f612f26b231b15e80f746a
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-08-19 15:21:28 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-08-22 16:35:43 +0900

    Fix typo in ELF note generation

    This wasn't looking at the right macro name for pac-ret support, so if
    Ruby was compiled with pac-ret but NOT BTI, then the ELF note would not
    be emitted.

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

commit 004c6a6ed16a66f027c12606f96153a03e624005
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-22 15:20:07 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-22 16:32:54 +0900

    Use ruby to suppress a warning message by cmd.exe

    It is expected that reading from command with offset fails by ESPIPE
    and the pipe will be closed immediately.  While this causes the child
    process to terminate by SIGPIPE usually, cmd.exe yields the message
    bellow.

    ```
    The process tried to write to a nonexistent pipe.
    ```

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

commit 29500e3034681a30045dea462d6bb653e8600738
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-08-22 16:01:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-22 16:01:14 +0900

    Update bundled gems list as of 2024-08-22

commit 64a005df3b84e324ee329bad1e12cb9cd26eae72
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-22 10:31:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-22 11:29:48 +0900

    `make test-tool` with Windows is broken. We should use :KILL with that platform.

    ```
    [ 14/191] TestParallel::TestParallel#test_hungup = 11.02 s
      1) Failure:
    TestParallel::TestParallel#test_hungup [C:/Users/hsbt/DevDrive/github.com/ruby/ruby/tool/test/testunit/test_parallel.rb:211]:
    Expected /^Retrying hung up testcases\.+$/ to match "Run options: \n" +
    "  --seed=35582\n" +
    "  --ruby\n" +
    "  \".\\\\ruby.exe -I../../ruby/lib -I.ext/x64-mswin64_140 -I. ../../ruby/tool/runruby.rb --extout=.ext -- --disable-gems\"\n" +
    "  -j\n" +
    "  t1\n" +
    "  --worker-timeout=1\n" +
    "\n" +
    "# Running tests:\n" +
    "\n" +
    "[1/1] 50340=test4test_hungup.\n" +
    "C:/Users/hsbt/DevDrive/github.com/ruby/ruby/tool/lib/test/unit.rb:418:in 'Process.kill': Invalid argument (Errno::EINVAL)\n" +
    ```

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

commit a3f5a043fa5b3cb9ae1c684708399f26716ae451
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-08-22 06:41:13 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-22 11:20:47 +0900

    Handle getlogin failure in PTY.spawn

    getlogin is only called if USER environment variable is not set,
    but if getlogin returns NULL in that case, then do not call
    getpwnam, and assume /bin/sh as shell.

    Mentioned in comment to bug 20586.

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

commit ae886e0c83c0e3a3c838f48fb91efe253c027c6d
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-08-22 06:32:42 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-22 11:20:47 +0900

    Check getlogin return value before passing to strcasecmp

    getlogin can return NULL, and this can avoid a segfault
    in that case.

    Mentioned as an issue in comment to bug 20586.

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

commit 8999fd1ac84b01bc7a0a698791f10efb2b1d3b18
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-22 09:47:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-22 11:06:20 +0900

    automerge needs windows results

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

commit 8558bea27bdbb68b51d4e67a37e3db95e17fdd73
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-22 09:39:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-22 10:38:43 +0900

    Suppress warning for fd leak

    ```
    Leaked file descriptor: TestResolvDNS#test_multiple_servers_with_timeout_and_truncated_tcp_fallback: 15 : #<TCPSocket:fd 15, AF_INET, 127.0.0.1, 61633>
    ```

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

commit 773cf883ac75f0f207f8e468461d19f008dba118
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-22 03:47:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-22 05:59:03 +0900

    [PRISM] Reset $. when done reading STDIN

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

commit f60499826f3a2845fced97556289c48f68be09e8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-22 03:35:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-22 05:32:19 +0900

    [PRISM] Fix TestTRICK#test_ksk_1

    If an array element is a static literal that does not result in a
    intermediate array, it still needs to be compiled normally.

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

commit 465cf8d80b719a3507c188e9c6bc2fe2932138c6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-22 04:24:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-22 05:32:05 +0900

    [PRISM] Potentially enable coverage on the main script

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

commit 76ccd1df3777312f865f83d5fd945b18140ecb48
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-18 03:18:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 04:56:59 +0900

    [DOC] Tweaks for Enum#tally

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

commit 53e37953791921b42c3d409b23c488861094f714
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-17 22:04:41 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 01:07:28 +0900

    [DOC] Tweaks to Array#bsearch_index

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

commit f5579c9278faff76a9919419a2b36a03db756823
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-22 01:06:48 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-22 01:06:48 +0900

    [DOC] Include keywords.rdoc in doc/syntax/ (#11414)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 65b3bcede31eaaecb195e8780a71c1ae0b7d21ec
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-17 22:33:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 00:59:20 +0900

    [DOC] Tweaks for Array#collect

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

commit ee6c7ab0cfe23e6dfb5001edb47af236ac3e8fe6
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-17 22:14:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 00:56:35 +0900

    [DOC] Tweaks for Array#clear

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

commit 124f1754dfd7a53ad1f80d92b8c369f7d1cafd1e
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-17 21:51:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 00:42:20 +0900

    [DOC] Tweaks for Array#bsearch

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

commit 7ad74d1686b626b72228e3d24d5448adcfe23d48
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-08-21 02:34:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-22 00:37:13 +0900

    [PRISM] Implement unused block warning

    Related: ruby/prism#2935

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

commit e15b454bc3da5280923325df660f9b05fa34061c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-15 03:23:26 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 00:12:07 +0900

    Simplify how finalizers are ran at shutdown

    We don't need to build a linked list from the finalizer table and
    instead we can just run the finalizers by iterating the ST table.

    This also improves the performance at shutdown, for example:

        1_000_000.times.map do
          o = Object.new
          ObjectSpace.define_finalizer(o, proc { })
          o
        end

    Before:

        Time (mean ± σ):      1.722 s ±  0.056 s    [User: 1.597 s, System: 0.113 s]
        Range (min … max):    1.676 s …  1.863 s    10 runs

    After:

        Time (mean ± σ):      1.538 s ±  0.025 s    [User: 1.437 s, System: 0.093 s]
        Range (min … max):    1.510 s …  1.586 s    10 runs

commit 669d1f79d800d554918c7d5647b73a6431920ea8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-20 04:23:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 23:47:57 +0900

    [rubygems/rubygems] Restore support for passing relative paths to `:git`

    The `file://` protocol does not really work with relative paths and it's
    not necessary anyways. So restore support for that by not using
    `file://`.

    https://github.com/rubygems/rubygems/commit/16a68998ce

commit 52c02794dffe5a1399d74d4db33d4707df07e936
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-20 04:22:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 23:47:57 +0900

    [rubygems/rubygems] Add missing flag passed to `git fetch`

    Doesn't really change the test outcome, but I noticed it was missing.

    https://github.com/rubygems/rubygems/commit/ea4f9d5209

commit 2bc141f2b6c17485971199974c7bd012b0c61c82
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-21 23:34:12 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-21 23:34:12 +0900

    [PRISM] Fix up test exception assertion for Prism

commit d5dbaa5da3daf0766520d87ba6cbc7ef5a776289
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-20 23:47:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-21 21:43:59 +0900

    Remove unused weakmap field in wmap_foreach

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

commit 419d3221fb48a6c7eda2f6ddcfef9566516aa703
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-20 03:18:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 21:07:10 +0900

    [rubygems/rubygems] Fix `gem uninstall <name>:<version>` failing on shadowed default gems

    https://github.com/rubygems/rubygems/commit/29357a5dd6

commit 3ebe249ce1f93db9c6178230ae21166e35579da6
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-19 20:50:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 21:06:43 +0900

    [rubygems/rubygems] Add better error when trying to develop RubyGems with an unsupported Ruby version

    https://github.com/rubygems/rubygems/commit/9d41c4088a

commit 54b6025887f46b5317c6917fe8c5d630013f923a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-08 04:14:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 21:06:28 +0900

    [rubygems/rubygems] Regeneration previous git application caches that didn't include bare repos

    https://github.com/rubygems/rubygems/commit/417319ecb1

commit 7845ab1bc9e92fa8e5db06bea8928a4646a19976
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-21 20:43:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-21 20:43:56 +0900

    [Bug #20687] Exclude just built ruby as baseruby

    On Windows, an executable file in the current directory has the
    priority to the PATH environment variable always.

commit 6ab591f80aa19d63ecd1e1df3c09c391efb318a6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-21 13:21:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-21 16:56:44 +0900

    [Bug #20687] Check if base ruby provides necessary libraries

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

commit 71c14c8889b92561981677e47d72ab7f430fad91
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-21 14:30:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-21 16:48:35 +0900

    Don't show script name when bundle exec and call ruby script directly.

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

commit c97dc7739e1d14e59a78104d2d8717c601070805
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-21 14:25:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-21 16:48:35 +0900

    Skip to show script name with using ruby -r option

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

commit 5fedf1c3ac4d92f0877759b16aec932541e85075
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-21 14:24:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-21 16:48:35 +0900

    Show correct script name with sub-feature case

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

commit b41d79962abefbe8b70d76dee134b44a3a3d3929
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-21 12:06:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-21 14:52:29 +0900

    Reapply "[ruby/uri] Warn compatibility methods in RFC3986_PARSER"

    This reverts commit 3da7e440e9fca835f5475a98f1c0afb4d2ac71db.

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

commit ea828c0bf0233c36384bb8c6d1ea8ed79d7b3884
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-08-21 13:05:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-21 13:55:09 +0900

    Skip failing tempfile library tests

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

commit 592b90328a531b3ea5fe73a72323f36be6f77e6b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-21 13:30:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-21 13:30:01 +0900

    Generate parsers of RDoc with Racc 1.8.1

commit 014708ad5a84b454d16e532f48476d2760ea5b56
  Author:     Michael Chui <saraid216@gmail.com>
  AuthorDate: 2024-08-21 07:24:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 10:10:56 +0900

    [ruby/logger] Guarantee level_override exists

    Some Ruby apps subclass Logger without running the superclass
    constructor, which means that `@level_override` isn't initialized
    properly. This can be fixed in some cases, but the gem should maintain
    backwards compatibility.

    https://github.com/ruby/logger/commit/3246f38328

commit 1d68a735a262dba3d6222cfd664b80db2a33fc60
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 03:37:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 03:37:53 +0900

    [ruby/tempfile] Don't unlink in finalizer when already unlinked

    https://github.com/ruby/tempfile/commit/f677941ea2

commit bd7eda6038ab8b8b7536827ead25c1901e6dfa77
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 03:35:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 03:37:53 +0900

    [ruby/tempfile] Fix subprocess tests requires

    Using `-rtempfile` requires the tempfile built into Ruby, not the
    currently developed one, so the tests aren't testing this tempfile.

    https://github.com/ruby/tempfile/commit/ea2dec6f46

commit 2f67610f6bd1f771899ccfd503d2a3b2be63b56f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 03:29:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-21 03:29:40 +0900

    Remove dependency on Tempfile::Remover in leakchecker.rb

commit a68331e7036d7ab433778bf65eb854aabd5009c4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 02:28:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 03:07:42 +0900

    [ruby/tempfile] Add FinalizerManager to manage finalizers

    As @jeremyevans pointed out for commit eb2d8b1:

    > Each Tempfile instance has a separate File instance and file descriptor:
    >
    >   t = Tempfile.new
    >   t.to_i # => 6
    >   t.dup.to_i => 7

    FinalizerManager will keep track of the open File objects for the
    particular file and will only unlink the file when all of the File objects
    have been closed.

    https://github.com/ruby/tempfile/commit/753ab16642

commit 41b427a2648ed2e049952450c698be917e0bb125
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-16 01:17:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-20 22:28:36 +0900

    [ruby/tempfile] Ensure finalizer order in Tempfile

    The Closer and Remover finalizers are defined on different objects in
    Tempfile. The Closer is defined on the Tempfile object while the Remover
    is defined on the finalizer_obj. This means that there is no guarantee
    of the finalizer order.

    On Windows, we must close the file before removing it because we cannot
    remove an open file. But since the order is not guaranteed, the GC may
    run the Remover finalizer first, which will fail with an Errno::EACCES
    (Permission denied @ apply2files).

    This commit changes it so that both the Closer and Remover finalizers
    are defined on the finalizer_obj, which guarantees the order that it is
    ran.

    https://github.com/ruby/tempfile/commit/eb2d8b1175

commit d6f18b226ef51e71bea72eb888fa42bd0f74bc57
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-20 20:16:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-20 20:16:45 +0900

    Remove extraneous lock files

    See https://github.com/rubygems/rubygems/pull/7939

commit 72d016e97b38ccc2cf3e63964e69d1eed941eff6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-20 19:07:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-20 20:03:13 +0900

    [ruby/reline] typofix

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

commit 927a44b43f1db2527a4fe6709ec0867dea3ca58f
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-08-09 09:35:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-20 18:36:16 +0900

    Rewrite #test_redefinition_mismatch to use a dedicated test class

    This test is checking what happens if you try and define a class in a C
    extension where that constant is already not a class. It was doing this
    by overriding ::Date and then trying to require 'date. The issue with
    this is that if we ever add 'date' as a dependency for the test runner,
    this test will break because the test runner files get implicitly
    required in an `assert_separately` block.

    Better use an explicit class for this purpose which can't be accidentally
    required elsewhere.

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

commit 5e3dd6d395ca551152c8920f69f39823efeab748
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-08-20 18:00:09 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-20 18:00:09 +0900

    Decrease the timeout in assert_darwin_vm_dump_works (#11412)

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit f73d435262ebbbdaedfb7bdc73b093c4fd6505f4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-29 16:34:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-20 12:26:02 +0900

    Check compile_branch_condition results

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

commit 995b4c329b7ef7c9c8eda04e611884ce0b37e243
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-29 15:43:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-20 12:26:02 +0900

    Make same structures same

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

commit ea7ceff82cec98d0c419e9807dcb33dcc08b56fa
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-08-20 11:00:37 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-20 11:00:37 +0900

    Avoid hash allocation for certain proc calls

    Previously, proc calls such as:

    ```ruby
    proc{|| }.(**empty_hash)
    proc{|b: 1| }.(**r2k_array_with_empty_hash)
    ```

    both allocated hashes unnecessarily, due to two separate code paths.

    The first call goes through CALLER_SETUP_ARG/vm_caller_setup_keyword_hash,
    and is simple to fix by not duping an empty keyword hash that will be
    dropped.

    The second case is more involved, in setup_parameters_complex, but is
    fixed the exact same way as when the ruby2_keywords hash is not empty,
    by flattening the rest array to the VM stack, ignoring the last
    element (the empty keyword splat).  Add a flatten_rest_array static
    function to handle this case.

    Update test_allocation.rb to automatically convert the method call
    allocation tests to proc allocation tests, at least for the calls
    that can be converted.  With the code changes, all proc call
    allocation tests pass, showing that proc calls and method calls
    now allocate the same number of objects.

    I've audited the allocation tests, and I believe that all of the low
    hanging fruit has been collected.  All remaining allocations are
    either caller side:

    * Positional splat + post argument
    * Multiple positional splats
    * Literal keywords + keyword splat
    * Multiple keyword splats

    Or callee side:

    * Positional splat parameter
    * Keyword splat parameter
    * Keyword to positional argument conversion for methods that don't accept keywords
    * ruby2_keywords method called with keywords

    Reapplies abc04e898b627ab37fa9dd5e330f239768778d8b, which was reverted at
    d56470a27c5a8a2e7aee7a76cea445c2d29c0c59, with the addition of a bug fix and
    test.

    Fixes [Bug #20679]

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

    Merged-By: jeremyevans <code@jeremyevans.net>

commit cb2848772210f8e00956a24db650f8b06786fd3c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-17 05:02:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-19 23:58:36 +0900

    Make assertions allow incremental GC when disabled

    When assertions are enabled, the following code triggers an assertion
    error:

        GC.disable
        GC.start(immediate_mark: false, immediate_sweep: false)

        10_000_000.times { Object.new }

    This is because the GC.start ignores that the GC is disabled and will
    start incremental marking and lazy sweeping. But the assertions in
    gc_marks_continue and gc_sweep_continue assert that GC is not disabled.

    This commit changes it for the assertion to pass if the GC was triggered
    from a method.

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

commit 786d0006524b0ca282a05593ca3dff3633890af7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-19 20:02:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-19 20:48:42 +0900

    [ruby/rdoc] Avoid potentially loading the same extension from different versions of the same gem

    Avoids warnings like

    ```
    /path/to/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/rbs-3.4.0/lib/rdoc/discover.rb:10: warning: method redefined; discarding old scan
    /path/to/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/rbs-3.5.1/lib/rdoc/discover.rb:10: warning: previous definition of scan was here
    ```

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

commit cd0d4ec059b2998e4bf9cae35f4b1301c2bd6b53
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-19 19:50:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-19 19:50:08 +0900

    Single letter ASCII operator is same as the corresponding ID

commit 566f2eb501d94d4047a9aad4af0d74c6a96f34a9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-14 14:01:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-19 15:36:49 +0900

    Merge `rb_fork_ruby2` into `rb_fork_ruby`

commit 70613595645fc3ae2bdde8f023728e3f10122ffb
  Author:     Marco Roth <marco.roth@intergga.ch>
  AuthorDate: 2024-08-13 20:52:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-19 09:04:48 +0900

    [rubygems/rubygems] Change new gem README template to have copyable code blocks

    https://github.com/rubygems/rubygems/commit/c805e9b558

commit d450f9d6a28f01b7ca6030a925921dbf35cee439
  Author:     Victor Shepelev <zverok.offline@gmail.com>
  AuthorDate: 2024-08-18 19:15:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-18 19:15:18 +0900

    Make Range#step to consistently use + for iteration  (#7444)

    Make Range#step to consistently use + for iteration [Feature #18368]

    Previously, non-numerics expected step to be integer,
    and iterated with begin#succ, skipping over step value
    steps. Since this commit, numeric and non-numeric iteration
    behaves the same way, by using + operator.

  Notes:
    Merged-By: zverok <zverok.offline@gmail.com>

commit 4dbf386ca248df0f47f31dc28cdeabe8d4477e5b
  Author:     Neil Carvalho <me@neil.pro>
  AuthorDate: 2024-08-17 19:36:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-17 19:36:22 +0900

    [DOC] Add `$;` to the list of deprecated global variables

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

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

commit 694181a9f3039def04e2613fe928024eb114440e
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-08-17 16:00:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-17 16:00:35 +0900

    Update bundled gems list as of 2024-08-16

commit d56470a27c5a8a2e7aee7a76cea445c2d29c0c59
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-08-17 08:47:11 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-08-17 09:59:05 +0900

    Revert "Avoid hash allocation for certain proc calls"

    This reverts commit abc04e898b627ab37fa9dd5e330f239768778d8b.

    This caused problems in a Rails test.

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

commit 2fe6a4f84d2bcf97d3be9bffa5f3232604201f55
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-16 23:27:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-17 05:12:49 +0900

    Fix assertion error when TracePoint has incompatible events

    TracePoints with incompatible events (i.e. events not in ISEQ_TRACE_EVENTS)
    with a method target will fail an assertion error because it does not
    filter for the supported events. For example, the following lines will
    cause an assertion error:

        def foo; end
        # No arguments passed into TracePoint.new enables all ISEQ_TRACE_EVENTS
        TracePoint.new {}.enable(target: method(:foo))
        # Raise is not supported with a target
        TracePoint.new(:raise, :return) {}.enable(target: method(:foo))
        foo

    Crashes with:

        Assertion Failed: vm_insnhelper.c:7026:vm_trace:(iseq_local_events & ~(0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010| 0x0020| 0x0040 | 0x0100 | 0x0200 | 0x4000 | 0x010000| 0x020000)) == 0

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

commit 77ac853c15ef64bfc663e4b91a0707b549b940eb
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-17 05:11:55 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-17 05:11:55 +0900

    [DOC] Tweaks to Array#assoc (#11384)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 1917c8c8f333c2c39b575f47a17e74f4024f6051
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-08-16 19:01:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-17 02:10:23 +0900

    [ruby/openssl] Remove test_ed25519_not_approved_on_fips.

    This commit fixes the following failure on OpenSSL master FIPS case.

    ```
    1) Failure: test_ed25519_not_approved_on_fips(OpenSSL::TestPKey): OpenSSL::PKey::PKeyError expected but nothing was raised.
    /home/runner/work/openssl/openssl/vendor/bundle/ruby/3.0.0/gems/test-unit-ruby-core-1.0.6/lib/core_assertions.rb:462:in `assert_raise'
    /home/runner/work/openssl/openssl/test/openssl/test_pkey.rb:174:in `test_ed25519_not_approved_on_fips'
         171:     MC4CAQAwBQYDK2VwBCIEIEzNCJso/5banbbDRuwRTg9bijGfNaumJNqM9u1PuKb7
         172:     -----END PRIVATE KEY-----
         173:     EOF
      => 174:     assert_raise(OpenSSL::PKey::PKeyError) do
         175:       OpenSSL::PKey.read(priv_pem)
         176:     end
         177:   end
    ```

    Because FIPS compliance is a continually moving target. According to the [1],
    FIPS 140-3 *currently* allows ED25519. The ED25519 is allowed again with the
    latest OpenSSL FIPS by the commit [2], while it is not allowed in OpenSSL stable
    version 3.x FIPS.

    Remove this test because we want to keep our tests stable.

    [1] https://github.com/openssl/openssl/discussions/22054
    [2] https://github.com/openssl/openssl/commit/5f04124aab4a477d4e58149d8f04871ff7e5ea4b

    https://github.com/ruby/openssl/commit/d43904b834

commit bbbe07a5dbe9fd747a62c202cfa5d4f2f3cbe52c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-16 02:22:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-16 22:26:51 +0900

    Speed up finalizers for objects without object ID

    If the object being finalized does not have an object ID, then we don't
    need to insert into the object ID table, we can simply just allocate a
    new object ID by bumping the next_object_id counter. This speeds up
    finalization for objects that don't have an object ID. For example, the
    following script now runs faster:

        1_000_000.times do
          o = Object.new
          ObjectSpace.define_finalizer(o) {}
        end

    Before:

        Time (mean ± σ):      1.462 s ±  0.019 s    [User: 1.360 s, System: 0.094 s]
        Range (min … max):    1.441 s …  1.503 s    10 runs

    After:

        Time (mean ± σ):      1.199 s ±  0.015 s    [User: 1.103 s, System: 0.086 s]
        Range (min … max):    1.181 s …  1.229 s    10 runs

commit 703305bd039804a0fe47e9d5d1f90c9acbdacebd
  Author:     Raed Rizqie <raed.rizqie@gmail.com>
  AuthorDate: 2024-08-11 22:08:33 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-16 17:42:59 +0900

    Revert soname changes

    - only i386-ucrt soname is changed to fix building on x86 clang
    - fix detection of x86intrin.h on x86 system
    - mingw does not have LIBRUBY_SONAME

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

commit 21dfe34aaea90fdde57e676c24d091b53f0faf42
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-01 14:39:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-16 16:55:51 +0900

    Stringize VM_ASSERT expression before expansion

commit 196d59f6908028de0267ab355ef4423bc011ee3f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-16 15:02:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-16 15:43:43 +0900

    Parenthesize macro arguments

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

commit 129b4936bf8c556e9d400852ccd5b165dbe91499
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-16 11:43:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-16 15:43:43 +0900

    Simplify and clarify bitmask calculation

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

commit 08db4bc672eea0426c786ceece3545ac44eccad6
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-08-15 23:20:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-16 15:09:15 +0900

    [ruby/openssl] test_s_generate_parameters: Consider a DSA error in FIPS.

    DSA kengen is not FIPS-approved. The `EVP_PKEY_paramgen` in the
    `OpenSSL::PKey.generate_parameters("DSA")` raises a DSA error in FIPS by the
    following commit. Split the test for DSA.

    https://github.com/openssl/openssl/commit/49a35f0#diff-605396c063194975af8ce31399d42690ab18186b422fb5012101cc9132660fe1R611-R614

    https://github.com/ruby/openssl/commit/5ca6eb4eca

commit 018bd07f07e43a5be8ed94cfbcaac3c742b30b0a
  Author:     Raed Rizqie <raed.rizqie@gmail.com>
  AuthorDate: 2024-08-16 14:51:21 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-16 14:51:21 +0900

    Fix some warnings

    * Fix unused functions when no `mmap`.

      ```
      shape.c:285:1: warning: unused function 'redblack_insert' [-Wunused-function]
        285 | redblack_insert(redblack_node_t * tree, ID key, rb_shape_t * value)
            | ^~~~~~~~~~~~~~~
      ```

    * Fix unknown warning group '-Wmaybe-uninitialized' with clang.

      ```
      thread_win32.c:596:1: warning: unknown warning group '-Wmaybe-uninitialized', ignored [-Wunknown-warning-option]
        596 | COMPILER_WARNING_IGNORED(-Wmaybe-uninitialized)
            | ^
      ```

    Co-authored-by: Nobuyoshi Nakada <nobu.nakada@gmail.com>

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

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

commit c06fbb192f61e3b7af82c0c99a062a4e3938f9aa
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-08-13 19:37:47 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-16 09:47:07 +0900

    Fix flaky TestSetTraceFunc#test_remove_in_trace by filtering trace events

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

commit abc04e898b627ab37fa9dd5e330f239768778d8b
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-27 07:18:45 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-08-16 05:00:09 +0900

    Avoid hash allocation for certain proc calls

    Previous, proc calls such as:

    ```ruby
    proc{|| }.(**empty_hash)
    proc{|b: 1| }.(**r2k_array_with_empty_hash)
    ```

    both allocated hashes unnecessarily, due to two separate code paths.

    The first call goes through CALLER_SETUP_ARG/vm_caller_setup_keyword_hash,
    and is simple to fix by not duping an empty keyword hash that will be
    dropped.

    The second case is more involved, in setup_parameters_complex, but is
    fixed the exact same way as when the ruby2_keywords hash is not empty,
    by flattening the rest array to the VM stack, ignoring the last
    element (the empty keyword splat).  Add a flatten_rest_array static
    function to handle this case.

    Update test_allocation.rb to automatically convert the method call
    allocation tests to proc allocation tests, at least for the calls
    that can be converted.  With the code changes, all proc call
    allocation tests pass, showing that proc calls and method calls
    now allocate the same number of objects.

    I've audited the allocation tests, and I believe that all of the low
    hanging fruit has been collected.  All remaining allocations are
    either caller side:

    * Positional splat + post argument
    * Multiple positional splats
    * Literal keywords + keyword splat
    * Multiple keyword splats

    Or callee side:

    * Positional splat parameter
    * Keyword splat parameter
    * Keyword to positional argument conversion for methods that don't accept keywords
    * ruby2_keywords method called with keywords

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

commit 2c6e16eb51bccb98c2d4cfb7b35f6e6500d5d028
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-16 03:33:13 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-16 03:33:13 +0900

    Don't assume st_data_t and VALUE are the same in rb_gc_impl_object_id

commit de28ef7db49f8f8d4a46df808e1fbbc18c053ba9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-16 00:00:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-16 02:34:25 +0900

    [PRISM] Use src encoding not ext encoding

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

commit eb08a2805c59efdd6cf9f7058a91d9fc9aeb94fe
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-15 22:23:57 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-16 02:34:25 +0900

    [PRISM] test_invalid_jump assertion updates for prism

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

commit a402b18c4e64f8c8cdc9a287ee53c727370d9a1b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-15 22:22:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-16 02:34:25 +0900

    [PRISM] test_syntax_check assertion updates for prism

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

commit 2d66ef717df0e10946aa583fa32b360766485fed
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-16 01:59:30 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-16 01:59:30 +0900

    Show anonymous and ambiguous params in ISeq disassembly

    Previously, in the disasesmbly for ISeqs, there's no way to know if the
    anon_rest, anon_kwrest, or ambiguous_param0 flags are set. This commit
    extends the names of the rest, kwrest, and lead params to display this
    information. They are relevant for the ISeqs' runtime behavior.

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

    Merged-By: XrXr

commit 33bffde92339ee82cb7ed57108206bd9e2a64139
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-16 00:00:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-16 01:52:09 +0900

    [DOC] Tweaks for Array#at

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

commit 5cb6954baa35928af2f23eec5f4a2cd3b360af75
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-16 01:39:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-16 01:50:00 +0900

    [ruby/prism] Fix up lex result constants

    https://github.com/ruby/prism/commit/084baca463

commit d2361ba156af1be20469bfd2a2e1dda21d48f375
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-15 06:06:34 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-16 01:49:46 +0900

    [DOC] Tweaks for Array#push

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

commit edda29a1173a72ce32e5fbd860ef0e2f78b7b1c9
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-15 05:25:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-16 01:48:27 +0900

    [DOC] Fix Related for Array#all?

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

commit 1f994683b6dfb548e066cb3e1b4934b72adf3e45
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-15 05:05:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-16 01:46:18 +0900

    [DOC] Tweaks for Array#any?

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

commit cbf508da58d50f7448f10a1a6030b3a48dfec14d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-16 01:24:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-16 01:40:05 +0900

    [ruby/prism] Special error for too short unicode errors

    https://github.com/ruby/prism/commit/9f1f7d08bd

commit 8312c5be74f6ce4ae3ebdb6efdcec1134b0c3bba
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-15 02:46:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-15 23:38:24 +0900

    Fix GC_ASSERT for gc.c and gc/default.c

    gc.c mistakenly defined GC_ASSERT as blank, which caused it to be a
    no-op. This caused all assertions in gc.c and gc/default.c to not do
    anything. This commit fixes it by moving the definition of GC_ASSERT
    to gc/gc.h.

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

commit 923e36ab21f4866dd5087d1f9443cb3e1c43d2c4
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-08-15 22:30:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-15 22:33:00 +0900

    [ruby/rdoc] Fix sidebar scroll again and add missing footer back
    (https://github.com/ruby/rdoc/pull/1154)

    * Add missing footers

    In #1152 the footer partial was only added to the index.rhtml file.
    This commit adds the footer partial to the other template files.

    * Remove unnecessary middle divs in nav

    * Simplify sidebar's overflow settings

    Because sidebar needs to be scrollable, its overflow should default to auto.
    Currently it's set to hidden and force individual elements to set overflow auto,
    which overcomplicates things.

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

commit 2a933609e75aa87f27cf1c892a54389d3efed928
  Author:     Kentaro Takeyama <75117116+obregonia1@users.noreply.github.com>
  AuthorDate: 2024-08-10 14:03:59 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-15 17:16:25 +0900

    Delete unnecessary rubocop disable comment

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

commit 8a7e6f6852740e989ef8f679db5631306466a4ed
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-15 15:55:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-15 15:55:57 +0900

    Improve base time of assert_linear_performance (#11369)

    Remove `.ceil` from base time calculation that makes 10x gap.
    This will make the assertion more strict and also less flaky.

  Notes:
    Merged-By: kou <kou@clear-code.com>

commit fd974f5d740b9b5af63ecfdef3ee092b69e437a3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-15 05:23:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-15 05:23:22 +0900

    Increase timeout of test_finalizer

    The test is timing out on lpi4a so a longer timeout should fix it.

commit 09bf3c9d6a7e5c3b5c7193f3beaa169f048cf3a5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-15 02:14:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-15 04:39:03 +0900

    [PRISM] Trigger moreswitches off shebang

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

commit 002e785e7756e5105910434586a5752c8772bb2f
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-15 03:06:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-15 03:06:53 +0900

    [ruby/irb] Fix kill pager pid throwing Errno::ESRCH when pager
    process already terminated
    (https://github.com/ruby/irb/pull/989)

    https://github.com/ruby/irb/commit/949f032e9b

commit 0610f1b083738bb0a84cede42fda048fa116404e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-15 00:31:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-15 02:49:52 +0900

    Fix crash when GC runs during finalizers at shutdown

    We need to remove from the finalizer_table after running all the
    finalizers because GC could trigger during the finalizer which could
    reclaim the finalizer table array.

    The following code crashes:

        1_000_000.times do
          o = Object.new
          ObjectSpace.define_finalizer(o, proc { })
        end

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

commit 85f99b382857af1e3c14e0edfdb4eb0ab6774996
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-15 02:47:28 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-15 02:47:28 +0900

    [DOC] Tweaks to Array#all? (#11365)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit a952ea243f7be95d479848a28959f8d29cd967ed
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-15 02:26:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-15 02:40:43 +0900

    [ruby/prism] Callback on shebang switches

    Add the ability to receive a callback when the parser encounters a
    shebang that contains additional switches after the Ruby engine.
    This is necessary because some command-line flags may be present
    there that will alter the parse.

    https://github.com/ruby/prism/commit/afc5000331

commit 88954a0e9a199156aadc472c4795133e5ac7651b
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-08-14 11:46:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-15 01:28:43 +0900

    [ruby/prism] Tweak inspect representation of `Prism::Location`

    This PR tweaks inspect representation of `Prism::Location`.

    ## Before

    During debugging, the meaning of `@location=https://github.com/ruby/prism/commit/21474836481` was unclear:

    ```console
    $ ruby -Ilib -rprism -e 'p Prism.lex("puts :hi").value.map(&:first)[1]'
    #<Prism::Token:0x000000010cd74e40 @source=#<Prism::ASCIISource:0x000000010cb5f808 @source="puts :hi", @start_line=1, @offsets=[0]>,
    @type=:SYMBOL_BEGIN, @value=":", @location=https://github.com/ruby/prism/commit/21474836481>
    ```

    ## After

    This PR clarifies the contents of the location object, aligning with what I think user expects:

    ```console
    $ ruby -Ilib -rprism -e 'p Prism.lex("puts :hi").value.map(&:first)[1]'
    #<Prism::Token:0x000000010e174d50 @source=#<Prism::ASCIISource:0x000000010df5efe8 @source="puts :hi", @start_line=1, @offsets=[0]>,
    @type=:SYMBOL_BEGIN, @value=":", @location=#<Prism::Location @start_offset=5 @length=1 start_line=1>>
    ```

    Although it is uncertain whether Prism will accept this change in the inspect representation, it is submitted here as a suggestion.

    https://github.com/ruby/prism/commit/e7421ce1c5

commit 264175dbb9e9f3c6721b1a4e28fd6cc379fda372
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-09 04:03:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-14 23:51:02 +0900

    [DOC] Update comment about how object ID is calculated

    The object ID no longer treats symbols in a special way so we can simplify
    the comment about how it is calculated.

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

commit d0954741139e9cc4333a524570612339df3e39a1
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-08-14 16:01:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-14 16:01:44 +0900

    Update bundled gems list as of 2024-08-14

commit f2f177edb3cbc268e2056b6419531f70fa07219e
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-14 13:06:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-14 13:06:07 +0900

    [ruby/irb] Improve easter_egg logo resolution
    (https://github.com/ruby/irb/pull/987)

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

commit e7046f1f57bef81666bec5ac262845fd5dbf10bc
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-08-14 11:32:52 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-14 12:24:15 +0900

    Increase the default timeout in assert_darwin_vm_dump_works

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

commit b20957bdfeaafcc6f842a3f427d1895b0325f62a
  Author:     Sorah Fukumori <her@sorah.jp>
  AuthorDate: 2024-08-14 08:13:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-14 08:13:10 +0900

    [ruby/resolv] test_dns: Fix failure on Windows
    (https://github.com/ruby/resolv/pull/58)

    test_dns: Fix failure on Windows

    1. Switch to #with_udp_and_tcp helper method for EACCES retries on Windows;
       the given UDP socket is unnecessary though.
    2. Using 127.0.0.1 should be fine, as it must give different host:port pair.
    3. On Windows, 5 retries of bind(2) appears still flaky, doubling it for sure.

    follow-up: https://github.com/ruby/resolv/pull/50
    follow-up: https://github.com/ruby/resolv/commit/6252914e95dfdf8995d8074df6cafe6f0a76c1ca

    https://github.com/ruby/resolv/commit/0a0d57e369

commit 094e53360d3e2537339997606eaa45f37a375f18
  Author:     Kasumi Hanazuki <kasumi@rollingapple.net>
  AuthorDate: 2024-06-01 19:07:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-14 06:09:08 +0900

    [ruby/resolv] Reuse open TCP connection

    [RFC7766] Section 5 recommends stub resolvers to reuse open TCP
    connections to a nameserver.

    [RFC7766]: https://datatracker.ietf.org/doc/html/rfc7766

    https://github.com/ruby/resolv/commit/9bf1b08f5c

commit 4be9b72fbb44e7754337f4957f2c7bfe3cd41891
  Author:     Igor Pstyga <igor.pstyga@gmail.com>
  AuthorDate: 2024-04-24 13:04:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-14 06:09:08 +0900

    [ruby/resolv] Fix TCP fallback with multiple nameservers

    Under the following conditions the exception
    `Resolv::DNS::Requester::RequestError: host/port don't match` is raised:
    - Multiple nameservers are configured for Resolv::DNS
    - A nameserver falls back from UDP to TCP
    - TCP request hits Resolv::DNS timeout
    - Resolv::DNS retries the next nameserver

    More details here https://bugs.ruby-lang.org/issues/8285

    https://github.com/ruby/resolv/commit/7d524df80e

    Co-authored-by: Julian Mehnle <julian@mehnle.net>

commit 525008cd7879a047e3c310eb63dcef901b23be56
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-14 05:56:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-14 05:56:35 +0900

    Delete newarraykwsplat

    The pushtoarraykwsplat instruction was designed to replace newarraykwsplat,
    and we now meet the condition for deletion mentioned in
    77c1233f79a0f96a081b70da533fbbde4f3037fa.

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

    Merged-By: XrXr

commit b80b8399262c628298f6aed2bc0e4bdefb371a2a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-10 01:20:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-14 04:53:14 +0900

    Don't set stack end in rb_gc_mark_roots

    We don't need to set the stack end in rb_gc_mark_roots because it is
    already set in mark_current_machine_context.

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

commit 87a85550edd786665e081b355c6af62c4854b1d7
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-08-08 18:10:15 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-08-14 03:52:24 +0900

    Re-initialize vm->ractor.sched.lock after fork

    Previously under certain conditions it was possible to encounter a
    deadlock in the forked child process if ractor.sched.lock was held.

    Co-authored-by: Nathan Froyd <froydnj@gmail.com>

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

commit 908305a2977856264a932cad02437c30f08c365b
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-08-13 19:39:20 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-13 22:10:15 +0900

    Sync rdoc

commit a6581114b0b6a541d4a6175629c6949651fbe50f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-13 21:41:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-13 21:41:07 +0900

    [ruby/prism] Fix up spacing in generated node.rb

    https://github.com/ruby/prism/commit/50d79b734b

commit 436d23f80da20ab56ebe42da4f37fc5c3e276f69
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-08-13 13:48:01 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-08-13 14:47:48 +0900

    Make sure to wait for the thread to exit in TestProcess#test_wait_and_sigchild

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

commit d5afa2cc95710f34d5547efdcfc1562305248590
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-08-09 16:43:02 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-08-13 12:17:56 +0900

    do not show unused block on `send`

    Some case it is difficult to know the calling method uses a block
    or not with `send` on a general framework. So this patch stops
    showing unused block warning on `send`.

    example with test/unit:

    ```ruby
    require 'test/unit'

    class T < Test::Unit::TestCase
      def setup
      end

      def test_foo = nil
    end
    ```

    => /home/ko1/ruby/install/master/lib/ruby/gems/3.4.0+0/gems/test-unit-3.6.2/lib/test/unit/fixture.rb:284: warning: the block passed to 'priority_setup' defined at /home/ko1/ruby/install/master/lib/ruby/gems/3.4.0+0/gems/test-unit-3.6.2/lib/test/unit/priority.rb:183 may be ignored

    because test/unit can call any setup method (`priority_setup` in this case) with a block.

    Maybe we can show the warning again when we provide a way to recognize
    the calling method uses a block or not.

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

commit eedf6c35b306184c8c4a5811033294a8f08f703a
  Author:     Lars Kanis <lars.kanis@sincnovation.com>
  AuthorDate: 2024-08-13 10:48:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-13 10:48:29 +0900

    Revert change of "mingw-ucrt" platform string

    ... of commit 00176cd40fe9f385231e9c20b956fc4a84d240b9.

    The reverted change was made only for constistency, as discussed in
      https://github.com/ruby/ruby/pull/11358#issuecomment-2282222369

    But the platform string "mingw-ucrt" should not be changed.
    It is used as RUBY_PLATFORM and as the rubygems platform, so that there should
    be a good reason to change the name of an established platform.
    "mingw-ucrt" was introduced intentionally in commit
    576b2e64cdc5ea42ad345dd3c1c215e006c06fca.

    Related to GH-11358

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

    Merged-By: XrXr

commit 00e2e24e6fe4f1a3c6dc52f1c8ed17c30351de40
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-08-08 21:13:36 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-08-13 10:28:14 +0900

    Launchable: Fix condition for bootstraptest

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

commit d012f6d49fe9e995bdc6d12e4ebfaa043298d7c2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-13 03:22:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-13 03:44:18 +0900

    [ruby/prism] Add sample for generating tags

    https://github.com/ruby/prism/commit/7c9ca47ac5

commit 568d7ab7f5862063107b3643c6cfe77a387f09d6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-09 23:57:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-12 22:33:20 +0900

    Fix memory leak reported in -test-/random/loop.c

    RUBY_TYPED_DEFAULT_FREE will only free the rand_loop_t, but it will cause
    the buf to be leaked. This commit fixes the memory leak by implementing
    a free function for the rand_loop_t type.

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

commit 992596fb7af18a7f472589a607d0eb3fbb03b49a
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-06 23:29:45 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-12 18:09:32 +0900

    Fix next inside block argument stack underflow

    [Bug #20344]
    Fix compile_next adding removable adjust label

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

commit 2a7da0b6e76929c684cd948630a897c1d5b16c26
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-08-12 16:01:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-12 16:01:02 +0900

    Update bundled gems list as of 2024-08-12

commit ca5b7276c668f595b8348822fc61a90cd5b9710f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-11 19:58:57 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-08-11 22:04:35 +0900

    compile.c: don't allocate empty default values list

    It just wastes memory.

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

commit 1fd0a1b4ceef29a5aade5e1d896dca5b74258e6f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-11 16:04:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-11 16:04:37 +0900

    Fix sign-conversion warning

    ```
    ../../.././include/ruby/internal/special_consts.h:349:36: error: conversion to ‘VALUE’ {aka ‘long unsigned int’} from ‘int’ may change the sign of the result [-Werror=sign-conversion]
      349 |     return RB_SPECIAL_CONST_P(obj) * RUBY_Qtrue;
          |            ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
    ```

commit 1db8586279a2f061f089a9fc7caa2b60cf7b23e0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-11 15:57:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-11 15:57:56 +0900

    Show mkmf.log when failed

commit 21a9d7664c9f612f71e2059a8b0a091a2cc5e46e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-09 21:43:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-11 02:36:37 +0900

    Fix flag test macro

    `RBOOL` is a macro to convert C boolean to Ruby boolean.

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

commit 04d57e2c5cab6d2875de9512aa04a141885b44d9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-09 21:58:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-11 02:36:11 +0900

    Evaluate macro arguments just once

    And fix unclosed parenthesis.

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

commit 9416bfb83d2ff969a5ac7f4a37078fd15adee729
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-11 00:19:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-11 00:19:20 +0900

    Increase timeout of test-bundler-parallel

    Even if it succeeds, it takes almost 40 minutes.

commit 00176cd40fe9f385231e9c20b956fc4a84d240b9
  Author:     Raed Rizqie <raed.rizqie@gmail.com>
  AuthorDate: 2024-08-10 14:03:48 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-11 00:10:28 +0900

    fix ucrt arch

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

commit f1224e55fda658a7395bd3512c6aaa92cbf4a25c
  Author:     Raed Rizqie <raed.rizqie@gmail.com>
  AuthorDate: 2024-08-10 13:58:56 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-11 00:10:28 +0900

    fix i386-ucrt build

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

commit b1f4222fc55ffa37496645a02dbe2a4f103b5d5b
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-10 18:50:44 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-08-10 19:41:35 +0900

    Cherry-pick test for [Bug #20668]

    The bug didn't impact master because this was largely refactored,
    but it's still valuable to add the test for it to prevent future
    regressions.

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

commit ad23bbe5743c73b00b9305dfad42f374efad3905
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-07-30 14:52:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-10 17:42:36 +0900

    [ruby/prism] [Doc] Tweak the docs for lex APIs

    `Prism.lex` and `Prism.lex_file` return `ParseLexResult` instead of `Array`.
    `Prism::parse_lex` and `Prism::parse_lex_file` return `ParseLexResult` instead of `ParseResult`.
    This PR updates the documentation to reflect these return values.

    https://github.com/ruby/prism/commit/ee331941c0

commit 6ee9a08d32800974c596a01e9190cc8e778a6ee5
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-08 21:11:37 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-08-10 17:09:14 +0900

    rb_setup_fake_ary: use precomputed flags

    Setting up the fake array is a bit more expensive than would be
    expected because `rb_ary_freeze` does a lot of checks and lookup
    a shape transition.

    If we assume fake arrays will always be frozen, we can precompute
    the flags state and just assign it.

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

commit 7b7dde37f546b74f1dd15e482235fec139b80b70
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-10 05:17:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-10 05:28:53 +0900

    [ruby/psych] Guard from memory leak in Psych::Emitter#start_document

    When an exception is raised, it can leak memory in `head`. There are two
    places that can leak memory:

    1. `Check_Type(tuple, T_ARRAY)` can leak memory if `tuple` is not an
       array.
    2. `StringValue(name)` and `StringValue(value)` if they are not strings
       and the call to `to_str` does not return a string.

    This commit fixes these memory leaks by wrapping the code around a
    rb_ensure so that the memory is freed in all cases.

    The following code demonstrates the memory leak:

        emitter = Psych::Emitter.new(StringIO.new)
        nil_to_string_tags = [[nil, "tag:TALOS"]] + ([1] * 1000)
        expected_array_tags = [1] * 1000

        10.times do
          1_000.times do
            # Raises `no implicit conversion of nil into String`
            emitter.start_document([], nil_to_string_tags, 0)
          rescue TypeError
          end

          1_000.times do
            # Raises `wrong argument type Integer (expected Array)`
            emitter.start_document([], expected_array_tags, 0)
          rescue TypeError
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        47248
        79728
        111968
        144224
        176480
        208896
        241104
        273280
        305472
        337664

    After:

        14832
        15088
        15344
        15344
        15360
        15632
        15632
        15632
        15648
        15648

    https://github.com/ruby/psych/commit/053af73818

commit 4e85b6b4c4868b6c75083743e2ea66ce0b2313ee
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-08 18:48:04 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-08-10 05:06:44 +0900

    rb_str_bytesplice: skip encoding check if encodings are the same

    If both strings have the same encoding, all this work is useless.

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

commit 3bac5f6af577cc66d29658ca55b69f7496f8112c
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-09 22:27:42 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-08-10 05:06:44 +0900

    string.c: add fastpath in str_ensure_byte_pos

    If the string only contain single byte characters we can
    skips all the costly checks.

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

commit a332367dad3172e8a8c12efed3913c7fde684b06
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-09 22:24:49 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-08-10 05:06:44 +0900

    string.c: Add fastpath to single_byte_optimizable

    `rb_enc_from_index` is a costly operation so it is worth avoiding
    to call it for the common encodings.

    Also in the case of UTF-8, it's more efficient to scan the
    coderange if it is unknown that to fallback to the slower
    algorithms.

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

commit 5a570421a5a773945aa8f9497b5d64bac809a196
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-08-10 05:02:36 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-08-10 05:02:36 +0900

    [DOC] Regexp.last_match returns `$~`, not `$!`

commit d1474affa8e105bece209cc9d594bb0a989859e1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-10 04:16:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-10 04:35:29 +0900

    [ruby/psych] Convert tabs to spaces in test/psych/test_yaml.rb

    https://github.com/ruby/psych/commit/64bfc308f8

commit 712ac99e4d0384a941c80a9f48f62943ba7d97c0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-10 04:15:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-10 04:35:28 +0900

    [ruby/psych] Convert missed tabs to spaces in C files

    https://github.com/ruby/psych/commit/74a6b4d226

commit c8708c72c401fa99879b9ea01e6ccf1bd4c983eb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-10 03:51:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-10 03:51:40 +0900

    Add expand tabs commit in psych to .git-blame-ignore-revs

commit e63a2115f64433b21cb5dd67c5bf8b30f87ef293
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-10 03:26:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-10 03:29:46 +0900

    [ruby/psych] Convert tabs to spaces in C files

    https://github.com/ruby/psych/commit/e7d64c9848

commit c91ec7ba1ec68b88b386b255fd48317d1b5715e5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-08 00:12:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-09 23:27:40 +0900

    Remove rb_gc_impl_objspace_mark

    It's not necessary for the GC implementation to call rb_gc_mark_roots
    which calls back into the GC implementation's rb_gc_impl_objspace_mark.

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

commit 2bd5dc47ac7527fa2cec98106959d318021ab135
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-08 19:42:04 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-08-09 22:20:58 +0900

    string.c: str_capacity don't check for immediates

    `STR_EMBED_P` uses `FL_TEST_RAW` meaning we already assume `str`
    isn't an immediate, so we can use `FL_TEST_RAW` here too.

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

commit af44af238befeed20cc2606ea2b440e16d341213
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-08 19:14:50 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-08-09 22:20:58 +0900

    str_independent: add a fastpath with a single flag check

    If we assume that most strings we modify are not frozen and
    are independent, then we can optimize this case by replacing
    multiple flag checks by a single mask check.

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

commit f57167d3380b6351a915e3e4e0c04c799bd151bd
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-08-09 11:16:50 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-09 12:16:23 +0900

    Increase timeout in `test_darwin_invalid_call` method

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

commit 77ffdfe79fc9dc0b327ff88ea3df4082183c08f6
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-08-09 08:13:16 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-09 08:13:16 +0900

    YJIT: Allow tracing fallback counters (#11347)

    * YJIT: Allow tracing fallback counters

    * Update yjit.md about --yjit-trace-exits=counter

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

commit ec5436bc3a8e7c616a9b88c08d766180894ea82d
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-09 05:09:32 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-09 05:09:32 +0900

    [DOC] Tweaks for Array#[]= (#11329)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit e008f0553dd1e1dcfe43a50af93169e1e2e11c04
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-08 07:21:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-09 05:08:47 +0900

    [DOC] Add remark about in-brief for method doc

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

commit b9a9564c1f1359d4d4022d099d57bcb9789b692c
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-08 07:36:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-09 05:08:15 +0900

    [DOC] Tweaks for Array#[]

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

commit d657205c58937218a83e24ef9b409fc42d9ca0a8
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-08 06:49:06 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-09 05:08:15 +0900

    [DOC] Tweaks for Array#[]

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

commit 6fee51069c7a12b47b4873f1df68281f73a3e5d9
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-08 06:15:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-09 05:05:42 +0900

    [DOC] Tweaks for Array#==

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

commit 64a7b87e1dbbb4d45549f1bcaae6790287ee5007
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-08-09 05:02:46 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-09 05:02:46 +0900

    Sync rdoc to fix master doc's display issue (#11345)

    Sync rdoc

    This syncs changes made in https://github.com/ruby/rdoc/pull/1148, which
    will fix https://docs.ruby-lang.org/en/master/'s display on certain screens.

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

commit 0bff07644ba5aff9c844b6cf75a0e1365c35c6a3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-09 01:19:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-09 01:19:35 +0900

    Make YJIT a GC root rather than an object (#11343)

    YJIT currently uses the YJIT root object to mark objects during GC and
    update references during compaction. This object otherwise serves no
    purpose.

    This commit changes it YJIT to be step when marking the GC root. This
    saves some memory from being allocated from the system and the GC.

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

commit 868d63f0a3a2f63cfc0d5a1a3e6f073722c4fb8e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-07 03:46:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-08 23:11:49 +0900

    Disable GC even during finalizing

    We're seeing a crash during shutdown in rb_gc_impl_objspace_free because
    it's running lazy sweeping during shutdown. It appears that it's due to
    `finalizing` being set, which causes GC to not be aborted and not
    disabled which causes it to be in lazy sweeping at shutdown.

    The full stack trace is:

        #6  rb_bug (fmt=fmt@entry=0x5643b8ebde78 "lazy sweeping underway when freeing object space") at error.c:1095
        #7  0x00005643b8a3c697 in rb_gc_impl_objspace_free (objspace_ptr=<optimized out>) at gc/default.c:9507
        #8  0x00005643b8c269eb in ruby_vm_destruct (vm=0x7e2fdc84d000) at vm.c:3141
        #9  0x00005643b8a5147b in rb_ec_cleanup (ec=<optimized out>, ex=<optimized out>) at eval.c:263
        #10 0x00005643b8a51c93 in ruby_run_node (n=<optimized out>) at eval.c:319
        #11 0x00005643b8a4c7c7 in rb_main (argv=0x7fffef15e7f8, argc=18) at ./main.c:43
        #12 main (argc=<optimized out>, argv=<optimized out>) at ./main.c:62

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

commit da8cf99cb5a6549d91e57671ce9aa0d1b726225b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-08 16:23:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-08 16:23:49 +0900

    Added test scenario for https://github.com/ruby/ruby/pull/11322

commit 7e0910a82c81137731b5fd553bc312177d69d6a4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-08 16:18:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-08 16:20:22 +0900

    We should use uplevel:2 in another case.

    Like the following scenario with bootsnap, that frames are same or smaller than frame_to_skip(=3).

    ---
    "/Users/hsbt/.local/share/rbenv/versions/3.3-dev/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'"
    "/Users/hsbt/.local/share/gem/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'"
    "test_warn_bootsnap.rb:11:in `<main>'"
    ---

commit 7594a292b19cb3bde971da294930f6bb2b4e4bc1
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-07 17:48:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-08 15:50:26 +0900

    lib/bundled_gems.rb: more reliable caller detection

    The `2` skipped frames went out of sync and now it should be `3`.

    Rather than just update the offset, we can implement a way that
    is adaptative as long as all require decorators are also called require.

    Also we should compute the corresponding `uplevel` otherwise the
    warning will still point decorators.

    Co-authored-by: "Hiroshi SHIBATA" <hsbt@ruby-lang.org>

commit fa443699afe888d1b0d1f586e97700527a23e5fa
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-08 13:00:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-08 13:24:27 +0900

    Partly reverted 09638741ba4d9547a0e48af8c767744fb1d7f68d

    This change didn't work with Ruby 3.3.

    We should revert this to test bundled_gems.rb with Ruby 3.3.

commit 3da7e440e9fca835f5475a98f1c0afb4d2ac71db
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-08 12:08:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-08 13:04:00 +0900

    Revert "[ruby/uri] Warn compatibility methods in RFC3986_PARSER"

    This reverts commit c3becc3ba6c584fbeabd5182e304e61529235fe6.

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

commit 68ebd56a76423c14883f8986fd6e64cf6da314d5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-08 11:06:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-08 11:09:27 +0900

    [ruby/uri] Use URI::RFC2396_PARSER explicitly in URI

    https://github.com/ruby/uri/commit/898b889811

commit c3becc3ba6c584fbeabd5182e304e61529235fe6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-08 10:44:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-08 11:09:27 +0900

    [ruby/uri] Warn compatibility methods in RFC3986_PARSER

    https://github.com/ruby/uri/commit/9997c1acee

commit 8d39939107bedd1cf7737785e8c6f923fea7137e
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-05 14:30:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-08 08:54:52 +0900

    [ruby/rdoc] Use ascii chatacter in HTML file

    https://github.com/ruby/rdoc/commit/40a6690010

commit 057c53f771cdee656483243d2f4ebdf4883e68c7
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-08 07:29:33 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-08 08:17:31 +0900

    Make rb_vm_invoke_bmethod() static

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

commit 68a419d7497c46bd014e0e31953fea7f6a014e0d
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-08 07:25:43 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-08 08:17:31 +0900

    Delete unused rb_check_funcall_with_hook()

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

commit 34715bdd910698e1aa9770b36c2b6e38e708c629
  Author:     Your Name <you@example.com>
  AuthorDate: 2024-08-03 09:53:13 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-08 07:49:20 +0900

    Tune codegen for rb_yield() calls landing in ISeqs

    Unlike in older revisions in the year, GCC 11 isn't inlining the call
    to vm_push_frame() inside invoke_iseq_block_from_c() anymore. We do
    want it to be inlined since rb_yield() speed is fairly important.
    Logs from -fopt-info-optimized-inline reveal that GCC was blowing its
    code size budget inlining invoke_block_from_c_bh() into its various
    callers, leaving suboptimal code for its body.

    Take away some uses of the `inline` keyword and merge a common tail
    call to vm_exec() for overall better code.

    This tweak gives about 18% on a micro benchmark and 1% on the
    chunky-png benchmark from yjit-bench. I tested on a Skylake server.

    ```
    $ cat c-to-ruby-call.yml
    benchmark:
      - 0.upto(10_000_000) {}

    $ benchmark-driver --chruby '+patch;master' c-to-ruby-call.yml
    Warming up --------------------------------------
    0.upto(10_000_000) {}      2.299 i/s -       3.000 times in 1.304689s (434.90ms/i)
    Calculating -------------------------------------
                              +patch      master
    0.upto(10_000_000) {}      2.299       1.943 i/s -       6.000 times in 2.609393s 3.088353s

    Comparison:
                 0.upto(10_000_000) {}
                   +patch:         2.3 i/s
                   master:         1.9 i/s - 1.18x  slower

    $ ruby run_benchmarks.rb --chruby 'master;+patch' chunky-png
    <snip>

    ----------  -----------  ----------  -----------  ----------  --------------  -------------
    bench       master (ms)  stddev (%)  +patch (ms)  stddev (%)  +patch 1st itr  master/+patch
    chunky-png  1156.1       0.1         1142.2       0.2         1.01            1.01
    ----------  -----------  ----------  -----------  ----------  --------------  -------------
    ```

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

commit e271feb8663415d9ed8a55e0e78bd655a16e0201
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-08 03:54:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-08 05:42:24 +0900

    Fix memory leak reported with YJIT

    The following memory leak gets reported with RUBY_FREE_AT_EXIT and YJIT
    enabled because the memory for yjit_root is never freed.

        STACK OF 1 INSTANCE OF 'ROOT LEAK: <calloc in rb_gc_impl_calloc>':
        11  dyld                                  0x18067e0e0 start + 2360
        10  miniruby                              0x1024b67d8 main + 100  main.c:62
        9   miniruby                              0x10256e0ec ruby_options + 156  eval.c:117
        8   miniruby                              0x102681164 ruby_process_options + 5140  ruby.c:3097
        7   miniruby                              0x10256f7dc rb_ensure + 180  eval.c:0
        6   miniruby                              0x102681c64 load_file_internal + 996  ruby.c:2685
        5   miniruby                              0x102682368 ruby_opt_init + 380  ruby.c:1817
        4   miniruby                              0x102848e38 yjit::yjit::yjit_init::h3cea491822b80cef + 360  yjit.rs:84
        3   miniruby                              0x10278f7d4 rb_yjit_init_gc_hooks + 28  yjit.c:1273
        2   miniruby                              0x10258a228 rb_data_typed_object_zalloc + 132  gc.c:989
        1   miniruby                              0x102586d88 rb_gc_impl_calloc + 148  default.c:8517
        0   libsystem_malloc.dylib                0x180840cac _malloc_zone_calloc_instrumented_or_legacy + 128

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

commit 3719b3d74d7091aafd486b8cd0e8985208b4d8c0
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-08 04:59:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-08 04:59:57 +0900

    [DOC] Tweaks to Array#- (#11303)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 2a31410ebea8b3a856ec60b8479424bd980409f5
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-08 04:59:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-08 04:59:01 +0900

    [DOC] Tweaks to Array#+ (#11302)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 53f3036bf9becda911dba1e9e1823aceb97b3d9a
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-08-07 22:52:34 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-08-08 01:51:20 +0900

    tool/test-annocheck.sh: Refactor with double-quotes.

commit aed468ae0bb38ec364c0e6f0d5bfbc314d1aea0a
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-08-07 21:24:21 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-08-08 01:51:20 +0900

    CI: Run annocheck for libruby.so

    When building with the `--shared` option, most functionality is kept in
    `libruby.so`. Therefore also run annocheck for `libruby.so`.

    Use `ARG IN_DIR` to propagate multiple files into the container instead of
    `ARG FILES` in the `Dockerfile-copy`. Because the `COPY` syntax in Dockerfile
    doesn't support copying the multiple files.
    https://stackoverflow.com/questions/61599384/specify-multiple-files-in-arg-to-copy-in-dockerfile

    Co-authored-by: Vít Ondruch <vondruch@redhat.com>

commit 584559d86a951095d793a536ad998e12ea08a890
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-01 03:59:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-07 22:14:14 +0900

    Fix leak of token_info when Ripper#warn jumps

    For example, the following code leaks:

        class MyRipper < Ripper
          def initialize(src, &blk)
            super(src)
            @blk = blk
          end

          def warn(msg, *args) = @blk.call(msg)
        end

        $VERBOSE = true
        def call_parse = MyRipper.new("if true\n  end\n") { |msg| return msg }.parse

        10.times do
          500_000.times do
            call_parse
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        37536
        53744
        70064
        86448
        102576
        119120
        135248
        151216
        167744
        183824

    After:

        19280
        19696
        19728
        20336
        20448
        21408
        21616
        21616
        21824
        21840

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

commit 671f6e78b4c8d23ea76cb9dae4c6c6b45e469b87
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-07 10:17:43 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-07 10:17:43 +0900

    Use 20min for parallel test worker timeout

commit fdfde6ab2e1e6a038bea82a892d1d3cc58cbdf09
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-07 09:43:34 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-07 09:44:06 +0900

    Use SIGSEGV to kill a parallel test worker (to dump backtrace)

commit fa3d9fdaed8ddb1850b4af4be5bf92e7464f3fcc
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-03 05:24:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-07 04:51:31 +0900

    [DOC] Tweaks to Array#<=>

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

commit 347143763018f35486b1a8f349d13d4d45b08e28
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-03 04:17:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-07 04:45:45 +0900

    [DOC] Tweaks for Array#<<

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

commit a793b5376c6f92dd7aa45433897a9484120574bb
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-03 01:38:13 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-07 04:38:29 +0900

    [DOC] Tweaks to Array#*

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

commit 66181fdda599e32d86f6b5aa9c671bb0feacf47f
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-03 01:29:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-07 04:37:51 +0900

    [DOC] Tweak to Array#&

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

commit 8aeca5ce404486e3ec67a1b3c895b043567a1350
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-03 01:23:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-07 04:37:23 +0900

    Tweaks to Array::try_convert

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

commit e62c2ce0e086378d454368fe24e58411c8b0b5a4
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-07 03:54:11 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-07 03:54:47 +0900

    Wait a bit longer for worker quit

commit be959c040e7f348ff2cc6a4aab3da62448845859
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-03 01:09:33 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-07 03:39:16 +0900

    [DOC] Tweak for Array::[]

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

commit 47c45d5c18cfc232295082edefda01c6294f4958
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-07 02:41:27 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-07 02:41:27 +0900

    Add a log when SIGKILL is sent to a test parallel worker

commit 2c35a379185fed125bea6c191a18ef2ff91f5075
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-07 02:34:46 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-07 02:34:46 +0900

    Fix a typo

commit ced35800d48e671ed739c8451823c7d3180ef8ac
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-01 03:18:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-06 23:19:50 +0900

    Fix leak in warning of duplicate keys when Ripper#warn jumps

    For example, the following code leaks:

        class MyRipper < Ripper
          def initialize(src, &blk)
            super(src)
            @blk = blk
          end

          def warn(msg, *args) = @blk.call(msg)
        end

        $VERBOSE = true
        def call_parse = MyRipper.new("if true\n  end\n") { |msg| return msg }.parse

        10.times do
          500_000.times do
            call_parse
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        34832
        51952
        69760
        88048
        105344
        123040
        141152
        159152
        176656
        194272

    After:

        18400
        20256
        20272
        20272
        20272
        20304
        20368
        20368
        20368
        20400

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

commit c0938fd24c927954dbe5d42e70844b6a89516786
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-06 20:12:37 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-06 21:11:41 +0900

    Use 3min for test parallel worker timeout again

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

commit 062f85e141e4fb806b5d4b6dbf6a8cb1f3ce682d
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-06 20:09:42 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-06 21:11:41 +0900

    Dump all-thread backtraces when test parallel worker exceeds time limit

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

commit 67cd95e68fbeb8db005c2dfbdbd5da979ea8a3b8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-06 17:39:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-06 18:59:17 +0900

    tool/gen-github-release.rb required recent version of Ruby

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

commit dc50d3590ff00bdd3578f922e909e7f701243366
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-06 17:25:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-06 18:59:17 +0900

    Create GitHub Releases with GitHub Actions

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

commit 267da552a1085e69fabe9aadb2007843c5eb1b31
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-06 18:09:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-06 18:09:52 +0900

    [ruby/uri] Fallback missing constants with RFC3986_PARSER
    (https://github.com/ruby/uri/pull/113)

    * Fallback missing constants with RFC3986_PARSER

    * raise missing constant

    * Update test/uri/test_common.rb

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

    * Update lib/uri/common.rb

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

    * Update lib/uri/common.rb

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

    ---------

    https://github.com/ruby/uri/commit/c2fdec079a

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 24d46a6781231c54d6b5fc0a20a24cd65a902ad4
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-06 16:59:24 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-06 16:59:24 +0900

    Extend the default timeout of parallel testing to one hour

commit 65e3717db7bfd957660a5b3d9c5ac4fd22e8d858
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-07-31 01:05:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-06 15:38:03 +0900

    [ruby/openssl] test/openssl/test_pkey_dsa.rb: skip all tests in FIPS mode

    OpenSSL running in the FIPS mode will stop supporting DSA key
    generation and signature generation due to a FIPS 140-3 requirement.
    Although it appears that FIPS 186-5 still allows signature
    verification in some cases, there would be little point in writing such
    a specific test case.

    DSA will still be tested if OpenSSL is not running in the FIPS mode.

    test_generate_on_non_fips is merged to test_generate again.

    https://github.com/ruby/openssl/commit/3651884fd2

commit 30be7fb85ddcb59b531f22b7627e77624ef05c4e
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-06 14:19:11 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-06 15:00:12 +0900

    Extend the default timeout of parallel testing

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

commit 3005ed6816894c8f6585dd32b5a1aa884aaa5b1e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-03 05:24:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-06 02:28:11 +0900

    [rubygems/rubygems] Don't remove existing platform gems when PLATFORMS section is badly indented

    https://github.com/rubygems/rubygems/commit/ec099ebf1e

commit 540bcf524850854fdf199096da1e0e829e1dfbe9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-03 03:59:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-06 02:27:11 +0900

    [rubygems/rubygems] Fix locked source not getting respected when `bundle update <specific_gem>` is run

    https://github.com/rubygems/rubygems/commit/eec6830c04

commit dc804bd83c79d39eac71ca1a369061a8ba1b4ace
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-03 04:36:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-06 02:27:11 +0900

    [rubygems/rubygems] Extract a `build_repo3` helper

    https://github.com/rubygems/rubygems/commit/d8cf4aa0cd

commit 7d97dde2e283e792314826e52be4bbd22b296cc0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-03 03:55:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-06 02:27:10 +0900

    [rubygems/rubygems] Move private reader to private section

    https://github.com/rubygems/rubygems/commit/651cf3ea7a

commit dbd36e1c23603df207b3d096f473a98c3cdddfff
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-06 00:53:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-06 00:53:45 +0900

    [ruby/reline] Accept colon-style hash in test assertion
    (https://github.com/ruby/reline/pull/732)

    Hash#inspect is proposed to change to {key: value, non_symbol_key => value} in https://bugs.ruby-lang.org/issues/20433#note-10

    https://github.com/ruby/reline/commit/1fd73b358a

commit 9d86864a6d06a9534dfc8cb55be6c6fcee3ee4a2
  Author:     Josh Soref <jsoref@users.noreply.github.com>
  AuthorDate: 2022-03-29 10:17:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-05 17:15:56 +0900

    [ruby/uri] Add space after `bad URI`

    https://github.com/ruby/uri/commit/9f2c7ed5f2

commit a82976bc9002befdaed3498167136793bed4c0c5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-05 16:35:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-05 17:00:14 +0900

    [ruby/uri] Use DEFAULT_PARSER at split, parse, join

    https://github.com/ruby/uri/commit/28af4e155a

commit b59cbcf1838fe7e930babf311e8a4a32cfee2f6a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-05 15:11:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-05 15:11:11 +0900

    Clean up empty directory

commit 5258e8b1cd780419c71f320d25370f8138f2e805
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-02 23:40:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-05 13:16:49 +0900

    Make sure to always use the right `warn`

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

commit 7285e7649340ef18d307092d294b3d190e3d80b2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-26 20:11:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-05 11:58:07 +0900

    Fix truffleruby removing gems from lockfile

    When resolving on truffleruby, and multiple platforms are included in
    the lockfile, Bundler will not respect existing platforms, but always
    force ruby variants. That means removal of existing version specific
    variants, introducing lockfile churn between implementations.

    To prevent this, we introduce the distinction between
    `Dependency#force_ruby_platform`, only settable via Gemfile, and
    `Dependency#default_force_ruby_platform`, which is always true on
    truffleruby for certain dependency names. This way, when resolving
    lockfile gems for other platforms on truffleruby, we keep platform
    specific variants in the lockfile.

    However, that introduces the problem that if only platform specific
    variants are locked in the lockfile, Bundler won't be able to
    materialize on truffleruby because the generic variant will be missing.
    To fix this additional problem, we make sure the generic "ruby" platform
    is always added when resolving on truffleruby.

commit a35d32486242641ccd2ac98d43211343a3712c52
  Author:     fatkodima <fatkodima123@gmail.com>
  AuthorDate: 2024-08-05 11:28:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-05 11:28:12 +0900

    [ruby/optparse] Fix parsing array arguments with `:into` option

    https://github.com/ruby/optparse/commit/19700e96d8

commit cbc40bb130fb52f1990ce1fd41e834a5f3fdbcdd
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-08-03 19:29:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-05 09:27:45 +0900

    Sync rdoc

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

commit 7d5cb4573d39e5c62058314dcfc73895b4e6dffd
  Author:     Ricardo Trindade <ricardo.trindade743@gmail.com>
  AuthorDate: 2024-08-04 23:53:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-04 23:53:51 +0900

    [ruby/irb] Remove Ruby version checks
    (https://github.com/ruby/irb/pull/985)

    https://github.com/ruby/irb/commit/9ce6972e71

commit b708661313246bb17e349f8f90c663c5e286a1c8
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-03 15:42:15 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-03 16:30:32 +0900

    Extend timeout in test/ruby/test_file_exhaustive.rb

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

commit 657f4b99f61a15e21584b87f7b206933d116589b
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-08-03 16:01:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-03 16:01:34 +0900

    Update bundled gems list as of 2024-08-02

commit 42cd267beb55d0e40878a619a575264c5b138f97
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-03 13:33:03 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-03 14:39:17 +0900

    Reduce noise in object generation count tests

    The parallel testing framework may create strings in a separate thread.

    ```
        1) Failure:
      TestStringMemory#test_byteslice_prefix [D:/a/ruby/ruby/src/test/ruby/test_string_memory.rb:40]:
      One object allocation is expected, but allocated: [["D:/a/ruby/ruby/src/tool/lib/test/unit/parallel.rb", 42, String, "2240\x00\x00\x00\x00...
    ```
    https://github.com/ruby/ruby/actions/runs/10222885396/job/28288271190?pr=11271#step:23:1026

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

commit e5fb851fe77eca904dd23e71968d1317f6d8c0a3
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-08-03 10:53:38 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-08-03 10:53:38 +0900

    Delete unused declaration

commit 23837c5170180b2e6046961ae09de8688e64a0a2
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-03 00:13:42 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-03 05:25:28 +0900

    Show where objects were allocated on allocation count tests

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

commit 04a6165ac07f8f2107fbbd3a5665944fb27bc092
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-08-03 04:45:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-03 04:45:22 +0900

    YJIT: Enhance the `String#<<` method substitution to handle integer codepoint values. (#11032)

    * Document why we need to explicitly spill registers.

    * Simplify passing a byte value to `str_buf_cat`.

    * YJIT: Enhance the `String#<<` method substitution to handle integer codepoint values.

    * YJIT: Move runtime type check into YJIT.

    Performing the check in YJIT means we can make assumptions about the type. It also improves correctness of stack traces in cases where the codepoint argument is not a String or a Fixnum.

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

commit 3f93ef06a852af3f44d3c7a2ed62a670f9c3ff29
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-02 21:44:43 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-02 23:29:28 +0900

    Show what objects were actually allocated on allocation count tests

    According to Launchable, these tests fail randomly

    ```
    Failure:
    TestStringMemory#test_byteslice_prefix [D:/a/ruby/ruby/src/test/ruby/test_string_memory.rb:33]:
    <1> expected but was
    <2>.
    ```

    https://app.launchableinc.com/organizations/ruby/workspaces/ruby/data/test-paths/file%3Dtest%2Fruby%2Ftest_string_memory.rb%23%23%23class%3DTestStringMemory%23%23%23testcase%3Dtest_byteslice_prefix?testSessionStatus=flake

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

commit 303d2319f04b7d46ad3dbf28035b83a06fdba5b3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-02 12:07:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-02 12:07:48 +0900

    Auto-purge after package release

commit 0aaff21736549a97aa215d557297709fc325612a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-02 11:42:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-02 11:42:27 +0900

    Notify ruby-build for definition update

commit 66cbafc603d8def8f8ec3373fcadcbfce8b9010d
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-08-02 09:27:55 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-08-02 11:37:10 +0900

    Refactor to use `tokenize_ident` instead of `TOK_INTERN` and `set_yylval_name`

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

commit f070a9d8df0f02be9948646bb6bd92d890d3b956
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-02 10:00:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-02 10:00:01 +0900

    Notify update workflow for all-ruby

    https://github.com/ruby/all-ruby/blob/master/.github/workflows/update.yml

commit f6e829603e5652f593ea007a7a51e0a202383fd9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-02 04:54:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-02 04:54:08 +0900

    Removed unused macro RVALUE_PAGE_MARKED

commit e0f4cbd6125445bbbbb8437d8cfb51509e1dd3f7
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-07-29 16:43:53 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-08-01 17:49:32 +0900

    Integrate Launchable into windows

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

commit 9ed7e06a27f9bdcbf636be605e4e81edcc65c69f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-01 09:19:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-01 14:38:33 +0900

    Added workflow for building snapcraft

    https://github.com/ruby/snap.ruby/actions/runs/10189575392/job/28187867439

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

commit e935366fe8aeb924234c154e8bd27e000c895020
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-31 15:55:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-01 14:38:33 +0900

    Also update version index file

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

commit a8f36c32632b885f6b612e36dc0f3bd72d33244c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-31 15:55:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-01 14:38:33 +0900

    Added workflow dispatch

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

commit f2b76223301116fc4643800313b931ff62a8196f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-31 14:41:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-01 14:38:33 +0900

    We should run release.sh with release tag

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

commit 277a6e8f1a2e9588d7d86cb8974fed40052041a2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-31 13:48:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-01 14:38:33 +0900

    Added draft release action with tagging

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

commit fc253d7ef90840d348d30ccacbdb788060dd763f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-31 12:15:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-01 14:38:33 +0900

    Removed refs/tags from ruby version

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

commit 346bb6c08b31f463ab3633629220d483cb564855
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-31 11:21:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-01 14:38:33 +0900

    Create docker image with release tag automatically

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

commit bbeebc9258f11db188c34a9a24e64f03448667c3
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-07 09:38:25 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-08-01 08:23:28 +0900

    Only set shape id for CCs on attr_set + ivar

    Only ivar reader and writer methods should need the shape ID set on the
    inline cache.  We shouldn't accidentally overwrite parts of the CC union
    when it's not necessary.

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

commit 16b0242808b5a2dc7c1c80dc9ace547f64280a1b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-01 05:49:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-01 05:50:00 +0900

    [ruby/rdoc] Add new ruby parser that uses Prism
    (https://github.com/ruby/rdoc/pull/1144)

    * Add a new ruby parser RDoc::Parser::PrismRuby

    * Add a new ruby parser testcase independent from parser's internal implementation

    * unknown meta method

    * Use MethodSignatureVisitor only to scan params, block_params and calls_super

    * Add calls_super test

    * Drop ruby 2.6. Prism requires ruby >= 2.7

    * Remove duplicated documentation comment from prism_ruby.rb

    * Add test for wrong argument passed to metaprogramming method

    * Rename visit_call_[DSL_METHOD_NAME] to make it distinguishable from visit_[NODE_TYPE]_node

    * Method receiver switch of true/false/nil to a case statement

    * Extract common part of add_method(by def keyword) and add meta_comment method

    * Reuse consecutive comments array when collecting comments

    * Simplify DSL call_node handling

    * Refactor extracting method visibility arguments

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

commit e68e9582314890ebd5d1c3c608f6f8c986e718ef
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-01 04:55:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-01 05:37:21 +0900

    [PRISM] Increase test-bundler-parallel to 40 minutes

    It's timing out frequently recently, so increasing the timeout should
    fix it.

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

commit f5d193d525677c497b144505810e99e0aeb42ce5
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-01 05:09:15 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-01 05:09:15 +0900

    [DOC] Adds "Further Considerations" to documentation_guide.md (#11281)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit cc814372604e7daba0ecdcb4cdcfa65ca167bf0a
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-31 07:03:16 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-08-01 05:04:42 +0900

    Rewrite Array.new documentation

    Use plain paragraphs instead of a nested unordered list.

    Remove some examples, including examples that produce warnings in
    verbose mode or raise exceptions.

    Explicitly document the common pitfall of using an expression as a
    default value instead of using a block.

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

commit 290089c1a22dc9f75b8a3c606687b5d658b0c56b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-31 23:02:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-01 05:03:18 +0900

    [rubygems/rubygems] Remove some `file_uri_for` calls

    https://github.com/rubygems/rubygems/commit/3570ba20ed

commit 635839749026b5d5bafeb892f2f01a9348a4b5c8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-01 02:32:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-01 03:47:44 +0900

    Fix leak of AST when Ripper#compile_error jumps

    For example, the following script leaks:

        class MyRipper < Ripper
          def initialize(src, &blk)
            super(src)
            @blk = blk
          end

          def compile_error(msg) = @blk.call(msg)
        end

        def call_parse = MyRipper.new("/") { |msg| return msg }.parse

        10.times do
          100_000.times do
            call_parse
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        93952
        169040
        244224
        318784
        394432
        468224
        544048
        618560
        693776
        768384

    After:

        19776
        19776
        20352
        20880
        20912
        21408
        21328
        21152
        21472
        20944

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

commit 70b4f45d9f1936128e73ab0b8701269c06e709f5
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-07-31 23:51:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-31 23:51:40 +0900

    YJIT: Decouple Context from encoding details (#11283)

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

commit 27c22f822af49e7008b7c9ff75b971d984975e6e
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-07-31 23:36:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-31 23:36:41 +0900

    [ruby/rdoc] Drop unnecessary `file_name` parameter from `Parser.for`
    method.
    (https://github.com/ruby/rdoc/pull/1135)

    * Unify top_level creation in tests

    * Remove unnecessary file_name param from Parser.for

    It should be always the same as the top_level's absolute_name, so there's
    no point of taking it as a separate parameter.

    https://github.com/ruby/rdoc/commit/97c497dfbb

commit 12a5400a8846ed05284b4360faeae72e49e55f93
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-31 22:13:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-31 22:20:01 +0900

    [ruby/io-console] Remove no longer used variable

    https://github.com/ruby/io-console/commit/651797ff8a

commit dedc4965985151a414d019243f9418ebd8f9aa0d
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-07-31 16:00:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-31 16:00:28 +0900

    Update bundled gems list as of 2024-07-30

commit 92865d8760e22dc5035a67e636fab3fbd7a77a26
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-31 10:07:03 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-07-31 11:19:52 +0900

    Remove files to build libffi in mswin

    These files were to build libffi from the bundled source, but are no
    longer used since we stopped bundling the libffi sources in commit
    e4f5296f065110fa83eb450d3a861253e76e534f.

    The gemspec file is unchanged because fiddle gem itself still supports
    ruby 2.5.

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

commit 19ec803179eb698e5aa72e1a024d60a4e4ff1a87
  Author:     Satoshi Tagomori <tagomoris@gmail.com>
  AuthorDate: 2024-07-31 10:15:29 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-31 10:59:51 +0900

    Reset the counter for two consecutive runs

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

commit 7aea269b89bd7024bcacb7fe7d4ddb0be2f215af
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-30 17:46:21 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-07-31 09:57:38 +0900

    [Feature #20563] Drop support for Windows older than 8/Sever 2012

    Directly call APIs available on Windows 8/Server 2012 and later.

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

commit 7ef8051cbbb7194a8899a3966130af2bc09fc896
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-30 17:38:19 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-07-31 09:57:38 +0900

    [Feature #20563] Drop support for Windows older than Vista/2008

    Directly call APIs available on Windows Vista/Server 2008 and later.

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

commit d2b8fd0f37d463399de884fb7fc51fc8157cefd2
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-07-31 05:31:33 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-31 05:31:33 +0900

    [DOC] Tweaks to Array.try_convert (#11260)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 91bb6afa75c2c469aa80dfc988ddc95acbfe75c8
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-07-30 23:09:06 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-30 23:09:06 +0900

    [DOC] Tweaks for Array.new (#11259)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit b44a154959f3f620d18511fea39b2aae7855925b
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-07-28 01:31:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-30 23:06:41 +0900

    [DOC] Tweaks for Array#&

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

commit 0dda30d9eb0a845482b1092ef4b77bf3b13fa6c5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-26 01:56:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-30 23:02:03 +0900

    [rubygems/rubygems] Print a better debug message when lockfile does not include the current platform

    https://github.com/rubygems/rubygems/commit/afb7a6d754

commit 997642cfbdaa59fe900e3177d26cb35bf8f767e2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-26 01:58:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-30 23:02:02 +0900

    [rubygems/rubygems] The `simulate_platform` helper can take a string

    https://github.com/rubygems/rubygems/commit/680bafac1a

commit cf6efd1bb77907825bb42ea305214ef415ae3382
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-26 01:37:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-30 23:02:02 +0900

    [rubygems/rubygems] Simplify logic to add current platform a bit

    https://github.com/rubygems/rubygems/commit/e102516e27

commit 1164b6a7baeddade88b9eb01c3ac00f83d2066c6
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-24 01:52:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-30 23:01:43 +0900

    [rubygems/rubygems] Fix `gem list` regression when a regular gem shadows a default one

    Previously, if you have bundler installed both as a regular gem and a
    default gem, the default gem would be displayed by `gem list`.

    https://github.com/rubygems/rubygems/commit/10a6b1736e

commit 3d248b2eb3d2b10f9d2ddf614485ceb35089f924
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-19 18:59:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-30 23:01:32 +0900

    [rubygems/rubygems] Always leave default gem executables around

    https://github.com/rubygems/rubygems/commit/775c35e197

commit ec13ccdf53b327957156a2829064270863b0e309
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-24 03:56:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-30 22:54:29 +0900

    [rubygems/rubygems] Allow smoother breaking changes in test env

    https://github.com/rubygems/rubygems/commit/0fc3feae19

commit b37ffb93457d6ad68685c53abfd4f7338e773dac
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-30 22:02:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-30 22:02:23 +0900

    Move incorrectly placed tests

    The tests for Integer#ceil was accidentally placed in test_truncate.

commit a7167d0ceecc8eea7bdf87e66be16d16b0f417e7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-27 00:10:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-30 21:21:28 +0900

    Fix ceil when ndigits is large

    [Bug #20654]

    This commit fixes Integer#ceil and Float#ceil when the number is
    negative and ndigits is large such that 10**ndigits is a bignum.

    Previously, it would return 0 in such cases. However, this would cause
    unexpected behaviour such as:

        puts 1.ceil(-5) # => 100000
        puts 1.ceil(-10) # => 10000000000
        puts 1.ceil(-20) # => 0

    This commit changes the last result so that it will return
    100000000000000000000.

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

commit 3af2a7fbe12e11bac7b26bd991d3d02349f47295
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-27 00:10:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-30 21:21:28 +0900

    Fix floor when ndigits is large

    [Bug #20654]

    This commit fixes Integer#floor and Float#floor when the number is
    negative and ndigits is large such that 10**ndigits is a bignum.

    Previously, it would return 0 in such cases. However, this would cause
    unexpected behaviour such as:

        puts -1.floor(-5) # => -100000
        puts -1.floor(-10) # => -10000000000
        puts -1.floor(-20) # => 0

    This commit changes the last result so that it will return
    -100000000000000000000.

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

commit 1870505f478cc75993b296b7144a45137ace6937
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-07-30 15:31:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-30 15:31:58 +0900

    Fix wrong unreachable chunk remove when jump destination label is unremovable

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

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

commit 77f8107efaccbc8a5472ea3578c27c912045d7b1
  Author:     Satoshi Tagomori <tagomoris@gmail.com>
  AuthorDate: 2024-07-30 13:46:30 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-30 15:31:24 +0900

    Delete the rjit definition already deleted in C

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

commit 6c5c30b542bd2eb17496178f891b4155553e5409
  Author:     Satoshi Tagomori <tagomoris@gmail.com>
  AuthorDate: 2024-07-30 11:20:12 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-30 15:31:24 +0900

    Use tmpdir for various environments (including Windows)

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

commit 50a0552bd7a82d23b836e895a1f380bcdfb5b4a0
  Author:     Satoshi Tagomori <tagomoris@gmail.com>
  AuthorDate: 2024-07-29 11:50:35 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-30 15:31:24 +0900

    Fix test code and extension to avoid using gvars and Kernel methods

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

commit ac5ac48a361d3fa91a118b59740a2a9b63ddd90e
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-07-28 17:28:07 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-30 15:31:24 +0900

    Revert 28a1c4f33e3349a98c04b8e068d9c674eb936064

    28a1c4f33e3349a98c04b8e068d9c674eb936064 seems to call an improper
    ensure clause. [Bug #20655]
    Than fixing it properly, I bet it would be much better to simply revert
    that commit. It reduces the unneeded complexity. Jumping into a block
    called by a C function like Hash#each with callcc is user's fault.
    It does not need serious support.

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

commit c884db0b5b4f5296e5eacd27357b730b42f27b3a
  Author:     Satoshi Tagomori <tagomoris@gmail.com>
  AuthorDate: 2024-07-29 11:21:22 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-30 15:31:24 +0900

    [BUG #20655] Add tests to use rb_ensure and call cont.call

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

commit b3baa11ee90c3fc0a3c43f1ac3293558fbfe76cb
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-07-30 12:58:31 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-30 12:58:31 +0900

    Improve Socket.tcp (#11187)

    [Feature #20646]Improve Socket.tcp

    This is a proposed improvement to `Socket.tcp`, which has implemented Happy Eyeballs version 2 (RFC8305) in PR9374.

    1. Background
    I implemented Happy Eyeballs version 2 (HEv2) for Socket.tcp in PR9374, but several issues have been identified:

    - `IO.select` waits for name resolution or connection establishment in v46w, but it does not consider the case where both events occur simultaneously when it returns a value.
      - In this case, Socket.tcp can only capture one event and needs to execute an unnecessary loop to capture the other one, calling `IO.select` one extra time.
    - `IO.select` waits for both IPv6/IPv4 name resolution (in start), but when it returns a value, it doesn't consider the case where name resolution for both address families is complete.
      - In this case, `Socket.tcp` can only obtain the addresses of one address family and needs to execute an unnecessary loop obtain the other addresses, calling `IO.select` one extra time.
    - The consideration for `connect_timeout` was insufficient. After initiating one or more connections, it raises a 'user specified timeout' after the `connect_timeout` period even if there were addresses that have been resolved and have not yet tried to connect.
    - It does not retry with another address in case of a connection failure.
    - It executes unnecessary state transitions even when an IP address is passed as the `host` argument.
    - The regex for IP addresses did not correctly specify the start and end.

    2. Proposal & Outcome
    To overcome the aforementioned issues, this PR introduces the following changes:

    - Previously, each loop iteration represented a single state transition. This has been changed to execute all processes that meet the execution conditions within a single loop iteration.
      - This prevents unnecessary repeated loops and calling `IO.select`
    - Introduced logic to determine the timeout value set for `IO.select`. During the Resolution Delay and Connection Attempt Delay, the user-specified timeout is ignored. Otherwise, the timeout value is set to the larger of `resolv_timeout` and `connect_timeout`.
      - This ensures that the `connect_timeout` is only detected after attempting to connect to all resolved addresses.
    - Retry with another address in case of a connection failure.
      - This prevents unnecessary repeated loops upon connection failure.
    - Call `tcp_without_fast_fallback` when an IP address is passed as the host argument.
      - This prevents unnecessary state transitions when an IP address is passed.
    - Fixed regex for IP addresses.

    Additionally, the code has been reduced by over 100 lines, and redundancy has been minimized, which is expected to improve readability.

    3. Performance
    No significant performance changes were observed in the happy case before and after the improvement.
    However, improvements in state transition deficiencies are expected to enhance performance in edge cases.

    ```ruby
    require 'socket'
    require 'benchmark'

    Benchmark.bmbm do |x|
      x.report('fast_fallback: true') do
        30.times { Socket.tcp("www.ruby-lang.org", 80) }
      end

      x.report('fast_fallback: false') do # Ruby3.3時点と同じ
        30.times { Socket.tcp("www.ruby-lang.org", 80, fast_fallback: false) }
      end
    end
    ```

    Before:

    ```
    ~/s/build ❯❯❯ ../install/bin/ruby ../ruby/test.rb

                               user     system      total        real
    fast_fallback: true    0.021315   0.040723   0.062038 (  0.504866)
    fast_fallback: false   0.007553   0.026248   0.033801 (  0.533211)
    ```

    After:

    ```
    ~/s/build ❯❯❯ ../install/bin/ruby ../ruby/test.rb

                               user     system      total        real
    fast_fallback: true    0.023081   0.040525   0.063606 (  0.406219)
    fast_fallback: false   0.007302   0.025515   0.032817 (  0.418680)
    ```

commit 7ea678b24b88ec0db9c38d7763d9d1014b5ed46d
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-30 11:31:23 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-30 12:48:24 +0900

    Add array test cases for `TestParse#test_define_singleton_error`

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

commit 30f57637ee2399d754cf78f09e8aa275923dff0d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-29 17:27:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-30 08:33:43 +0900

    Wait for server threads to finish

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

commit 2c1655314a0700a90b7ed12bf8c920ad2d78654f
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-07-30 05:28:57 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-30 06:18:11 +0900

    Revert moving things to Ruby

    This is slowing down benchmarks on x86, so lets revert it for now.

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

commit acbb8d4fb56ac3b5894991760a075dbef78d10e3
  Author:     Randy Stauner <randy.stauner@shopify.com>
  AuthorDate: 2024-07-21 02:03:02 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-30 05:26:58 +0900

    Expand opt_newarray_send to support Array#pack with buffer keyword arg

    Use an enum for the method arg instead of needing to add an id
    that doesn't map to an actual method name.

    $ ruby --dump=insns -e 'b = "x"; [v].pack("E*", buffer: b)'

    before:

    ```
    == disasm: #<ISeq:<main>@-e:1 (1,0)-(1,34)>
    local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
    [ 1] b@0
    0000 putchilledstring                       "x"                       (   1)[Li]
    0002 setlocal_WC_0                          b@0
    0004 putself
    0005 opt_send_without_block                 <calldata!mid:v, argc:0, FCALL|VCALL|ARGS_SIMPLE>
    0007 newarray                               1
    0009 putchilledstring                       "E*"
    0011 getlocal_WC_0                          b@0
    0013 opt_send_without_block                 <calldata!mid:pack, argc:2, kw:[#<Symbol:0x000000000023110c>], KWARG>
    0015 leave
    ```

    after:

    ```
    == disasm: #<ISeq:<main>@-e:1 (1,0)-(1,34)>
    local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
    [ 1] b@0
    0000 putchilledstring                       "x"                       (   1)[Li]
    0002 setlocal_WC_0                          b@0
    0004 putself
    0005 opt_send_without_block                 <calldata!mid:v, argc:0, FCALL|VCALL|ARGS_SIMPLE>
    0007 putchilledstring                       "E*"
    0009 getlocal                               b@0, 0
    0012 opt_newarray_send                      3, 5
    0015 leave
    ```

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

commit 86a762ce56cd44db69ccff2e02587ed748a3ad04
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-30 00:07:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-30 00:07:53 +0900

    [ruby/reline] Fix memory leak in setupterm
    (https://github.com/ruby/reline/pull/733)

    The allocated Fiddle::Pointer never gets freed because it doesn't have a
    free function defined for when it gets garbage collected. This commit
    changes it to use the default free function.

    https://github.com/ruby/reline/commit/0796dcd497

commit 63bdf2d72591c82e596320eb902579e0b93b0640
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-07-29 22:16:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-29 22:16:18 +0900

    [ruby/rdoc] [DOC] Mods about markup formats
    (https://github.com/ruby/rdoc/pull/1143)

    https://github.com/ruby/rdoc/commit/011de3f2fd

commit df1cc043017660156c9d7477e5799de803573a80
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-07-28 00:18:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-29 22:15:19 +0900

    Add remark about call-seq

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

commit 477f672592ca7cad71bdbcd2676a3ade88fcdfd8
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-07-29 22:11:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-29 22:11:35 +0900

    [DOC] rb_ary_s_create (#11256)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 3f40cebabcf93581ebaecbf76ede38ae2ff22a69
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-28 22:42:24 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-29 08:01:52 +0900

    Specify `LAST_NODE` for `NODE_DEFINED`

    For example:

    ```
    defined?(1)
    ```

    Before:

    ```
    # @ NODE_SCOPE (id: 2, line: 1, location: (1,0)-(1,11))
    # +- nd_tbl: (empty)
    # +- nd_args:
    # |   (null node)
    # +- nd_body:
    #     @ NODE_DEFINED (id: 1, line: 1, location: (1,0)-(1,11))*
    #     +- nd_head:
    #     |   @ NODE_INTEGER (id: 0, line: 1, location: (1,9)-(1,10))
    #     |   +- val: 1
    ```

    After:

    ```
    # @ NODE_SCOPE (id: 2, line: 1, location: (1,0)-(1,11))
    # +- nd_tbl: (empty)
    # +- nd_args:
    # |   (null node)
    # +- nd_body:
    #     @ NODE_DEFINED (id: 1, line: 1, location: (1,0)-(1,11))*
    #     +- nd_head:
    #         @ NODE_INTEGER (id: 0, line: 1, location: (1,9)-(1,10))
    #         +- val: 1
    ```

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

commit e798f45cc2417ae778e4790e3159654c90ba91fe
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-26 05:19:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-27 02:20:04 +0900

    Error when --with-shared-gc doesn't specify a directory

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

commit a65c205a1bce121821472c8e7658247a47e89047
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-07-20 11:59:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-27 02:07:50 +0900

    [ruby/prism] Add explicit check for PRISM_HAS_NO_FILESYSTEM

    https://github.com/ruby/prism/commit/89c22f0e6c

commit 1992bd31a55c8c1805da7dfa3d594807184cee4b
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-07-19 18:14:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-27 02:07:50 +0900

    [ruby/prism] Fallback to pm_string_file_init on platforms without memory-mapped files

    > ..., and on other POSIX systems we'll use `read`.

    As `pm_string_mapped_init`'s doc comment says, it should fall back to
    `read(2)`-based implementation on platforms without memory-mapped files
    like WASI, but it didn't. This commit fixes it by calling `pm_string_file_init`
    in the fallback case.
    Also `defined(_POSIX_MAPPED_FILES)` check for `read(2)`-based path is
    unnecessary, and it prevents the fallback from being executed, so this
    change removes it.

    https://github.com/ruby/prism/commit/b3d9064b71

commit 158177e39995aa62df781b8ef64e800bf0c8670f
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-26 08:48:28 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-27 00:44:34 +0900

    Improve allocation throughput by outlining cache miss code path

    Previously, GCC 11 on x86-64 inlined the heavy weight logic for
    potentially triggering GC into newobj_alloc(). This slowed down
    the hotter code path where the ractor cache hits, causing a degradation
    to allocation throughput.

    Outline the logic into a separate function and have it never inlined.

    This restores allocation throughput to the same level as
    98eeadc ("Development of 3.4.0 started.").

    To evaluate, instrument miniruby so it allocates a bunch of objects and
    then exits:

        diff --git a/eval.c b/eval.c
        --- a/eval.c
        +++ b/eval.c
        @@ -92,6 +92,15 @@ ruby_setup(void)
             }
             EC_POP_TAG();

        +rb_gc_disable();
        +rb_execution_context_t *ec = GET_EC();
        +long const n = 20000000;
        +for (long i = 0; i < n; ++i) {
        +    rb_wb_protected_newobj_of(ec, 0, T_OBJECT, 40);
        +}
        +printf("alloc %ld\n", n);
        +exit(0);
        +
             return state;
         }

    With `3.3-equiv` being 98eeadc, and `pre` being f2728c3393d
    and `post` being this commit, I have:

        $ hyperfine -L buildtag post,pre,3.3-equiv '/ruby/build-{buildtag}/miniruby'
        Benchmark 1: /ruby/build-post/miniruby
          Time (mean ± σ):     873.4 ms ±   2.8 ms    [User: 377.6 ms, System: 490.2 ms]
          Range (min … max):   868.3 ms … 877.8 ms    10 runs

        Benchmark 2: /ruby/build-pre/miniruby
          Time (mean ± σ):     960.1 ms ±   2.8 ms    [User: 430.8 ms, System: 523.9 ms]
          Range (min … max):   955.5 ms … 964.2 ms    10 runs

        Benchmark 3: /ruby/build-3.3-equiv/miniruby
          Time (mean ± σ):     886.9 ms ±   2.8 ms    [User: 379.5 ms, System: 501.0 ms]
          Range (min … max):   883.0 ms … 890.8 ms    10 runs

        Summary
          '/ruby/build-post/miniruby' ran
            1.02 ± 0.00 times faster than '/ruby/build-3.3-equiv/miniruby'
            1.10 ± 0.00 times faster than '/ruby/build-pre/miniruby'

    These results are from a Skylake server with GCC 11.

commit a06cfa7e89cd59d7ea1278e8d8424c23a38cc521
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-26 08:56:05 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-27 00:44:34 +0900

    Fix a -Wmaybe-uninitialized

    With the body of functions available, GCC noticed that lev is
    uninitialized in rb_gc_vm_lock_no_barrier() in single ractor
    mode.

commit 0ada02abe2c66f49159243b78994645a2936b706
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-26 06:35:24 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-27 00:44:34 +0900

    Put the default GC implementation back into gc.o

    We discovered that having gc.o and gc_impl.o in separate translation
    units diminishes codegen quality with GCC 11 on x86-64. This commit
    solves that problem by including default/gc.c into gc.c, letting the
    optimizer have visibility into the body of functions again in builds
    not using link-time optimization, which are common.

    This effectively restores things to the way they were before
    [Feature #20470] from the optimizer's perspective while maintaining the
    ability to build gc/default.c as a DSO.

    There were a few functions duplicated across gc.c and gc/default.c.
    Extract them and put them into gc/gc.h.

commit cef959df905c1189dff463d74498f3bf8dbbc82e
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-26 06:32:51 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-27 00:44:34 +0900

    Delete unused rb_gc_impl_get_finalizers() not in gc_impl.h

commit aaa542d894ab36145c02d854b71d77c8dc51c01c
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-07-26 23:11:04 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-27 00:22:18 +0900

    Doc for some #ceil and #floor

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

commit 78f1b835a095b0ec5c8a51821e822dcf93f6722a
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-07-25 23:53:07 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-27 00:22:18 +0900

    Doc for some #ceil and #floor

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

commit 7464514ca5e825ada31522b63a33e02d62a0a248
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-26 04:28:25 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-26 21:42:38 +0900

    Fix memory leak in String#start_with? when regexp times out

    [Bug #20653]

    This commit refactors how Onigmo handles timeout. Instead of raising a
    timeout error, onig_search will return a ONIGERR_TIMEOUT which the
    caller can free memory, and then raise a timeout error.

    This fixes a memory leak in String#start_with when the regexp times out.
    For example:

        regex = Regexp.new("^#{"(a*)" * 10_000}x$", timeout: 0.000001)
        str = "a" * 1000000 + "x"

        10.times do
          100.times do
            str.start_with?(regex)
          rescue
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        33216
        51936
        71152
        81728
        97152
        103248
        120384
        133392
        133520
        133616

    After:

        14912
        15376
        15824
        15824
        16128
        16128
        16144
        16144
        16160
        16160

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

commit 67e1ea002857b5c2115cd362f9230f3f4b432223
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-26 19:45:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-26 21:16:56 +0900

    [rubygems/rubygems] Remove inconsistent whitespace from CLI flags

    RuboCop sometimes accepts extra spaces for alignment, but in this case I
    don't see any consistent alignment.

    https://github.com/rubygems/rubygems/commit/a8c767e14b

commit bfaccd64335daded17892c301eb3be6cc60e6596
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-25 03:38:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-26 17:05:53 +0900

    [rubygems/rubygems] Make all tests still pass when switching from truffleruby to cruby

    https://github.com/rubygems/rubygems/commit/4f3d9fa3bf

commit 7feccb123a7598f6a87bf15973c046c7bee847b2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-25 00:18:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-26 17:05:53 +0900

    [rubygems/rubygems] Make test env resilient to ruby version changes

    We use pre-existence of `rake_path` to decide whether we need to
    regenerate dummy test gems in `tmp`. When changing rubies, the previous
    implementation will believe that the correct `rake_path` exists
    and avoids regenerating dummy gems, given an error like the following
    when specs are run:

    ```
    (...)
    Could not find rubygems-generate_index lib directory in /path/to/rubygems/bundler/tmp/1/gems/base/ruby/3.2.0
      # ./spec/support/builders.rb:253:in `block in update_repo'
      # ./spec/support/helpers.rb:337:in `block in with_gem_path_as'
      # ./spec/support/helpers.rb:351:in `without_env_side_effects'
      # ./spec/support/helpers.rb:332:in `with_gem_path_as'
      # ./spec/support/builders.rb:251:in `update_repo'
      # ./spec/support/builders.rb:228:in `build_repo'
      # ./spec/support/builders.rb:197:in `build_repo4'
      # ./spec/commands/lock_spec.rb:103:in `block (2 levels) in <top (required)>'
    (...)
    ```

    To fix this, fix the part of the path that depends on the implementation
    and the Ruby version so that we don't give false positives.

    https://github.com/rubygems/rubygems/commit/fafacfa210

commit 71dec15a70593d769804f4310c4746aba0883fae
  Author:     Jerome Dalbert <jerome.dalbert@gmail.com>
  AuthorDate: 2024-07-25 18:02:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-26 16:56:15 +0900

    [rubygems/rubygems] Fix bundle check exit code when git gem is missing

    Make `bundle check` exit with code 1 when gem git source is not yet
    checked out.

    https://github.com/rubygems/rubygems/commit/93162bf5af

commit 5f1eb0dc79bfa6a111c85831636f8d4473f1414c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-26 11:24:53 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-26 11:24:53 +0900

    Fix wrong conversion in disasm dump

    `LINK_ELEMENT::type` is an `enum` not a `VALUE`, `FIX2LONG` doesn't
    make sense.

commit 83a99bdbe606d3e50fbaa7ea3e260d01c2b76fc8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-25 17:50:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-26 10:45:02 +0900

    [ruby/net-http] Removed needless NullWriter class

    https://github.com/ruby/net-http/commit/ddb2a81aed

commit 2c76bb7ec0af9a90977578109b9923be39f50382
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-26 08:45:13 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-26 10:29:26 +0900

    Remove `struct RNode_VALUES`

    This was removed by a5cc6341c0688c346f70098652b2375c03df40aa.

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

commit f2728c3393d7571f681accd9c887dcd5bad65950
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-25 14:57:14 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-26 07:29:32 +0900

    Change RESBODY Node structure

    Extracrt exception variable into `nd_exc_var` field
    to keep the original grammar structure.

    For example:

    ```
    begin
    rescue Error => e1
    end
    ```

    Before:

    ```
    @ NODE_RESBODY (id: 8, line: 2, location: (2,0)-(2,18))
    +- nd_args:
    |   @ NODE_LIST (id: 2, line: 2, location: (2,7)-(2,12))
    |   +- as.nd_alen: 1
    |   +- nd_head:
    |   |   @ NODE_CONST (id: 1, line: 2, location: (2,7)-(2,12))
    |   |   +- nd_vid: :Error
    |   +- nd_next:
    |       (null node)
    +- nd_body:
    |   @ NODE_BLOCK (id: 6, line: 2, location: (2,13)-(2,18))
    |   +- nd_head (1):
    |   |   @ NODE_LASGN (id: 3, line: 2, location: (2,13)-(2,18))
    |   |   +- nd_vid: :e1
    |   |   +- nd_value:
    |   |       @ NODE_ERRINFO (id: 5, line: 2, location: (2,13)-(2,18))
    |   +- nd_head (2):
    |       @ NODE_BEGIN (id: 4, line: 2, location: (2,18)-(2,18))
    |       +- nd_body:
    |           (null node)
    +- nd_next:
        (null node)
    ```

    After:

    ```
    @ NODE_RESBODY (id: 6, line: 2, location: (2,0)-(2,18))
    +- nd_args:
    |   @ NODE_LIST (id: 2, line: 2, location: (2,7)-(2,12))
    |   +- as.nd_alen: 1
    |   +- nd_head:
    |   |   @ NODE_CONST (id: 1, line: 2, location: (2,7)-(2,12))
    |   |   +- nd_vid: :Error
    |   +- nd_next:
    |       (null node)
    +- nd_exc_var:
    |   @ NODE_LASGN (id: 3, line: 2, location: (2,13)-(2,18))
    |   +- nd_vid: :e1
    |   +- nd_value:
    |       @ NODE_ERRINFO (id: 5, line: 2, location: (2,13)-(2,18))
    +- nd_body:
    |   @ NODE_BEGIN (id: 4, line: 2, location: (2,18)-(2,18))
    |   +- nd_body:
    |       (null node)
    +- nd_next:
        (null node)
    ```

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

commit a4563be05c1e7c6031e6fde613f7e874f41fe06c
  Author:     Jason Karns <jason.karns@gmail.com>
  AuthorDate: 2024-07-11 02:44:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-26 04:50:59 +0900

    [rubygems/rubygems] bundle-gem learns to find Gemfile template correctly

    Removes the symlink for gems.rb.tt and instead uses the singular
    template file. Only the destination filename for the gemfile reads from
    the `init_gems_rb` setting.

    https://github.com/rubygems/rubygems/commit/43ce0e1666

commit 54ff3d69966e194460c0a64e76cd4d48ddf1673d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-26 02:03:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-26 04:25:37 +0900

    Fix test_kwarg_eval_memory_leak

    Hash.new no longer takes keyword arguments except for capacity, so we
    should just use a method that takes keyword arguments instead.

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

commit 24770c30f87fff758e94cc4d1293cdb8c64ce8f4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-26 02:17:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-26 03:59:10 +0900

    [ruby/prism] Sync from ruby/ruby

    https://github.com/ruby/prism/commit/280517c325

commit 83b0cedffe5a9bd6c5288fa0d9614d6ca39e63e8
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-23 07:29:27 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-26 01:46:33 +0900

    Add branch prediction annotations for object allocation

    I get a slight boost from these with GCC 11 on Intel Skylake.

    Part of a larger story to fix an allocation throughput regression
    compared to 98eeadc ("Development of 3.4.0 started.") as the baseline.

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

commit 10574857ce167869524b97ee862b610928f6272f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-25 04:16:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-25 22:23:49 +0900

    Fix memory leak in Regexp capture group when timeout

    [Bug #20650]

    The capture group allocates memory that is leaked when it times out.

    For example:

        re = Regexp.new("^#{"(a*)" * 10_000}x$", timeout: 0.000001)
        str = "a" * 1000000 + "x"

        10.times do
          100.times do
            re =~ str
          rescue Regexp::TimeoutError
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        34688
        56416
        78288
        100368
        120784
        140704
        161904
        183568
        204320
        224800

    After:

        16288
        16288
        16880
        16896
        16912
        16928
        16944
        17184
        17184
        17200

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

commit 53f0d3b1f7ee9d1f1068b44ef856c557177704a5
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-07-25 04:57:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-25 20:39:05 +0900

    [ruby/prism] Do not serialize common flags when PRISM_SERIALIZE_ONLY_SEMANTICS_FIELDS is set

    * Note that we could shift the flags by 2 on serialize & deserialize
      but it does not seems worth it as it does not save serialized size
      in any significant amount, i.e. average was 0.799 before #2924.
    * $ bundle exec rake serialized_size:topgems
    Before:
    Total sizes for top 100 gems:
    total source size:      90207647
    total serialized size:  69477115
    total serialized/total source: 0.770

    Stats of ratio serialized/source per file:
    average: 0.844
    median:  0.825
    1st quartile: 0.597
    3rd quartile: 1.064
    min - max: 0.078 - 3.792

    After:
    Total sizes for top 100 gems:
    total source size:      90207647
    total serialized size:  66150209
    total serialized/total source: 0.733

    Stats of ratio serialized/source per file:
    average: 0.800
    median:  0.779
    1st quartile: 0.568
    3rd quartile: 1.007
    min - max: 0.076 - 3.675

    https://github.com/ruby/prism/commit/e012072f70

commit 9cc2747ebbbe33315751873f8dc24b7c32c26ad0
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-07-25 04:32:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-25 20:39:04 +0900

    [ruby/prism] Do not serialize node_id when PRISM_SERIALIZE_ONLY_SEMANTICS_FIELDS is set

    * $ bundle exec rake serialized_size:topgems
    Before:
    Total sizes for top 100 gems:
    total source size:      90207647
    total serialized size:  86284647
    total serialized/total source: 0.957

    Stats of ratio serialized/source per file:
    average: 0.952
    median:  0.937
    1st quartile: 0.669
    3rd quartile: 1.206
    min - max: 0.080 - 4.065

    After:
    Total sizes for top 100 gems:
    total source size:      90207647
    total serialized size:  69477115
    total serialized/total source: 0.770

    Stats of ratio serialized/source per file:
    average: 0.844
    median:  0.825
    1st quartile: 0.597
    3rd quartile: 1.064
    min - max: 0.078 - 3.792

    https://github.com/ruby/prism/commit/cf90fe5759

commit 22ad6b249be44e5230b27578625bcca0c2010fc1
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-07-25 13:58:32 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-25 14:43:03 +0900

    Extend RUBY_TEST_TIMEOUT_SCALE on macos-14 and --repeat-count=2

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

commit 5f6a1c2e2261db48241284aa61a2f9a56cf36674
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-07-25 12:58:35 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-25 13:47:51 +0900

    Omit TestFile#test_stat when the machine is stupidly slow

    GitHub Actions macos-14 machine is stupid.

    https://app.launchableinc.com/organizations/ruby/workspaces/ruby/data/test-paths/file%3Dtest%2Fruby%2Ftest_file.rb%23%23%23class%3DTestFile%23%23%23testcase%3Dtest_stat?organizationId=ruby&workspaceId=ruby&testPathId=file%3Dtest%2Fruby%2Ftest_file.rb%23%23%23class%3DTestFile%23%23%23testcase%3Dtest_stat&testSessionStatus=flake

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

commit 357ae357e8fb57164b2c3f7b48d9224de548f244
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-25 10:37:24 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-25 13:23:14 +0900

    Dump forwarding field of `struct rb_args_info` and `struct RNode_BLOCK_PASS`

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

commit 30eba40f9c0246cc1a222846dc1b8245c79f8257
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-24 18:26:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-25 04:55:04 +0900

    [rubygems/rubygems] Remove `to_yaml_properties`

    This is an old syck thing, no longer used anywhere.

    https://github.com/rubygems/rubygems/commit/6f72d02bac

commit 0d3ce3123491eee303a1259caa09f3da9c085d76
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-07-25 01:50:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-25 01:51:00 +0900

    [ruby/openssl] Set time directly on the x509 store
    (https://github.com/ruby/openssl/pull/770)

    Instead of an ivar, so other ossl functions that take a store will use the correct time when verifying

    https://github.com/ruby/openssl/commit/21aadc66ae

commit 1388945f0d2f625d1c87eaf177eac6df15c80082
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-07-03 18:32:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-25 01:50:01 +0900

    [ruby/openssl] asn1: make ossl_asn1_get_asn1type() private

    The function is not used anywhere outside of ossl_asn1.c.

    https://github.com/ruby/openssl/commit/5392b79941

commit a1cf39bd366f843bc9fd1534aa8e7d301fc77252
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-06-17 16:26:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-25 01:50:01 +0900

    [ruby/openssl] x509attr: avoid using OpenSSL::ASN1 internals in #value=

    OpenSSL::ASN1 is being rewritten in Ruby. To make it easier, let's
    remove dependency to the instance variables and the internal-use
    function ossl_asn1_get_asn1type() outside OpenSSL::ASN1.

    This also fixes the insufficient validation of the passed value with
    its tagging.

    https://github.com/ruby/openssl/commit/35a157462e

commit 575fe63e20dff83c684a93f5f76d0c27bbc250df
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-25 01:13:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-25 01:24:21 +0900

    [ruby/prism] Inherit ractor state for child scopes

    https://github.com/ruby/prism/commit/4576cb1d96

commit d08e55141e81dfdb2b577d0627f7218de87eb27a
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-24 07:28:51 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-07-25 01:20:30 +0900

    Make Integer#round spec work regardless of pointer size

    The spec is actually testing a behaviour stemming from NUM2INT(), and
    since `sizeof(long)>=sizeof(int)`, `min_long-1` always makes NUM2INT()
    raise `RangeError`.

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

commit 28382505b286a404fdf53bb17720f850d8dfdecc
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-24 07:27:07 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-07-25 01:20:30 +0900

    Get fixnum_{min,max} from RbConfig::LIMITS when available

    It's better than guessing based on the pointer size if the
    implementation provides it directly.

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

commit fbb981b9f819d24c4e11132c02ec02401eabcc5e
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-24 07:21:38 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-07-25 01:20:30 +0900

    Stop depending on Integer#size to return `sizeof(long)`

    There is no guarantee that Integer#size will continue to return
    `sizeof(long)` for small integers.

    Use the `l!` specifier for Array#pack instead. It is a public
    interface that has a direct relationship with the `long` type.

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

commit 12e6cf77efae6804063dbebe84e4080ca78958e7
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-24 07:14:45 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-07-25 01:20:30 +0900

    Add "c_long_size" guard, supplanting "wordsize" and stop using Integer#size

    What a "word" is when talking about sizes is confusing because it's a
    highly overloaded term. Intel, Microsoft, and GDB are just a few vendors
    that have their own definition of what a "word" is. Specs that used the
    "wordsize" guard actually were mostly testing for the size of the C
    `long` fundamental type, so rename the guard for clarity.

    Also, get the size of `long` directly from RbConfig instead of guessing
    using Integer#size. Integer#size is not guaranteed to have anything to
    do with the `long` type.

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

commit 1a18b03ee7b14771eae9eafa3c85a6bf5ccd9502
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-24 23:54:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-25 01:02:33 +0900

    [PRISM] Add anon_* flags for iseqs with anonymous * and **

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

commit 0a9f771e19cc472651a3ab66d916bb8f65aab11a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-24 04:56:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-24 22:44:54 +0900

    Don't check live slot count when multi-Ractor

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

commit 97449338d6cb42d9dd7c9ca61550616e7e6b6ef6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-24 21:28:18 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-07-24 22:18:36 +0900

    [Bug #20649] Allow `nil` as 2nd argument of `assign_error`

    Fallback to the last token element in that case, for the backward
    compatibilities.

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

commit f69ba5716f17d8ebe089a4986977afd2feefabc2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-24 03:43:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-24 21:36:40 +0900

    Move RUBY_FREE_AT_EXIT check earlier

    Things that exit early, like `ruby -v`, could not use RUBY_FREE_AT_EXIT
    because the check for RUBY_FREE_AT_EXIT was not executed.

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

commit e642ddf7ae86e306674559ae745823fdbf56ea10
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-24 11:15:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-24 14:44:32 +0900

    [Bug #20647] Disallow `return` directly within a singleton class

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

commit f2f9d6ce49aaee6b6414c8442082166cf733ab00
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-24 14:04:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-24 14:04:13 +0900

    Fix test failure of e7610582ad8fd05655221b183257ed358c903ac8

commit b4a02502c2125cebd034967027d65ee975987f73
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-07-24 03:44:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-24 10:45:48 +0900

    [PRISM] Fix block param instructions when it has a recevier

    In the following code:

    ```ruby
    def foo(&blk)
      blk.call
    end
    ```

    Prism was using the `getblockparam` instruction but it should be
    `getblockparamproxy`. In this case we have a receiver, if it's a local
    variable read node, then it needs to go through the path to use
    `getblockparamproxy`.

    Before:

    ```
    == disasm: #<ISeq:<main>@test2.rb:1 (1,0)-(3,3)>
    0000 definemethod                           :foo, foo                 (   1)[Li]
    0003 putobject                              :foo
    0005 leave

    == disasm: #<ISeq:foo@test2.rb:1 (1,0)-(3,3)>
    local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: 0, kw: -1@-1, kwrest: -1])
    [ 1] blk@0<Block>
    0000 getblockparam                          blk@0, 0                  (   2)[LiCa]
    0003 opt_send_without_block                 <calldata!mid:call, argc:0, ARGS_SIMPLE>
    0005 leave                                                            (   3)[Re]
    ```

    After:

    ```
    == disasm: #<ISeq:<main>@test2.rb:1 (1,0)-(3,3)>
    0000 definemethod                           :foo, foo                 (   1)[Li]
    0003 putobject                              :foo
    0005 leave

    == disasm: #<ISeq:foo@test2.rb:1 (1,0)-(3,3)>
    local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: 0, kw: -1@-1, kwrest: -1])
    [ 1] blk@0<Block>
    0000 getblockparamproxy                     blk@0, 0                  (   2)[LiCa]
    0003 opt_send_without_block                 <calldata!mid:call, argc:0, ARGS_SIMPLE>
    0005 leave                                                            (   3)[Re]
    ```

    Fixes `test_getblockparamproxy` and `test_ifunc_getblockparamproxy` in
    test_yjit.rb. Related to ruby/prism#2935.

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

commit 70d4dcb76ca185120172089b3a8480a69fa6a063
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-07-24 04:12:12 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-24 10:45:40 +0900

    [Prism] Use `putnil` for nil kwargs, not `putobject {}`

    This addresses one of the issues in the `test_kw_splat_nil` failure, but
    doesn't make the test pass because of other changes that need to be made
    to Prism directly.

    One issue was when we have the following code Prism was using
    `putobject` with an empty hash whereas the parse.y parser used `putnil`.

    ```ruby
    :ok.itself(**nil)
    ```

    Before:

    ```
    0000 putobject                              :ok                       (   1)[Li]
    0002 putobject                              {}
    0004 opt_send_without_block                 <calldata!mid:itself, argc:1, KW_SPLAT>
    0006 leave
    ```

    After:

    ```
    == disasm: #<ISeq:<main>@test2.rb:1 (1,0)-(1,17)>
    0000 putobject                              :ok                       (   1)[Li]
    0002 putnil
    0003 opt_send_without_block                 <calldata!mid:itself, argc:1, KW_SPLAT>
    0005 leave
    ```

    Related to ruby/prism#2935.

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

commit 4b44590d390f59dbf4d0cb922618ff5cc5b5411a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-18 01:41:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:10 +0900

    [rubygems/rubygems] Keep only the bare clone in the per app cache

    We don't need an actual checkout since the cache path is no longer used
    as the install location. Now the per app cache acts just like the
    standard cache.

    https://github.com/rubygems/rubygems/commit/686988923c

commit b50606c45a33ef885c7c128f2dbb221d5d837f46
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-18 01:26:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:10 +0900

    [rubygems/rubygems] Don't serialize gemspec in the cache location

    Now that the cache location is not used as the install location, this is
    unnecessary, and it also prevents `bundle install` with a per app cache
    loading code from two different locations, causing annoying warnings
    like:

    ```
    Fetching gem metadata from https://rubygems.org/...
    Fetching https://github.com/puma/puma.git
    Using nio4r 2.5.4
    Using bundler 2.3.0.dev
    Using puma 5.0.4 from https://github.com/puma/puma.git (at master@ea81fba)
    Bundle complete! 1 Gemfile dependency, 3 gems now installed.
    Use `bundle info [gemname]` to see where a bundled gem is installed.
    Updating files in vendor/cache
      * nio4r-2.5.4.gem
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:18: warning: already initialized constant Puma::HTTP_STATUS_CODES
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:18: warning: previous definition of HTTP_STATUS_CODES was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:84: warning: already initialized constant Puma::STATUS_WITH_NO_ENTITY_BODY
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:84: warning: previous definition of STATUS_WITH_NO_ENTITY_BODY was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:103: warning: already initialized constant Puma::Const::VERSION
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:103: warning: previous definition of VERSION was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:103: warning: already initialized constant Puma::Const::PUMA_VERSION
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:103: warning: previous definition of PUMA_VERSION was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:104: warning: already initialized constant Puma::Const::CODE_NAME
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:104: warning: previous definition of CODE_NAME was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:106: warning: already initialized constant Puma::Const::PUMA_SERVER_STRING
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:106: warning: previous definition of PUMA_SERVER_STRING was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:108: warning: already initialized constant Puma::Const::FAST_TRACK_KA_TIMEOUT
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:108: warning: previous definition of FAST_TRACK_KA_TIMEOUT was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:112: warning: already initialized constant Puma::Const::PERSISTENT_TIMEOUT
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:112: warning: previous definition of PERSISTENT_TIMEOUT was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:116: warning: already initialized constant Puma::Const::FIRST_DATA_TIMEOUT
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:116: warning: previous definition of FIRST_DATA_TIMEOUT was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:120: warning: already initialized constant Puma::Const::WRITE_TIMEOUT
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:120: warning: previous definition of WRITE_TIMEOUT was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:127: warning: already initialized constant Puma::Const::MAX_FAST_INLINE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:127: warning: previous definition of MAX_FAST_INLINE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:130: warning: already initialized constant Puma::Const::REQUEST_URI
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:130: warning: previous definition of REQUEST_URI was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:131: warning: already initialized constant Puma::Const::REQUEST_PATH
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:131: warning: previous definition of REQUEST_PATH was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:132: warning: already initialized constant Puma::Const::QUERY_STRING
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:132: warning: previous definition of QUERY_STRING was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:133: warning: already initialized constant Puma::Const::CONTENT_LENGTH
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:133: warning: previous definition of CONTENT_LENGTH was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:135: warning: already initialized constant Puma::Const::PATH_INFO
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:135: warning: previous definition of PATH_INFO was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:137: warning: already initialized constant Puma::Const::PUMA_TMP_BASE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:137: warning: previous definition of PUMA_TMP_BASE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:139: warning: already initialized constant Puma::Const::ERROR_RESPONSE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:139: warning: previous definition of ERROR_RESPONSE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:153: warning: already initialized constant Puma::Const::CHUNK_SIZE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:153: warning: previous definition of CHUNK_SIZE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:157: warning: already initialized constant Puma::Const::MAX_HEADER
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:157: warning: previous definition of MAX_HEADER was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:160: warning: already initialized constant Puma::Const::MAX_BODY
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:160: warning: previous definition of MAX_BODY was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:162: warning: already initialized constant Puma::Const::REQUEST_METHOD
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:162: warning: previous definition of REQUEST_METHOD was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:163: warning: already initialized constant Puma::Const::HEAD
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:163: warning: previous definition of HEAD was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:165: warning: already initialized constant Puma::Const::LINE_END
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:165: warning: previous definition of LINE_END was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:166: warning: already initialized constant Puma::Const::REMOTE_ADDR
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:166: warning: previous definition of REMOTE_ADDR was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:167: warning: already initialized constant Puma::Const::HTTP_X_FORWARDED_FOR
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:167: warning: previous definition of HTTP_X_FORWARDED_FOR was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:168: warning: already initialized constant Puma::Const::HTTP_X_FORWARDED_SSL
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:168: warning: previous definition of HTTP_X_FORWARDED_SSL was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:169: warning: already initialized constant Puma::Const::HTTP_X_FORWARDED_SCHEME
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:169: warning: previous definition of HTTP_X_FORWARDED_SCHEME was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:170: warning: already initialized constant Puma::Const::HTTP_X_FORWARDED_PROTO
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:170: warning: previous definition of HTTP_X_FORWARDED_PROTO was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:172: warning: already initialized constant Puma::Const::SERVER_NAME
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:172: warning: previous definition of SERVER_NAME was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:173: warning: already initialized constant Puma::Const::SERVER_PORT
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:173: warning: previous definition of SERVER_PORT was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:174: warning: already initialized constant Puma::Const::HTTP_HOST
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:174: warning: previous definition of HTTP_HOST was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:175: warning: already initialized constant Puma::Const::PORT_80
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:175: warning: previous definition of PORT_80 was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:176: warning: already initialized constant Puma::Const::PORT_443
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:176: warning: previous definition of PORT_443 was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:177: warning: already initialized constant Puma::Const::LOCALHOST
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:177: warning: previous definition of LOCALHOST was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:178: warning: already initialized constant Puma::Const::LOCALHOST_IP
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:178: warning: previous definition of LOCALHOST_IP was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:180: warning: already initialized constant Puma::Const::SERVER_PROTOCOL
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:180: warning: previous definition of SERVER_PROTOCOL was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:181: warning: already initialized constant Puma::Const::HTTP_11
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:181: warning: previous definition of HTTP_11 was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:183: warning: already initialized constant Puma::Const::SERVER_SOFTWARE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:183: warning: previous definition of SERVER_SOFTWARE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:184: warning: already initialized constant Puma::Const::GATEWAY_INTERFACE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:184: warning: previous definition of GATEWAY_INTERFACE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:185: warning: already initialized constant Puma::Const::CGI_VER
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:185: warning: previous definition of CGI_VER was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:187: warning: already initialized constant Puma::Const::STOP_COMMAND
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:187: warning: previous definition of STOP_COMMAND was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:188: warning: already initialized constant Puma::Const::HALT_COMMAND
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:188: warning: previous definition of HALT_COMMAND was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:189: warning: already initialized constant Puma::Const::RESTART_COMMAND
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:189: warning: previous definition of RESTART_COMMAND was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:191: warning: already initialized constant Puma::Const::RACK_INPUT
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:191: warning: previous definition of RACK_INPUT was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:192: warning: already initialized constant Puma::Const::RACK_URL_SCHEME
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:192: warning: previous definition of RACK_URL_SCHEME was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:193: warning: already initialized constant Puma::Const::RACK_AFTER_REPLY
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:193: warning: previous definition of RACK_AFTER_REPLY was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:194: warning: already initialized constant Puma::Const::PUMA_SOCKET
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:194: warning: previous definition of PUMA_SOCKET was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:195: warning: already initialized constant Puma::Const::PUMA_CONFIG
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:195: warning: previous definition of PUMA_CONFIG was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:196: warning: already initialized constant Puma::Const::PUMA_PEERCERT
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:196: warning: previous definition of PUMA_PEERCERT was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:198: warning: already initialized constant Puma::Const::HTTP
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:198: warning: previous definition of HTTP was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:199: warning: already initialized constant Puma::Const::HTTPS
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:199: warning: previous definition of HTTPS was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:201: warning: already initialized constant Puma::Const::HTTPS_KEY
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:201: warning: previous definition of HTTPS_KEY was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:203: warning: already initialized constant Puma::Const::HTTP_VERSION
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:203: warning: previous definition of HTTP_VERSION was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:204: warning: already initialized constant Puma::Const::HTTP_CONNECTION
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:204: warning: previous definition of HTTP_CONNECTION was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:205: warning: already initialized constant Puma::Const::HTTP_EXPECT
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:205: warning: previous definition of HTTP_EXPECT was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:206: warning: already initialized constant Puma::Const::CONTINUE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:206: warning: previous definition of CONTINUE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:208: warning: already initialized constant Puma::Const::HTTP_11_100
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:208: warning: previous definition of HTTP_11_100 was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:209: warning: already initialized constant Puma::Const::HTTP_11_200
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:209: warning: previous definition of HTTP_11_200 was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:210: warning: already initialized constant Puma::Const::HTTP_10_200
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:210: warning: previous definition of HTTP_10_200 was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:212: warning: already initialized constant Puma::Const::CLOSE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:212: warning: previous definition of CLOSE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:213: warning: already initialized constant Puma::Const::KEEP_ALIVE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:213: warning: previous definition of KEEP_ALIVE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:215: warning: already initialized constant Puma::Const::CONTENT_LENGTH2
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:215: warning: previous definition of CONTENT_LENGTH2 was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:216: warning: already initialized constant Puma::Const::CONTENT_LENGTH_S
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:216: warning: previous definition of CONTENT_LENGTH_S was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:217: warning: already initialized constant Puma::Const::TRANSFER_ENCODING
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:217: warning: previous definition of TRANSFER_ENCODING was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:218: warning: already initialized constant Puma::Const::TRANSFER_ENCODING2
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:218: warning: previous definition of TRANSFER_ENCODING2 was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:220: warning: already initialized constant Puma::Const::CONNECTION_CLOSE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:220: warning: previous definition of CONNECTION_CLOSE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:221: warning: already initialized constant Puma::Const::CONNECTION_KEEP_ALIVE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:221: warning: previous definition of CONNECTION_KEEP_ALIVE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:223: warning: already initialized constant Puma::Const::TRANSFER_ENCODING_CHUNKED
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:223: warning: previous definition of TRANSFER_ENCODING_CHUNKED was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:224: warning: already initialized constant Puma::Const::CLOSE_CHUNKED
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:224: warning: previous definition of CLOSE_CHUNKED was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:226: warning: already initialized constant Puma::Const::CHUNKED
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:226: warning: previous definition of CHUNKED was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:228: warning: already initialized constant Puma::Const::COLON
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:228: warning: previous definition of COLON was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:230: warning: already initialized constant Puma::Const::NEWLINE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:230: warning: previous definition of NEWLINE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:232: warning: already initialized constant Puma::Const::HIJACK_P
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:232: warning: previous definition of HIJACK_P was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:233: warning: already initialized constant Puma::Const::HIJACK
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:233: warning: previous definition of HIJACK was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:234: warning: already initialized constant Puma::Const::HIJACK_IO
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:234: warning: previous definition of HIJACK_IO was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:236: warning: already initialized constant Puma::Const::EARLY_HINTS
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:236: warning: previous definition of EARLY_HINTS was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:239: warning: already initialized constant Puma::Const::WORKER_CHECK_INTERVAL
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:239: warning: previous definition of WORKER_CHECK_INTERVAL was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:242: warning: already initialized constant Puma::Const::DQUOTE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:242: warning: previous definition of DQUOTE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:243: warning: already initialized constant Puma::Const::HTTP_HEADER_DELIMITER
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:243: warning: previous definition of HTTP_HEADER_DELIMITER was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:244: warning: already initialized constant Puma::Const::ILLEGAL_HEADER_KEY_REGEX
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:244: warning: previous definition of ILLEGAL_HEADER_KEY_REGEX was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:245: warning: already initialized constant Puma::Const::ILLEGAL_HEADER_VALUE_REGEX
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:245: warning: previous definition of ILLEGAL_HEADER_VALUE_REGEX was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:248: warning: already initialized constant Puma::Const::BANNED_HEADER_KEY
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:248: warning: previous definition of BANNED_HEADER_KEY was here
    Using bundler 2.3.0.dev
    Using nio4r 2.5.4
    Using puma 5.0.4 from https://github.com/puma/puma.git (at /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce@ea81fba)
    Updating files in vendor/cache
    Bundle complete! 1 Gemfile dependency, 3 gems now installed.
    Use `bundle info [gemname]` to see where a bundled gem is installed.
    ```

    https://github.com/rubygems/rubygems/commit/039d9fb2cd

commit a7657b0106c0d6f675fe0cea03f819990a20efd2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-18 21:26:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:10 +0900

    [rubygems/rubygems] Stop using the cache path as the install location

    https://github.com/rubygems/rubygems/commit/ecadd02746

commit a4ec5f874703c0f2514c543263acaaec91771722
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-18 21:19:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:09 +0900

    [rubygems/rubygems] Stop removing the `.git` folder from cached git gems

    If we want to change git gems to use a proper cache, instead of using
    the cache folder as the install location, so we need to keep git
    information in the cache, so that when running `bundle install` or
    `bundler install --local`, we are able to figure out whether the
    revision that needs to be checked out is present locally in the cache or
    needs to be fetched from the remote repository.

    https://github.com/rubygems/rubygems/commit/607eda63eb

commit b1db07074b9002f6ef46539023342cc53c3b9fee
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-18 02:53:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:09 +0900

    [rubygems/rubygems] Refactor `set_paths!`

    The method has two different concerns not straightforward to
    distinguish.

    One is to set a new `install_path`, which is done by setting the
    `@install_path` instance variable, and invalidating the `local_specs`
    memoization, so that the next time they are picked from the new
    location.

    The other one is to set a new `cache_path` which is done by setting the
    `@cache_path` instance variable, and invalidating the `git_proxy`
    memoization, so that the next git proxy uses the new cache location.

    This commit splits the logic so that this is easier to understand.

    https://github.com/rubygems/rubygems/commit/55904094e8

commit 26b1c7ed16fc6136d3b497dc6999bc619b122058
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-18 02:25:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:08 +0900

    [rubygems/rubygems] Restrict local behaviour of git gems to local overrides

    We want local overrides to behave just like "path gems" but per-app
    caches are different.

    https://github.com/rubygems/rubygems/commit/797d717a2d

commit 66e539418d15f3f00f7ec2cc7368494da7ca1ea5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-17 21:36:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:08 +0900

    [rubygems/rubygems] Prefer `install_path` alias

    For consistency with the rest of usages in this class.

    https://github.com/rubygems/rubygems/commit/69f9ab34b1

commit 0710e6080221d0512501973d9374274ee4f8a53b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-17 20:12:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:07 +0900

    [rubygems/rubygems] Move duplicated code to a method

    https://github.com/rubygems/rubygems/commit/fbb4ce168c

commit 6b5579153daf6e6111ce3f54560c68c84e2a4eee
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-17 20:10:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:07 +0900

    [rubygems/rubygems] Add debugging message to `Bundler::Source::Git#specs`

    It's not obvious that the git source actually reinstalls a proper
    checkout of the repository on usage if necessary. This adds a debugging
    message to log that, just like it's done when explicitly installing the
    source.

    https://github.com/rubygems/rubygems/commit/04e8e42a43

commit 83b48022c1093753b4dc1179e1f0ecd0a89bcbce
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-07-18 07:36:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:14:59 +0900

    [rubygems/rubygems] Explicitly encode Gem::Dependency to yaml

    This ensures that instance variable ordering cannot cause non-determinism in serialized gems

    https://github.com/rubygems/rubygems/commit/0e912704f7

commit e7610582ad8fd05655221b183257ed358c903ac8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-24 02:22:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 04:43:26 +0900

    [rubygems/rubygems] Fix `bundle exec gem uninstall`

    * `bundle exec` assigns `Gem::Specification.all` to the set of specs
      known to Bundler (a `Bundler::SpecSet`).

    * `gem uninstall` recently started calling `#delete` on the set of specs
      stored in `Gem::Specification#all`. This, in RubyGems, is just an
      array of specs, so has a `#delete` method that receives a single
      element.

    * However, at some point I added a `SpecSet#delete` method that takes an
      array of specs, breaking the "Array-like" contract and making `gem
      uninstall` break when run in a `bundle exec` context.

    The fix is to make `Bundler::SpecSet#delete` handle being given a single
    spec.

    https://github.com/rubygems/rubygems/commit/e3acb7b01d

commit 481c83453b447f2645a146bc5c45199659c71860
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-28 02:53:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 04:40:09 +0900

    [rubygems/rubygems] Enable checksums on Bundler 3 for fresh lockfiles

    And get specs passing.

    https://github.com/rubygems/rubygems/commit/c23b5f5b84

commit 5b931d9de6ca578b72ca55a134cd69863880092d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-28 02:53:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 04:40:08 +0900

    [rubygems/rubygems] Extract a `rake_path` helper

    https://github.com/rubygems/rubygems/commit/0f2db73619

commit b0a0eda2314968def241a94b36e25ce2affe655e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-28 02:50:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 04:40:08 +0900

    [rubygems/rubygems] Normalize a few specs using sources

    Use the standard sources to avoid having to explictly pass ENV with the repo.

    https://github.com/rubygems/rubygems/commit/95055dba57

commit 1758d436e74c8a5527af4b6f172dcb4437030765
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-28 02:15:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 04:40:07 +0900

    [rubygems/rubygems] Enforce passing a block to `simulate_platform`

    https://github.com/rubygems/rubygems/commit/0658903e25

commit 6770bb4a8cbe47bace51952b49d192dc7ae38181
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-23 23:32:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-24 03:45:45 +0900

    Fix running GC in finalizer when RUBY_FREE_AT_EXIT

    The following code crashes because the GC ran during finalizers will
    cause T_ZOMBIE objects to be on the heap, which crashes when we call
    rb_gc_obj_free on it:

        raise_proc = proc do |id|
          GC.start
        end
        1000.times do
          ObjectSpace.define_finalizer(Object.new, raise_proc)
        end

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

commit cb863907d8eb25a87288b71856126c0f5e891d26
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-24 03:33:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 03:44:31 +0900

    [ruby/prism] Single line method bodies should not be marked as newline

    https://github.com/ruby/prism/commit/18a8597276

commit 47c0df9c4ab2ff6a437ef462eae5ca1eb77fffab
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-24 03:26:34 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-24 03:26:34 +0900

    [DOC] Allow linking to File#path in Tempfile.create

commit c00990869f7104f5016ec4b35bfebfd27626b2e5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-24 03:25:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-24 03:25:15 +0900

    [DOC] Fix code formatting for Tempfile.create

commit b6800515e8c6af992183045ba89147e90eab3c55
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-23 23:15:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-24 01:48:48 +0900

    [PRISM] Fix up ensure compilation, match compile.c

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

commit e9ae93902119b8258b6f4595c6b58d8209829740
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-07-24 00:06:19 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-24 00:06:19 +0900

    [DOC] Doc for BasicObject (#11139)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 744cf0549ef508e2ba5ebc68749ff02edbd3f032
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-23 23:07:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-23 23:54:01 +0900

    [ruby/prism] Recurse upward to detect invalid returns

    https://github.com/ruby/prism/commit/3d39b7961f

commit f0d8a0a2bfa7026423795f96b40d4d81094f8788
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-22 22:53:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-23 21:50:53 +0900

    Fix memory leak in parser when loading non-ASCII file

    When loading a non-ASCII compatible file, an error is raised which
    causes memory leak.

    For example:

        require "tempfile"

        Tempfile.create do |f|
          f.write("# -*- coding: UTF-16BE -*-")
          f.flush

          10.times do
            20_000.times do
              begin
                load(f.path)
              rescue
              end
            end

            puts `ps -o rss= -p #{$$}`
          end
        end

    Before:

        33904
        49072
        64528
        79216
        94576
        109504
        124768
        139536
        154928
        170256

    After:

        19568
        21296
        21664
        21728
        22192
        22256
        22416
        22272
        22272
        22272

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

commit 57b11be15ae518288b719fb36068ceb23da6e050
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-22 16:28:00 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-23 14:35:23 +0900

    Implement UNLESS NODE keyword locations

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

commit f23485a8d693cb69fd7b84c1ab93cb4198ecfe4a
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-10 22:28:22 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-23 12:36:00 +0900

    [Feature #20624] Enhance `RubyVM::AbstractSyntaxTree::Node#locations`

    This commit introduce `RubyVM::AbstractSyntaxTree::Node#locations` method
    and `RubyVM::AbstractSyntaxTree::Location` class.

    Ruby AST node will hold multiple locations information.
    `RubyVM::AbstractSyntaxTree::Node#locations` provides a way to access
    these locations information.

    `RubyVM::AbstractSyntaxTree::Location` is a class which holds these location information:

    * `#first_lineno`
    * `#first_column`
    * `#last_lineno`
    * `#last_column`

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

commit 5617fec1f81d0f05563b70fd04e9494896f6abc7
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-23 08:13:18 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-23 09:00:59 +0900

    newobj_of(): Use parameter instead of GET_RACTOR()

    No point repeating the work callers to this function already do.

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

commit 959c95a01e576aa3593fb8f1b0b69581813e5ff4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-23 04:08:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-23 04:46:26 +0900

    [ruby/prism] Ignore shebangs in evals

    https://github.com/ruby/prism/commit/4c55409794

commit 2effa98b6f2f30a4b53f8fa2bb24234e980569e7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-20 00:08:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-23 03:57:10 +0900

    [ruby/prism] Implement mismatched indentation warning

    https://github.com/ruby/prism/commit/5d5bf92be8

commit ec6f40e8f1f81fa97e2a7d7c1a7aa0a3cb8ce827
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-23 02:23:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-23 03:22:47 +0900

    [PRISM] Use xcalloc for constants instead of calloc

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

commit 5299672a5bb52904cc6b9555be704af2cdc18eba
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-23 00:43:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-23 03:22:47 +0900

    [PRISM] Fix memory leak in constants

    For example, the following code leaks:

        code = 1000.times.map { |i| "var#{i} = 1" }.join("\n")

        10.times do
          1000.times do
            RubyVM::InstructionSequence.compile_prism(code)
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        70384
        88032
        103856
        115712
        125584
        132768
        144784
        152624
        165296
        180608

    After:

        62368
        78784
        74512
        87712
        85072
        77728
        69424
        74992
        71264
        81440

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

commit 34adc07372c10170b8ca36111d216cbd8e4699be
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-07-22 22:39:17 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-07-23 01:07:18 +0900

    Document the reasoning behind the fix for [Bug #20641]

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

commit 5e3b8010ed5a26b364376730a154bb3f25b3bb98
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-22 23:25:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-22 23:25:44 +0900

    Add newline when printing dlopen error message

commit 82aee1a9467c0f1bd33eb0247c5a0a8b8b9a5049
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-07-19 22:12:04 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-07-22 17:33:07 +0900

    bundled_gems.rb: Add a fast path

    [Bug #20641] `Gem::BUNDLED_GEMS.warning?` adds a lot of extra
    work on top of `require`. When the call end up atually loading code
    the overhead is somewhat marginal.

    However it's not uncommon for code to go some late `require` in some
    paths, so it's expected that calling `require` with something already
    required is somewhat fast, and `bundled_gems.rb` breaks this assumption.

    To avoid this, we can have a fast path that in most case allow to
    short-circuit all the heavy computations. If we extract the feature
    basename and it doesn't match any of the bundled gems we care about
    we can return very early.

    With this change `require 'date'` is now only 1.33x slower on Ruby
    3.3.3, than it was on Ruby 3.2.2, whereas before this change it
    was at least 100x slower.

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

commit da49bee04b1ea664199c14318dbf594464974636
  Author:     Randy Stauner <randy.stauner@shopify.com>
  AuthorDate: 2024-07-20 00:55:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-22 01:57:32 +0900

    [ruby/uri] Restrict constant checks to current namespace to avoid conflicts with globals

    https://github.com/ruby/uri/commit/7a64e0245f

commit c544f2672680d3c2992543bd91cdff6e7ce5ec51
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-21 13:00:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-21 13:00:38 +0900

    Fix a typo in setup of block-after-blockcall tests

    Unparenthesize the argument and make `command_call` when calling with
    `do`-block.

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

commit 3c4dc3e7aca6cfe322247b3b8127d75b776c75e0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-21 12:10:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-21 12:10:33 +0900

    Remove unneeded local variable

    `$5`, `brace_block` is no longer assigned in this action.

commit 11e5ebaba7340ab09f26686d17ce196facc251f7
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-20 16:20:47 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-21 11:02:38 +0900

    Fix SEGV on method call with empty args and brace block for do block command call

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

commit e7dda086170a5eaa037ddd5ebfcdc3aade15a26d
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-20 05:08:11 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-21 10:16:42 +0900

    Do not set Enumerator::Lazy#zip to use packed format

    Enumerator#zip yields a single array, not multiple arguments,
    so Enumerator::Lazy#zip should do the same.

    Fixes [#20623]

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

commit 84680dc255f3219da8d07684372d9ee623f7ac04
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-20 10:02:16 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-20 13:04:48 +0900

    Include `undef` keyword into UNDEF NODE location

    For example:

    ```
    undef a, b
    ```

    Before:

    ```
    @ NODE_UNDEF (id: 1, line: 1, location: (1,6)-(1,10))*
    ```

    After:

    ```
    @ NODE_UNDEF (id: 1, line: 1, location: (1,0)-(1,10))*
    ```

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

commit 6be539aab5b8fd66685e6079afc6ca83c89fcbd6
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-18 13:47:13 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-20 11:25:26 +0900

    Change UNDEF Node structure

    Change UNDEF Node to hold their items to keep the original grammar
    structure.

    For example:

    ```
    undef a, b
    ```

    Before:

    ```
    @ NODE_BLOCK (id: 4, line: 1, location: (1,6)-(1,10))*
    +- nd_head (1):
    |   @ NODE_UNDEF (id: 1, line: 1, location: (1,6)-(1,7))
    |   +- nd_undef:
    |       @ NODE_SYM (id: 0, line: 1, location: (1,6)-(1,7))
    |       +- string: :a
    +- nd_head (2):
        @ NODE_UNDEF (id: 3, line: 1, location: (1,9)-(1,10))
        +- nd_undef:
            @ NODE_SYM (id: 2, line: 1, location: (1,9)-(1,10))
            +- string: :b
    ```

    After:

    ```
    @ NODE_UNDEF (id: 1, line: 1, location: (1,6)-(1,10))*
    +- nd_undefs:
        +- length: 2
        +- element (0):
        |   @ NODE_SYM (id: 0, line: 1, location: (1,6)-(1,7))
        |   +- string: :a
        +- element (1):
            @ NODE_SYM (id: 2, line: 1, location: (1,9)-(1,10))
            +- string: :b
    ```

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

commit 174c01b80e31236ca144dc510a662cd18b9a20ee
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-07-20 10:36:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-20 10:36:14 +0900

    Remove redundant :use_block with yield (#11203)

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

commit 8cf708d7b495f62d6239a49af25c362d0156e6aa
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-20 04:53:16 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-20 06:47:12 +0900

    Make rb_check_frozen_inline() static inline again

    Since 730e3b2ce01915c4a98b79bb281b2c38a9ff1131
    ("Stop exposing `rb_str_chilled_p`"), we noticed a speed loss on a few
    benchmarks that are string operations heavy. This is partially due to
    routines no longer having the options to inline rb_check_frozen_inline()
    in non-LTO builds. Make it an inlining candidate again to recover speed.

    Testing this patch on my machine, the fannkuchredux benchmark gets a
    1.15 speed-up with YJIT and 1.03 without YJIT.

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

commit 30f2d69825ff402bbff0398dcf4f5ab8a6e62c7f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-07-19 22:31:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-20 05:37:20 +0900

    Don't call `Kernel#require` in hot loop

    Ref: https://bugs.ruby-lang.org/issues/20641

    Even without the reference bug, `require 'date'` isn't cheap.

    ```ruby

    require "benchmark/ips"
    require "yaml"
    require "date"

    100.times do |i|
      $LOAD_PATH.unshift("/tmp/does/not/exist/#{i}")
    end
    payload = 100.times.map { Date.today }.to_yaml

    Benchmark.ips do |x|
      x.report("100 dates") { YAML.unsafe_load(payload) }
    end
    ```

    Before:
    ```
    $ ruby /tmp/bench-yaml.rb
    ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22]
    Warming up --------------------------------------
               100 dates   416.000 i/100ms
    Calculating -------------------------------------
               100 dates      4.309k (± 1.2%) i/s -     21.632k in   5.021003s
    ```

    After:
    ```
    $ ruby -Ilib /tmp/bench-yaml.rb
    ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22]
    Warming up --------------------------------------
               100 dates   601.000 i/100ms
    Calculating -------------------------------------
               100 dates      5.993k (± 1.8%) i/s -     30.050k in   5.016079s
    ```

commit e801fa5ce8870c7a1b6551721fa1dbf96fa35655
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-19 23:56:04 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-20 00:45:31 +0900

    [PRISM] Fix compiler warning for min_tmp_array_size

    prism_compile.c:5770:40: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
     5770 |                     if (tmp_array_size >= min_tmp_array_size) {
          |                                        ^~

commit b226c3407ec94204237943c4e39bb682b5a392bc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-19 23:55:02 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-20 00:45:31 +0900

    [PRISM] Fix compiler warning for min_tmp_hash_length

    prism_compile.c:1406:27: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
     1406 |                 if (count >= min_tmp_hash_length) {
          |                           ^~

commit 49cf042cd297cc6097065fb4d98879755ed0cec0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-19 22:06:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-19 23:17:50 +0900

    [PRISM] Define DATA constant when parsing stdin and __END__

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

commit 1e4c4fe478fccdc00565c609f6128172728d0f04
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-19 21:46:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 21:55:49 +0900

    [ruby/prism] Fix parsing parentheses in hash patterns

    https://github.com/ruby/prism/commit/22c3b559cd

commit 51505f70e3f1de57f6ce16f9ec77e44e3f7aded7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-19 02:40:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-19 21:53:32 +0900

    Move frozen check out of rb_gc_impl_undefine_finalizer

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

commit 4b05d2dbb056617dbb9dd90c7d22bf716ee855ee
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-19 02:39:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-19 21:53:32 +0900

    Make rb_gc_impl_undefine_finalizer return void

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

commit 57d9b8ee07ca11e5de4038b53b3d7a58ea631ffd
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-19 02:44:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-19 21:53:32 +0900

    Assert that object is not frozen in rb_gc_impl_define_finalizer

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

commit e8aa9daa5bcb1993f2cddbf191cc46a7ad6bebed
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-19 02:36:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-19 21:53:32 +0900

    Move return value of rb_define_finalizer out

    Moves return value logic of rb_define_finalizer out from
    rb_gc_impl_define_finalizer.

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

commit 0936e3d545c99dfec35ea32c8b0206cf54028f27
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-18 23:38:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-19 21:53:32 +0900

    Make define_final call rb_define_finalizer

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

commit d9bff416377e6a3f7c936e3ba8102ffc3bf8f306
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-07-19 15:52:33 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-19 16:39:21 +0900

    Rename a variable name

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

commit 09dd9a0457c0ce6fdde2bf0246efa5bebde1d05b
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-07-19 14:30:02 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-19 16:39:21 +0900

    Launchable: Aggregate test results based on file level

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

commit 6428ce80f0ef85324a4d0a72ffa4c6fa2db37cdd
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-13 07:33:59 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-19 14:17:21 +0900

    Avoid array allocation for f(*r2k_ary) when def f(x)

    When calling a method that does not accept a positional splat
    parameter with a splatted array with a ruby2_keywords flagged hash,
    there is no need to duplicate the splatted array.  Previously,
    Ruby would duplicate the splatted array and potentially modify
    it before flattening it to the VM stack

    Use a similar approach as the f(*ary, **hash) optimization,
    flattening the splatted array to the VM stack without modifying
    it, and make any modifications needed to the VM stack.

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

commit 1cc5a64dd87a6a474ec8387083d41a3c6c1c3ca5
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-13 06:19:40 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-19 14:17:21 +0900

    Avoid hash allocation for f(*r2k_ary) when def f(kw: 1)

    When calling a method that accepts keywords but not a keyword
    splat with a splatted array with a ruby2_keywords flagged hash,
    there is no need to duplicate the ruby2_keywords flagged hash,
    since it will be accessed to get the keyword values, but it will
    not be modified.

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

commit 4a49b060ae04b3ccb3880854ba08c6629344f7b3
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-13 05:58:02 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-19 14:17:21 +0900

    Check for and remove duplicate checks in test_allocation

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

commit 94e7d2664388039fc8c2f6a063017cae22193fa3
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-13 05:28:53 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-19 14:17:21 +0900

    Avoid array allocation for f(*empty_ary, **hash) when def f(x)

    This avoids an array allocation when calling a method that does
    not accept a positional splat or keywords with both a positional
    splat and keywords.  Previously, Ruby would dup the positional
    splat to append the keyword splat to it. Then it would flatten
    the dupped positional splat array to the VM stack.

    This flattens the given positional splat to the VM stack, then
    adds the keyword splat hash after the last positional splat
    element on the VM stack, avoiding the need to modify
    the positional splat array.

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

commit 2c79a7641ffbd5da7d5215a218e0d6866f061423
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-13 04:16:49 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-19 14:17:21 +0900

    Remove splatarray true -> splatarray false peephole optimization

    The compiler now uses splatarray false for all cases that would
    previously have been optimized, so this is all dead code.

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

commit 3de20efc308cccc38bf9dacfffca6c626d039a06
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-12 08:16:40 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-19 14:17:21 +0900

    Avoid unnecessary array allocations for f(arg, *arg, **arg, **arg), f(*arg, a: lvar), and other calls

    The `f(arg, *arg, **arg, **arg)` case was previously not optimized.
    The optimizer didn't optimize this case because of the multiple
    keyword splats, and the compiler didn't optimize it because the
    `f(*arg, **arg, **arg)` optimization added in
    0ee3960685e283d8e75149a8777eb0109d41509a didn't apply.

    I found it difficult to apply this optimization without changing
    the `setup_args_core` API, since by the time you get to the ARGSCAT
    case, you don't know whether you were called recursively or directly,
    so I'm not sure if it was possible to know at that point whether the
    array allocation could be avoided.

    This changes the dup_rest argument in `setup_args_core` from an int
    to a pointer to int.  This allows us to track whether we have allocated
    a caller side array for multiple splats or splat+post across
    recursive calls. Check the pointed value (*dup_rest) to determine the
    `splatarray` argument. If dup_rest is 1, then use `splatarray true`
    (caller-side array allocation), then set *dup_rest back to 0, ensuring
    only a single `splatarray true` per method call.

    Before calling `setup_args_core`, check whether the array allocation
    can be avoided safely using `splatarray false`.  Optimizable cases are:

    ```
    // f(*arg)
    SPLAT

    // f(1, *arg)
    ARGSCAT
     LIST

    // f(*arg, **arg)
    ARGSPUSH
     SPLAT
     HASH nd_brace=0

    // f(1, *arg, **arg)
    ARGSPUSH
      ARGSCAT
       LIST
      HASH nd_brace=0
    ```

    If so, dup_rest is set to 0 instead of 1 to avoid the allocation.

    After calling `setup_args_core`, check the flag. If the flag
    includes `VM_CALL_ARGS_SPLAT`, and the pointed value has changed,
    indicating `splatarray true` was used, then also set
    `VM_CALL_ARGS_SPLAT_MUT` in the flag.

    My initial attempt at this broke the `f(*ary, &ary.pop)` test,
    because we were not duplicating the ary in the splat even though
    it was modified later (evaluation order issue). The initial attempt
    would also break `f(*ary, **ary.pop)` or `f(*ary, kw: ary.pop)` cases
    for the same reason. I added test cases for those evaluation
    order issues.

    Add setup_args_dup_rest_p static function that checks that a given
    node is safe.  Call that on the block pass node to determine if
    the block pass node is safe.  Also call it on each of the hash
    key/value nodes to test that they are safe.  If any are not safe,
    then set dup_rest = 1 so that `splatarray true` will be used to
    avoid the evaluation order issue.

    This new approach has the affect of optimizing most cases of
    literal keywords after positional splats.  Previously, only
    static keyword hashes after positional splats avoided array
    allocation for the splat.  Now, most dynamic keyword hashes
    after positional splats also avoid array allocation.

    Add allocation tests for dynamic keyword keyword hashes after
    positional splats.

    setup_args_dup_rest_p is currently fairly conservative. It
    could definitely be expanded to handle additional node types
    to reduce allocations in additional cases.

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

commit ca0dae25ed51627c411dfdbe9dec3901a321bff9
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-07-12 14:13:22 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-07-19 12:44:01 +0900

    Don't crash if madvise(MADV_FREE or MADV_DONTNEED) fails

    The M:N threading stack cleanup machinery tries to call MADV_FREE on the native
    thread's stack, and calls rb_bug if it fails. Unfortunately, there's no way to
    distinguish between "You passed bad parameters to madvise" and "MADV_FREE is
    not supported on the kernel you are running on"; both cases just return EINVAL.
    This means that if you have a Ruby on a system that was built on a system with
    MADV_FREE and run it on a system without it, you get a crash in nt_free_stack.

    I ran into this because rr actually emulates MADV_FREE by just returning EINVAL
    and pretending it's not supported (since it can otherwise introduce
    nondeterministic behaviour). So if you run bootstraptest/test_ractor.rb under
    rr, you get this crash.

    I think we should just get rid of the error handling here; freeing memory like
    this is strictly optional anyway.

    [Bug #20632]

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

commit e5c06005f182a980637069659843e89f48f5566c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-19 11:48:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-19 12:40:56 +0900

    mustermann depends on URI::RFC2396_PARSER behavior

    It's part of dependencies for Sinatra. we should fix mustermann before final release of Ruby 3.4

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

commit 3222c672628dba20367475cfaf832b82b2cc3d4c
  Author:     alpha0x00 <leetiankai@gmail.com>
  AuthorDate: 2024-07-14 23:01:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 12:03:16 +0900

    [rubygems/rubygems] Fix line comment issue for map

    https://github.com/rubygems/rubygems/commit/7ca06e139b

commit 1c81d1a69dfc909baf128d6d1ffe636f2e8a3194
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-19 04:04:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-19 10:15:54 +0900

    [PRISM] Refactor parser support into its own module

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

commit 69e65b9b5ad03d40eb6cfa7323d871465c28d960
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-07-18 04:37:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-19 10:15:43 +0900

    Fix interpolated sybmol node instructions

    If the symbol node is interpolated like this `:"#{foo}"` the instruction
    sequence should be `putstring` followed by `intern`. In this case it was
    a `putobject` causing the `test_yjit` tests to fail. Note that yjit is
    not required to reproduce - the instructions are `putstring` and
    `intern` for yjit and non-yjit with the original parser.

    To fix I moved `pm_interpolated_node_compile` out of the else, and
    entirely removed the conditional. `pm_interpolated_node_compile` knows
    how / when to use `putstring` over `putobject` already. The `intern` is
    then added by removing the conditional.

    Before:

    ```
    == disasm: #<ISeq:<main>@test2.rb:1 (1,0)-(1,11)>
    0000 putobject                              :foo                      (   1)[Li]
    0002 leave
    ```

    After:

    ```
    == disasm: #<ISeq:<main>@test2.rb:1 (1,0)-(1,11)>
    0000 putstring                              "foo"                     (   1)[Li]
    0002 intern
    0003 leave
    ```

    Fixes the test `TestYJIT#test_compile_dynamic_symbol`. Related to ruby/prism#2935

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

commit 8db2325a11518f50f92fe05ccae112c0d71ce12f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-18 13:31:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 09:50:38 +0900

    [ruby/uri] Also support URI::PATTERN with switch-back

    https://github.com/ruby/uri/commit/823697edb4

commit 082335494b59557c322617ff4329c5102cf404da
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-18 13:16:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 09:50:37 +0900

    [ruby/uri] Added test for constant definition and remove URI::REGEXP when using RFC3986_PARSER

    https://github.com/ruby/uri/commit/6f616d97fc

commit 2a56c1841dcecc793ae9cbd0935643639eec1066
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-18 11:58:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 09:50:37 +0900

    [ruby/uri] URI.extract needs to pass block

    If given block to URI.extract, it returns nil.

    https://github.com/ruby/uri/commit/984145c407

commit 862041d0546df6618e19a32051661ff39a7ffcb2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-18 10:27:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 09:50:36 +0900

    [ruby/uri] Rename and switch RFC2396_PARSER test

    https://github.com/ruby/uri/commit/2e0f73f05e

commit ce4da88a579ed0421c36cf7c48acc9d1a7b05079
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-18 10:11:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 09:50:36 +0900

    [ruby/uri] Switch to inspect with default parser

    https://github.com/ruby/uri/commit/0ab9abbf08

commit 6452cf5cb51758066a8db897bebfbca97b230be7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-18 10:11:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 09:50:36 +0900

    [ruby/uri] Added compatibility methods for RFC2396 parser

    https://github.com/ruby/uri/commit/bbb8a40eae

commit 08e449d89baf1aeee87f084e1cd55bfe3b9cc46a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-17 18:53:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 09:50:35 +0900

    [ruby/uri] Added URI.parser= method for switch back to RFC2396_Parser

    https://github.com/ruby/uri/commit/d7dc19ad3f

commit 2de8b5b8054f311c4cee112dcab5208b66cc62a4
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-07-19 05:01:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-19 05:01:47 +0900

    YJIT: Allow dev_nodebug to disasm release-mode code (#11198)

    * YJIT: Allow dev_nodebug to disasm release-mode code

    * Revert "YJIT: Squash canary before falling back"

    This reverts commit f05ad373d84909da7541bd6d6ace38b48eaf24a1.
    The stray canary issue should have been solved by
    def7023ee4a3fc6eeba9d3a34c31a5bcff315fac, alleviating this codegen
    accommodation.

    * s/runtime_assertions/runtime_checks/

    ---------

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

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

commit 059535bd650bf2765fb8fd14e28d6e98f52871c2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-19 04:26:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 04:38:53 +0900

    [ruby/prism] Mark local variable writes in value positions as being read

    https://github.com/ruby/prism/commit/f5149870ab

commit 1fd1fb2aa5daa604464df94735dd234ecb170b7b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-19 02:46:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-19 04:30:45 +0900

    [PRISM] Use KW_SPLAT_MUT when possible for method calls

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

commit 53710be557105826440fc705415af37856e19db5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-19 02:31:17 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-19 04:30:45 +0900

    [PRISM] Use concattoarray instead of splatarray+concatarray

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

commit 50e7c8f05190656f674514e7c3abb8ad08e12bdb
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-19 02:53:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 04:23:06 +0900

    [rubygems/rubygems] Fix unused variable warning when running RubyGems tests

    https://github.com/rubygems/rubygems/commit/155d8fd051

commit 104dad3dd0de02e3282104f7c6686302c2d92194
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 02:46:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 03:08:37 +0900

    [rubygems/rubygems] Small tweak to avoid making the same mistake again

    We checking completeness of a SpecSet, we should always ignore
    dependencies not relevant for the current platform, since the resolver
    and the lockfile ignore those too.

    https://github.com/rubygems/rubygems/commit/c4b0c6d84e

commit d62af8e5139b33a4eced1a43b41e0e12c47a61de
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 01:52:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 03:08:37 +0900

    [rubygems/rubygems] Fix another removal issue

    I failed to ignore (again) specs only considered for resolution under
    some platforms that are not the current one.

    https://github.com/rubygems/rubygems/commit/b72deec57e

commit b07c77730b13b8866aefbbe8193950d3cdb272c9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 02:39:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 03:08:36 +0900

    [rubygems/rubygems] Simplify spec assertion

    All that we expect here is no changes.

    https://github.com/rubygems/rubygems/commit/ff984b6133

commit c9d2343f5c331792bcf46484c8203589a13cfb3c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 20:02:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 03:07:09 +0900

    [rubygems/rubygems] Fix incorrect standalone script when default gems with extensions are used

    https://github.com/rubygems/rubygems/commit/55649cd09b

commit bb9a9f31ca78f7fbc7084ae4d7b7eb4fc418577a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 20:29:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 03:07:08 +0900

    [rubygems/rubygems] Remove unnecessary `artifice` parameter

    It's automatically detected from Gemfile.

    https://github.com/rubygems/rubygems/commit/72301a2e3b

commit ba6ffaf2e06bc579f88f92f79bcbb48c1b7a2e92
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 20:02:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 03:07:08 +0900

    [rubygems/rubygems] Use latest shellwords for standalone test

    https://github.com/rubygems/rubygems/commit/fcd04daf68

commit 99bf4021fb813ce842701060ac87823f0980f6bd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 19:45:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 03:07:07 +0900

    [rubygems/rubygems] Ext is generally not in `require_paths`

    https://github.com/rubygems/rubygems/commit/83b417a166

commit d6ef74407b6f7498c067b40eb68ab592e7126582
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-18 23:59:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-19 02:47:00 +0900

    Use rb_obj_hide instead of setting klass to 0

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

commit b1608fc6bc0868fb0e1e83729cff631deb19da24
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-19 00:56:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-19 02:03:33 +0900

    [PRISM] Do not respect xflag when eflag is set

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

commit 8e5ac5a87d8c10f4e94bb71ece3d83c78a53876e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-19 00:39:41 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-19 02:03:25 +0900

    [PRISM] Ensure not opening directories

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

commit 76ea5cde2a0f4834a5228104249b6b3346ddfc94
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-18 06:32:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-19 02:03:17 +0900

    Refactor RUBY_DESCRIPTION assertions in test_rubyoptions

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

commit aa3030ac24389f838fd85390601489c60fd13877
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-07-18 02:26:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-18 23:12:20 +0900

    Fix empty hash instruction

    When we have an empty hash the iseq should have a `newhash` but instead
    had a `duphash`. To fix, check if the node's elements are equal to `0`.
    If so we want a `newhash`, otherwise use the original `duphash`
    instructions.

    Before:

    ```
    == disasm: #<ISeq:<main>@test2.rb:1 (1,0)-(1,2)>
    0000 duphash                                {}                        (   1)[Li]
    0002 leave
    ```

    After:

    ```
    == disasm: #<ISeq:<main>@test2.rb:1 (1,0)-(1,2)>
    0000 newhash                                0                         (   1)[Li]
    0002 leave
    ```

    Fixes the test `TestYJIT#test_compile_newhash`. Related to ruby/prism#2935

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

commit c304bf13b55a30b9982f9c9e6187f5b56fc731b0
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-07-18 19:56:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 19:56:19 +0900

    [ruby/irb] Clear ENV["XDG_CONFIG_HOME"] to avoid loading
    user-defined irbrc in TestIRB::ConfigValidationTest
    (https://github.com/ruby/irb/pull/982)

    https://github.com/ruby/irb/commit/632da0ff29

commit b61e3a6218fc60485e7ea33985f0d4b46dad80ce
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-18 18:32:42 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-07-18 19:34:10 +0900

    Write rbinc files at once

    Unexpected error can make empty files which result in unclear
    compilation errors.

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

commit 231a9acc15979087356bd2284a0572ad5101326a
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-18 14:06:44 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-18 19:19:27 +0900

    Free `data` of `struct rb_parser_ary` in `rb_parser_ary_free`

    For example:

        10.times do
          100_000.times do
            RubyVM::AbstractSyntaxTree.parse("x = 1 + 2 +", keep_tokens: true)
          rescue SyntaxError
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        28944
        44816
        60720
        76496
        92336
       108160
       123968
       139808
       155648
       171408

    After:

        11984
        12704
        12816
        12832
        13072
        13088
        13088
        13136
        13136
        13152

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

commit 86c99a8d14daa15b1b5f6c99697630aa3abb7d5d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 05:11:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 18:25:17 +0900

    [rubygems/rubygems] Fix gemspec `require_paths` type validation

    It was not properly being detected as an Array attribute, and thus not
    properly validated.

    Fixing this allows us to remove a strange `rescue` clause in Bundler.

    https://github.com/rubygems/rubygems/commit/4121a32408

commit 95728a8b4208bb9a3427cde95a4ceba76e349b39
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 07:06:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 18:25:16 +0900

    [rubygems/rubygems] Warn non flattened require paths in old RubyGems versions too

    https://github.com/rubygems/rubygems/commit/b3cdccc6fb

commit f78a8761c4e8ea679b7b6352880b8b53714687ae
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 05:10:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 18:25:16 +0900

    [rubygems/rubygems] Remove unnecessary Windows test skip

    https://github.com/rubygems/rubygems/commit/946180f5c1

commit c032e2c225f4c20ba35cc40a3dd00eef9ae62cfd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-12-14 02:16:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 13:20:07 +0900

    [rubygems/rubygems] Use `caller_locations` instead of splitting `caller`

    Also limit caller ranges

    https://github.com/rubygems/rubygems/commit/a274b1af78

commit c639bacd454dcf43619591f0f0eaa1ac7226f77c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-10 00:37:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 13:20:06 +0900

    [rubygems/rubygems] Fix detection of `gem_repo1` being updated

    https://github.com/rubygems/rubygems/commit/9f9493c77c

commit e0f40dc9b015837d403170dcfa5fa8238aa42973
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-18 12:41:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-18 12:42:36 +0900

    Split URI::Parser examples with RFC2396 and RFC3986

    Prepare for https://github.com/ruby/uri/pull/107

commit 509f1b50c2956089f92ae18d8bec0b8328aa05d1
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-07-17 17:18:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-18 12:22:47 +0900

    Lanunchable: Add missing condition statement

    Addresses https://github.com/ruby/ruby/pull/11183/files#r1680617485.

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

commit d11d615ba602e92a7279b7efdf595ba11ba3a663
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-18 11:20:17 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-18 11:20:17 +0900

    Fix `utimesat` availability condition

    As `__has_attribute` macro is always defined in internal/compilers.h,
    gcc warns `-Wunguarded-availability-new` as unknown option.  Check if
    the warning option is usable instead.

commit d0c17cbd09e5455c203e8fd647e8967684562347
  Author:     Hartley McGuire <skipkayhil@gmail.com>
  AuthorDate: 2024-07-18 06:39:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-18 09:40:01 +0900

    Require space between hash/content in ATX heading (#1140)

    While writing some Markdown documentation for Rails, I came across an
    interesting case where trying to link to an instance method at the start
    of a line would instead parse as an H1 heading:

    ```markdown
    #response_body=
    ```

    Expected:

    ```html
    <a href=""><code>#response_body=</code></a>
    ```

    Actual:

    ```html
    <h1>response_body=</h1>
    ```

    According to the CommonMark spec:

    > At least one space or tab is required between the # characters and the
    > heading’s contents, unless the heading is empty. Note that many
    > implementations currently do not require the space. However, the space
    > was required by the original ATX implementation, and it helps prevent
    > things like the following from being parsed as headings:
    >
    > Example 64

    So while some implementations do not follow this requirement, I believe
    RDoc should because it makes it easy to write text similar to Example 64
    (which was used in the new test) and it also enables automatically
    linking to instance methods at the start of a line.

commit 239d54dfbce0f38cf4d31fa252b4d9bd65477bac
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-07-18 05:42:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 05:43:08 +0900

    [ruby/rdoc] Improve rubocop setup
    (https://github.com/ruby/rdoc/pull/1139)

    * Rename rake rubocop to rake format_generated_files

    * Add rubocop rules to ensure spaces are applied consistently

    * Improve rubocop related CI workflows

    https://github.com/ruby/rdoc/commit/27932d001c

commit 573c2893dce90c3254bfcb496be74b652d1cae29
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-18 03:52:02 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-18 04:46:41 +0900

    Don't disable GC in rb_gc_impl_object_id

    Disabling GC when creating the object ID was introduced in commit
    67b2c21, but we shouldn't need to disable the GC.

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

commit 2cc20c06e0e775467ff60098336f155565ad5f20
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-18 04:45:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-18 04:45:07 +0900

    [PRISM] Use RSTRING_PTR for Ruby parsing with fgets

commit e77e4aa608a12ea59cefc87abafd72fb2b0c0b9a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-18 04:30:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 04:44:32 +0900

    [ruby/prism] Have parse_stream handle NUL bytes

    https://github.com/ruby/prism/commit/4a41d298c8

commit 0fe816f3808cdf647ac549a8ddb2e0540320b890
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-07-17 21:29:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 03:17:59 +0900

    [ruby/prism] [Doc] Tweak example of `Prism::Dispatcher`

    This PR tweaked the documentation to correct an error encountered
    when running the example code of `Prism::Dispatcher`.
    This aims to make understanding the example smoother.

    https://github.com/ruby/prism/commit/165a1a0e78

commit 7de2c06352be3370e4fc51612bee35b2e6eacf4b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-18 03:13:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-18 03:13:16 +0900

    [PRISM] Use RSTRING_LEN for Prism stream parsing

commit 278bbd7b45994c925633cd3cca280b3cabc913db
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-13 13:06:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-18 03:06:11 +0900

    Revert pending `EVENT_RETURN` tests

    * "Allow ambiguosity of `return` line"
      65b991bc8571b7b718fc22bd33a43c4d269bf52d
    * "Move to test/.excludes-prism"
      3b4ff810d2fefdf0194bd774bc04f6f17e2ccae7
    * "Pending `EVENT_RETURN` settracefunc tests with Prism"
      a7f33c99c69e3cc62b7a24ce35f51f76cc5bfaa2

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

commit 644424941a771f471134c40204ecbb4589dc74f2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-13 12:59:58 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-18 03:06:11 +0900

    [Bug #20457] [Prism] Remove redundant return flag

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

commit 7993b88eeec79cce14b04c37f91b0adc3ee1e14f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-18 01:03:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-18 02:58:58 +0900

    [PRISM] Use StringValuePtr for fgets for Prism stream parsing

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

commit 99825a539f990dff7e0d7cae082ab195a82ffaa5
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-17 07:21:14 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-17 23:25:20 +0900

    [DOC] Note that rb_obj_freeze_inline() can raise NoMemoryError

    And move it back to a public header because Doxygen might not be
    scanning the .c files.

    [Feature #18776]

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

commit cd428b490d635726e3d39ae8aa896bc41708cbc4
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-17 07:03:35 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-17 23:25:20 +0900

    [DOC] No more is rb_ary_freeze() an alias of rb_obj_freeze()

    [Feature #20589]

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

commit 403f44ec2c5047367271f5ec7a07b0460631321b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-17 04:38:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-17 22:01:42 +0900

    Make OBJ_ID_INCREMENT == RUBY_IMMEDIATE_MASK + 1

    All the non-GC objects (i.e. immediates) have addresses such that
    `obj % RUBY_IMMEDIATE_MASK != 0` (except for `Qfalse`, which is 0). We
    can define `OBJ_ID_INCREMENT` as `RUBY_IMMEDIATE_MASK + 1` which should
    guarantee that GC objects never have conflicting object IDs with
    immediates.

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

commit 690ea013cac2d3c4eb149c8e7e5d794dfe874abe
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-07-17 19:00:26 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-07-17 20:47:27 +0900

    Remove unused variable from GC compaction path

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

commit 3c3cce13c636313649ab2417d09b3b080da616d4
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-10 02:13:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-17 20:14:53 +0900

    [rubygems/rubygems] Fix another case of `bundle lock --add-platform` doing nothing

    https://github.com/rubygems/rubygems/commit/0629e27dda

commit 58aebcbce14bc87f76af605f4c7f21540fc030f2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-17 17:47:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-17 19:17:57 +0900

    [rubygems/rubygems] Applied rubocop

    https://github.com/rubygems/rubygems/commit/c26054e7e9

commit 3f65df48bdc48e720643209a7a6d58ab60c3609b
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-07-17 16:11:22 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-17 18:41:39 +0900

    Report a TracePoint log when the TracePoint tests fail

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

commit af6031786171a65b24b388416c05551f0f104a29
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-17 14:23:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-17 17:37:57 +0900

    Removed needless block arguments

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

commit 2a12e4ffec99f1e7e83b3b2bdfbec1ace2b1202f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-17 12:49:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-17 17:37:57 +0900

    To avoid fd leak with fetch request for SSL server

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

commit e55bae4a67311b7934fdeb6cb6062d1424671b25
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-16 21:05:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-17 17:37:57 +0900

    Close leaked TCPServer socket

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

commit 76386ba1c07bc8f39c5019b86659e7f3e4d57b1e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-16 21:03:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-17 17:37:57 +0900

    Close leaked SSLServer socket

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

commit f4c642edb108c5365c282b95cf429a0313b1c452
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-16 11:44:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-17 17:37:57 +0900

    Fixed fd leak from TCPServer

    ```
    Leaked file descriptor: HTTPSProxyTest#test_https_proxy_ssl_connection: 8 : #<TCPServer:fd 8, AF_INET, 127.0.0.1, 63104>
    ```

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

commit 2b3bfbc4c722d1d051a29721a1a8f86d2c3939a7
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-07-17 16:03:19 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-17 16:53:58 +0900

    Launchable: Fix Python package path

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

commit 03a0ade90d334a616fb5b2d1ed4147a3035ca081
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-17 15:16:21 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-17 15:16:21 +0900

    Fix double free when `getcwd` does not allocate buffer

    Do not free the result at normal return from `ruby_getcwd`.

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

commit 05502c1ddad8ab78ce1d45baf241af598d53a7d1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-17 12:00:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-17 12:00:27 +0900

    Add a macro to initialize `struct getattrlist_args`

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

commit 371790165f65d195a1dd6bd615dc6fd42eed8f94
  Author:     Iskren <iskren.nemet@gmail.com>
  AuthorDate: 2024-07-17 11:42:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-17 11:42:29 +0900

    [DOC] Fix and improve array slicing example in range.c

    * [DOC] Fix typo in range.c

      In the example of the beginless range used for array slicing,
      '..' range literal was used while the '...' literal was expected

    * [DOC] Add example for array slicing in range.c

      Add an example for the array slice with the beginless range
      using the '..' range literal

    * [DOC] Add comments for array slicing in range.c

      Add comments to make crystal clear what the '..' and '...'
      range literals do when used for array slicing as beginless range

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

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

commit dabb6c49aa561ba8a222e8b9baf2cbf2e1a1608d
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-17 11:20:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-17 11:20:17 +0900

    Release GVL around {,f}getattrlist calls in dir.c

    Fixes [Bug #20587]

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

    Merged-By: jeremyevans <code@jeremyevans.net>

commit c083a3ffcd3b298784313c1617f2cf98f6fd27eb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-16 22:41:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-17 04:50:00 +0900

    Fix memory leak reported in main ractor when RUBY_FREE_AT_EXIT

    STACK OF 1 INSTANCE OF 'ROOT LEAK: <calloc in rb_ractor_main_alloc>':
    6   dyld                                  0x1840e20e0 start + 2360
    5   miniruby                              0x1006796c8 main + 88  main.c:62
    4   miniruby                              0x10072f4a4 ruby_init + 16  eval.c:99
    3   miniruby                              0x10072f328 ruby_setup + 104  eval.c:81
    2   miniruby                              0x1008d08c0 Init_BareVM + 508  vm.c:4276
    1   miniruby                              0x1007f8944 rb_ractor_main_alloc + 76  ractor.c:2034
    0   libsystem_malloc.dylib                0x1842a4cac _malloc_zone_calloc_instrumented_or_legacy + 128
    ====
        1 (96 bytes) ROOT LEAK: <calloc in rb_ractor_main_alloc 0x1347075d0> [96]

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

commit c4a021ef9606bb9777cd72fd716a6c89358465e0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-17 04:13:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-17 04:26:28 +0900

    [ruby/prism] Move sample files under sample/prism

    https://github.com/ruby/prism/commit/9e9b069404

commit e3c5d73e0f1eee443893ffb97e4b2878ae5ac69f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-17 03:41:42 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-17 03:41:42 +0900

    [PRISM] Omit two more ast tests that will not work without RubyVM::Ast

commit b0a99d0da9a11a45a5fd3fd655cab8d246fb27a4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-17 02:47:53 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-17 03:40:20 +0900

    [PRISM] Properly compile branch conditions in their own sequence

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

commit 90e945a7b7eca49774fe914ab884b46cfab15a34
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-17 01:06:15 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-17 03:40:20 +0900

    [PRISM] Fix up ensure+loop+break

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

commit 4a4e1bf357f5b5f568ead4da0537eb4506e20e5f
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-07-17 00:58:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-17 00:58:15 +0900

    [ruby/irb] Group class methods under `class << self`
    (https://github.com/ruby/irb/pull/981)

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

commit 4fe3082b63a801abe15711ebb907bd66aa58bc35
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-16 22:55:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-16 22:55:48 +0900

    [DOC] Fix typo in gc/default.c

commit 60d3ed504393a876a372ceaec67ed29f06a7bcd0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-16 19:58:50 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-07-16 22:11:28 +0900

    [Bug #20457] Drop unreachable `return` at end of method

commit 93489d536bdb17da54613f7ef7a8115577963ceb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-13 00:38:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-16 22:09:41 +0900

    Remove dependency on dtrace when building shared GC

commit db3472d84c0e348fd0774a122281b0d7e5bf6352
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-13 00:38:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-16 22:09:41 +0900

    Set `BUILDING_SHARED_GC` when building shared GC

commit e722f4c57f9d5d40dfd018206e121f36643dee66
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-16 15:58:03 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-07-16 18:41:42 +0900

    Stop using `sigsetjmp` to hijack SIGCHLD handler

    It already has been dead code.
    Follow up of 65d3eacc80bbefb29e5cd0f3f9661d886f2e4cee.

commit 6dd1ab0f9f52eb4bfba83688e697f845b29ab6be
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-07-16 15:59:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-16 15:59:05 +0900

    Update bundled gems list as of 2024-07-16

commit e048a073a3cba04576b8f6a1673c283e4e20cd90
  Author:     Shugo Maeda <shugo@ruby-lang.org>
  AuthorDate: 2024-06-12 11:35:53 +0900
  Commit:     Shugo Maeda <shugo.maeda@gmail.com>
  CommitDate: 2024-07-16 14:48:06 +0900

    Add MatchData#bytebegin and MatchData#byteend

    These methods return the byte-based offset of the beginning or end of the specified match.

    [Feature #20576]

commit a887b41875d00637064294be7059335599937f17
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-07-16 11:32:19 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-07-16 13:09:19 +0900

    static const char *type_name() implemented

    The function body was missing.

commit 963059a8d2a2ee7f973492c829ba663b538d9863
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-07-16 11:04:16 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-07-16 13:09:19 +0900

    fix compile error

commit 7a0e6f1d1233a7d1d3a54ca9ea7b12a05f4c7018
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-16 12:12:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-16 12:12:40 +0900

    Follow-up resolv and win32 integration

    https://github.com/ruby/resolv/pull/54

commit b01cf8ccdec705c09b90a6e6a9923c8bf87fca5a
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-07-16 11:40:26 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-07-16 11:40:50 +0900

    Fix a typo

    [Misc #20636]

commit a1435981e96c72d5ba0f3a4b7474dbc2173a9150
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-13 08:35:21 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-16 10:08:13 +0900

    [DOC] Document RbConfig::SIZEOF

commit 3531d2291890f7daebcaad4db734ce8aa201dd60
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-13 08:34:46 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-16 10:08:13 +0900

    [DOC] Document RbConfig::LIMITS

commit 9bf1049dfb37f18e37faebdc1662275a8bc1e917
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-13 08:32:38 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-16 10:08:13 +0900

    Refactor so RDoc picks up RbConfig::{SIZEOF,LIMITS}

commit e165d92d37ab1b32d505977d685993cba3131298
  Author:     nicholas a. evans <nick@rubinick.dev>
  AuthorDate: 2024-07-07 06:41:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-16 07:22:11 +0900

    [ruby/rdoc] Drop reimplementation of Ripper lex state
    (https://github.com/ruby/rdoc/pull/1118)

    * Drop reimplementation of Ripper lex state

    This code was for ruby 2.4 compatibility, but rdoc dropped support for
    ruby 2.4 about three years ago, in f480b970c.  This code was almost half
    of the lines of code in rdoc/parser/ripper_state_lex.

    * Remove unused Ripper constants and const_defined?

    This was mostly copied from the diff in @st0012's PR comment.  The
    remaining constants have been updated to get their value directly from
    Ripper.

    Co-authored-by: Stan Lo <stan001212@gmail.com>

    * Use Ripper::EXPR_LABEL directly

    Since this is only used from outside RipperStateLex, there's no longer
    any benefit to using the indirect reference rather than just going
    straight to Ripper.

    ---------

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

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 2911578ed7838ffaecbb4c7184f5db2a937fccbc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-16 04:03:54 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-16 04:03:54 +0900

    [PRISM] Add missing rescue tracepoint for rescue modifier

commit d989bc54e2f1b0bb577e068fce14da6b178b6b30
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-07-16 03:45:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-16 03:45:18 +0900

    YJIT: split chain_depth and flag booleans in context (#11169)

    Split these values to avoid using a bit mask in the context
    Use variable length encoding to save a few bits on chain depth

commit c06f79c57530d54b9ae05e13680bc79e661d5be0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-16 03:02:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-16 03:12:37 +0900

    [ruby/prism] Fix up implicit flags

    https://github.com/ruby/prism/commit/f4152c1f50

commit 8080de04be8e99e71309745822a9d436cc4ae37c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-16 01:00:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-16 03:04:25 +0900

    [PRISM] Optimize inner static literal hashes

commit c1e535844801c5a06f0e76181076c51bd3b5d189
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-16 00:35:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-16 03:04:25 +0900

    [PRISM] Optimize pushing large hash literals

commit b38493c572282d34a50f239c26e0a236e9c62aaf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-13 03:14:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-16 03:04:25 +0900

    [PRISM] Chunk sub-arrays of static literals in array literals

    Co-authored-by: Adam Hess <HParker@github.com>

commit fb6d54143d6c6a34db222748822974b94b03a8a8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-13 02:38:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-16 03:04:25 +0900

    [PRISM] Optimizations for compiling large arrays

commit 2245f278d3f4be1644c599218d2d4f73051cc6d8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-12 22:49:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-16 00:28:00 +0900

    Remove unused ruby_initial_gc_stress

commit ec773e15f472ae2fe655529ea646d8fb2a4f0919
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-07-15 23:56:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-15 23:56:57 +0900

    YJIT: Local variable register allocation (#11157)

    * YJIT: Local variable register allocation

    * locals are not stack temps

    * Rename RegTemps to RegMappings

    * Rename RegMapping to RegOpnd

    * Rename local_size to num_locals

    * s/stack value/operand/

    * Rename spill_temps() to spill_regs()

    * Clarify when num_locals becomes None

    * Mention that InsnOut uses different registers

    * Rename get_reg_mapping to get_reg_opnd

    * Resurrect --yjit-temp-regs capability

    * Use MAX_CTX_TEMPS and MAX_CTX_LOCALS

commit 461a7b8316c9a061a3f9e14c5ef86490b02848ba
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-12 22:34:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-15 21:57:14 +0900

    Add gc/gc.h for functions in gc.c and used by GC implementations

commit 4b0244a1f3a0612b4f3c1162b79f621bac3944e0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-12 22:29:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-15 21:57:14 +0900

    Rename GC_IMPL_H macro to GC_GC_IMPL_H

commit 3219ecf4f659908674f534491d8934ba54e1143d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-15 12:08:46 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-07-15 16:34:23 +0900

    Win32: Skip check for VS2022 FP BUG by default

commit 8ade9994bffddfd7cb3c0c4d517448620ac3727f
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-15 04:02:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-15 04:02:00 +0900

    Release GVL around system calls in dir.c

    * Release GVL for fdopendir calls
    * Release GVL for readdir calls
    * Release GVL for chdir call in dir_chdir0
    * Release GVL for fchdir call in dir_fchdir
    * Release GVL for chroot calls
    * Release GVL for lstat calls
    * Release GVL for stat calls
    * Release GVL for fstatat calls
    * Release GVL for getpwnam call in rb_home_dir_of
      (technically in file.c, but called from dir.c)

    This does not release GVL for readdir/stat/lstat on Windows,
    as that causes issues because the emulation functions that
    are called in win32.c require the GVL.

    This also removes some explicit casts either to or from void *,
    which are allowed implicitly.  The remaining casts to or from
    void * are part of function pointer casts, which are not
    allowed implicitly and will generate a warning.

commit 949573028b127931cb034a2928ef80a59c45ea43
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-14 19:18:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-14 19:18:09 +0900

    Win32: OpenSSL 1.1 DLLs are no longer used

    We are already using OpenSSL 3.3 and have no possibility to use system
    provided DLLs.

commit 880b7f15139c0676fda489599e104c6a7c698d59
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-14 19:09:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-14 19:09:13 +0900

    Win32: Pass triplet option to vcpkg

commit 7472fff7f1b5296fbfcde0e2b7411a1d87781f3f
  Author:     kimuraw (Wataru Kimura) <kimuraw@i.nifty.jp>
  AuthorDate: 2024-07-14 10:36:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-14 10:36:35 +0900

    [Bug #20633] Fix the condition for `atomic_signal_fence`

    `AC_CHECK_DECLS` defines `HAVE_DECL_SYMBOL` to 1 if declared, 0
    otherwise, not undefined.

commit 84138f52b87628a6262224baf25278b583820392
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-12 23:54:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-12 23:54:48 +0900

    [DOC] Add missing period in NEWS.md

commit 17b71e6c2e530ad258943ceb442abf0343bc3e12
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-12 23:53:25 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-12 23:53:25 +0900

    [DOC] Fix link in NEWS.md for [Feature #20443]

commit 6298667ff55126106dad8448096de3ed975f6644
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-12 22:27:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 22:50:00 +0900

    [ruby/prism] When parsing an invalid write, still add to the local table

    https://github.com/ruby/prism/commit/a54abc4d1b

commit ca99f86bd6157a3268a63ba36bda49c140428752
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-07-12 20:13:13 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-07-12 22:43:33 +0900

    Add GC.config to NEWS.md

commit 8418df72ec33b2824c8e6f57b06fae64bf35288e
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-07-12 20:03:26 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-07-12 22:43:33 +0900

    Avoid extra module linkage in gc/default.c

    We don't need to use rb_str_to_cstr here, which means we don't need to
    include string headers anymore.

commit 3ccc6e0b6a1a50c5742265cd4066dd04211da5d4
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-07-12 05:17:59 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-07-12 22:43:33 +0900

    Document GC.config

commit 4d77803a66f1bc8559094fd44716fc3bdc16dc5b
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-07-12 00:10:20 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-07-12 22:43:33 +0900

    Rename full_mark -> rgengc_allow_full_mark

commit f543c68e1ce4abaafd535a4917129e55f89ae8f7
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-07-04 23:21:09 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-07-12 22:43:33 +0900

    Provide GC.config to disable major GC collections

    This feature provides a new method `GC.config` that configures internal
    GC configuration variables provided by an individual GC implementation.

    Implemented in this PR is the option `full_mark`: a boolean value that
    will determine whether the Ruby GC is allowed to run a major collection
    while the process is running.

    It has the following semantics

    This feature configures Ruby's GC to only run minor GC's. It's designed
    to give users relying on Out of Band GC complete control over when a
    major GC is run. Configuring `full_mark: false` does two main things:

    * Never runs a Major GC. When the heap runs out of space during a minor
      and when a major would traditionally be run, instead we allocate more
      heap pages, and mark objspace as needing a major GC.
    * Don't increment object ages. We don't promote objects during GC, this
      will cause every object to be scanned on every minor. This is an
      intentional trade-off between minor GC's doing more work every time,
      and potentially promoting objects that will then never be GC'd.

    The intention behind not aging objects is that users of this feature
    should use a preforking web server, or some other method of pre-warming
    the oldgen (like Nakayoshi fork)before disabling Majors. That way most
    objects that are going to be old will have already been promoted.

    This will interleave major and minor GC collections in exactly the same
    what that the Ruby GC runs in versions previously to this. This is the
    default behaviour.

    * This new method has the following extra semantics:
      - `GC.config` with no arguments returns a hash of the keys of the
        currently configured GC
      - `GC.config` with a key pair (eg. `GC.config(full_mark: true)` sets
        the matching config key to the corresponding value and returns the
        entire known config hash, including the new values. If the key does
        not exist, `nil` is returned

    * When a minor GC is run, Ruby sets an internal status flag to determine
      whether the next GC will be a major or a minor. When `full_mark:
      false` this flag is ignored and every GC will be a minor.

      This status flag can be accessed at
      `GC.latest_gc_info(:needs_major_by)`. Any value other than `nil` means
      that the next collection would have been a major.

      Thus it's possible to use this feature to check at a predetermined
      time, whether a major GC is necessary and run one if it is. eg. After
      a request has finished processing.

      ```ruby
      if GC.latest_gc_info(:needs_major_by)
        GC.start(full_mark: true)
      end
      ```

    [Feature #20443]

commit 00d0ddd48aceb36326bd18d5a237071adfb69525
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-11 23:24:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-12 21:41:33 +0900

    Add gc/gc_impl.h for GC implementation headers

commit 17a4c7cfcf13de5be02338467791f0c953a40f3c
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-07-12 21:21:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 21:21:26 +0900

    [ruby/reline] Fix rendering bug of nomultiline prompt
    (https://github.com/ruby/reline/pull/730)

    Fix bug of `print('a'*10); Reline.readline('>')` wrong rendering

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

commit 94b87084a689a3bc732dcaee744508a708223d6c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2015-12-27 01:59:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 18:45:06 +0900

    [ruby/win32ole] win32ole.c: repeated code

    * ext/win32ole/win32ole.c (ole_variant2val): reduce repeated code
      between byref and byval.

    https://github.com/ruby/win32ole/commit/e753c6abdd

commit bb1ef817328526b04f3c38a760bc9a1197f1f828
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-07-12 15:10:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 15:26:53 +0900

    [ruby/error_highlight] Make test_COLON2_5 conditional again

    https://github.com/ruby/error_highlight/commit/da5e76bb06

commit 371055979f4e367e90d7af4140e92fd3824bce2a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-12 12:35:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-12 13:38:22 +0900

    Pend some tests because these are not working with macOS 15 beta and Xcode 16 beta

commit fa6bf1da576430c1db0ff1d68fb9b5992a1d71c8
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-07-11 11:45:10 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-07-12 10:21:07 +0900

    give up USE_GC_MALLOC_OBJ_INFO_DETAILS

    This feature is no longer possible under current design; now that our GC
    is pluggable, we cannot assume what was achieved by this compiler flag
    is always possble by the dynamically-loaded GC implementation.

commit 9acc0efdc158111f2e5737ba9f51caaf491abf51
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-12 09:15:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-12 09:15:12 +0900

    Use fixture certificates to fix test failure with RHEL9.

    http://rubyci.s3.amazonaws.com/rhel9/ruby-master/log/20240711T213004Z.fail.html.gz

    ```
      1) Error:
    HTTPSProxyTest#test_https_proxy_ssl_connection:
    OpenSSL::X509::CertificateError: invalid digest
        /home/chkbuild/chkbuild/tmp/build/20240711T213004Z/ruby/test/net/http/test_https_proxy.rb:63:in 'OpenSSL::X509::Certificate#sign'
        /home/chkbuild/chkbuild/tmp/build/20240711T213004Z/ruby/test/net/http/test_https_proxy.rb:63:in 'HTTPSProxyTest#test_https_proxy_ssl_connection'
    ```

commit 6fc83118bbb03c049e470cf27dbf1e87654e6942
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-12 03:09:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-12 04:49:14 +0900

    Fix Makefile.in for non GNUmake

    On OpenBSD the Makefile errors with:

        Using $< in a non-suffix rule context is a GNUmake idiom

commit cfaa3e9311d4b802f5d316416f13d4ec6b1ab659
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-12 00:15:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 04:46:51 +0900

    [ruby/prism] Bump typecheck dependencies to fix CI

    https://github.com/ruby/prism/commit/c7a4a90ee8

commit 21b4c14971fab7cb517b6af243e058b0363e5f3f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-11 23:30:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 04:46:50 +0900

    [ruby/prism] (ruby_parser) Handle bare string in implicit concat

    https://github.com/ruby/prism/commit/afc7c9344a

commit 3c3be9c6b230bcc77bbdf26996b31adc584b9698
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-11 23:23:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 04:46:50 +0900

    [ruby/prism] (ruby_parser) Match match3 nodes for regular expressions

    https://github.com/ruby/prism/commit/47cb73ce69

commit 4c696597b729197df3a1b695e079e22d5ab0c7c2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-11 23:17:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 04:46:49 +0900

    [ruby/prism] (ruby_parser) Reverse associativity of and and or nodes

    https://github.com/ruby/prism/commit/073e8ba307

commit 43aee3393d70f8893e312b38a9a30c1dba295c41
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-07-11 05:59:14 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-12 04:43:14 +0900

    fix `defined?(@ivar)` with Ractors

    `defined?(@ivar)` on the non main Ractor has two issues:

    1. raising an exception

    ```ruby
    class C
      @iv1 = []
      def self.defined_iv1 = defined?(@iv1)
    end

    Ractor.new{
      p C.defined_iv1
      #=> can not get unshareable values from instance variables of classes/modules from non-main Ractors (Ractor::IsolationError)
    }.take
    ```

    -> Do not raise an exception but return `"instance-variable"` because
    it is defined.

    2. returning `"instance-variable"` if there is not defined.

    ```
    class C
      # @iv2 is not defined
      def self.defined_iv2 = defined?(@iv2)
    end

    Ractor.new{
      p C.defined_iv2 #=> "instance-variable"
    }.take
    ```

    -> returns `nil`

commit ef563a696db983fe21a259dac38e5bec201d6b9a
  Author:     Ivo Anjo <ivo.anjo@datadoghq.com>
  AuthorDate: 2024-07-11 23:37:53 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-12 04:18:40 +0900

    Minor: Fix typo in bug name

    This confused me for a few minutes -- the testcase for
    https://bugs.ruby-lang.org/issues/14834 was mistyped in the file name,
    as well as once in the source.

    E.g. in some cases it was
    `one-four-three-eight-four` instead of
    `one-four-eight-three-four`.

commit a58e3305ce62b229f62fb67ab56a67d5def3f67b
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-07-12 04:17:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-12 04:17:40 +0900

    YJIT: remove doc/yjit/yjit_hacking.md (#11153)

    Document is 3 years old and out of date

commit 3fbf9df39ad9c9338a2f9b94b4dd87c1c446ec95
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-07-12 04:01:05 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-12 04:01:05 +0900

    YJIT: increase context cache size to 1024 redux (#11140)

    * YJIT: increase context cache size to 1024 redux

    * Move context hashing code outside of unsafe block

    * Avoid allocating large table on the stack, which would cause a stack overflow

    Co-authored by Alan Wu @XrXr

commit 1f6aeadc824ad597aa7ad8ab2ddb554f448147ac
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-12 02:05:14 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [PRISM] Fix Windows 2015 segfault

commit ac093f5a06aa3ab2280c7914888f22332cca8400
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-12 01:25:37 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [PRISM] Fix up shareable constant casting

commit c1df15c3e69201ed01c1b902de8c9302740899eb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-04 04:57:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [PRISM] Use node ids for error highlight

commit 0006fb1e9e30add81ca8644c633c548f3b239796
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-04 04:15:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [PRISM] Revert incorrectly merged gemfile

commit be4589df8051262eaeb0f6e58dbe99c263a20cde
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-06-21 06:30:12 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Prevent optional block parameter from accepting certain prefixed values

    This commit prevents the following unary operators from being accepted
    as the value prefix of a block's optional parameter:

    - `+`
    - `-`
    - `~`
    - `!`

    For example, `f { |a = +b| }` will now raise a syntax error.

    https://github.com/ruby/prism/commit/3024bee60c

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit aa473489a2ff5e5ed6d3536466e6108539c97a8b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-04 00:23:17 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Various cleanup for initializers and typechecks

    https://github.com/ruby/prism/commit/86cf82794a

commit 2bf9ae3fa1b5dec1c63176f39db84d697ede3581
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-03 23:42:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Add node ids to nodes

    https://github.com/ruby/prism/commit/bf16ade7f9

commit 39dcfe26ee55919c3277a59884592a0ebe0aee6a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-03 21:50:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Move Node#type and Node::type documentation

    https://github.com/ruby/prism/commit/08a71f6259

commit 32090e2b8d4bd1c0ddfd6b4ee82927e935534eed
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-03 21:42:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Add Node#breadth_first_search

    https://github.com/ruby/prism/commit/1ffb141199

commit aca42a24783e3a7d17eafb43a031e397bfb70323
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-03 04:52:35 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Expose common flags in inspect output

    https://github.com/ruby/prism/commit/d0143865c2

commit 687be43c79a6fb119e52b09ea561cf958a9aabf2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-03 04:43:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Expose flags on every node type

    https://github.com/ruby/prism/commit/9f12a56fd6

commit ca48fb76fb0669ca0666a7aa129e1f5d2b7468da
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-03 03:27:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Move location to second position for node initializers

    https://github.com/ruby/prism/commit/4cc0eda4ca

commit 678dd769e560db9cebff41218e3413e6688aaf12
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-03 01:23:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Reconfigure error tests

    https://github.com/ruby/prism/commit/fb7e1ebb7f

commit c0ad0c3e43816688c72dbb93a7a49e39c87082f5
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-07-12 02:02:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-12 02:02:01 +0900

    Update yjit.md, explain how to run a single test with test-all (#11151)

commit 9962e395470007a92e8b53942f597793f40ff0bc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-10 22:29:58 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-12 00:38:00 +0900

    Make shared GC job in ubuntu.yml use a shared GC

commit d0dfd963afbef617a4e6989935c62734c4e6e3f8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-10 22:29:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-12 00:38:00 +0900

    Remove SHARED_GC job from compilers.yml

    It's a duplicate of the one in ubuntu.yml

commit c698180e68a0f417415cd087efc303931af3bb3e
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2019-08-17 01:12:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 00:25:17 +0900

    [ruby/logger] Add reraise_write_errors keyword argument to Logger and LogDevice

    This allows the user to specify exception classes to treat as regular
    exceptions instead of being swallowed.  Among other things, it is
    useful for having Logger work with Timeout.

    Fixes Ruby Bug 9115.

    https://github.com/ruby/logger/commit/436a7d680f

commit a0469a4788d1153cbc25860d82140425763c2571
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-10 00:01:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-11 22:09:47 +0900

    Rename gc/gc_impl.c to gc/default.c

    Changing the name makes it clear that this is the default GC in Ruby.

commit e5d12f9cce913d0677e3bd5135e1a6ffc2b1a272
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-09 23:54:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-11 22:09:47 +0900

    Move gc_impl.c to gc/gc_impl.c

    This commit creates a new directory `gc` to put different GC
    implementations and moves the default GC from gc_impl.c to gc/gc_impl.c.
    The default GC can be easily switched using the `BUILTIN_GC` variable
    in Makefile.in.

commit e1a034cb9617d76a5ab7fb1345615c08998b2ba7
  Author:     Jeremy Daer <jeremydaer@gmail.com>
  AuthorDate: 2024-07-11 17:03:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-11 17:03:14 +0900

    IBM864 single-byte transcoding (#10518)

    Include € euro sign from CCSID 864

commit a1f74325509cffaafe82edc6eda987a70840883b
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-07-11 15:59:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 15:59:45 +0900

    Update bundled gems list as of 2024-07-10

commit 3de0e343e27c4bbb76c3c9fda0d8be4d83807a2d
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-06-24 22:18:14 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-07-11 14:39:50 +0900

    Do not warn about extra `format` argument when passed as keywords

    [Bug #20593]

    It's fairly common to use `format` to interpolate a number of values
    into a user provided strings.

    The arguments not matching are a problem when they are positional,
    but when they are named, it's absolutely fine and we shouldn't
    emit a warning.

commit 72732af47eeedbca304e39c3b8c3820ed19c6d81
  Author:     João Pinheiro <joao.castropinheiro@gmail.com>
  AuthorDate: 2024-03-10 00:58:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 13:49:59 +0900

    [ruby/open-uri] document max_redirects option

    https://github.com/ruby/open-uri/commit/4a247e5ca1

commit e62a0126cd3b4794a9cc5a7e40a237e1f7cec3b9
  Author:     João Pinheiro <joao.castropinheiro@gmail.com>
  AuthorDate: 2024-03-10 00:57:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 13:49:59 +0900

    [ruby/open-uri] apply default max_redirects

    https://github.com/ruby/open-uri/commit/5d29e626bc

commit e1238a1faba5cbb7975d08963bf0bfa50a96d2b0
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-07-11 11:46:23 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-11 12:28:23 +0900

    Enumerable#all?: Stop optimizing when a given block is not optimizable

    This is a follow up to 182822683f86c8f8d63b05765addf5a04d112aa2.

    Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org>

commit 6dc0086d2046506d838b9de41cb12a4aadec58d1
  Author:     Dmitriy Ivliev <3938172+moofkit@users.noreply.github.com>
  AuthorDate: 2024-07-10 23:09:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 11:27:46 +0900

    [rubygems/rubygems] fix s3 source configuration issue

    https://github.com/rubygems/rubygems/commit/356726bd1a

commit bc1b4235fb0b859122ae15b865bf1a15e7d2050f
  Author:     Evgeni Golov <evgeni@golov.de>
  AuthorDate: 2022-05-09 22:04:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 10:56:08 +0900

    [ruby/net-http] implement talking SSL to the proxy too

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

    https://github.com/ruby/net-http/commit/ae2d83f88b

commit 70bdc0f777f9c2fe7bcee8bbab7b510589c28f93
  Author:     fatkodima <fatkodima123@gmail.com>
  AuthorDate: 2024-05-14 07:53:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 10:51:03 +0900

    [ruby/net-http] Add ability to configure default settings for new connections

    https://github.com/ruby/net-http/commit/fed3dcd0c2

commit 9f4b45fbf7981a57fd82436ebec8a50ec3d3fdc9
  Author:     MSP-Greg <Greg.mpls@gmail.com>
  AuthorDate: 2024-06-21 09:33:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 10:22:10 +0900

    [ruby/net-http] test_https.rb - fix test_session_reuse_but_expire

    https://github.com/ruby/net-http/commit/5544243c41

commit d605fb54cf7ec8bb6ee5ca7843980f710d1fdb5a
  Author:     MSP-Greg <Greg.mpls@gmail.com>
  AuthorDate: 2023-11-27 02:49:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 10:10:08 +0900

    [ruby/net-http] net/http.rb - derive SSL_IVNAMES from SSL_ATTRIBUTES

    https://github.com/ruby/net-http/commit/7191bb923b

commit 9a5e3a4007b0087a2daac303e7aa3f9aa15c140b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-11 08:37:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-11 09:23:16 +0900

    Removed WEBrick and that tests

    We can handle uri, time and others without `make test-all` dependencies now.

commit bfba96a106ca4fd1323955974574ea402151270e
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-06-19 07:41:45 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-11 08:38:06 +0900

    Avoid a hash allocation when keyword splatting empty hash when calling ruby2_keywords method

    Treat this similar to keyword splatting nil, using goto ignore.
    However, keep previous behavior if the method accepts a keyword
    splat, to avoid double hash allocation.

    This also can avoid an array allocation when calling a method
    that doesn't have any splat parameters but supports literal
    keyword parameters, because ignore_keyword_hash_p was not
    ignoring the keyword hash in that case.

    This change doesn't remove the empty ruby2_keywords hash from
    the array, which caused an assertion failure if the method
    being called accepted keywords in some cases.  Modify the
    assertion to handle this case.  An alternative approach would
    add a flag to the args struct so the args_argc calculation could
    handle this case and report the correct argc, but such an approach
    would likely be slower.

commit 840f7ebfde7232a818dd1ebb7efd073b6f883a05
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-10 20:02:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:10 +0900

    [ruby/net-http] Commented out unfinished chunked test

    https://github.com/ruby/net-http/commit/6376592cb4

commit 492b505d95440a5493d675002bebaeae550b43cd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-10 19:41:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:10 +0900

    [ruby/net-http] Removed needless warning

    https://github.com/ruby/net-http/commit/d867edc0fe

commit b11aba503b6ecdfeea7ebbb06c0416c4d081c2ec
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-10 19:32:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:09 +0900

    [ruby/net-http] Split POST test because new dummy server can't handle continuouse POST request

    https://github.com/ruby/net-http/commit/54a99b9f0c

commit e77bc17e5d11e54b14e8122fffc17e1637aa600e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-10 17:12:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:09 +0900

    [ruby/net-http] Write log after server start, not handling request

    https://github.com/ruby/net-http/commit/205bac757a

commit 6428536146bd8910b2f1b8d4fcd20b1c22673e1f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-10 17:09:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:08 +0900

    [ruby/net-http] Split test class because TCPServer couldn't accept localhost and 127.0.0.1 both

    https://github.com/ruby/net-http/commit/749a1b3197

commit 4e6463ad7a56d7cf55726ff913129790b942ffb9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-10 17:00:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:08 +0900

    [ruby/net-http] Support chunked data and fixed test failure with multipart/form-data

    https://github.com/ruby/net-http/commit/b38c2795a9

commit 87a45af1050c07bccf09cb03eb1ce420b62baede
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-10 12:10:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:07 +0900

    [ruby/net-http] Removed server-side log test

    https://github.com/ruby/net-http/commit/9c16c383ce

commit 5e6f04abc82baed200a554950ecd57ba74a4bd29
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-10 10:23:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:07 +0900

    [ruby/net-http] Fix wrong hostname with test_max_version test

    https://github.com/ruby/net-http/commit/f00d198433

commit c7eb9ac6f96edec97332b473432261490b48ea26
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-09 17:44:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:06 +0900

    [ruby/net-http] Rewrite WEBrick server with TCPServer and OpenSSL::SSL::SSLServer

    https://github.com/ruby/net-http/commit/b01bcf6d7f

commit 0ee3960685e283d8e75149a8777eb0109d41509a
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-06-20 03:27:01 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-11 06:45:38 +0900

    Eliminate array allocations for single splat followed by mutable keywords

    For calls such as:

      m(*ary, a: 2, **h)
      m(*ary, **h, **h, **h)

    Where m does not take a positional argument splat, there was previously
    an array allocation (splatarray true) to dup ary, even though it was not
    necessary to do so.  This is because the elimination of the array allocation
    (splatarray false) was performed in the optimizer, and the optimizer didn't
    handle this case, because the instructions for the keywords can be of
    arbitrary length.

    Move part of the optimization from the optimizer to the compiler,
    detecting parse trees of the form:

      ARGS_PUSH:
        head: SPLAT
        tail: HASH (without brace)

    And using splatarray false instead of splatarray true for them.

    Unfortunately, moving part of the optimization to the compiler broke
    the hash allocation elimination optimization for calls of the
    form:

      m(*ary, a: 2)

    That's because the compiler had already set splatarray false,
    and the optimizer code was looking for splatarray true.

    Split the array allocation elimination and hash allocation
    elimination in the optimizer so that the hash allocation
    elimination will still apply if the compiler performs the
    splatarray false optimization.

commit 48e7112baaf338fa350f68f0386e05085d26606c
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-07-11 04:45:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-11 04:45:23 +0900

    YJIT: increase context cache size to 1024 (#10983)

    * YJIT: increase context cache size to 1024

    The other day I ran into a mysterious bug while increasing the
    cache size to 1024. I was not able to reproduce this locally.
    Opening this PR for testing/debugging.

    * Add extra debug assertions

    * Add more comments to context code

    * Update yjit/src/core.rs

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

    * Update yjit/src/core.rs

    * Comment out potentially problematic assertion

    * Revert cache size to 512 so we can merge other changes

    ---------

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

commit 52a0dfd4bfe3a307c8b5efe2675134457684c062
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-11 00:24:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-11 03:28:10 +0900

    Revert all changes to dln.c, dmydln.c, dln.h for the shared GC

commit 64988e66d7704bf8e3eb21607df9afd675d5f016
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-11 00:17:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-11 03:28:10 +0900

    Allow miniruby to load shared GC

    Since dln.c is replaced with dmydln.c for miniruby, we cannot load shared
    GC for miniruby. This means that many tests do not have the shared GC
    loaded and many tests fail because of the warning that emits in miniruby.

    This commit changes shared GC to directly use dlopen for loading the
    shared GC.

commit 623eecce99fa796222096d290e55ff08b4c3cf9d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-10 22:21:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-10 22:21:12 +0900

    Use absolute path for shared_gc_dir

commit 133fec4ce933e5a37de84c9c002bb998b4d8acb2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-09 01:21:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 17:04:07 +0900

    [rubygems/rubygems] Fix another strange error when running `bundle add` in frozen mode

    If there's a lockfile, but it's out of sync with the Gemfile because a
    dependency has been deleted, and frozen mode is set, Bundler will print
    the following strange error:

    ```
    $ bundle add rake
    , but the lockfile can't be updated because frozen mode is set

    You have deleted from the Gemfile:
    * rake (~> 13.2)

    Run `bundle install` elsewhere and add the updated Gemfile to version control.
    ```

    This commit changes the error to:

    ```
    Some dependencies were deleted from your gemfile, but the lockfile can't be updated because frozen mode is set

    You have deleted from the Gemfile:
    * rake (~> 13.2)

    Run `bundle install` elsewhere and add the updated Gemfile to version control.
    ```

    https://github.com/rubygems/rubygems/commit/452da4048d

commit 7e612b7414280c49ccc633cdf392f61e7acf2970
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-09 01:02:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 17:04:07 +0900

    [rubygems/rubygems] Fix strange error when running `bundle add` with frozen mode set

    If Gemfile is empty and there's no lockfile (situation after `bundle init`), and
    `frozen` is configured, running `bundle add` will result in an strange
    error, like this:

    ```
    $ bundle add rake
    , but the lockfile can't be updated because frozen mode is set

    You have deleted from the Gemfile:
    * rake (~> 13.2)

    Run `bundle install` elsewhere and add the updated Gemfile to version control.
    ```

    This commit fixes the problem to instead print

    https://github.com/rubygems/rubygems/commit/152331a9dc

commit 182822683f86c8f8d63b05765addf5a04d112aa2
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-07-09 18:30:03 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-10 13:00:47 +0900

    Use rb_block_call2 for some Enumerable methods

    Enumerable#all?, #any?, #one?, and #none? do not use yielded arguments
    as an Array. So they can use rb_block_call2 to omit array allocatoin.

    Enumerable#find does not have to immediately accept yielded arguments as
    an Array. It can delay array allocation until the predicate block
    returns truthy.

    (TODO: Enumerable#count and #find_all seem to be optimizable as well.)

commit 114e32b35796ca546f429ee3295607a127d7e519
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-07-09 18:27:02 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-10 13:00:47 +0900

    Add rb_block_call2, a flexible variant of rb_block_call

    This function accepts flags:

    RB_NO_KEYWORDS, RB_PASS_KEYWORDS, RB_PASS_CALLED_KEYWORDS:
    Works as the same as rb_block_call_kw.

    RB_BLOCK_NO_USE_PACKED_ARGS:
    The given block ("bl_proc") does not use "yielded_arg" of rb_block_call_func_t.
    Instead, the block accesses the yielded arguments via "argc" and "argv".
    This flag allows the called method to yield arguments without allocating an Array.

commit 77b12a8aaf40678dd6cfea29ae27b92b3718ae0a
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-07-10 10:48:53 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-07-10 12:15:35 +0900

    GC_DEBUG is always defined

    `#ifdef` is inadequate.

commit c49eda91bf9139b33d01584bb1524e2ac3278101
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-07-10 10:34:54 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-07-10 12:15:35 +0900

    rb_source_location_cstr is banned in this file

    Raison d'etre du gc_impl.c is to purge any internal constructs and rely
    solely on our public APIs. rb_source_location_cstr is not public.

commit 1f15149e98796800f229f1bea7770d253fab5532
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-07-10 09:33:14 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-07-10 12:15:35 +0900

    rb_gc_obj_slot_size is banned in this file

    Raison d'etre du gc_impl.c is to purge any internal constructs and rely
    solely on our public APIs. rb_gc_obj_slot_size is not public.

commit 6f6aff56b11d7f3df9b446b9399cc546875e07f5
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-07-09 03:10:11 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-10 02:22:29 +0900

    Don't shrink array in `ary_make_shared`

    This change adds back the assertions removed in #11092 and removes the
    call to `ary_shrink_capa` from `ary_make_shared` when the array is
    frozen.

commit c1ff8d519fafd9a91d056434dbce8e5beab1da4a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-10 02:14:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-10 02:14:28 +0900

    Fix grammar of ruby_shared_gc.m4

commit 140d8318dbafe2c7c112651389da0b3ef4fd8424
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-05 01:22:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 01:34:09 +0900

    [rubygems/rubygems] Fix generic platform gems getting incorrectly removed when locked for a specific platform

    If they are already in the lockfile as the most specific variant for a
    platform, we shouldn't change that unless explicitly unlocking.

    https://github.com/rubygems/rubygems/commit/a901660498

commit e6c7a309d00839ef2b583b736654d9b9bee957d0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-04 22:48:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 01:34:09 +0900

    [rubygems/rubygems] Refactor selecting specs from a SpecSet

    https://github.com/rubygems/rubygems/commit/bcbbff5149

commit dd05191bc35e06f82311fc630c3cc917595e2b71
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-04 20:55:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 01:34:08 +0900

    [rubygems/rubygems] Resolve all platforms directly

    Instead of having to do a complete pass after resolve.

    To do this, we add to the ruby group all the platform specs with the
    same dependencies as the ruby specs.

    https://github.com/rubygems/rubygems/commit/e50415f2a6

commit 00acc703483021d7bcc0a0bc284c29acec199cd2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-04 20:18:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 01:34:08 +0900

    [rubygems/rubygems] Don't memoize sorted_spec_names

    It's just for debugging and a simple method, so no need.

    https://github.com/rubygems/rubygems/commit/3230425a9a

commit 086cde1651902abb758184f1eadbbfb367b2fedf
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-04 03:17:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 01:34:07 +0900

    [rubygems/rubygems] Instantiate `Resolver::SpecGroup` with explicit priority

    https://github.com/rubygems/rubygems/commit/e2c1bc1b6c

commit 5fdfdc30f155ac41f865d4a0ae9ee37f1371fd7f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-05 05:09:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 01:34:07 +0900

    [rubygems/rubygems] Let resolver consider unique specs from the beginning

    It results in more consistent error messages.

    https://github.com/rubygems/rubygems/commit/a4b34361cc

commit a333e867aa24a37bf962e7d1b941078790a75efd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-05 19:46:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 01:34:06 +0900

    [rubygems/rubygems] Fix spec to also pass outside of Linux

    https://github.com/rubygems/rubygems/commit/fc8c853345

commit 1d97c46b35f1299bd1718728a4ece0211fdf34b2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-05 22:37:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-09 23:43:18 +0900

    [rubygems/rubygems] Minor Bundler spec improvements

    While working on something else I noticed:

    * Usage of uppercased "RUBY" and "JAVA" as platforms, when those don't
      really exist.
    * Usage of some test gems with "1.0" as gemspec version and "1.0.0" as
      actual version.

    This commit fixes both inconsistencies to make things more expectable.

    https://github.com/rubygems/rubygems/commit/e3ec32e247

commit 30b9912bb71ce1fcee2cd31b7ccf9513f4e4fef0
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-07-09 22:43:07 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-09 22:43:07 +0900

    [DOC] Doc for Float#ceil (#11125)

commit ab3fa8dece76bd9e5db03af885d411ddd7089651
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-09 08:38:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-09 21:55:58 +0900

    [DOC] Use backticks instead of HTML tags

commit 5de6d0b35f17520ada1c2e9433022827b14d780e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-09 08:32:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-09 21:55:58 +0900

    [DOC] Fix granularity calculation

    The granularity is calculated as `10 ** ndigits.abs` rather than
    `ndigits.abs * 10`. For example, if `ndigits` is `-2`, it should be
    `10 ** 2 == 100` rather than `2 * 10 == 20`.

commit ad6b2e89851dd31f10f91aca408681ba39c23ede
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-05 22:48:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-09 20:26:10 +0900

    [rubygems/rubygems] Test using latest rubies

    https://github.com/rubygems/rubygems/commit/6d6646b8bc

commit f9004fc8aa8ce62b5e1e5228b1c73ec5c5d52147
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-09 16:39:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-09 18:09:14 +0900

    [rubygems/rubygems] Suppress SSLError warning because it's only for debugging.

    http://ci.rvm.jp/logfiles/brlog.trunk.20240709-010435#L1554

    https://github.com/rubygems/rubygems/commit/a1a46f413b

commit e09df574272035b792ee3e58576fb29c24863d14
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-09 16:24:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-09 16:27:48 +0900

    [ruby/open-uri] Try Windows tests again

    https://github.com/ruby/open-uri/commit/50f265ba29

commit 5d82abdfc86f9ccbd61df4bae17826d01386b575
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-09 15:38:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-09 16:21:55 +0900

    Removed duplicate server thread

commit e62ac3aac7003c75aca8c3a2230c7c93898fd581
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-09 07:42:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-09 16:21:55 +0900

    Reapply "Reverts related commits with https://github.com/ruby/open-uri/pull/37"

    This reverts commit 02c4f0c89db3689c5272f00c548ca3008120459b.

commit 690b56440beaa32873a8311451033bb4bd34e94c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-09 13:01:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-09 13:01:44 +0900

    Use `File.write` instead of `Kernel#open`

commit e500222de1a8d5e7a844209a7e912b03db8cdf76
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-07-09 06:00:04 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-09 06:43:28 +0900

    fix last commit

    `th` is gone.

commit ffc69eec0a5746d48ef3cf649639c67631a6a609
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-04-28 07:19:09 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-09 05:57:03 +0900

    `struct rb_thread_sched_waiting`

    Introduce `struct rb_thread_sched_waiting` and `timer_th.waiting`
    can contain other than `rb_thread_t`.

commit a9f6bd028af5e91efbba59dd1cb542c5f40aee91
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-06 04:02:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-09 05:47:25 +0900

    Add make target shared-gc

    Allows building shared GC using `make shared-gc SHARED_GC=gc_impl`

commit 3be9ce3cf61e8396ecc3eea6169a2fd1a2c2bfea
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-09 05:02:30 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-09 05:02:30 +0900

    YJIT: `dump-disasm`: Print comments and bytes in release builds

    This change implements a fallback mode for the `--yjit-dump-disasm`
    development command-line option to make it usable in release builds.
    Previously, using the option with release builds of YJIT yielded only
    a warning asking the user to build with `--enable-yjit=dev`.

    While builds that use the `disasm` feature still give the best output,
    just having the comments is useful enough for many kinds of debugging.
    Having it usable in release builds is nice for new hackers, too, since
    this allows for tinkering without having to learn how to build YJIT in
    development mode.

    Sample output on A64:

    ```
      # regenerate_branch
      # Insn: 0001 opt_send_without_block (stack_size: 1)
      # guard known object with singleton class
      0x11f7e0034: 4b 00 00 58 03 00 00 14 08 ce 9c 04 01 00 00
      0x11f7e0043: 00 3f 00 0b eb 81 06 01 54 1f 20 03 d5
      # RUBY_VM_CHECK_INTS(ec)
      0x11f7e0050: 8b 02 42 b8 cb 07 01 35
      # stack overflow check
      0x11f7e0058: ab 62 02 91 7f 02 0b eb 69 07 01 54
      # save PC to CFP
      0x11f7e0064: 0b 3b 9a d2 2b 2f a0 f2 0b 00 cc f2 6b 02 00
      0x11f7e0073: f8 ab 82 00 91
    ```

    To ensure this feature doesn't incur too much cost when running without
    the `--yjit-dump-disasm` option, I checked that there is no significant
    impact to compile time and memory usage with the `compile_time_ns` and
    `yjit_alloc_size` entry in `RubyVM::YJIT.runtime_stats`. For each
    sample, I ran 3 iterations of the `lobsters` YJIT benchmark. The
    statistics summary and done with the `summary` function in R.

    Compile time, sample size of 60, lower is better:

    ```
           Before              After
     Min.   :2.054e+09   Min.   :2.028e+09
     1st Qu.:2.069e+09   1st Qu.:2.044e+09
     Median :2.081e+09   Median :2.060e+09
     Mean   :2.089e+09   Mean   :2.066e+09
     3rd Qu.:2.109e+09   3rd Qu.:2.085e+09
     Max.   :2.146e+09   Max.   :2.144e+09
    ```

    Allocation size, sample size of 20, lower is better:

    ```
           Before             After
     Min.   :21804742   Min.   :21794082
     1st Qu.:21826682   1st Qu.:21816282
     Median :21844042   Median :21826814
     Mean   :21960664   Mean   :22026291
     3rd Qu.:21861228   3rd Qu.:22040439
     Max.   :22587426   Max.   :22930614
    ```

    The `yjit_alloc_size` samples are noisy, but since the average increased
    by only 0.3%, and the median is lower, I feel safe saying that there is
    no significant change.

commit a57b4340d000ce88c5b05516bc6bcd94fb360ab1
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-07-08 06:43:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-09 03:35:29 +0900

    Doc fixes

commit ae6a2d06411762408bdee07e9105f940d76a870b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-09 00:39:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-09 02:06:26 +0900

    [rubygems/rubygems] Fix wrong version is comment

    This RubyGems feature is being released as 3.5.15, so we can stop
    monkeypatching RubyGems once support for the previous version is
    dropped.

    https://github.com/rubygems/rubygems/commit/36f146840d

commit 39826f384a2a5243530ba99a69b112fb3773b633
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-05 23:20:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-09 02:06:25 +0900

    [rubygems/rubygems] Backport binstub race condition fix to Bundler

    https://github.com/rubygems/rubygems/commit/b07e46820d

commit 0c61e212770092269597882dfe2321a1028ab291
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-08 22:08:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-08 22:08:22 +0900

    Rename rb_gc_impl_verify_internal_consistency to gc_verify_internal_consistency

    It's an internal function so we can drop the rb_gc_impl

commit e148db70ea663dae4e9f5bc42185ba94d2d82ee3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-08 22:06:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-08 22:06:45 +0900

    Make rb_gc_impl_verify_internal_consistency static

    The function is not used outside of this file.

commit 02c4f0c89db3689c5272f00c548ca3008120459b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-08 20:00:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 20:00:01 +0900

    Reverts related commits with https://github.com/ruby/open-uri/pull/37

    It caused Timeout failure with RJIT and chkbuild

    http://rubyci.s3.amazonaws.com/debian11/ruby-master/log/20240708T063006Z.fail.html.gz
    https://github.com/ruby/ruby/actions/runs/9836594303/job/27152644853

commit 9594db0cf28d7bc10bfc46142239191a11f1dbbe
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-25 21:03:14 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-07-08 19:24:33 +0900

    Implement Hash.new(capacity:)

    [Feature #19236]

    When building a large hash, pre-allocating it with enough
    capacity can save many re-hashes and significantly improve
    performance.

    ```
    /opt/rubies/3.3.0/bin/ruby --disable=gems -rrubygems -I./benchmark/lib ./benchmark/benchmark-driver/exe/benchmark-driver \
                        --executables="compare-ruby::../miniruby-master -I.ext/common --disable-gem" \
                        --executables="built-ruby::./miniruby --disable-gem" \
                        --output=markdown --output-compare -v $(find ./benchmark -maxdepth 1 -name 'hash_new' -o -name '*hash_new*.yml' -o -name '*hash_new*.rb' | sort)
    compare-ruby: ruby 3.4.0dev (2024-03-25T11:48:11Z master f53209f023) +YJIT dev [arm64-darwin23]
    last_commit=[ruby/irb] Cache RDoc::RI::Driver.new (https://github.com/ruby/irb/pull/911)
    built-ruby: ruby 3.4.0dev (2024-03-25T15:29:40Z hash-new-rb 77652b08a2) +YJIT dev [arm64-darwin23]
    warming up...

    |                    |compare-ruby|built-ruby|
    |:-------------------|-----------:|---------:|
    |new                 |      7.614M|    5.976M|
    |                    |       1.27x|         -|
    |new_with_capa_1k    |     13.931k|   15.698k|
    |                    |           -|     1.13x|
    |new_with_capa_100k  |     124.746|   148.283|
    |                    |           -|     1.19x|
    ```

commit bfb8cad771aac8bc048fcd83e244bfe782d182e7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-08 17:58:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 17:58:46 +0900

    Expand RJIT timeout to 60min

commit a5f4014738fb4adc08930ad009f0f8121d43e672
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-08 15:38:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 17:05:12 +0900

    Load net-http explicitly for SimpleHTTPProxyServer

commit b903d9f09fa70509ba17828d8a5b9fa65d2c0c6d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-08 15:18:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 15:18:57 +0900

    [ruby/tempfile] typofix

    https://github.com/ruby/tempfile/commit/82a74b017e

commit 4658d65242f58102084528f628eb4a8d5275b414
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-08 14:20:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 15:15:46 +0900

    Load socket explicitly for TCPServer

commit 95bf9049a71e4e6fbaea9709df4257e21675d94f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-08 14:08:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 15:15:46 +0900

    Load OpenSSL on TestOpenURIUtils for with_https

commit e4825a5194af822104ec9fcac00004a2bad30f18
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-03 20:26:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 14:38:31 +0900

    [rubygems/rubygems] Fix another race condition

    We also need to protect prior removal of the binstub, otherwise it can
    happen that:

    * Process A removes prior binstub FOO.
    * Process B removes prior binstub FOO (does nothing actually because Process A already removed it).
    * Process A writes binstub FOO for gem BAR from the beginning of file.
    * Process B writes binstub FOO for gem BAZ from the beginning of file.

    Similarly as before, if binstub FOO for gem BAR is bigger that binstub
    FOO for gem BAZ, garbage bytes will be left around at the end of the
    file, corrupting the binstub.

    The solution is to also protect removal of the previous binstub. To do
    this, we use a file lock on an explicit `.lock` file.

    https://github.com/rubygems/rubygems/commit/d99a80e62d

commit d90a930edea311c0f3fe2a8aade03efb1697c3e0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-03 04:32:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 14:38:30 +0900

    [rubygems/rubygems] Properly protect writing binstubs with a file lock

    There's an issue when multiple processes try to write the same binstub.
    The problem is that our file locking mechanism is incorrect because
    files are truncated _before_ they are locked. So it can happen that:

    * Process A truncates binstub FOO.
    * Process B truncates binstub FOO.
    * Process A writes binstub FOO for gem BAR from the beginning of file.
    * Process B writes binstub FOO for gem BAZ from the beginning of file.

    If binstub FOO for gem BAR is bigger than binstub FOO for gem BAZ, then
    some bytes will be left around at the end of the binstub, making it
    corrupt.

    This was not a problem in our specs until the spec testing binstubs with
    the same name coming from different gems changed from using gems named
    "fake" and "rack" to using gems named "fake" and "myrack". Because of
    the difference in gem name length, the generated binstub for gem
    "myrack" is now longer, causing the above problem if binstub for gem
    myrack is written first.

    The solution is to make sure when using flock to always use modes that
    DON'T truncate the file when opening it. So, we use `r+` if the file
    exists previously (it requires the file to exist previously), otherwise
    we use `a+`.

    https://github.com/rubygems/rubygems/commit/ce8bcba90f

commit da12d6343150a0b4f3f1de02565f3139af8d9a88
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-03 04:45:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 14:38:29 +0900

    [rubygems/rubygems] Scope rescuing `Errno::ENOLCK` to just `File.open`

    https://github.com/rubygems/rubygems/commit/2a9d347d29

commit 7cf7e7e2c0ae7bc2a886e076ad52d16c9ddd24b9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-03 04:31:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 14:38:29 +0900

    [rubygems/rubygems] Add missing blank line after method documentation

    https://github.com/rubygems/rubygems/commit/2df7560ade

commit 6db1c53fce7a0f2f80dd78b5020132a09994c47d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-28 22:06:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 14:38:28 +0900

    [rubygems/rubygems] Remove unnecessary FileUtils usage

    All other `chmod` usages in the file use `File.chmod`, so keep it
    consistent.

    https://github.com/rubygems/rubygems/commit/3dc0cf8703

commit dcc8e54234fb7acbbede52bfc9f74ce1e1deb491
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-08 13:39:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:14 +0900

    [ruby/open-uri] Don't use Base64 library

    https://github.com/ruby/open-uri/commit/c8c0452d53

commit bf898057b40d21994cbf86dbd8b3cad412ef8847
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-05 17:39:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:13 +0900

    [ruby/open-uri] Test with Windows

    https://github.com/ruby/open-uri/commit/2606892a43

commit 71490d23147c0a9e2850634037305cdca0d39292
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-05 17:30:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:12 +0900

    [ruby/open-uri] Move certificates under the TestOpenURIUtils

    https://github.com/ruby/open-uri/commit/a28c2da5d2

commit 3d78e633121711c9bff9eff1b5b955605f50704f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-05 17:30:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:12 +0900

    [ruby/open-uri] Load stringio with the correct files

    https://github.com/ruby/open-uri/commit/cb17a907a2

commit 09c52b91b9f288cf75aed854a34d429e628774ca
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-05 17:25:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:12 +0900

    [ruby/open-uri] Removed needless class definition and variables

    https://github.com/ruby/open-uri/commit/ab0e916997

commit 61e00856c99eadbb1fd31c432a68783ecddbab4a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-05 17:24:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:11 +0900

    [ruby/open-uri] Don't use URI library

    https://github.com/ruby/open-uri/commit/15989970b6

commit e6b6c2ba9d7726ca7f00051e0cd30cdf9615686a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-05 16:01:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:11 +0900

    [ruby/open-uri] support CONNECT method for SimpleHTTPProxy

    https://github.com/ruby/open-uri/commit/2e36793bd5

commit b782906400bd0e8f9c8bfe89666bd31870f220e7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-05 11:10:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:10 +0900

    [ruby/open-uri] Added SimpleHTTPSServer by TCPServer and OpenSSL

    https://github.com/ruby/open-uri/commit/57c80e1576

commit debcf108fab3904f6b39b7ee8612d1aa27c231a3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-04 17:42:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:10 +0900

    [ruby/open-uri] Added SimpleHTTPProxyServer by TCPServer

    https://github.com/ruby/open-uri/commit/ad47529306

commit a574e290c5a0867e272beceb2cd2be28a678a08c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-04 17:03:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:10 +0900

    [ruby/open-uri] Extract SimpleHTTPServer and with_http to TestOpenURIUtils module for other tests

    https://github.com/ruby/open-uri/commit/489a1e9006

commit 7a74dcedd3f8227473575fc2d04c6dee700746b3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-04 13:33:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:09 +0900

    [ruby/open-uri] Added SimpleHTTPSServer by TCPServer

    https://github.com/ruby/open-uri/commit/a2b1ebe465

commit a105bf8169db0a713d46a6addc18ce4cf101355d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-04 11:28:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:09 +0900

    [ruby/open-uri] Removed needless setup and teardown, tmpdir variables

    https://github.com/ruby/open-uri/commit/b2d7fc4ff3

commit 846c45c2b48464e2e85cd11fa0a91783b1324d46
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-04 11:02:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:09 +0900

    [ruby/open-uri] Extract FTP tests from test_open-uri.rb

    https://github.com/ruby/open-uri/commit/324111eb41

commit 6fb482d4290a7343d4c8aabc9e86538003365fac
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-04 10:55:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:08 +0900

    [ruby/open-uri] Extract HTTP Proxy tests from test_open-uri.rb

    https://github.com/ruby/open-uri/commit/e9e6bd2779

commit 8ede84aa95af3b196f051fa96c4bb1164f6ffbbb
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-07-08 09:31:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 10:15:04 +0900

    Move the file location of launchable.rb

commit 5b7892545542c0d451cb1e14a1d85474ac46b537
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-07-06 18:20:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 10:15:04 +0900

    Integrate Launchable into make btest

commit dface4427da99561a4578a4b92a8321bc2d6c023
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-07-07 20:42:35 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-07-07 21:37:36 +0900

    Also export CC for dtrace's benefit as well

    The CFLAGS might contain flags that only work with the specified CC

commit 8ec67052e67dff62b828820e381a94a3acc73459
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-07-06 14:00:42 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-07-07 19:14:44 +0900

    Do not define SHSTK feature for amd64 Context.S

    We do not implement CET shadow-stack switching in amd64 Context.S. If
    you compile Ruby with `-fcf-protection=full` and run it with
    `GLIBC_TUNABLES=glibc.cpu.hwcaps=SHSTK` exported, it will crash with a
    control flow exception.

    Configure the appropriate notes at the end of Context.S

    [Bug #18061]

commit 3381c60836ae499899179f454c6bb1dd3b0891ba
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-07-06 13:57:57 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-07-07 19:14:44 +0900

    Ensure CFLAGS are passed to probes.o generation

    The dtrace python script from systemtap on Linux actually looks at the
    CFLAGS environment variable when invoking gcc to make the probes.o file.
    If we don't pass the CFLAGS we're using, this probes.o file can wind up
    without the required annotations indicating that it supports e.g. Intel
    CET.

    Fix this by explicitly exporting our build flags to the environment for
    this script.

    [Bug #18061]

commit b940de83dee1932cef69cd249911aa8fe632df89
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-07-06 13:51:43 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-07-07 19:14:44 +0900

    Revert autoconf macros defining RUBY_AARCH64_{BTI|PAC}_ENABLED

    This partially reverts https://github.com/ruby/ruby/pull/10944; now that
    we decided to pass CFLAGS to $(CC) when assembling .S files, we don't
    need these autoconf macros that capture the state of
    __ARM_FEATURE{PAC|BTI}_DEFAULT.

    [Bug #20601]

commit b18701a7ae0a71c339906ef0db4910fb43645b45
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-07-06 13:47:02 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-07-07 19:14:44 +0900

    Remove $(ASFLAGS) from build system and assemble with $(CFLAGS) instead

    We already assemble our assembly files using the $(CC) compiler driver,
    rather than the actual $(AS) assembler. This means that

    * The C preprocessor gets run on the assembly file
    * It's valid to pass gcc-style flags to it, like e.g.
      -mbranch-protection or -fcf-protection
    * If you do so, the relevant preprocessor macros like __CET__ get set
    * If you really wanted to pass assembler flags, you would need to do
      that using -Wa,... anyway

    So I think it makes sense to pass "$(XCFLAGS) $(CFLAGS) $(CPPFLAGS)" to
    gcc/clang/etc when assembling, rather than passing $(ASFLAGS) (since
    the flags are not actually passed to `as`, but `cc`!).

    The side effect of this is that if there are mitigation flags like
    -fcf-protection in $CFLAGS, then the relevant macros like __CET__ will
    be defined when assembling the files.

    [Bug #20601]

commit 087b461c8311886f8a9511930a065ef9fd6b57ce
  Author:     cdfzo <cdfzo@pm.me>
  AuthorDate: 2024-07-07 13:09:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-07 13:09:42 +0900

    [DOC] Fix typo `with` -> `wish`

commit abaa1b913d6ac15ab1cb6c639a9b8b6ac27b05b9
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-07-07 02:54:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-07 02:55:00 +0900

    [ruby/irb] Bump version to v1.14.0
    (https://github.com/ruby/irb/pull/980)

    https://github.com/ruby/irb/commit/6a9e129714

commit 7f1fe5f091db3b05c3970e7b7a7c602922729642
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-06 00:15:47 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-07-06 19:07:32 +0900

    Raise a TypeError for Thread#thread_variable{?,_get} for non-symbol

    Previously, a TypeError was not raised if there were no thread
    variables, because the conversion to symbol was done after that
    check.  Convert to symbol before checking for whether thread
    variables are set to make the behavior consistent.

    Fixes [Bug #20606]

commit e240fc9c3c154349e3b93716db82b06541e07cf8
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-07-06 07:38:46 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-07-06 07:38:46 +0900

    [DOC] yjit.md: Markdown fixes for RDoc

    It now renders properly on both GitHub and with RDoc's darkfish theme.

commit 3fede665ffdbc6091f2e39c0bdc1e12565d160dd
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-05 05:18:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-06 03:05:58 +0900

    Update GitHub actions for shared GC

commit e2ceded2c603f5f35df5c0d8757a48a1fa1f0f8f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-05 05:15:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-06 03:05:58 +0900

    Change external GC to use directory at configure

    This commit changes the external GC API to use `--with-shared-gc=DIR` at
    configure time with a directory of the external GC and uses
    `RUBY_GC_LIBRARY` environment variable to load the external GC at
    runtime.

commit 8fd2df529b8c9a172604c5cde478abe54c30b47d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-04 23:35:25 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-06 03:05:58 +0900

    Revert "Load external GC using command line argument"

    This reverts commit 8ddb1110c283c5cb59b6582383f36fdbcc43ab19.

commit 32ba86c9be79c6f67caafbf71004e5a508db1a88
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-07-06 02:25:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-06 02:51:17 +0900

    [ruby/irb] Return only commands when completing help command's
    argument
    (https://github.com/ruby/irb/pull/973)

    The command only takes command names as arguments, so we should only
    return command names as candidates.

    This will help users find a command faster as completion will be
    another useful hint too.

    https://github.com/ruby/irb/commit/7b6557cc24

commit 1afcaa3e4b4338191cdc337ed43bc92637be26b5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-22 00:41:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-05 22:15:32 +0900

    Fix flaky test_stat_heap_all

    We only collect GC.stat_heap(nil, stat_heap_all)
    once, outside of the loop, but assert_equal could
    allocate objects which can cause a GC to run and
    cause stat_heap_all to be out-of-sync.

commit 685a4e5be77ec376f29a180c7ed9fbee23e05bac
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-07-03 11:56:49 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-05 21:20:54 +0900

    VM barrier needs to store GC root

    On the VM barrier waiting, it needs to store machine context
    as a GC root.

    Also it needs to wait for barrier synchronization correctly
    by `while` (for continuous barrier sync by another ractor).

    This is why GC marking misses are occerred on ARM machines.
    like: https://rubyci.s3.amazonaws.com/fedora40-arm/ruby-master/log/20240702T063002Z.fail.html.gz

commit 88a2a46e233fb52107f4ef921813f14243af75d4
  Author:     なつき <i@ntk.me>
  AuthorDate: 2024-07-04 03:19:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-05 18:02:52 +0900

    [rubygems/rubygems] Restrict generic `arm` to only match 32-bit arm

    https://github.com/rubygems/rubygems/commit/14c4c16e96

commit 3b48a5a11cf549ebc30640f092d4e55d78ff82f8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-05 10:46:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-05 12:10:23 +0900

    Use macos-14 instead of macos-arm-oss

    Unfortunately, we can't use macos-arm-oss with enterprise account

commit bbb4da78c7e35e41cc91af0791eb8f51c371d964
  Author:     Jerome Dalbert <jerome.dalbert@gmail.com>
  AuthorDate: 2024-07-05 04:49:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-05 11:24:53 +0900

    [rubygems/rubygems] Use preferred add_dependency instead of add_runtime_dependency

    https://github.com/rubygems/rubygems/commit/9a08043858

commit c480dec1ccf34b8452438811c5ef0f76cbb2a063
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-04 22:25:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-04 22:25:50 +0900

    Fix RUBY_FREE_AT_EXIT with ASAN

    When Ruby is built with ASAN and RUBY_FREE_AT_EXIT is enabled, the
    following error occurs:

        READ of size 8 at 0x74c666610020 thread T0
            #0 0x593b6712ecc6 in RB_BUILTIN_TYPE include/ruby/internal/value_type.h:191:30
            #1 0x593b6712ecc6 in rb_gc_impl_shutdown_free_objects gc_impl.c:3208:17
            #2 0x593b6749a62e in ruby_vm_destruct vm.c:3133:17

commit 478ada0e2bb11c5aaac0f8d30cdef12a967c2c03
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 16:47:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:09 +0900

    [rubygems/rubygems] Handle OpenSSL::SSL::SSLError in local https server

    https://github.com/rubygems/rubygems/commit/ccbbe84d77

commit ba4495d75afafaceb3c5a0d3b9d34d972717aa67
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 16:09:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:09 +0900

    [rubygems/rubygems] Align code styles with rubocop and others.

    https://github.com/rubygems/rubygems/commit/c31a1592ee

commit 7e69d74729b37c6bf2365b031821d44a7ab82241
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 16:03:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:08 +0900

    [rubygems/rubygems] Correctly handling fetcher leak

    https://github.com/rubygems/rubygems/commit/c538558522

commit 318af23baa0427926283044fb2301c8e5863a0e4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 15:57:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:08 +0900

    [rubygems/rubygems] Removed needless variable

    https://github.com/rubygems/rubygems/commit/29f71ee6d2

commit 2cd270aecc776071e22c065ae7e77e036eb882c9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 15:56:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:07 +0900

    [rubygems/rubygems] YAML is always enabled

    https://github.com/rubygems/rubygems/commit/c755bcde62

commit 16e1565dec3583aff1a5beefbb7483d597de97b5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 15:52:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:07 +0900

    [rubygems/rubygems] Removed unused gzip code

    https://github.com/rubygems/rubygems/commit/ee45ebb5c3

commit 6a2c799761122b7ac1671a0fb86c1807f49e1bc9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 15:46:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:06 +0900

    [rubygems/rubygems] Rewrite WEBrick server with TCPServer and Proxy

    https://github.com/rubygems/rubygems/commit/3ae4358024

commit 0cb82a810d1e8dc1a3d6c9cead1037ee63b149bc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 13:36:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:06 +0900

    [rubygems/rubygems] Rewrite WEBrick server with TCPServer and OpenSSL::SSL::SSLServer

    https://github.com/rubygems/rubygems/commit/21319eccac

commit b3e53495bb3657f2d587ea6c3d41273885ee1095
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 13:19:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:05 +0900

    [rubygems/rubygems] Cleanup needless code from HTTP/HTTPS tests

    https://github.com/rubygems/rubygems/commit/69bd962b56

commit 7e12b5e2acc87fb670d0525955a2fb18664bdb31
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 12:43:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:05 +0900

    [rubygems/rubygems] Split HTTP tests and HTTPS tests

    https://github.com/rubygems/rubygems/commit/43f98b787b

commit f6aa774a14a4170ade49101e7bcc213338a61a5f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 12:28:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:04 +0900

    [rubygems/rubygems] Extract tests with local HTTP/HTTPS server from TestGemRemoteFetcher

    https://github.com/rubygems/rubygems/commit/52db9fd501

commit 127221d8736047d0ad79b773cfb2a8f607e3d2fd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 11:33:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:04 +0900

    [rubygems/rubygems] Extract tests with S3 resources from TestGemRemoteFetcher

    https://github.com/rubygems/rubygems/commit/d3ee8d2d3b

commit 0fe024d04845d2f8cac84f5009920b39212e964e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-04 10:19:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-04 12:11:12 +0900

    Fix the return value of `Integer#downto` called with a block

    As the document states, it should return `self`, not `nil`.
    Fix up of f4b313f7338f5fbe37f73aae29f70aeb474f7f5b.

commit d9398ac430062891185afe34b37dd293615af941
  Author:     Vít Ondruch <vondruch@redhat.com>
  AuthorDate: 2024-07-04 08:37:41 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-04 08:37:41 +0900

    Use `__CET__` macro to enable IBT support. (#11081)

    According to the GCC documentation [1], the macro `__CET__` is dfined
    when `-fcf-protection` compiler option is used. Therefore use this macro
    to enable IBT support instead of special casing for `__OpenBSD__`.

    [1]: https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fcf-protection

commit b160a78d6b466fc58e716be1f108edc57f6ec6e5
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-07-04 08:10:57 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-07-04 08:10:57 +0900

    YJIT: Remove done TODO, fix indent

    Type check now done in rb_iseqw_to_iseq().

commit f5dfadf38bf1f712bd5dd768e0d78328cbc556b9
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-07-04 05:00:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-04 05:00:00 +0900

    [DOC] Doc for Integer#floor (#11077)

commit b974c84606535d8f58addc5ab2ceb6d3ea827d15
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-07-04 03:40:56 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-04 04:32:53 +0900

    Move Array#map to Ruby

    Improves activerecord by about 1% on the interpreter:

    ```
    before: ruby 3.4.0dev (2024-07-03T18:40:10Z master f88841b8f3) [arm64-darwin23]
    after: ruby 3.4.0dev (2024-07-03T18:41:14Z ruby-map 6c0df4eb32) [arm64-darwin23]

    ------------  -----------  ----------  ----------  ----------  -------------  ------------
    bench         before (ms)  stddev (%)  after (ms)  stddev (%)  after 1st itr  before/after
    activerecord  235.2        0.8         233.6       0.7         1.01           1.01
    ------------  -----------  ----------  ----------  ----------  -------------  ------------
    Legend:
    - after 1st itr: ratio of before/after time for the first benchmarking iteration.
    - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup.
    ```

    Improves YJIT by about 4%:

    ```
    before: ruby 3.4.0dev (2024-07-03T18:40:10Z master f88841b8f3) +YJIT [arm64-darwin23]
    after: ruby 3.4.0dev (2024-07-03T18:41:14Z ruby-map 6c0df4eb32) +YJIT [arm64-darwin23]

    ------------  -----------  ----------  ----------  ----------  -------------  ------------
    bench         before (ms)  stddev (%)  after (ms)  stddev (%)  after 1st itr  before/after
    activerecord  142.1        1.2         137.0       0.6         1.00           1.04
    ------------  -----------  ----------  ----------  ----------  -------------  ------------
    Legend:
    - after 1st itr: ratio of before/after time for the first benchmarking iteration.
    - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup.
    ```

commit 6ac05ddb8abf7c01996dd7ea6a8c90bab2692604
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-04 03:45:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-04 03:45:01 +0900

    Remove unused gc_raw_obj_info_basic

commit 05f840d641f70e1c3ed8f84fb9088ca8c90d8a41
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-04 03:44:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-04 03:44:31 +0900

    Remove unused obj_info_basic

commit f88841b8f365a934fb818b4a85e8d07a0dbf0fba
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-04 03:40:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-04 03:40:10 +0900

    Fix ASAN builds

commit 4c9134d2b2ab3830dd4cca3b9595c97fc7361392
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-07-04 01:45:29 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-04 03:32:40 +0900

    Move Array#select to Ruby

    This speeds up the mail benchmark by about 7% on the interpreter:

    ```
    before: ruby 3.4.0dev (2024-07-03T17:01:41Z master f4b313f733) [arm64-darwin23]
    after: ruby 3.4.0dev (2024-07-03T17:45:50Z ruby-select de282cacd5) [arm64-darwin23]

    -----  -----------  ----------  ----------  ----------  -------------  ------------
    bench  before (ms)  stddev (%)  after (ms)  stddev (%)  after 1st itr  before/after
    mail   72.9         0.8         68.2        1.0         1.02           1.07
    -----  -----------  ----------  ----------  ----------  -------------  ------------
    Legend:
    - after 1st itr: ratio of before/after time for the first benchmarking iteration.
    - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup.
    ```

    YJIT is about 13% faster:

    ```
    before: ruby 3.4.0dev (2024-07-03T17:01:41Z master f4b313f733) +YJIT [arm64-darwin23]
    after: ruby 3.4.0dev (2024-07-03T17:45:50Z ruby-select de282cacd5) +YJIT [arm64-darwin23]

    -----  -----------  ----------  ----------  ----------  -------------  ------------
    bench  before (ms)  stddev (%)  after (ms)  stddev (%)  after 1st itr  before/after
    mail   51.0         0.8         45.2        0.6         1.00           1.13
    -----  -----------  ----------  ----------  ----------  -------------  ------------
    Legend:
    - after 1st itr: ratio of before/after time for the first benchmarking iteration.
    - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup.
    ```

commit 7fe5f0a1d0e628e9e330169a5c2dedae0d40dedd
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-07-04 02:17:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 02:17:42 +0900

    [ruby/irb] Introduce cd command
    (https://github.com/ruby/irb/pull/971)

    It's essentially a combination of pushws and popws commands that are
    easier to use.

    Help message:

    ```
    Usage: cd ([target]|..)

    IRB uses a stack of workspaces to keep track of context(s), with `pushws` and `popws` commands to manipulate the stack.
    The `cd` command is an attempt to simplify the operation and will be subject to change.

    When given:
    - an object, cd will use that object as the new context by pushing it onto the workspace stack.
    - "..", cd will leave the current context by popping the top workspace off the stack.
    - no arguments, cd will move to the top workspace on the stack by popping off all workspaces.

    Examples:

      cd Foo
      cd Foo.new
      cd @ivar
      cd ..
      cd
    ```

    https://github.com/ruby/irb/commit/4a0e0e89b7

commit f4b313f7338f5fbe37f73aae29f70aeb474f7f5b
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-07-03 10:29:23 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-04 02:01:41 +0900

    move Integer#downto to Ruby

    Speeds up ChunkyPNG.

    The interpreter is about 70% faster:

    ```
    before: ruby 3.4.0dev (2024-07-03T15:16:17Z master 786cf9db48) [arm64-darwin23]
    after: ruby 3.4.0dev (2024-07-03T15:32:25Z ruby-downto 0b8b744ce2) [arm64-darwin23]

    ----------  -----------  ----------  ----------  ----------  -------------  ------------
    bench       before (ms)  stddev (%)  after (ms)  stddev (%)  after 1st itr  before/after
    chunky-png  892.2        0.1         526.3       1.0         1.65           1.70
    ----------  -----------  ----------  ----------  ----------  -------------  ------------
    Legend:
    - after 1st itr: ratio of before/after time for the first benchmarking iteration.
    - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup.
    ```

    YJIT is 2.5x faster:

    ```
    before: ruby 3.4.0dev (2024-07-03T15:16:17Z master 786cf9db48) +YJIT [arm64-darwin23]
    after: ruby 3.4.0dev (2024-07-03T15:32:25Z ruby-downto 0b8b744ce2) +YJIT [arm64-darwin23]

    ----------  -----------  ----------  ----------  ----------  -------------  ------------
    bench       before (ms)  stddev (%)  after (ms)  stddev (%)  after 1st itr  before/after
    chunky-png  709.4        0.1         278.8       0.3         2.35           2.54
    ----------  -----------  ----------  ----------  ----------  -------------  ------------
    Legend:
    - after 1st itr: ratio of before/after time for the first benchmarking iteration.
    - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup.
    ```

commit cbc40aca3ae5f139235724d4c6f9b63d0dd4e962
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-04 00:04:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-04 00:48:12 +0900

    Fix compilation with RGENGC_CHECK_MODE=2

commit 786cf9db488dd83a8c13c88485602c778e5d9564
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-07-03 23:17:34 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-07-04 00:16:17 +0900

    array.c: Remove outdated assertions

    Following [Feature #20589] it can happen that we change the
    capacity of a frozen array, so these assertions no longer make
    sense.

    Normally we don't hit them because `Array#freeze` shrinks the
    array, but if somehow the Array was frozen using `Object#freeze`
    then we may shrink it after it was frozen.

commit 5f20957b85cad4c4bb5bd46559d5ee13b019a970
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-03 00:05:36 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-03 22:03:40 +0900

    Move ruby_load_external_gc_from_argv to gc.h

commit 9d7c9df47194e1c47bf70e90a863cfedd03d3a4a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-04 04:23:13 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-03 22:03:40 +0900

    [Feature #20470] Add shared GC workflow to compilers

commit 9d3a58f364f24cb1611a5fd8b8429044d494ec09
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-04 01:05:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-03 22:03:40 +0900

    [Feature #20470] Update dependencies

commit ae8ef065809cd96fbfc6855e6c21a3f2d0ca8e71
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-04 01:02:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-03 22:03:40 +0900

    [Feature #20470] Implement support for USE_SHARED_GC

    This commit implements support to load Ruby's current GC as a DSO.

commit 51bd816517941798c63e587a5a9f3caf69cd510e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-04 01:00:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-03 22:03:40 +0900

    [Feature #20470] Split GC into gc_impl.c

    This commit splits gc.c into two files:

    - gc.c now only contains code not specific to Ruby GC. This includes
      code to mark objects (which the GC implementation may choose not to
      use) and wrappers for internal APIs that the implementation may need
      to use (e.g. locking the VM).

    - gc_impl.c now contains the implementation of Ruby's GC. This includes
      marking, sweeping, compaction, and statistics. Most importantly,
      gc_impl.c only uses public APIs in Ruby and a limited set of functions
      exposed in gc.c. This allows us to build gc_impl.c independently of
      Ruby and plug Ruby's GC into itself.

commit 9aa62bda46bf7f9de91a95c31fa09dafd23def37
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-03 14:24:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 19:15:26 +0900

    [ruby/shellwords] [DOC] Beautify links and formats

    https://github.com/ruby/shellwords/commit/53e6ef2e71

commit 777fcd18a757e512b32f304829869ae8244ae264
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-03 14:23:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 19:15:23 +0900

    [ruby/shellwords] Satisfy `rdoc -C`

    https://github.com/ruby/shellwords/commit/fa50d40a33

commit 7a4314740709b8e2a4b65ab2af22422b2fb76a05
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-03 14:18:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 19:15:22 +0900

    [ruby/shellwords] Exclude unnecessary files from the packages

    https://github.com/ruby/shellwords/commit/08c87a964e

commit 64fef3b870a8ed8147654531aef4c065d8a730c6
  Author:     Ivo Anjo <ivo.anjo@datadoghq.com>
  AuthorDate: 2024-06-21 19:48:37 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-03 18:08:57 +0900

    Add explicit compiler fence when pushing frames to ensure safe profiling

    **What does this PR do?**

    This PR tweaks the `vm_push_frame` function to add an explicit compiler
    fence (`atomic_signal_fence`) to ensure profilers that use signals
    to interrupt applications (stackprof, vernier, pf2, Datadog profiler)
    can safely sample from the signal handler.

    **Motivation:**

    The `vm_push_frame` was specifically tweaked in
    https://github.com/ruby/ruby/pull/3296 to initialize the a frame
    before updating the `cfp` pointer.

    But since there's nothing stopping the compiler from reordering
    the initialization of a frame (`*cfp =`) with the update of the cfp
    pointer (`ec->cfp = cfp`) we've been hesitant to rely on this on
    the Datadog profiler.

    In practice, after some experimentation + talking to folks, this
    reordering does not seem to happen.

    But since modern compilers have a way for us to exactly tell them
    not to do the reordering (`atomic_signal_fence`), this seems even
    better.

    I've actually extracted `vm_push_frame` into the "Compiler Explorer"
    website, which you can use to see the assembly output of this function
    across many compilers and architectures: https://godbolt.org/z/3oxd1446K

    On that link you can observe two things across many compilers:
    1. The compilers are not reordering the writes
    2. The barrier does not change the generated assembly output
       (== has no cost in practice)

    **Additional Notes:**

    The checks added in `configure.ac` define two new macros:
    * `HAVE_STDATOMIC_H`
    * `HAVE_DECL_ATOMIC_SIGNAL_FENCE`

    Since Ruby generates an arch-specific `config.h` header with
    these macros upon installation, this can be used by profilers
    and other libraries to test if Ruby was compiled with the fence enabled.

    **How to test the change?**

    As I mentioned above, you can check https://godbolt.org/z/3oxd1446K
    to confirm the compiled output of `vm_push_frame` does not change
    in most compilers (at least all that I've checked on that site).

commit 4d4ac00123aa21d3027bcd0aa0242c1bc129837e
  Author:     Grant Gardner <grant@lastweekend.com.au>
  AuthorDate: 2024-06-30 23:25:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 17:54:18 +0900

    [ruby/openssl] Add SSLSocket#readbyte

    Companion to getbyte but raise EOFError
    Similar to https://github.com/ruby/openssl/pull/438

    https://github.com/ruby/openssl/commit/c40f70711a

commit 93b19d56de64fdee790a96ddf96fcd08d889ac93
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-07-03 09:17:29 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-03 09:59:48 +0900

    Add regression test for mutating pack's format string

    It doesn't look like there was a test added for this bug, so I'm adding
    it.

    Code is from here:

      https://web.archive.org/web/20160908192307/http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/24445

commit d9487dd0112752006cbfb2f760a53851fc1018ab
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-07-03 07:20:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-03 07:20:01 +0900

    Speed up chunkypng benchmark (#11087)

    * Speed up chunkypng benchmark

    Since d037c5196a14c03e72746ccdf0437b5dd4f80a69 we're seeing a slowdown
    in ChunkyPNG benchmarks in YJIT bench. This patch addresses the
    slowdown. Making the thread volatile speeds up the benchmark by 2 or 3%
    on my machine.

    ```
    before: ruby 3.4.0dev (2024-07-02T18:48:43Z master b2b8306b46) [x86_64-linux]
    after: ruby 3.4.0dev (2024-07-02T20:07:44Z speed-chunkypng 418334dba9) [x86_64-linux]

    ----------  -----------  ----------  ----------  ----------  -------------  ------------
    bench       before (ms)  stddev (%)  after (ms)  stddev (%)  after 1st itr  before/after
    chunky-png  1000.2       0.1         980.6       0.1         1.02           1.02
    ----------  -----------  ----------  ----------  ----------  -------------  ------------
    Legend:
    - after 1st itr: ratio of before/after time for the first benchmarking iteration.
    - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup.

    Output:
    ./data/output_015.csv
    ```

    * Update thread.c

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

    ---------

    Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

commit 3407565d2ff5cc1f67e7efe2f8d31714f4d72970
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-07-03 04:55:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-03 04:55:17 +0900

    YJIT: Use a special breakpoint address if one isn't explicitly supplied in order to support natural line stepping. (#11083)

    Use a special breakpoint address if one isn't explicitly supplied in order to support natural line stepping.

    ARM64 will not increment the program counter (PC) upon hitting a breakpoint instruction. Consequently, stepping through code with a debugger ends up looping back to the breakpoint instruction. LLDB has a special breakpoint address of 0xf000 that will increment the PC and allow the debugger to work as expected. This change makes it possible to debug YJIT generated code on ARM64.

    More details at: https://discourse.llvm.org/t/stepping-over-a-brk-instruction-on-arm64/69766/8

    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>

commit 2830a6ae3850279d76f96e1c2a0aad1a94ceac8b
  Author:     Jerome Dalbert <jerome.dalbert@gmail.com>
  AuthorDate: 2024-06-27 09:11:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 04:54:23 +0900

    [rubygems/rubygems] Only allow valid values for --test, --ci, and --linter options

    https://github.com/rubygems/rubygems/commit/d4360c9032

commit cd57c1294de14a7c6210fd111f40f1ce1fac3288
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-27 19:36:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 04:53:54 +0900

    [rubygems/rubygems] Only remove current platform when added right before resolution

    If it has been explicitly added by `bundle lock --add-platform`, we
    don't want to remove it.

    https://github.com/rubygems/rubygems/commit/09cf921dd6

commit c36eb10d8bd2218a944120dffb8920fbb3bf4f5d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-27 19:35:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 04:53:54 +0900

    [rubygems/rubygems] Normalize dummy test server name

    https://github.com/rubygems/rubygems/commit/18b38ca6b4

commit 7fc04276ac53f91d857863998d197102b9987f58
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-14 18:08:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 04:53:53 +0900

    [rubygems/rubygems] Refactor previous fix a bit

    https://github.com/rubygems/rubygems/commit/1c80c6072f

commit d5500e621cde07cd0b30aa0b752f8fd5819adef8
  Author:     Jerome Dalbert <jerome.dalbert@gmail.com>
  AuthorDate: 2024-06-27 08:38:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 04:53:29 +0900

    [rubygems/rubygems] Feature add_dependency more prominently

    https://github.com/rubygems/rubygems/commit/0236cb6191

commit b2b8306b469329ccd7f44dc4b62b7eeb344ed338
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-07-03 02:54:23 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-03 03:48:43 +0900

    Fix forwarding for optimized send

    Always treat forwarding as a complex call.

commit cc8c4a60b7fbddc04e2e09946a3c70029db35d3d
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-07-03 02:31:15 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-03 03:48:43 +0900

    Calling into a C func shouldn't fast path when forwarding

    When we forward calls to C functions if the callsite is a forwarding
    site it might not always be a splat, so we can't use the fast path.

    Fixes:

    [ruby-core:118418]

commit 4d94d28a4a9b3f5d39144da581e735c82dbc1074
  Author:     Gabriel Lacroix <gabriel.lacroix@shopify.com>
  AuthorDate: 2024-07-03 03:34:48 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-03 03:34:48 +0900

    YJIT: Inline simple ISEQs with unused keyword parameters

    This commit expands inlining for simple ISeqs to accept
    callees that have unused keyword parameters and callers
    that specify unused keywords. The following shows 2 new
    callsites that will be inlined:

    ```ruby
    def let(a, checked: true) = a

    let(1)
    let(1, checked: false)
    ```

    Co-authored-by: Kaan Ozkan <kaan.ozkan@shopify.com>

commit d25b74b32cbce4fcaed503f124fa8e7d721f18bf
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-06-19 03:52:18 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-03 02:34:23 +0900

    Resize arrays in `rb_ary_freeze` and use it for freezing arrays

    While working on a separate issue we found that in some cases
    `ary_heap_realloc` was being called on frozen arrays. To fix this, this
    change does the following:

    1) Updates `rb_ary_freeze` to assert the type is an array, return if
    already frozen, and shrink the capacity if it is not embedded, shared
    or a shared root.
    2) Replaces `rb_obj_freeze` with `rb_ary_freeze` when the object is
    always an array.
    3) In `ary_heap_realloc`, ensure the new capa is set with
    `ARY_SET_CAPA`. Previously the change in capa was not set.
    4) Adds an assertion to `ary_heap_realloc` that the array is not frozen.

    Some of this work was originally done in
    https://github.com/ruby/ruby/pull/2640, referencing this issue
    https://bugs.ruby-lang.org/issues/16291. There didn't appear to be any
    objections to this PR, it appears to have simply lost traction.

    The original PR made changes to arrays and strings at the same time,
    this PR only does arrays. Also it was old enough that rather than revive
    that branch I've made a new one. I added Lourens as co-author in addtion
    to Aaron who helped me with this patch.

    The original PR made this change for performance reasons, and while
    that's still true for this PR, the goal of this PR is to avoid
    calling `ary_heap_realloc` on frozen arrays. The capacity should be
    shrunk _before_ the array is frozen, not after.

    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
    Co-Authored-By: methodmissing <lourens@methodmissing.com>

commit cee62c6738c42ce774e96e180cf2d46afb8e9cbe
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-07-01 21:38:25 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-07-02 20:33:48 +0900

    Update to ruby/spec@f8987ac

commit d7af8afe1b85b8de04cd77c673b0f6ef3f3627fa
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-07-02 19:14:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-02 19:15:00 +0900

    [ruby/rdoc] Group code object files into the same directory
    (https://github.com/ruby/rdoc/pull/1114)

    It's hard to distinguish code object classes by their file names alone.
    And given that we have 18 such classes, it'd make the codebase a lot
    easier to understand if we grouped them into a single directory.

    Given that these classes are all autoloaded in `lib/rdoc.rb` instead
    of required individually, this change should have minimum impact on
    projects using RDoc as they generally just require `rdoc`, not individual
    files. An example is Rails' `sdoc`:
    https://github.com/rails/sdoc/blob/main/lib/sdoc/rdoc_monkey_patches.rb

    https://github.com/ruby/rdoc/commit/4211292ffe

commit 1ab31eb4294132a0fb3282755843575da87f0918
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-01 12:17:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-02 18:33:39 +0900

    [ruby/fiddle] Pick ruby/ruby changes for
    `test/fiddle/test_function.rb`
    (https://github.com/ruby/fiddle/pull/141)

    https://github.com/ruby/ruby/pull/11048#issuecomment-2185630854

    ---------

    https://github.com/ruby/fiddle/commit/a245f19763

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

commit 4688b92a86fa6f24510f2d4d4b0ad31c569c01ed
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-02 12:39:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-02 12:39:11 +0900

    [win32] Fallback release date when revision.h is not present

commit 0ac9c6dc10e64c7f8259a06a199625df567ad0e6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-01 23:59:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-02 00:22:40 +0900

    [ruby/prism] Fix up find and array patterns with multiple rests

    https://github.com/ruby/prism/commit/035890a839

commit 8fb2227205c7c5c258bac0c3a721fa6916dd4c1e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-01 23:28:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-01 23:42:10 +0900

    [ruby/prism] Properly support parsing regexp in extended mode

    https://github.com/ruby/prism/commit/bedc4585ed

commit 30a8dbc861a03d881b7f058cd1a111c1222b66d6
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-29 03:42:43 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-01 12:11:28 +0900

    maximum showing line number on btest failure

    Some tests in btest uses long src for btest and it is harmful to
    check the results. This patch introducing the limitation how many
    lines of code is shown on failure.

commit c46af61bf17d6d97e13634d79dfbae05273eae26
  Author:     Anatoly Busygin <anatolyb94@gmail.com>
  AuthorDate: 2024-06-11 14:44:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-01 11:39:43 +0900

    [ruby/irb]  fix typos in the `Index of Command-Line Options`

    https://github.com/ruby/irb/commit/3512020f1c

commit 15ceb95d781f3966e987fe217c22edcaf6941501
  Author:     Yudai Takada <t.yudai92@gmail.com>
  AuthorDate: 2024-07-01 00:16:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-01 11:08:37 +0900

    [ruby/rdoc] Fix some typos (https://github.com/ruby/rdoc/pull/1129)

    * constist ==> consist

    * Tidyness ==> Tidiness

    * Currentry ==> Currently

    * valus ==> values

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

commit 01eb5c0f18f3eee44aee59a36399c3d56ba961e3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-01 11:07:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-01 11:07:49 +0900

    Skip to copy .so/.bundle files generated by rake-compiler

commit de2d9c8e22b59ee9be5491c1abe8ab02bee66e84
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-07-01 02:13:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-01 02:13:27 +0900

    [ruby/irb] Allow assigning and using local variable name conflicting
    with command
    (https://github.com/ruby/irb/pull/961)

    https://github.com/ruby/irb/commit/00603d470f

commit c4baf3b3c0953c8df24a87db2059f831f45f19ab
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-06-30 15:59:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-30 15:59:03 +0900

    Update bundled gems list as of 2024-06-29

commit 9d76a0ab4a582d6fefbc50a7d87a68ce86cf9c56
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-06-29 14:05:05 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-06-30 09:20:38 +0900

    Add RB_GC_GUARD for ast_value

    I think this change fixes the following assertion failure:

    ```
    [BUG] unexpected rb_parser_ary_data_type (2114076960) for script lines
    ```

    It seems that `ast_value` is collected then `rb_parser_build_script_lines_from`
    touches invalid memory address.
    This change prevents `ast_value` from being collected by RB_GC_GUARD.

commit a2c27bae9653a817b4e5f699f421836f8f97410b
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-29 04:23:14 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-30 02:25:59 +0900

    [YJIT] Don't expand kwargs on forwarding

    Similarly to splat arrays, we shouldn't expand splat kwargs.

    [ruby-core:118401]

commit 99306471348ad3a1d41d37332dc78a1ee802d07a
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-06-29 13:49:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-29 23:33:54 +0900

    Doc for Integer#ceil

commit bc91e8ff1db329e194f3d9706d94d5261090901d
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-21 07:14:32 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-29 00:01:05 +0900

    YJIT: Move `ocb` parameters into `JITState`

    Many functions take an outlined code block but do nothing more than
    passing it along; only a couple of functions actually make use of it.
    So, in most cases the `ocb` parameter is just boilerplate.

    Most functions that take `ocb` already also take a `JITState` and this
    commit moves `ocb` into `JITState` to remove the visual noise of the
    `ocb` parameter.

commit 01f0dcd336eaba425384e9351e6a1949b351723f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-28 23:38:05 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-28 23:38:26 +0900

    Fix missing macOS version in Slack notifications

    matrix.os is not set for some jobs.

commit 98c923ff4bbeeb4a8f9f63ea2695a38471da42c2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-28 23:12:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-28 23:12:29 +0900

    Synchronize Bundler & RubyGems (#11071)

commit 1652c194c849468659baa566a2422a308d6eac0c
  Author:     Gabriel Lacroix <lacroixgabriel@gmail.com>
  AuthorDate: 2024-06-28 23:11:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-28 23:11:35 +0900

    Fix comment for VM_CALL_ARGS_SIMPLE (#11067)

    * Set VM_CALL_KWARG flag first and reuse it to avoid checking kw_arg twice

    * Fix comment for VM_CALL_ARGS_SIMPLE

    * Make VM_CALL_ARGS_SIMPLE set-site match its comment

commit 5c826ebea585dad8aa351632a9de3162d59fb898
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-26 23:47:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-28 19:49:07 +0900

    [rubygems/rubygems] Protect binstub access during creation with a flock

    https://github.com/rubygems/rubygems/commit/88e3f1d23c

commit 091a6ea8c1005f5bfc24839da3da0e37251b15d1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-23 19:01:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-28 19:49:06 +0900

    [rubygems/rubygems] Move flock logic to its own method

    https://github.com/rubygems/rubygems/commit/91274128a8

commit f41a2c96c3276c628878fe847881db0efacd40d5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-23 18:57:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-28 19:49:06 +0900

    [rubygems/rubygems] More compact `open_file` fallback on Windows

    https://github.com/rubygems/rubygems/commit/8f34396af6

commit 5f8375381b685fee753556d69d04020ac5fedbdd
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-02-03 05:15:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-28 16:33:43 +0900

    [rubygems/rubygems] Avoid concurrent builds of Bundler when running specs

    Instead, build it during setup when in CI.

    This should avoid some Windows specific test failures when Bundler
    copies the same files from multiple processes and runs into EACESS
    errors.

    https://github.com/rubygems/rubygems/commit/c194a1d753

commit 176c4bb3c7db87ca5b0486012cb6a005105448c5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-28 03:02:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-28 03:06:40 +0900

    Fix corruption of internal encoding string

    [Bug #20598]

    Just like [Bug #20595], Encoding#name_list and Encoding#aliases can have
    their strings corrupted when Encoding.default_internal is set to nil.

    Co-authored-by: Matthew Valentine-House <matt@eightbitraptor.com>

commit 9c5e9d29f0c9b025577cb72b421b9682bfadcd37
  Author:     HoneyryderChuck <cardoso_tiago@hotmail.com>
  AuthorDate: 2024-04-17 02:07:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-28 01:00:55 +0900

    [ruby/openssl] rewriting most of the asn1 init code in ruby

    to have as much of the lib in ruby as possible

    https://github.com/ruby/openssl/commit/8305051728

commit c6a0d03649c686a537c1f513a1e32205ac6a6512
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-27 05:12:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-27 22:47:22 +0900

    Fix corruption of encoding name string

    [Bug #20595]

    enc_set_default_encoding will free the C string if the encoding is nil,
    but the C string can be used by the encoding name string. This will cause
    the encoding name string to be corrupted.

    Consider the following code:

        Encoding.default_internal = Encoding::ASCII_8BIT
        names = Encoding.default_internal.names
        p names
        Encoding.default_internal = nil
        p names

    It outputs:

        ["ASCII-8BIT", "BINARY", "internal"]
        ["ASCII-8BIT", "BINARY", "\x00\x00\x00\x00\x00\x00\x00\x00"]

    Co-authored-by: Matthew Valentine-House <matt@eightbitraptor.com>

commit 815b345b4169f4762510479df6cf73c91362cdeb
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-25 21:34:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-27 21:53:05 +0900

    [rubygems/rubygems] Print a proper error when bin dir does not have writable permission bit

    https://github.com/rubygems/rubygems/commit/979cd898f9

commit f88bb0e67db4b63e3b0f5d2d4cfe81276ef55e91
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-27 20:17:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-27 21:53:04 +0900

    [rubygems/rubygems] Reword some specs to disambiguate `chmod -x` from `chmod -w`

    https://github.com/rubygems/rubygems/commit/2954ab79a9

commit d29a76b90bae06cbad72bf9d14ff5581206e6f74
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-25 21:24:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-27 21:53:04 +0900

    [rubygems/rubygems] Only override `pre_install_checks` when necessary

    RubyGems >= 3.5 no longer raises `Gem::FilePermissionError` explicitly.

    https://github.com/rubygems/rubygems/commit/df54b9fd90

commit 0c7776a22656c45c8df59ab6faa4a62ba7dfe42c
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-06-27 11:44:57 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-06-27 11:44:57 +0900

    [DOC] Fix a link in NEWS.md

commit ce7299d09a8dc629fa1010dc3bbb60b5057061e6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-27 04:48:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-27 05:46:27 +0900

    [ruby/prism] Handle block exits under modifiers

    https://github.com/ruby/prism/commit/6b78f5309b

commit 4cbc41d5e5cb6793174d5964975fdb4470323ca1
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-22 02:14:08 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-27 05:01:26 +0900

    [YJIT] Fix block and splat handling when forwarding

    This commit fixes splat and block handling when calling in to a
    forwarding iseq.  In the case of a splat we need to avoid expanding the
    array to the stack.  We need to also ensure the CI write is flushed to
    the SP, otherwise it's possible for a block handler to clobber the CI

    [ruby-core:118360]

commit 43d7db3828bb4d55184d8965c00ba3157b2c834f
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-06-27 02:31:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-27 02:31:40 +0900

    [DOC] Doc for exceptions (#11008)

commit 403413e1f1d88a1af94ad9a288bfd7c28ef7257d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-26 23:43:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-27 01:11:44 +0900

    [rubygems/rubygems] Don't print warning about nil versions being discouraged during tests

    https://github.com/rubygems/rubygems/commit/39a47c264e

commit aa2a88ce90e8d93cd4f22d38c1589a470fad6f4f
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-06-26 22:39:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-26 22:39:18 +0900

    Use `File.open` instead of `IO.sysopen` (backport to 3.5) (#11061)

    Use backport to 3.5

commit c6c817df28658bf1e8913373cbf1df0cf2c29f0d
  Author:     Jerome Dalbert <jerome.dalbert@gmail.com>
  AuthorDate: 2024-06-20 03:43:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-26 20:24:47 +0900

    [rubygems/rubygems] Add --no-test, --no-ci, and --no-linter options

    https://github.com/rubygems/rubygems/commit/f58660ffcc

commit 04c86a63cd749e221980a705e684c9d3cfb59d92
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-26 19:01:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-26 19:01:21 +0900

    [ruby/date] Update zonetab.h at 2024-06-26

    https://github.com/ruby/date/commit/ef5a0dac5b

commit b4503d796453499da52e2426b28eaaca094eed8a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-26 14:44:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-26 14:45:24 +0900

    Mentioned new mswin tasks related with vcpkg

commit 514aa80563f1d52a3bb34f7f65ee3b4206c04012
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-26 14:37:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-26 14:45:24 +0900

    Added git for requirements of Windows build

commit f63b54caa02c874d1c30fd4d418237dbae78e7a9
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-06-26 13:55:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-26 13:55:26 +0900

    Update bundled gems list as of 2024-06-26

commit da01974e7e9ae7d2372b23f1374c1146bb58186b
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-06-26 13:42:26 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-26 13:42:26 +0900

    Test rbs-gem with unreleased version (#11060)

    Use rbs#1912

commit d70057d4b5a1332d99bcdffb41e7333ac3ff26c0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-26 10:02:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-26 12:31:02 +0900

    We couldn't use nmake before configure.bat

commit 797e1dfb83f949006b8b2007c4d65444394c2136
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-26 09:46:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-26 12:31:02 +0900

    Link dll files on install-vcpkg tasks

commit 4fb7e1b6d0160322b3cbcdd67c544f2e9ff56bed
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-06-25 11:38:06 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-06-26 07:48:43 +0900

    Change `enum rb_parser_ary_data_type` default value to 1 for easy debug

    We face `[BUG] unexpected rb_parser_ary_data_type (0) for script lines`
    on master branch recently.
    This commit changes `enum rb_parser_ary_data_type` to start with `1`
    and `0` to be invalid then it makes clear `rb_parser_ary_data_type (0)`
    is not intentional.

commit a47c152ab50900a9164d67612ad2b321a2668c3a
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-06-25 22:14:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-26 05:15:25 +0900

    [ruby/prism] Fix documentation comment in generated with templates files

    Fix warning
    ```
    /******************************************************************************/
    ^
    warning: [dangling-doc-comments] documentation comment is not attached to any declaration

    ```
    in Nodes.java and AbstractNodeVisitor.java files. /** is treated as a starting of a javadoc comment.

    https://github.com/ruby/prism/commit/c83d7844b8

commit b88ac94eec96c05ae230e37ca4c59ac236340082
  Author:     Thomas Marshall <thomas@thomasmarshall.com>
  AuthorDate: 2024-06-01 04:45:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 23:32:20 +0900

    [rubygems/rubygems] Only validate resolution info in Bundler

    This commit switches out the full gemspec validation for a partial one
    which only performs resolution related checks. This will allow gem
    authors to run `bundle` commands immediately after creating a new gem
    with Bundler, rather than having to fix metadata validation issues in
    the default gemspec.

    https://github.com/rubygems/rubygems/commit/d5aa9cae9d

commit 39951293b492b3b392ccb7a168fe723b03257ac3
  Author:     Thomas Marshall <thomas@thomasmarshall.com>
  AuthorDate: 2024-06-01 04:24:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 23:32:19 +0900

    [rubygems/rubygems] Add Specification#validate_for_resolution

    This method validates only what is required for resolution, skipping any
    irrelevant metadata validation. This will be used by Bundler instead of
    doing a full validation, allowing gem authors to use `bundle` commands
    immediately in newly created gems without first having to fix invalid
    metafata fields in the default gemspec.

    https://github.com/rubygems/rubygems/commit/da7704cfc0

commit 9f420e2ba582a32a1f6f436c0407c344b6d92d4b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-25 19:55:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-25 22:33:39 +0900

    [PRISM] Modules should also emit the CLASS event

commit bfb4272d8a69fd4585c599e4189f8fd8d33f1e67
  Author:     Josef Šimánek <josef.simanek@gmail.com>
  AuthorDate: 2024-06-22 04:11:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 21:55:56 +0900

    [rubygems/rubygems] Regenerate bundler docs for June 2024.

    https://github.com/rubygems/rubygems/commit/72103ca1e8

commit 65b991bc8571b7b718fc22bd33a43c4d269bf52d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-25 15:45:54 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-25 16:30:14 +0900

    Allow ambiguosity of `return` line

commit 2f76faaf515bd82256fbc79ab406d695141f722b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-25 12:48:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-25 16:14:45 +0900

    Added tasks related vcpkg

commit 501b22aade39cb1496e04cda194be0a41845f53a
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-06-25 15:59:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 15:59:43 +0900

    Update bundled gems list as of 2024-06-25

commit 3b4ff810d2fefdf0194bd774bc04f6f17e2ccae7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-25 12:42:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-25 12:42:16 +0900

    Move to test/.excludes-prism

commit a7f33c99c69e3cc62b7a24ce35f51f76cc5bfaa2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-25 12:37:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-25 12:37:50 +0900

    Pending `EVENT_RETURN` settracefunc tests with Prism

commit bed34b3a52afde6d98fcef19e199d0af293577be
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-25 11:50:03 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-25 11:50:03 +0900

    Show the detail info in the first line

commit 250fc1223c4dc293f8759ddedce9cba7841f1474
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-26 16:52:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-25 11:07:58 +0900

    [Bug #20457] Do not remove final `return` node

    This was an optimization for versions prior to 1.9 that traverse the
    AST at runtime.

commit 22f98bb7ca485d4e3830b8256c56deb9b92378f6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-26 16:10:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-25 11:07:58 +0900

    Parenthesize `nd_fl_newline` macro expressions

commit 691d85d3429891f659e9ebfab6286fa65615be03
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-25 09:55:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 09:55:07 +0900

    [ruby/reline] Rerender and enter raw mode again by SIGCONT
    (https://github.com/ruby/reline/pull/727)

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

commit ae0c7faa79029ebe615487d23c8ee1ca44ce4a36
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-06-25 03:32:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-25 03:32:58 +0900

    Handle hash and splat nodes in defined?

    This supports the nodes in both in the parse.y and prism compilers.

    Fixes [Bug #20043]

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit e428ee7bbe07fd12f65e45be0839e7f0b1e4cda6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-24 22:11:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 00:38:11 +0900

    [ruby/io-console] Use locale insensitive casecmp

    https://github.com/ruby/io-console/commit/4b2e876dd7

commit f4f8aa0f890fd4642356741de21b0e3914c2c79b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-21 18:21:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 00:38:10 +0900

    [ruby/io-console] Use `strcasecmp`

    https://github.com/ruby/io-console/commit/f8ec8a0617

commit 25c2aa0a1c55b5a90e29fc9d4f64166ddb498f51
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-21 16:00:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 00:38:10 +0900

    [ruby/io-console] Use gperf 3.1 to generate ANSI-C code

    https://github.com/ruby/io-console/commit/3798aae42d

commit 865a2027a17fdc09cd228e06bb6e5f8b2a48268d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-24 22:11:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 00:36:56 +0900

    [ruby/date] Use locale insensitive casecmp

    https://github.com/ruby/date/commit/cfbd6a6b13

commit 7aafd3ed0e26c292834a628bf6d1335706f90a50
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-21 18:21:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 00:36:56 +0900

    [ruby/date] Use `strncasecmp`

    https://github.com/ruby/date/commit/5974ac9c7e

commit 12e66f11e526ba89103ca0b10a80b9b61a16af3e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-21 16:00:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 00:36:55 +0900

    [ruby/date] Use gperf 3.1 to generate ANSI-C code

    https://github.com/ruby/date/commit/5d67437b1f

commit 1213623e5c11d63793e6966752904cc265012b25
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-21 16:00:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-24 23:43:45 +0900

    Use gperf 3.1 to generate ANSI-C code

commit 95ffcd3f9ff20c3e9b0556672758cf8724542b0c
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-06-24 18:57:26 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-24 19:43:39 +0900

    Fix `--debug-frozen-string-literal` to not apply `--disable-frozen-string-literal`

    [Feature #20205]

    This was an undesired side effect. Now that this value is a triplet, we can't
    assume it's disabled by default.

commit 9cfc1362aa6f42f2c654ee155b1cffb9063879f6
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-24 18:14:05 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-24 18:14:34 +0900

    Extend the timeout of test_try_ldflag_invalid_opt and test_try_cppflag_invalid_opt

commit 65d3eacc80bbefb29e5cd0f3f9661d886f2e4cee
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-24 16:30:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-24 17:38:01 +0900

    No longer needs `sigsetjmp`

    Since signal handlers just set flag and return now, `sigsetjmp` and
    `siglongjmp` will not be needed.

commit 92f2cf1bf9430514a182f6e7bb8c2090b8285cbd
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-24 15:59:38 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-24 16:50:09 +0900

    With ASAN `EC_REPUSH_TAG` doesn't work

    With ASAN, `EC_TMPPOP_TAG`/`EC_REPUSH_TAG` doesn't work
    so rewrite it without them. They are used for the performance,
    but here calling stacked `END{}` and not so performance critical.

commit afd42e4db7efc6d00fde2c85fe6e095db3d8e2fb
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-06-24 12:25:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-24 13:25:30 +0900

    Use $GITHUB_PATH

commit a22448df9d4232172f88ac765a9dee756496d406
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-06-22 22:02:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-24 13:25:30 +0900

    Integrate Launchable into mingw

commit 96b45e61ca4ae99b9a52561db37d3cec229f1695
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-24 12:28:03 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-24 13:18:21 +0900

    Introduce retry to the setup of test files with TestFile#test_stat

    GitHub Actions macos-arm-oss is often too slow and does not timestamp as
    expected.

commit ace17ba3cd603de017bb894509bb2e60af1d1b9f
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-24 12:27:29 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-24 13:11:45 +0900

    Extend the timeout of Fiddle::TestFunction#test_nogvl_poll

commit 3a323c6b12dbe6b450b6c9bac14de0eb06773a44
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-24 11:54:10 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-24 11:54:10 +0900

    Extend the timeout of TestVMDump#test_darwin_invalid_call, etc.

commit 2b5ddcee56da4a1d35f47562d2d99dc6d716df57
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-24 10:01:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-24 10:48:15 +0900

    Removed obsoleted workaround for OpenSSL

commit f58fef62dcfe5b0fa2140fb7a6deee4900e7a323
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-24 09:20:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-24 10:48:15 +0900

    Use expanded path for --with-opt-dir

commit 5f5da2e8397e7183533c7b4513982c8f95f7369c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-24 08:38:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-24 10:48:15 +0900

    Use manifest mode of vcpkg

commit 18404af9ec0b797be37450ae93e7f46a1ab2ec08
  Author:     MSP-Greg <Greg.mpls@gmail.com>
  AuthorDate: 2024-06-22 07:25:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-24 09:03:55 +0900

    .github/actions/setup/macos/action.yml - use brew openssl@3, not 1.1

commit acce96647d4cdb8669de1f57ce0b0ba213870b53
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-06-23 15:59:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-23 15:59:37 +0900

    Update bundled gems list as of 2024-06-22

commit d8c6e91748871ab2287d7703347847fe18a292d2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-23 09:42:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-23 09:42:25 +0900

    Fix dangling `else`

commit fba8aff7af450e476e97b62385427dfa51850955
  Author:     Dmitry Davydov <haudvd@gmail.com>
  AuthorDate: 2024-06-22 04:16:04 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-22 22:05:31 +0900

    [Bug #20592] Fix segfault when sending NULL to freeaddrinfo

    On alpine freeaddrinfo does not accept NULL pointer

commit d122a68863f4438c4db594cf67a12348c151aae9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-22 18:48:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-22 18:48:14 +0900

    Exported symbols in DLL on Windows are managed by win32/mkexports.rb

commit 73b7eebf07a5045a47bff72a7fc70e5e6aee7b94
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-06-22 14:04:49 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-06-22 15:12:00 +0900

    build: fix crossruby build by handling empty `ac_abs_builddir`

    `ac_abs_builddir` can be empty when the build is top-level (not
    subdirs, and Ruby is usually the case). In such case, the MINIRUBY is
    expanded to `$RUBY -I -r'$(arch)-fake'`, which interprets `-r$(arch)-fake`
    as an argument to `-I` option. This led to:
    - Not loading the fake config file
    - Then not setting `CROSS_COMPILING` constant during extmk.rb execution
    - Then misusing cross-compiled `./miniruby` instead of baseruby to generate
      files used in exts.

    This commit fixes the issue by handling the empty `ac_abs_builddir` case
    properly.

commit cab0d03037d8bc2fce19d1ba2d709f1436890f01
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-22 10:58:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-22 10:58:32 +0900

    Get rid of nesting backquotes

    Also executing variable containing an option may not be portable.
    Follow up of dd378c5a2483002d50053cf81d00004c1fb3c8bd.

commit dd378c5a2483002d50053cf81d00004c1fb3c8bd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-22 02:16:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-22 02:16:16 +0900

    Expand --with-opt-dir arguments

commit 90763e04ba2200f96a485d2ef3bb56817ae1b2db
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-21 02:25:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-22 00:49:01 +0900

    Load external GC using command line argument

    This commit changes the external GC to be loaded with the `--gc-library`
    command line argument instead of the RUBY_GC_LIBRARY_PATH environment
    variable because @nobu pointed out that loading binaries using environment
    variables can pose a security risk.

commit bd583ca645ea348a2894f4227fcb1af650ee8dec
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-21 21:45:27 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-21 22:36:42 +0900

    retry on cancelling of `getaddrinfo`

    When the registerred unblock function is called, it should retry
    the cancelled blocking function if possible after checkints.

    For example, `SIGCHLD` can cancel this method, but it should not
    raise any exception if there is no trap handlers.

    The following is repro-code:

    ```ruby
    require 'socket'
    PN = 10_000

    1000000.times{
      p _1
      PN.times{
        fork{
          sleep rand(0.3)
        }
      }
      i = 0
      while i<PN
        cpid = Process.wait -1, Process::WNOHANG
        if cpid
          # p [i, cpid]
          i += 1
        end

        begin
          TCPServer.new(nil, 0).close
        rescue
          p $!
          exit!
        end
      end
    }
    ```

commit 9a22d4b9a0bbde05969a74835fb5be9dc95ff35f
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-21 12:32:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-21 21:32:04 +0900

    [ruby/prism] Update `#line` that was missed to update

    Follow up https://github.com/ruby/prism/commit/1a2626be275d

    https://github.com/ruby/prism/commit/8174aac929

commit bf061ce6fea774f9d400d7cc06386c7bccb927d5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-21 14:42:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-21 18:25:03 +0900

    Use the official way for binary cache with vcpkg

    https://learn.microsoft.com/en-us/vcpkg/consume/binary-caching-github-actions-cache

commit ac9e84df3d0b06e62498aafbca99e8f8475ec142
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-21 12:38:18 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-21 14:48:44 +0900

    Support LCOV 2.0

    LCOV 2.0, a GCOV frontend, seems to have stricter error checking

commit 47364c147ddaf47e73e169124a782dc56b11eeb6
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-20 12:09:38 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-21 13:57:07 +0900

    Apply EnvUtil.apply_timeout_scale for TestFile#test_stat

    ... to respect RUBY_TEST_TIMEOUT_SCALE. This test somehow fails
    frequently on macos-arm-oss with --repeat-count=2

    https://app.launchableinc.com/organizations/ruby/workspaces/ruby/data/test-paths/file%3Dtest%2Fruby%2Ftest_file.rb%23%23%23class%3DTestFile%23%23%23testcase%3Dtest_stat?organizationId=ruby&workspaceId=ruby&testPathId=file%3Dtest%2Fruby%2Ftest_file.rb%23%23%23class%3DTestFile%23%23%23testcase%3Dtest_stat&testSessionStatus=flake

commit 185a6c991e0f9000f66a59981ce666d611143d15
  Author:     ccmywish <ccmywish@qq.com>
  AuthorDate: 2024-06-21 01:06:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-21 11:27:47 +0900

    [rubygems/rubygems] Update contents of gem.bat on Windows

    (https://github.com/rubygems/rubygems/pull/6483)

    https://github.com/rubygems/rubygems/commit/41d8cffd2e

    Co-Authored-By: MSP-Greg <Greg.mpls@gmail.com>

commit 249a1fb0eb26a79370c7a0b3833b2e25f92866a9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-19 14:21:48 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-21 09:25:00 +0900

    Show more in `RBIMPL_ASSERT_TYPE`

commit b834c62efdb730e1b0ac7134cfa933bc10c59a80
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-19 12:34:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-21 09:24:59 +0900

    Delegate from `RBIMPL_ASSERT_OR_ASSUME` to `RUBY_ASSERT_ALWAYS`

    Get rid of expansion of the argument which often contains complicated
    macros, and simplify the failure message.

commit b182f2a04520a0138992b27f9e6bfd15bdfd6f96
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-20 23:56:03 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-21 00:43:48 +0900

    fix sendfwd with `send` and `method_missing`

    combination with `send` method (optimized) or `method_missing`
    and forwarding send (`...`) needs to respect given
    `rb_forwarding_call_data`. Otherwize it causes critical error
    such as SEGV.

commit f5fd87b695a0e3b696651503d4eceaa17876fab2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-21 00:34:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-21 00:34:52 +0900

    Make ruby_external_gc_init static

    This function is not used outside of gc.c.

commit a47a176768c637b7d5158a31a5902b2e680fa47f
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-06-20 04:23:12 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-06-20 23:54:02 +0900

    Skip 3 specs when $HOME is not a valid directory

    If $HOME isn't a valid directory, these specs fail, but I think it
    is better to skip in this case, as it does not indicate a bug.

    This fixes specs when run in the OpenBSD port, which sets $HOME
    to an invalid directory to ensure that software's build system
    is not accidentally relying on it.

commit 9bd5995b40deedad351089b898b2dafe9de70b6e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-20 21:39:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-20 22:24:19 +0900

    [PRISM] Remove duplicated tests

    These tests are flaky and are duplicative of other tests that are
    run in CI when parser=prism.

commit c3b5b98e15e9a893aaca46e53d2c8931bf13e322
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-20 12:15:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-20 21:36:18 +0900

    [ruby/prism] Set `#line" directives to respect the path in ruby/ruby repo

    ruby/ruby measures test coverage of C code, but the `#line` directive
    generated by prism points to a file that does not exist, so coverage is
    not taken properly.

    This changeset specifies the location of the source files as a relative
    path in terms of ruby/ruby repo.

    https://github.com/ruby/prism/commit/1a2626be27

commit 0a9f1ecc376547b096a9811eecf4b13ea870d78c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-20 17:15:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-20 18:26:33 +0900

    [rubygems/rubygems] Add a regression test for previous `bundler update --bundler` fix

    https://github.com/rubygems/rubygems/commit/c392593dc3

commit b558fc0e36d116825befd400cb8bb9b606a5dc0a
  Author:     nick evans <nick@rubinick.dev>
  AuthorDate: 2024-05-22 02:17:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-20 17:34:31 +0900

    [ruby/securerandom] Update UUID documentation with RFC9562 links

    RFC9562 was released almost two weeks ago, so we can replace the "draft"
    UUIDv7 URL with the final RFC URL too.  RFC9562 obsoletes RFC4122, so I
    replaced its link as well.

    https://github.com/ruby/securerandom/commit/1e41c3d2cb

commit 92ab2dac22a3f7231ab5b0e9a6994894e7f40f93
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-20 11:33:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-20 16:16:56 +0900

    [rubygems/rubygems] Check if failed with the expected error

    https://github.com/rubygems/rubygems/commit/3f22e9df8d

commit e345970707fd0541e79ee093a613c8439718c852
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-19 20:51:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-20 16:16:55 +0900

    [rubygems/rubygems] Revert "Workaround for TruffleRuby that set `nil` to LIBRUBY_RELATIVE"

    This reverts commit https://github.com/rubygems/rubygems/commit/06fd39997348, for a
    bug that is fixed by https://github.com/rubygems/rubygems/commit/0148cce153a5.

    https://github.com/rubygems/rubygems/commit/907e51e521

commit f7acfeb4ce9ad5235cd6e3d5a709c0dd0096b863
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-18 20:49:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-20 16:15:06 +0900

    [rubygems/rubygems] Fix credentials being readded when re-resolving without a full unlock

    https://github.com/rubygems/rubygems/commit/a8670e43f8

commit bf6b8dd6a82b673e89c8931c6c99e64395bbaab2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-19 00:36:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-20 16:14:47 +0900

    [rubygems/rubygems] Fix `bundle update <gem_name>` edge case

    When locked only to RUBY, and some locked spec does not meet locked
    dependencies, Bundler would remove the only locked platform and end up
    creating a lockfile with empty sections.

    We can't rely on our criteria to remove invalid platforms if locked
    specs are not valid in the first place.

    https://github.com/rubygems/rubygems/commit/1dba05cf53

commit f445d54f9158dfff814f0954fbba57093d3abb6a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-11 18:40:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:22:52 +0900

    [rubygems/rubygems] Move constant to the proper place

    https://github.com/rubygems/rubygems/commit/9f08241d01

commit ae7d60945602f6dc3a7e99aa8f094d000aa9bede
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-07 23:47:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:22:20 +0900

    [rubygems/rubygems] Don't expire git specs unnecessarily when remote! or cached! are used

    https://github.com/rubygems/rubygems/commit/04b26731cb

commit 0610302a8fc2e2cab401e0afde36dcaffd841cd7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-07 18:32:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:22:13 +0900

    [rubygems/rubygems] Don't validate local gemspec twice

    Calling `remote!` or `cached!` on the source was expiring local specs
    for now reason. It's unnecessary to override these methods for path
    sources since they only deal with local specifications.

    https://github.com/rubygems/rubygems/commit/aa93b196a2

commit 758e01d39da4b84a9950ad1301af98010e27fbee
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-14 18:08:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:21:08 +0900

    [rubygems/rubygems] Make sure to not re-resolve when a not fully specific local platform is locked

    https://github.com/rubygems/rubygems/commit/36a02c6128

commit c6a28b02c9892ae570e6da1b068470c8c93b9d16
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-08 03:19:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:20:57 +0900

    [rubygems/rubygems] Always resolve against the local platform

    If RUBY is the only platform in the lockfile, we were skipping adding
    the local platform to the list of resolution platforms. This generally
    works anyways, because we had some code to still add it if the RUBY
    platform is not valid for the set of locked gems.

    However, sometimes it can happen that "RUBY" is valid for the current
    set of locked gems, but when adding a new dependency, it becomes
    invalid. For example, when adding sorbet to a Gemfile, that will
    introduce `sorbet-static` as an indirect dependency which does not have
    a generic "RUBY" variant. This will cause resolution to take a long time
    continuously backtracking trying to find solutions that don't introduce
    `sorbet-static` as a dependency and will eventually fail.

    Instead, we can always add the local platform to the set of resolution
    platforms before resolving, and remove it as necessary after resolution
    so that we lock the correct set of platforms.

    https://github.com/rubygems/rubygems/commit/6ed1fe6050

commit 9e713f0e8c4d79cb7ebab4a74aa89491a8dec72b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-11 19:01:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:20:47 +0900

    [rubygems/rubygems] Remove no longer needed condition

    The `force-ruby-platform` settings is properly respected when
    materializing since https://github.com/rubygems/rubygems/commit/e17d7e9efb91.

    https://github.com/rubygems/rubygems/commit/c4ba54eb96

commit af304ad9529b26d95507071ac1711440b7e4191f
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2024-06-12 04:34:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:18:56 +0900

    [rubygems/rubygems] Revert to splitting parser due to performance regression

    * The string search parser was more memory efficient but
      in some cases, much slower. Reverting until a better
      solution is found.
    * Handle the situation where the line might be blank (Artifactory bug)

    https://github.com/rubygems/rubygems/commit/222d38737d

commit 0e1182f93c29b6bfd43568c80c244c961059942d
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-12 08:45:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:16:57 +0900

    [ruby/fiddle] Remove Vim commands
    (https://github.com/ruby/fiddle/pull/140)

    Some of these commands just don't work (for example `sws` is not a Vim
    setting). I think we should just remove these.

    https://github.com/ruby/fiddle/commit/c3dbf7ba9a

commit c2fd3dfb983158488b56abec1e9802dfcc4aa095
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-19 19:01:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:16:48 +0900

    [ruby/date] Update zonetab.h at 2024-06-19

    https://github.com/ruby/date/commit/8e5efd4f59

commit fbe56b1c1760d17207056f95b20c873d841e9d6b
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-20 12:04:59 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-20 12:52:09 +0900

    Set RUBY_TEST_TIMEOUT_SCALE=3 for --repeat-count=2 test

    With --repeat-count=2, timing-related test seems to fail frequently.
    I'm not sure of the cause, but I want to reduce the errors by setting
    RUBY_TEST_TIMEOUT_SCALE.

commit 84c9f2a240a623c4bb1a19fd6c63f9fd3c7e4315
  Author:     Yuri Kanivetsky <yuri.kanivetsky@gmail.com>
  AuthorDate: 2024-06-20 00:58:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-20 09:12:31 +0900

    [rubygems/rubygems] Make "bundler? update --bundler" behave identically

    https://github.com/rubygems/rubygems/commit/30dce3f87d

commit 83f57ca3d225ce06abbc5eef6aec37de4fa36d58
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-06-19 21:04:30 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-19 22:11:07 +0900

    String.new(capacity:) don't substract termlen

    [Bug #20585]

    This was changed in 36a06efdd9f0604093dccbaf96d4e2cb17874dc8 because
    `String.new(1024)` would end up allocating `1025` bytes, but the problem
    with this change is that the caller may be trying to right size a String.

    So instead, we should just better document the behavior of `capacity:`.

commit 321ed86e93a34833bd869c6bc3f52d84b8ecce35
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-19 19:31:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-19 20:42:35 +0900

    [rubygems/rubygems] Do not set previously unset value

    https://github.com/rubygems/rubygems/commit/0148cce153

commit 57e15074fe90e78afc9eadd8287f777d83a8ce6d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-19 19:21:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-19 20:42:35 +0900

    [rubygems/rubygems] Workaround for TruffleRuby that set `nil` to LIBRUBY_RELATIVE

    https://github.com/rubygems/rubygems/commit/06fd399973

commit 378e65af9a0d707436f20a5a514f5ea503f89ee8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-19 18:19:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-19 20:42:34 +0900

    [rubygems/rubygems] Dump `RbConfig` elements to escape special characters

    Naively embed strings do not work if special characters (newline,
    backslahes and so on) are contained.

    https://github.com/rubygems/rubygems/commit/ac2c4c4af1

commit 2ccd5f8cef40d9f8e4ef7852b65af44fbc67d65e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-19 15:56:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-19 19:56:58 +0900

    [rubygems/rubygems] Use get_byte_ranges instead of byte_ranges

    https://github.com/rubygems/rubygems/commit/5c2ad44c18

commit 662fbaaacdd0bd09e3dcda9ece018acbc94e2676
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-06-19 15:59:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-19 15:59:21 +0900

    Update bundled gems list as of 2024-06-19

commit ed2f8ea62ebe77bbb8408cb27b416c4a7f1023cc
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-18 22:51:24 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-19 13:42:40 +0900

    [DOC] IO#close on closed IO is not an error.

commit dfb67a44338e5c17d53be3f65e1fb5ccb33367d0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-12 22:54:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-19 10:18:39 +0900

    [ruby/prism] (parser) Print when token tests are now passing

    https://github.com/ruby/prism/commit/9e4fb665ee

commit 24f48382bc3ab62ca0979f1a6879f0d82134abfe
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-12 22:44:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-19 10:18:39 +0900

    [ruby/prism] (parser) Fix up tokens for empty symbol

    https://github.com/ruby/prism/commit/5985ab7687

commit c93b70cfdde962c24d99253ecf1e2c256d695f67
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-19 09:05:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-19 09:06:01 +0900

    [ruby/prism] Make sure Init_prism is visible for extension

    https://github.com/ruby/prism/commit/4601d3adfd

commit eb215c8dc659f810abc4d112c000a5778fbbe423
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-18 23:07:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-19 03:21:37 +0900

    Fix flaky TestWeakMap#test_inspect_garbage

    If a GC is ran before the assert_match, then the WeakMap would be empty
    and would not have any objects, so the regular expression match would
    fail. This changes the regular expression to work even if the WeakMap
    is empty.

commit b8a592fe6e2d1b537b229625cd3d439a7d5a6eb5
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-06-19 01:38:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-19 02:53:59 +0900

    [rubygems/rubygems] Fix `bundle fund` when the gemfile contains optional groups

    `current_dependencies` doesn't return gems in optional groups, while `specs` would

    Closes https://github.com/rubygems/rubygems/pull/7757

    https://github.com/rubygems/rubygems/commit/c797e95636

commit 4b04da1ee81c460c591456d8d24792af55cd5c5f
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-07 09:03:18 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-19 01:28:25 +0900

    Deconstruct ci in one place

    Putting these calls next to each other lets the compiler combine "packed
    ci" checks

commit e5160a9c60e4a8b1e53b94c3e696968d9f61f6c9
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-06 03:26:25 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-19 01:28:25 +0900

    Mark the class on orphan call caches

    "super" CC's are "orphans", meaning there is no class CC table that
    points at them.  Since they are orphans, we should mark the class
    reference so that if the cache happens to be used, the class will still
    be alive

commit a661c82972d1b4e3fc26662639b3a55c673ecb5e
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-04 07:48:13 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-19 01:28:25 +0900

    Refactor so we don't have _cd

    This should make the diff more clean

commit cc97a270080d2c6eb9dbdd2b9793ab549b6bb44d
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-04 06:20:04 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-19 01:28:25 +0900

    Add two new instructions for forwarding calls

    This commit adds `sendforward` and `invokesuperforward` for forwarding
    parameters to calls

    Co-authored-by: Matt Valentine-House <matt@eightbitraptor.com>

commit a25dd5b12c550a152d9875720b423e141f36dfb0
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-05-25 06:33:03 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-19 01:28:25 +0900

    Set a fast path for forwardable iseqs

commit cfc5646cdc2b693aff1f8b74f30093765df16957
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-05-25 06:57:22 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-19 01:28:25 +0900

    fix allocation assertions

commit bd7a87e5bbe8dca6414d1bb719e945dec80dd311
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-25 07:42:40 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-19 01:28:25 +0900

    Add a CC fastpath for forwardable methods

commit cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-16 02:48:53 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-19 01:28:25 +0900

    Optimized forwarding callers and callees

    This patch optimizes forwarding callers and callees. It only optimizes methods that only take `...` as their parameter, and then pass `...` to other calls.

    Calls it optimizes look like this:

    ```ruby
    def bar(a) = a
    def foo(...) = bar(...) # optimized
    foo(123)
    ```

    ```ruby
    def bar(a) = a
    def foo(...) = bar(1, 2, ...) # optimized
    foo(123)
    ```

    ```ruby
    def bar(*a) = a

    def foo(...)
      list = [1, 2]
      bar(*list, ...) # optimized
    end
    foo(123)
    ```

    All variants of the above but using `super` are also optimized, including a bare super like this:

    ```ruby
    def foo(...)
      super
    end
    ```

    This patch eliminates intermediate allocations made when calling methods that accept `...`.
    We can observe allocation elimination like this:

    ```ruby
    def m
      x = GC.stat(:total_allocated_objects)
      yield
      GC.stat(:total_allocated_objects) - x
    end

    def bar(a) = a
    def foo(...) = bar(...)

    def test
      m { foo(123) }
    end

    test
    p test # allocates 1 object on master, but 0 objects with this patch
    ```

    ```ruby
    def bar(a, b:) = a + b
    def foo(...) = bar(...)

    def test
      m { foo(1, b: 2) }
    end

    test
    p test # allocates 2 objects on master, but 0 objects with this patch
    ```

    How does it work?
    -----------------

    This patch works by using a dynamic stack size when passing forwarded parameters to callees.
    The caller's info object (known as the "CI") contains the stack size of the
    parameters, so we pass the CI object itself as a parameter to the callee.
    When forwarding parameters, the forwarding ISeq uses the caller's CI to determine how much stack to copy, then copies the caller's stack before calling the callee.
    The CI at the forwarded call site is adjusted using information from the caller's CI.

    I think this description is kind of confusing, so let's walk through an example with code.

    ```ruby
    def delegatee(a, b) = a + b

    def delegator(...)
      delegatee(...)  # CI2 (FORWARDING)
    end

    def caller
      delegator(1, 2) # CI1 (argc: 2)
    end
    ```

    Before we call the delegator method, the stack looks like this:

    ```
    Executing Line | Code                                  | Stack
    ---------------+---------------------------------------+--------
                  1| def delegatee(a, b) = a + b           | self
                  2|                                       | 1
                  3| def delegator(...)                    | 2
                  4|   #                                   |
                  5|   delegatee(...)  # CI2 (FORWARDING)  |
                  6| end                                   |
                  7|                                       |
                  8| def caller                            |
              ->  9|   delegator(1, 2) # CI1 (argc: 2)     |
                 10| end                                   |
    ```

    The ISeq for `delegator` is tagged as "forwardable", so when `caller` calls in
    to `delegator`, it writes `CI1` on to the stack as a local variable for the
    `delegator` method.  The `delegator` method has a special local called `...`
    that holds the caller's CI object.

    Here is the ISeq disasm fo `delegator`:

    ```
    == disasm: #<ISeq:delegator@-e:1 (1,0)-(1,39)>
    local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
    [ 1] "..."@0
    0000 putself                                                          (   1)[LiCa]
    0001 getlocal_WC_0                          "..."@0
    0003 send                                   <calldata!mid:delegatee, argc:0, FCALL|FORWARDING>, nil
    0006 leave                                  [Re]
    ```

    The local called `...` will contain the caller's CI: CI1.

    Here is the stack when we enter `delegator`:

    ```
    Executing Line | Code                                  | Stack
    ---------------+---------------------------------------+--------
                  1| def delegatee(a, b) = a + b           | self
                  2|                                       | 1
                  3| def delegator(...)                    | 2
               -> 4|   #                                   | CI1 (argc: 2)
                  5|   delegatee(...)  # CI2 (FORWARDING)  | cref_or_me
                  6| end                                   | specval
                  7|                                       | type
                  8| def caller                            |
                  9|   delegator(1, 2) # CI1 (argc: 2)     |
                 10| end                                   |
    ```

    The CI at `delegatee` on line 5 is tagged as "FORWARDING", so it knows to
    memcopy the caller's stack before calling `delegatee`.  In this case, it will
    memcopy self, 1, and 2 to the stack before calling `delegatee`.  It knows how much
    memory to copy from the caller because `CI1` contains stack size information
    (argc: 2).

    Before executing the `send` instruction, we push `...` on the stack.  The
    `send` instruction pops `...`, and because it is tagged with `FORWARDING`, it
    knows to memcopy (using the information in the CI it just popped):

    ```
    == disasm: #<ISeq:delegator@-e:1 (1,0)-(1,39)>
    local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
    [ 1] "..."@0
    0000 putself                                                          (   1)[LiCa]
    0001 getlocal_WC_0                          "..."@0
    0003 send                                   <calldata!mid:delegatee, argc:0, FCALL|FORWARDING>, nil
    0006 leave                                  [Re]
    ```

    Instruction 001 puts the caller's CI on the stack.  `send` is tagged with
    FORWARDING, so it reads the CI and _copies_ the callers stack to this stack:

    ```
    Executing Line | Code                                  | Stack
    ---------------+---------------------------------------+--------
                  1| def delegatee(a, b) = a + b           | self
                  2|                                       | 1
                  3| def delegator(...)                    | 2
                  4|   #                                   | CI1 (argc: 2)
               -> 5|   delegatee(...)  # CI2 (FORWARDING)  | cref_or_me
                  6| end                                   | specval
                  7|                                       | type
                  8| def caller                            | self
                  9|   delegator(1, 2) # CI1 (argc: 2)     | 1
                 10| end                                   | 2
    ```

    The "FORWARDING" call site combines information from CI1 with CI2 in order
    to support passing other values in addition to the `...` value, as well as
    perfectly forward splat args, kwargs, etc.

    Since we're able to copy the stack from `caller` in to `delegator`'s stack, we
    can avoid allocating objects.

    I want to do this to eliminate object allocations for delegate methods.
    My long term goal is to implement `Class#new` in Ruby and it uses `...`.

    I was able to implement `Class#new` in Ruby
    [here](https://github.com/ruby/ruby/pull/9289).
    If we adopt the technique in this patch, then we can optimize allocating
    objects that take keyword parameters for `initialize`.

    For example, this code will allocate 2 objects: one for `SomeObject`, and one
    for the kwargs:

    ```ruby
    SomeObject.new(foo: 1)
    ```

    If we combine this technique, plus implement `Class#new` in Ruby, then we can
    reduce allocations for this common operation.

    Co-Authored-By: John Hawthorn <john@hawthorn.email>
    Co-Authored-By: Alan Wu <XrXr@users.noreply.github.com>

commit 921f22e563d6372d9f853f87d48b11c479126da9
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-06-19 00:15:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-19 00:15:23 +0900

    [ruby/irb] Improve how command calls' return value is handled
    (https://github.com/ruby/irb/pull/972)

    In #934, we changed command calls to return nil only. This PR improves
    the behaviour even further by:

    - Not echoing the `nil` returned by command calls
    - Not overriding previous return value stored in `_` with the
      `nil` from commands

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

commit c2e2c5975d576076bb3e77524d5458d28e761742
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-18 23:57:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-18 23:57:19 +0900

    [ruby/reline] Fix vi_yank or vi_delete_meta copies nil bug
    (https://github.com/ruby/reline/pull/726)

    https://github.com/ruby/reline/commit/46b30b07c9

commit b499356307139e80a414d9ddb3a7f14dadf0eda4
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-06-18 22:01:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-18 22:01:28 +0900

    Update bundled gems list as of 2024-06-16

commit dd704eb4c346d22ac14dd615159b5f1f7b6393c9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-18 20:55:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-18 21:48:25 +0900

    net-ftp-0.3.6 always return response with put/puttextfile.

    * https://github.com/ruby/net-ftp/pull/34
    * https://github.com/ruby/net-ftp/issues/36

commit 1997f43a5476d86ebcac1fbd4f75cef3358dc223
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-18 20:51:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-18 21:48:25 +0900

    Bump up net-ftp to 0.3.6

commit 7cbe54714ca1b9112e278d2d605cd049a065707e
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-06-18 10:19:52 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-06-18 11:12:52 +0900

    extmk.rb: define Gem.target_rbconfig not to break `Gem::Platform.local`

commit a3930db275351cba075aa67000374ff0641126e9
  Author:     Alexey Schepin <alexey.schepin@builder.ai>
  AuthorDate: 2024-06-18 02:06:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-18 10:52:04 +0900

    [rubygems/rubygems] Delete extra spaces left after rubocop autofix

    https://github.com/rubygems/rubygems/commit/a552732bed

commit d9141920121158f78c260b67b7a0c3d675865ebd
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-06-17 22:45:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-18 09:59:37 +0900

    [rubygems/rubygems] Use symbol for option key in Bundler::CLI::Install

    https://github.com/rubygems/rubygems/commit/07a5faeb89

commit 97a23db5acc87c3a44bd005aef00c8003f45adb4
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-05-15 16:58:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-18 09:59:36 +0900

    [rubygems/rubygems] Disable `install_extension_in_lib` when cross-compiling

    https://github.com/rubygems/rubygems/commit/643e154f32

commit 3e4b694565f8459c95283f6ec6aed52ad38cc57a
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-05-05 07:36:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-18 09:59:36 +0900

    [rubygems/rubygems] Bundler integration for --target-rbconfig option

    https://github.com/rubygems/rubygems/commit/f9fb413a19

commit 273d41b9e3c90d4d3fe2ffcb88477197d528b9a0
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-05-05 06:23:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-18 09:59:35 +0900

    [rubygems/rubygems] Add `--target-rbconfig` option to `gem install` and `gem update` commands

    This patch adds `--target-rbconfig` option to specify the rbconfig.rb file
    for the deployment target platform. This is useful when cross-compiling
    gems. At the moment, this option is only available for `extconf.rb`-based
    extensions.

    https://github.com/rubygems/rubygems/commit/cf2843f7a2

commit 91bbb7831301f405c56b5de1bd9e7a79f4d302b5
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-06-18 05:29:43 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-18 06:14:29 +0900

    YJIT: Fix an unused field warning in `DumpDisasm`.

commit 657c8db8deb06741ca4b6a8b6635230f68c6d263
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-15 05:24:35 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-18 04:09:32 +0900

    YJIT: `--yjit-dump-disasm=dir`: Hold descriptor for dump file

    This mainly aims to make `--yjit-dump-disasm=<relative_path>` more
    usable. Previously, it crashed if the program did chdir(2), since it
    opened the dump file every time when appending.

    Tested with:

        ./miniruby --yjit-dump-disasm=. --yjit-call-threshold=1 -e 'Dir.chdir("/") {}'

    And the `lobsters` benchmark.

commit a119b5f8793b2bf0c9f970d9f0cf16e6f33ee7c3
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-06-12 04:24:12 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-18 01:44:48 +0900

    Add a fast path implementation for appending single byte values to US-ASCII strings.

commit 27e13fbc58b02bc027de9c51c8963f57276ac7c1
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-06-11 06:36:52 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-18 01:44:48 +0900

    Add a fast path implementation for appending single byte values to binary strings.

    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>

commit b73dd8f6d0d04fec834c4aae0139cf6c0270f780
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-06-17 16:20:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-17 16:40:56 +0900

    [ruby/io-console] Skip building extension on WASI

    WASI does not support concept to provide termios, so it is not possible
    to build io/console extension on WASI at the moment.

    However, `io/console` is used by many gems, and removing the dependency
    from them *conditionally* is impossible. So, this commit adds a
    check to skip building `io/console` extension on WASI just to pass `gem
    install` for the platform.

    https://github.com/ruby/io-console/commit/ba9bf00184

commit ce6a1ba9a169736e0313daf2b7f36a01e54a5d1c
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-06-16 05:13:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-16 05:14:01 +0900

    [ruby/irb] Bump version to v1.13.2
    (https://github.com/ruby/irb/pull/970)

    https://github.com/ruby/irb/commit/35de7dacd4

commit 84947c515acb93588d9dbea722a0e52eca56bac1
  Author:     Herwin <herwinw@users.noreply.github.com>
  AuthorDate: 2024-06-15 21:54:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-16 00:03:18 +0900

    [ruby/prism] Document MultiWriteNode fields

    https://github.com/ruby/prism/commit/b6a97a43c2

commit 6184882b84bb6cacc0bd4837623eaa05da87d156
  Author:     Herwin <herwinw@users.noreply.github.com>
  AuthorDate: 2024-06-15 19:21:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-15 21:06:49 +0900

    [ruby/prism] Document MultiTargetNode

    https://github.com/ruby/prism/commit/b817cd25c5

commit 7529591df11563fa29e19716322ca03b0c6d3e3e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-15 04:09:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-15 04:22:54 +0900

    [ruby/prism] Ensure ranges are non-associative

    https://github.com/ruby/prism/commit/f59295938b

commit 4d73f3f9ebefa347acc1ec8031ac4025f5f71ba8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-18 01:27:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-14 23:27:02 +0900

    [rubygems/rubygems] Fix funding metadata not being printed in some situations

    Namely, when a gem has not previously been installed, and Bundler is
    using the compact index API, fund metadata was not getting printed
    because the proper delegation was not implemented in the specification
    class used by the compact index.

    https://github.com/rubygems/rubygems/commit/9ef5139f60

commit 6a474ef2660da0e5486aa3a3bdcd4f9aac5e5362
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-14 03:22:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-14 19:05:20 +0900

    [rubygems/rubygems] Don't print bug report template when bin dir is not writable

    https://github.com/rubygems/rubygems/commit/f4ce3aae71

commit a1f72a563b74a44198b34add3aa9fdcef54c2405
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-14 16:46:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-14 17:54:02 +0900

    [Bug #20579] ripper: Dispatch spaces at END-OF-INPUT without newline

commit 7f47469105266698e14d5daf8cc95d0184880660
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-14 16:13:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-14 17:54:02 +0900

    Include `__LINE__` in `add_delayed_token` macro

commit 62fc473224eb8da96206badbc2496dd5ec38935d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-14 00:56:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-14 17:02:38 +0900

    [rubygems/rubygems] Never remove executables that may belong to a default gem

    https://github.com/rubygems/rubygems/commit/ed585f2fca

commit 7767b60ff2f02a600f0b1fe5f438639fea6ac7b7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-14 03:07:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-14 17:02:38 +0900

    [rubygems/rubygems] Reuse `write_file` helper

    https://github.com/rubygems/rubygems/commit/339f099870

commit 0dcb0fdfcd48b63ae000c8216a1e7b1c508e0ef2
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-14 16:05:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-14 16:05:38 +0900

    Enable LeakChecker for RJIT previously disabled for MJIT (#10998)

    RJIT doesn't spawn subprocesses so there should now be no need to
    special case it.

commit 8ddb4de0acedaa10525c3e8549746fc2fb10b002
  Author:     Dmitry Ukolov <udmitry@mail.ru>
  AuthorDate: 2024-06-14 16:05:21 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-14 16:05:21 +0900

    Fixed indents in recently RJIT patch (#11001)

commit 2e59cf00cc35183fe9b616672cb8d2b461b1cf9b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-14 14:10:03 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-14 15:02:15 +0900

    [Bug #20578] ripper: Fix dispatching part at invalid escapes

commit 4ab7cc18184db53d6640d07a8bec573144c51875
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-14 04:39:11 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-14 07:58:49 +0900

    Guard against GC.compact when using in tests

    This test will error on platforms that don't implement GC.compact

    Co-Authored-By: Peter Zhu <peter@peterzhu.ca>

commit c093fd86d28318f2fb3541d339cf6d3aae1da7e2
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-14 04:28:19 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-14 07:58:49 +0900

    Don't return inside assert_equal

    The implementation of assert_equal inside bootstraptest/runner.rb wraps
    a print around all the test code specified in the string, making returns
    useless.

    This change fixes this test for platforms that don't implement
    GC.compact

    Co-Authored-By: Peter Zhu <peter@peterzhu.ca>

commit b988ae3a06506a4361ab5cbd51da5992268fb713
  Author:     Dmitry Ukolov <udmitry@mail.ru>
  AuthorDate: 2024-06-14 07:55:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-14 07:55:01 +0900

    RJIT: Fixed and/or reg+disp32 operations (#10856)

    Fixed RJIT `and reg+disp32` and `or reg+disp32` operation.

commit 6416ee33ebfe649e7e224f6ad5f80c40b128cce6
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-14 06:59:40 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-14 07:52:09 +0900

    Simplify unaligned write for pre-computed string hash

commit a8730adb600cba9b2933f2d0d1c3716a9cbe8c76
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-14 06:39:17 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-14 07:52:09 +0900

    rb_str_hash(): Avoid UB with making misaligned pointer

    Previously, on common platforms, this code made a pointer to a union of
    8 byte alignment out of a char pointer that is not guaranteed to satisfy
    the alignment requirement. That is undefined behavior according
    to [C99 6.3.2.3p7](https://port70.net/~nsz/c/c99/n1256.html#6.3.2.3p7).

    Use memcpy() to do the unaligned read instead.

commit 2699e230e467e395c868a9c4daa4af6fc6eb7d8b
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-14 06:43:41 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-14 06:43:41 +0900

    Crash instead of raising with Check_Type() in RBIMPL_ASSERT_TYPE() in debug builds

    Previously, RBIMPL_ASSERT_TYPE() used Check_Type() only in RUBY_DEBUG
    builds. It raised TypeError, but only in debug builds. For people testing
    type mismatch using debug builds looking for a Ruby exception, this can
    be misleading -- the code could be missing a type check in non-debug builds
    if it is relying on for example RSTRING_LEN() to raise.

    Also, Check_Type() can obscure the true cause of error in debug mode.
    When type check fails because the object is corrupt, instead of crashing
    with a clear type assertion message, it can crash while trying to
    construct an exception object to raise. You can see this for example in
    <https://github.com/ruby/ruby/actions/runs/9489999591/job/26152506434?pr=10985>,
    where RB_ENCODING_GET() is used on a corrupt object, but the crash
    happens later and says "Assertion Failed:
    ../src/vm_method.c:1477:callable_method_entry_or_negative".
    RBIMPL_ASSERT_TYPE() should assert right away.

    RBIMPL_ASSERT_OR_ASSUME() asserts when RUBY_DEBUG and assumes in release
    builds, as desired.

    This should help investigate flaky CI failures that show up as TypeError
    from `Kernel#require`, e.g.
    "'Kernel#require': wrong argument type false (expected String) (TypeError)".

    Same CI failure examples:
     - https://github.com/ruby/ruby/actions/runs/9034787861/job/24828147431
     - https://github.com/ruby/ruby/actions/runs/9418303667/job/25945492440
     - https://github.com/ruby/ruby/actions/runs/9505650952/job/26201031314

    The failure occurs with and without use of YJIT.

commit 420ef906bd13e1dd403047d85207690e1af0db54
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-14 03:44:08 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-14 04:30:19 +0900

    respect `--error-output stderr` on parallel mode

    `MultiFormatter#print_exception` should respect `--error-output stderr`.

commit 0321f2c8fe7520762af49c4c4e1598ada964c402
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-14 03:27:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-14 03:46:02 +0900

    [ruby/prism] Handle implicit array precedence

    When an implicit array is used in a write, is causes the whole
    expression to become a statement. For example:

    ```ruby
    a = *b
    a = 1, 2, 3
    ```

    Even though these expressions are exactly equivalent to their
    explicit array counterparts:

    ```ruby
    a = [*b]
    a = [1, 2, 3]
    ```

    As such, these expressions cannot be joined with other expressions
    by operators or modifiers except if, unless, while, until, or
    rescue.

    https://github.com/ruby/prism/commit/7cd2407272

commit ffd895156f230e684bed36e0b3c724071ad31993
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-12 05:34:08 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-14 02:00:46 +0900

    YJIT: Delete otherwise-empty defer_compilation() blocks

    Calls to defer_compilation() leave behind a stub and a `struct Block`
    that we retain. If the block is empty, it only exits to hold the
    `struct Branch` that the stub needs.

    This patch transplants the branch out of the empty block into the newly
    generated block when the defer_compilation() stub is hit, and deletes
    the empty block to save memory.

    To assist the transplantation, `Block::outgoing` is now a
    `MutableBranchList`, and `Branch::Block` now in a `Cell`. These types
    don't incur a size cost.

    On the `lobsters` benchmark, `yjit_alloc_size` is roughly 98% of what
    it was before the change.

    Co-authored-by: Kevin Menard <kevin.menard@shopify.com>
    Co-authored-by: Randy Stauner <randy@r4s6.net>
    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>

commit 28d1685ebb44b3249e2bc6b859fa17cdaa5e5ef0
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-13 05:23:13 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-14 02:00:46 +0900

    YJIT: Align number of `total_exits` for --yjit-stats

commit a9b8981aac905202fe4520738b12ad7c03847178
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-01-19 00:27:10 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-14 01:27:02 +0900

    Simplify rb_str_resize clear range condition

commit 04467218ce53292659ae74fb4558e651bfc41f0f
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-01-17 01:16:31 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-14 01:27:02 +0900

    Add rb_str_resize coderange test

commit 9c7374b0e6cbfb00e4f71d0b2eddba128ba452f7
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-01-16 03:34:53 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-14 01:27:02 +0900

    Clear coderange when rb_str_resize change size

    In some encoding like utf-16 utf-32, expanding the string with null bytes can change coderange to either broken or valid.

commit a60831f9b6ce7ab7bddc4cb32a04b2bb2e987c0d
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-06-13 08:32:06 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-06-13 23:28:59 +0900

    Use ENDBR instruction in amd64 coroutine on OpenBSD

    When running on newer Intel processors supporting the feature,
    OpenBSD enforces indirect branch tracking.  Without this endbr64
    instruction, jumps to the coroutine_transfer function result
    in SIGILL on OpenBSD/amd64 when using such processors.

    The OpenBSD Ruby ports have been using a patch similar to this
    for the past two months.

    From some research, cet.h has been supported by GCC for about
    6 years and LLVM for about 4 years.

commit c2f8e918150d9df17f66ac03713499f3a24912bf
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-13 20:25:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-13 23:25:14 +0900

    [rubygems/rubygems] Also disambiguate gems not in the first Gem.path position

    https://github.com/rubygems/rubygems/commit/7e6e7ccc58

commit 5c573b7652ec88995ba2a6172a10f6d98e4b2dcd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-13 20:21:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-13 23:25:14 +0900

    [rubygems/rubygems] Fix default gem priority when sorting specs

    https://github.com/rubygems/rubygems/commit/8dbe1dbdc7

    Co-authored-by: MSP-Greg <Greg.mpls@gmail.com>

commit 205da896804d6d309b8a07c3c449c15ee9197efe
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-06-13 18:47:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-13 18:48:38 +0900

    [ruby/stringio] Development of 3.1.2 started.

    https://github.com/ruby/stringio/commit/9ad5551160

commit 513520a1735d0d980bb74f9eac20f29225c91427
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-13 16:31:23 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-13 17:26:44 +0900

    do not call `check_rvalue_consistency` here

    in `free` is not valid object and should not call
    `check_rvalue_consistency`.

commit fc33559c40e08e4ae0a98821a679abddc4bb247c
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-13 11:48:48 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-13 13:52:39 +0900

    clear `kw_flag` if given hash is nil

    https://bugs.ruby-lang.org/issues/20570 is caused I missed to
    clear the `kw_flag` even if `keyword_hash` is nil.

commit e4385baaa2bfe4c0a6540f4c996df4ccff71cdca
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-13 12:11:32 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-13 13:14:44 +0900

    avoid recursive calls on `check_rvalue_consistency`

    `check_rvalue_consistency` uses bitmap and `RVALUE_WB_UNPROTECTED`
    etc calls `check_rvalue_consistency` again.

    also `rb_raw_obj_info_common()` is called from `check_rvalue_consistency`
    so it should not use call `check_rvalue_consistency`.

commit 7c46aa5ed4573ca04e6ffe1b19191e8227db2ab3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-13 04:07:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-13 05:12:46 +0900

    [Bug #20577] Fix freeing symbols when RUBY_FREE_AT_EXIT

    Dynamic symbols point to a fstring. When we free the symbol, we hash the
    fstring to remove it from the table. However, the fstring could have
    already been freed, which can cause a crash.

    This commit changes it to remove the reference to the fstring before
    freeing the symbol so we can avoid this crash.

commit 94a8f05f00185df6063dd2ce2939b96713806c7a
  Author:     Gabriel Sobrinho <gabriel.sobrinho@gmail.com>
  AuthorDate: 2024-06-13 02:50:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-13 04:17:21 +0900

    [rubygems/rubygems] Fix test description

    https://github.com/rubygems/rubygems/commit/4bcdb854a2

commit c81360db757bf1c1efbd36bb160e71de94bed8ed
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-06-12 19:24:38 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-13 03:57:31 +0900

    Kernel#warn: don't call `Warning.warn` unless the category is enabled

    [Bug #20573]

    Followup: https://github.com/ruby/ruby/pull/10960

    I believe `Kernel#warn` should behave in the same way than internal
    `rb_warning_* APIs

commit ce06924a17176d18816d968867858f97401d7c82
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-06-13 02:33:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-13 02:33:27 +0900

    YJIT: add context cache hits stat (#10979)

    * YJIT: add context cache hits stat

    This stat should make more sense when it comes to interpreting
    the effectiveness of the cache on large deployed apps.

commit 85190d41307525063d9963283d5813074dda793f
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-13 01:43:03 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-13 02:25:57 +0900

    Add regression test for Bug #20573

    Just a regression test to ensure behavior remains the same

commit 783eaf70f856ffefcefcb13ca1237b9de5663c51
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-13 01:57:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-13 01:57:55 +0900

    [ruby/irb] Invalid encoding symbol now raises SyntaxError also in
    3.3
    (https://github.com/ruby/irb/pull/969)

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

commit 96974c6c0de7471a7bb852efc512680371e97972
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-12 19:02:55 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-13 01:09:07 +0900

    Simplify GC bitmap access macros

    Now that we're using the inline predicate functions everywhere, the only
    remaining use of the RVALUE_?_BITMAP macros is inside their respective
    inline function, so we can remove them.

commit 5cf53701160494e561e74af7847b1a8b3b201e20
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-12 18:56:47 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-13 01:09:07 +0900

    Use RVALUE_UNCOLLECTIBLE consistently

commit 4c38b4f70ff237d84cf6f9ba83c112587a00910a
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-12 18:53:31 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-13 01:09:07 +0900

    Use RVALUE_WB_UNPROTECTED consistently

commit cc700c3d8fbf36b742b192105bc6e2e309662f49
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-12 18:47:44 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-13 01:09:07 +0900

    Use RVALUE_MARKING consistently

commit e006a58f070c8d6304bc9ce1fdccc8f3600d3335
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-12 18:44:47 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-13 01:09:07 +0900

    Use RVALUE_MARKED consistently

commit bb663fe0b2995e73d1cdf8ab11e93700acfb78d6
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-12 18:25:52 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-13 01:09:07 +0900

    Use RVALUE_PINNED consistently

commit 006ff5e29f596a4deb781c733f4f7b3b9b3b198c
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-06-12 23:23:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-12 23:23:18 +0900

    [ruby/reline] Bump version to 0.5.9
    (https://github.com/ruby/reline/pull/724)

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

commit 1db19a2dbd7a8b981b2611359b6bf4547ea678f5
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-11 22:06:51 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-12 21:54:20 +0900

    Remove unneeded loop through size_pools

    This function loops twice through the array of size pools. Once to set
    up the pages list, and then again later on in the function to set the
    allocatable_pages count.

    We don't do anything with the size pools in between the invocation of
    these loops that will affect the size pools, so this commit removes the
    second loop and moves the allocatable_pages count update into the first
    loop.

commit 6b6fd16219880f47d807e5c6970cf204b265bda9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-12 01:37:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-12 21:46:06 +0900

    [rubygems/rubygems] Fix typo

    https://github.com/rubygems/rubygems/commit/19a0e3730c

commit 32a555ea532fb15721ad403e6dce0a2ffc346f12
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-12 19:03:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-12 19:57:50 +0900

    [Bug #20572] Abandon if replacing destination is the same

commit 278a7cb057cd7fed2a6284f727c38a1182a31668
  Author:     Yudai Takada <t.yudai92@gmail.com>
  AuthorDate: 2024-06-12 19:42:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-12 19:42:01 +0900

    [DOC] Fix a typo in dir.c

    s/Retruns/Returns/

commit c56d0adfa67667189635f9053ad0a36ae1fa62a4
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-12 16:47:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-12 16:48:03 +0900

    [ruby/irb] Cleanup irbrc generator cache always at teardown
    (https://github.com/ruby/irb/pull/968)

    https://github.com/ruby/irb/commit/905184ff9c

commit 2eb31a625440caa5e630fc2426abe6c9bafb0bf4
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-06-12 15:01:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-12 15:45:06 +0900

    Fix a typo

    s/sepcifier/specifier/

commit 1fc07637240f7c55ffc1a033cff861d80445e47e
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-06-09 10:49:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-12 15:36:55 +0900

    Introduce `ident_or_const` inline rule

commit 01b13886dc96eb13688d448019a8699f9bdee5ac
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-07 17:01:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-12 15:36:10 +0900

    [Bug #20562] Categorize `RUBY_FREE_AT_EXIT` warning as experimental

commit 0bc91fa6df66782f1744eae7b92e460e8170eeff
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-12 14:46:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-12 14:46:29 +0900

    `File.umask` does not make sense on Windows

commit 39c9d99f6ccb81479c077e5cf1623572ade226a1
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-12 10:27:25 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-12 14:06:42 +0900

    'SPEC_TEMP_DIR` should not be world-writable

    `SPEC_TEMP_DIR` is not present until `tmp()` method is called
    on parallel run. In this case `tmp()` is called with `File.umask = 0`.
    This patch makes `SPEC_TEMP_DIR` before `File.umask = 0`.

    To solve the issue essentially, I think `SPEC_TEMP_DIR` should be
    prepared at the beginning of parallel process.

commit 206465e84d7c258194b8e682d794a95e8416ff3b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-11 10:50:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-12 11:49:33 +0900

    ripper: Unify `dispatch_end`

commit 1271ff72d5b627854c6812baefe796a2976cd793
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-11 08:05:03 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-12 06:54:15 +0900

    Don't call `Warning.warn` unless the category is enabled

    The warning category should be enabled if we want to call
    `Warning.warn`.

    This commit speeds up the following benchmark:

    ```ruby
    eval "def test; " +
      1000.times.map { "'  '.chomp!" }.join(";") + "; end"

    def run_benchmark count
      i = 0
      while i < count
        start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
        yield
        ms = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start
        puts "itr ##{i}: #{(ms * 1000).to_i}ms"
        i += 1
      end
    end

    run_benchmark(25) do
      250.times do
        test
      end
    end
    ```

    On `master` this runs at about 92ms per iteration. With this patch, it
    is 7ms per iteration.

    [Bug #20573]

commit 0a6b1a4d9de583ebfd305ab1b297be1cea7bdc2f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-12 03:28:03 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-12 03:28:04 +0900

    redmine-backporter.rb: Prepend commit: to shorter revs

    Some of the places in Redmine (e.g. Associated revisions) print
    revisions using only 8 characters. Even when I copied a revision from
    there, I want to prepend commit: in the message.

commit ec1ea2c5b941d5ff94013772a0dba905f8fe5c78
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-12 02:17:41 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-12 02:17:41 +0900

    YJIT: Make num_contexts_encoded a default counter

commit c735f4947ee0fd770f01a64e83faabefe005e9d4
  Author:     gartens <41197811+gartens@users.noreply.github.com>
  AuthorDate: 2024-06-12 02:12:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-12 02:12:28 +0900

    [ruby/openssl] Pass through nil as digest when signing certificates
    (https://github.com/ruby/openssl/pull/761)

    In order to sign certificates with Ed25519 keys, NULL must be passed
    as md to X509_sign.  This NULL is then passed
    (via ASN1_item_sign_ex) as type to EVP_DigestSignInit.  The
    documentation[1] of EVP_DigestSignInit states that type must be NULL
    for various key types, including Ed25519.

    [1]: https://www.openssl.org/docs/manmaster/man3/EVP_DigestSignInit.html

    https://github.com/ruby/openssl/commit/b0fc100091

commit 39019b6a63b935d8bd75e46ff82a31e174b1bf85
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-06-12 01:46:11 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-12 01:46:11 +0900

    YJIT: add context cache size stat, lazily allocate cache

    * YJIT: add context cache size stat
    * Allocate the context cache in a box so CRuby doesn't pay overhead
    * Add an extra debug assertion

commit 568132af16916b05e5bc8a643365bdc7d4906669
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-06 19:57:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-12 01:27:44 +0900

    [rubygems/rubygems] Keep credentials in lockfile if they are already there

    So that those lockfiles still work with older Bundler versions.

    https://github.com/rubygems/rubygems/commit/880275bb66

commit 32683aa18db667ac740bc562eca5989640ae1612
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-10 23:02:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-11 23:33:51 +0900

    Remove use of symbols and arrays when freeing global table

    This removes the use of symbol and array objects when freeing the global
    table so we can now free symbols and arrays earlier.

commit 89ebe8993fd3b7fec977eced1a46f54bcd75ae07
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-08 09:27:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-11 22:43:41 +0900

    Ensure prism is testing everything

commit 9e7ccc00bc10ff964e5839a8c264a1b8de745b41
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-11 21:28:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-11 22:43:41 +0900

    [PRISM] Make prism pass bundler specs

commit 3e84da0970097914b2eae80a5f3106d72f5faae9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-06 20:38:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-11 22:30:50 +0900

    [rubygems/rubygems] Auto switch to locked bundler version even when using binstubs

    https://github.com/rubygems/rubygems/commit/076aba8b1c

commit ad9fe6f3765007477364479ad6ebbe1099108293
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-11 00:41:12 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-11 22:03:58 +0900

    Allow gdb to search source path for required files

    When doing out-of-source builds I often end up wanting to use gdb from
    inside a build directory.

    Currently if I do that the `.gdbinit` in the ruby source directory is
    not read.

    Attempting to manually load the `.gdbinit` from the Ruby source
    directory errors because of hard coded file-paths that assume we're
    running gdb from inside the source tree.

    Adding the `-s` flag to the `source` command when loading relative files
    signals to gdb to search in the source search path for the required
    file, rather than just the current directory.

    This allows me to use a custom `.gdbinit` from my build directory that
    sets the correct source directory and then loads the Ruby `.gdbinit`.

    ```
    dir ../src
    source ../src/.gdbinit
    ```

commit 47322b592a0d75477a65e6e4ddaed2eb6549c32c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-11 21:24:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-11 21:34:00 +0900

    [ruby/prism] Match CRuby error message for unknown regexp options

    https://github.com/ruby/prism/commit/73669b59f6

commit d6b1822f22d12dcc772a4b3788bce08e4ba327d1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-11 21:20:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-11 21:33:46 +0900

    [ruby/prism] Fix binding power for class <<

    https://github.com/ruby/prism/commit/cd66c478de

commit b824b13ee97697cf7a29275d89641731e2ffee69
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-06-11 20:04:16 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-06-11 20:56:32 +0900

    .travis.yml: Update jaruga's email.

    I cannot receive Travis's notification via jaruga@ruby-lang.org, while another
    committer with their @ruby-lang.org email can receive the notification.
    The issue is my ruby-lang.org email address specific.
    So far we haven't seen the root cause even with the Travis support's help.

    Because of that, I change the email address to my personal email address.

commit 0ccb80d6bf57cd6e79ad622c024d3d0940ec6f3b
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-06-09 20:15:39 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-06-11 19:48:55 +0900

    Extract hardening CFLAGS to a special $hardenflags variable

    This changes the automatic detection of -fstack-protector,
    -D_FORTIFY_SOURCE, and -mbranch-protection to write to $hardenflags
    instead of $XCFLAGS. The definition of $cflags is changed to
    "$hardenflags $orig_cflags $optflags $debugflags $warnflags" to match.

    Furthermore, these flags are _prepended_ to $hardenflags, rather than
    appended.

    The implications of doing this are as follows:

    * If a CRuby builder specifies cflags="-mbranch-protection=foobar" at
      the ./configure script, and the configure script detects that
      -mbranch-protection=pac-ret is accepted, then GCC will be invoked as
      "gcc -mbranch-protection=pac-ret -mbranch-protection=foobar". Since
      the last flags take precedence, that means that user-supplied values
      of these flags in $cflags will take priority.
    * Likewise, if a CRuby builder explicitly specifies
      "hardenflags=-mbranch-protection=foobar", because we _prepend_ to
      $hardenflags in our autoconf script, we will still invoke GCC as
      "gcc -mbranch-protection=pac-ret -mbranch-protection=foobar".
    * If a CRuby builder specifies CFLAGS="..." at the configure line,
      automatic detection of hardening flags is ignored as before.
    * C extensions will _also_ be built with hardening flags now as well
      (this was not the case by default before because the detected flags
      went into $XCFLAGS).

    Additionally, as part of this work, I changed how the detection of
    PAC/BTI in Context.S works. Rather than appending the autodetected
    option to ASFLAGS, we simply compile a set of test programs with the
    actual CFLAGS in use to determine what PAC/BTI settings were actually
    chosen by the builder. Context.S is made aware of these choices through
    some custom macros.

    The result of this work is that:

    * Ruby will continue to choose some sensible defaults for hardening
      options for the C compiler
    * Distributors are able to specify CFLAGS that are consistent with their
      distribution and override these defaults
    * Context.S will react to whatever -mbranch-protection is actually in
      use, not what was autodetected
    * Extensions get built with hardening flags too.

    [Bug #20154]
    [Bug #20520]

commit 6086bae5c85cc297003012afc9cf5966fc75746a
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-11 16:13:27 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-11 17:02:27 +0900

    check `SPEC_TEMP_DIR` is world-writable or not

    ```
    1)
    Dir.mktmpdir when passed a block yields the path to the passed block ERROR
    ArgumentError: parent directory is world writable but not sticky: /tmp/rubytest.wlu5cs_11
    /tmp/ruby/src/trunk/lib/tmpdir.rb:113:in 'Dir.mktmpdir'
    /tmp/ruby/src/trunk/spec/ruby/library/tmpdir/dir/mktmpdir_spec.rb:39:in 'block (2 levels) in <top (required)>'
    ```

    This weird error comes from world-writable (and not sticky) directory
    of `SPEC_TEMP_DIR`.

    This patch checks `SPEC_TEMP_DIR` is not world-writable if exists
    and `File.umask` contains o+w mask.

commit f0001a4fa7260d0c39e9ddba162f51c549cba2f8
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-06-10 22:12:54 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-11 16:08:48 +0900

    compile.c: use putspecialobject for RubyVM::FrozenCore

    [Bug #20569]

    `putobject RubyVM::FrozenCore`, is not serializable, we
    have to use `putspecialobject VM_SPECIAL_OBJECT_VMCORE`.

commit d827d3252786a5e1153f4e8bfa30f40a2aaafb95
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-11 02:39:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-11 06:21:32 +0900

    [ruby/prism] Provide ability to lock encoding while parsing

    https://github.com/ruby/prism/commit/f7faedfb3f

commit 0d5eea9957eab7515e377e2562cc5f9850ad952f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-11 02:11:41 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-11 06:21:32 +0900

    [ruby/prism] Disallow multi writes when not in statement level

    https://github.com/ruby/prism/commit/fe34a77df2

commit 556bbf64e084c3a310dce3ee12d18222ce907781
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-11 00:11:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-11 01:36:25 +0900

    Don't skip test_inspect_under_gc_compact_stress

    Commit 1471a16 seems to have fixed this flaky test, so we don't need to
    skip it for YJIT or RJIT anymore.

commit 1d0d8a89d404147f23b3d3ed1e1353be8adc2f2b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-11 00:31:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-11 00:31:33 +0900

    [ruby/reline] Add more fallbacks when terminfo is not available
    (https://github.com/ruby/reline/pull/722)

    Add xterm key bindings to comprehensive list
    Add fallback escape sequence of cursor hide/show

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

commit 3cc9a126794d16470f87ae70ef354f3adc6d027f
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-06-10 19:19:52 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-06-10 23:00:37 +0900

    Fix CI when YJIT is enabled

commit 3ebab4b64d56e9e13a2b954a7a25514fd43f0895
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-06-08 01:01:53 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-06-10 23:00:37 +0900

    Update to ruby/spec@517f06f

commit e8bd745c17b809ba1a64e33fde91edd5babe4500
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-10 22:57:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-10 22:57:28 +0900

    [ruby/reline] Suppress warning(Ruby 3.4) requiring fiddle from
    terminfo.rb
    (https://github.com/ruby/reline/pull/721)

    https://github.com/ruby/reline/commit/9da2cbcd82

commit 21e06e57af4ac002840ddf7d875ae3c6a8234d3a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-10 22:27:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-10 22:42:40 +0900

    [ruby/prism] Allow block exits in loop predicates

    https://github.com/ruby/prism/commit/f09db18e46

commit 528a23b53c07001461e35aad30deabd736bb417c
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-10 12:35:37 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-06-10 19:23:39 +0900

    Check current file on TracePoint

    ```
    1)
    TracePoint#inspect returns a String showing the event, method, path and line for a :call event FAILED
    Expected "#<TracePoint:call 'call' /tmp/ruby/src/trunk/spec/ruby/core/objectspace/define_finalizer_spec.rb:33>" =~ /\A#<TracePoint:call [`']trace_point_spec_test_call' \/tmp\/ruby\/src\/trunk\/spec\/ruby\/core\/tracepoint\/inspect_spec.rb:43>\z/
    to be truthy but was nil
    ```

    This kind of failures comes because of finaizers.
    So check the current file or not.

commit 8abdd56c31f8d52a59ea40db72881bbf2cc08d21
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-10 15:53:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-10 17:47:35 +0900

    Test `rb_ext_resolve_symbol` without Windows .def files

    `RUBY_FUNC_EXPORTED` is working on Windows since 906a86e4de71061dca05.
    And as .def files are not processed by the preprocessor, it is less
    flexible than `RUBY_FUNC_EXPORTED`, (e.g., select symbols by
    conditions such as ruby version).

commit 448efa90af19a680f740aeb86e85782e868e7ae7
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-10 12:10:56 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-10 13:32:14 +0900

    respect `RUBY_TEST_TIMEOUT_SCALE`

    GC benchmarks will spend long time with assertions so we need
    to respect `RUBY_TEST_SUBPROCESS_TIMEOUT_SCALE` environment variable.

    @nobu pointed out that now `RUBY_TEST_TIMEOUT_SCALE` is primary
    (and `RUBY_TEST_SUBPROCESS_TIMEOUT_SCALE` was obsolete so check both
    and will remove it later).

commit 2959e1b5ea053ca09ec8b5d6c1323c529f100e44
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-06-10 05:22:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-10 05:22:34 +0900

    [ruby/irb] Suppress Ruby warnings in certain backtrace filtering
    tests
    (https://github.com/ruby/irb/pull/966)

    Since they're sensitive to the warnings, and the warnings are
    not relevant to the tests, we can suppress them to keep the tests
    simple.

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

commit 1b7aabb90dd884bd720b1eac417a8845a0b53503
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-09 18:22:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-09 18:22:06 +0900

    Remove digest.def that fails on older Ruby versions

commit c357138aa3e32702074847cd6154ee964e644db7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-09 17:34:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-09 17:34:37 +0900

    Use `PRISM_EXPORTED_FUNCTION` consistently with the header

commit 906a86e4de71061dca0558a6bd6e0b355776dfb1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-09 16:55:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-09 16:55:27 +0900

    Use `dllexport` as `RUBY_FUNC_EXPORTED` on Windows

commit dd8903fed72c2d06fe7a0ca6b5ef88e9140be451
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-09 10:11:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-09 10:11:06 +0900

    [Bug #20566] Mention out-of-range argument cases in `String#<<`

    Also [Bug #18973].

commit 6ea9cd49099b83aebbab9463e3432cb03a4b6ba4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-09 00:16:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-09 02:26:34 +0900

    Provisionally export new API

commit 69c0b1438a45938e79e63407035f116de4634dcb
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-05-01 17:10:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 19:59:17 +0900

    [ruby/openssl] Fix references to the license text

    Update the references to the file "LICENCE" with "COPYING".

    The file LICENCE doesn't exist in ruby/ruby nor ruby/openssl. This has
    been always the case since OpenSSL for Ruby 2 was merged to the ruby
    tree as a standard library in 2003.

    In OpenSSL for Ruby 2's CVS repository[1], the LICENCE file contained
    an old version of the Ruby License, identical to the COPYING file that
    was in Ruby's tree at that time (r4128[2]).

    [1] http://cvs.savannah.gnu.org/viewvc/rubypki/ossl2/LICENCE?revision=1.1.1.1&view=markup
    [2] https://github.com/ruby/ruby/blob/231247c010acba191b78ed2d1310c935e63ad919/COPYING

    https://github.com/ruby/openssl/commit/5bccf07d04

commit 6475b093fbfbed8009577d2ffb31256afe705ffa
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-05-01 17:07:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 19:59:16 +0900

    [ruby/openssl] Rename LICENSE.txt to COPYING

    This is for consistency with ruby/ruby.

    https://github.com/ruby/openssl/commit/00ad542791

commit 5f380dfdb2ffa8dc5db44cef19a54068eba97d2c
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-05-01 16:58:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 19:59:14 +0900

    [ruby/openssl] openssl.gemspec: add BSD-2-Clause to the list of licenses

    ruby/openssl is licensed under the terms of either the Ruby License or
    the 2-Clause BSD License.

    The git repository and built .gem files always contained the license
    text for both license, but the metadata in the gemspec only specified
    the Ruby License. Let's include both.

    https://github.com/ruby/openssl/commit/c71714d738

commit 0b92929e520801d9d60a5d886430d35df1288af6
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-05-01 05:09:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 19:57:02 +0900

    [ruby/openssl] Add X509::Certificate#tbs_bytes

    Ref https://github.com/ruby/openssl/issues/519

    This makes verifying embedded certificate transparency signatures
    significantly easier, as otherwise the alternative was manipulating the
    ASN1 sequence, as in
    https://github.com/segiddins/sigstore-cosign-verify/pull/2/commits/656d992fa816613fd9936f53ce30972c2f2f4957

    https://github.com/ruby/openssl/commit/99128bea5d

commit 7612e45306e87bea2a5e8d269ac06cd2b65eef29
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-08 15:00:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-08 15:00:18 +0900

    ripper: Unify formal argument error handling

commit 9bee49e0e1fac1c4f8b209ce817d73a278af07f4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-08 13:25:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-08 13:25:44 +0900

    ripper: Unify backref error handling

commit 18fcec23bfdaaff372ae657ed0e338c6e351e5e3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-08 13:20:46 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-08 13:20:46 +0900

    ripper: Introduce `RIPPER_ID` macro instead of `ripper_id_` macros

commit bf95a17c8463f5540738dd4c876e83f2272e778c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-08 00:49:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 12:40:33 +0900

    [ruby/digest] [DOC] Update document to use `rb_digest_make_metadata`

    https://github.com/ruby/digest/commit/c5c1debd43

commit 0619312bb53cb64dedbfbf30eafd3a708b72588e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-07 11:06:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 12:40:27 +0900

    [ruby/digest] Use typed data in digest

    https://github.com/ruby/digest/commit/9a22f921c9

commit 0d91887c6aa740d3226407cafa1f27c62fd119f4
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-06-08 06:59:59 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-08 06:59:59 +0900

    YJIT: implement cache for recently encoded/decoded contexts (#10938)

    * YJIT: implement cache for recently encoded/decoded contexts

    * Increase cache size to 512

commit 425e630ce73cf79fa5529df199dde47fc109a5de
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-06-08 05:26:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-08 05:26:14 +0900

    YJIT: implement variable-length context encoding scheme (#10888)

    * Implement BitVector data structure for variable-length context encoding

    * Rename method to make intent clearer

    * Rename write_uint => push_uint to make intent clearer

    * Implement debug trait for BitVector

    * Fix bug in BitVector::read_uint_at(), enable more tests

    * Add one more test for good measure

    * Start sketching Context::encode()

    * Progress on variable length context encoding

    * Add tests. Fix bug.

    * Encode stack state

    * Add comments. Try to estimate context encoding size.

    * More compact encoding for stack size

    * Commit before rebase

    * Change Context::encode() to take a BitVector as input

    * Refactor BitVector::read_uint(), add helper read functions

    * Implement Context::decode() function. Add test.

    * Fix bug, add tests

    * Rename methods

    * Add Context::encode() and decode() methods using global data

    * Make encode and decode methods use u32 indices

    * Refactor YJIT to use variable-length context encoding

    * Tag functions as allow unused

    * Add a simple caching mechanism and stats for bytes per context etc

    * Add comments, fix formatting

    * Grow vector of bytes by 1.2x instead of 2x

    * Add debug assert to check round-trip encoding-decoding

    * Take some rustfmt formatting

    * Add decoded_from field to Context to reuse previous encodings

    * Remove olde context stats

    * Re-add stack_size assert

    * Disable decoded_from optimization for now

commit c90b5303a2fff58eddd7b87a06262a785d9d1526
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-08 04:54:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-08 04:54:06 +0900

    Sync prism version to latest

commit 41a36b68531dd1d9fa044c34ac40a5c4abedda2e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-08 04:27:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 04:46:27 +0900

    [ruby/prism] Handle chomped bytesize with lines without newlines

    https://github.com/ruby/prism/commit/1528d3c019

commit 94e059797ae89b35a2c72bf1a4307766a1a9e960
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-08 03:55:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 04:46:24 +0900

    [ruby/prism] Document that nested heredocs are not properly parsed for parser

    https://github.com/ruby/prism/commit/d218e65561

commit 79e9dea8defd74db8d66ec6965cbba55c800f76e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-08 03:52:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 04:46:20 +0900

    [ruby/prism] Ensure inner heredoc nodes have the correct location

    https://github.com/ruby/prism/commit/100340bc6b

commit ce0a352e34022b46397b5a2712f03bafc1b505ad
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-08 03:38:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 04:46:16 +0900

    [ruby/prism] Use correct newlines for heredoc inner lines

    https://github.com/ruby/prism/commit/4a9a7a62af

    Co-authored-by: Jason Kim <jasonkim@github.com>
    Co-authored-by: Adam Hess <HParker@github.com>

commit 792e9c46a410332e261ec52f8beba3e1522b20da
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-07 23:10:12 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-08 01:24:05 +0900

    Remove prism compiler warning

commit caac56584ccafd9a103f79a1fc9d389fe438181f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-07 22:50:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-08 00:55:38 +0900

    Don't use SEGV signal when timeout in test_gc_compact

    Using a SEGV signal for timeout makes it difficult to tell if it's a real
    SEGV or if it timed out, so we should just use the default signals.

commit 43cf0f99f99e81614a265863349e6f3264578865
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 23:44:29 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 23:44:29 +0900

    TestRequire#test_loading_fifo_threading_success: Extend the timeout limit

commit 239378613b710f96bd078301bb4061078e088524
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 23:29:59 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 23:29:59 +0900

    TestRegexp#test_match_cache_positive_look_behind: Extend the timeout limit

commit 36b3fea0ff02645af071097e11801e6d2293bc95
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 23:11:10 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 23:11:10 +0900

    TestRegexp#test_timeout_shorter_than_global: Extend the timeout limit

commit b9b207f3888d5d2bbf094074abfda143c76b88c8
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 23:03:49 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 23:03:49 +0900

    TestRequire#test_loading_fifo_fd_leak: Extend the timeout limit

commit 7944710ed46f4ca13fd5e3c023fc37fcb1928fad
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 22:39:21 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 22:39:21 +0900

    TestGc#test_thrashing_for_young_objects: extend the timeout limit

commit 91b86f1b4f1b6b269cca800fbbe53415f0d8d173
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 22:34:28 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 22:37:08 +0900

    TestRegexp#test_s_timeout: accept timeout errors more tolerantly

    This test seems flaky on macOS GitHub Actions

commit 51bb5dcd2e63d7902794d42147817733249d3dd9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-07 22:26:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 22:28:23 +0900

    [ruby/error_highlight] Trim trailing spaces in base.rb

    https://github.com/ruby/error_highlight/commit/8ce3f6f145

commit 40ec860de761af3b7b8538452a55c2ef8b9bb93e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 02:50:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 22:15:14 +0900

    [ruby/error_highlight] Support for the prism compiler

    https://github.com/ruby/error_highlight/commit/69fbacfd49

commit 0e5640b56f85104293cabe34ae08b8fc94241c7d
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 21:26:50 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 22:09:44 +0900

    Extend timeout of TestGCCompect#test_moving_objects_between_size_pools

    It is too flaky on macOS GitHub Actions

commit 5e1001f754b34e1f0cc67563512c6036b6eb75ab
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-07 21:53:11 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-07 21:55:42 +0900

    [DOC] document line continuation.

    Document details of escape sequences including line continuation.

    [Bug #20518]

commit 547233fb6e0cab6e1151737377061c572ee0494e
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 21:22:32 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 21:23:34 +0900

    Stop core upload on macOS

    It was too big

commit 1c09b013b9eb1cdc01d466f8048f1b40d56fff04
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 15:33:46 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 20:15:37 +0900

    Upload only from ruby/ruby

commit 9ee6b944bf9b9ae85e16783856fc4d54a3195307
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-06 18:02:16 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 20:15:37 +0900

    Fix the command-line arguments for tar compress

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 37e2063b81805bcec489e47c15db6046b4e75ce8
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-06 17:35:06 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 20:15:37 +0900

    Set `ulimit -c unlimited` for `make test-all` in macOS

commit 1c5c724c6f92a4461b90af7afd8acafcf40673b1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-07 16:15:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 16:15:00 +0900

    Balance block braces with `#if`

commit d51883e420e0dea3f43db0c3a2127d4a062f80bf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-07 14:19:48 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 14:19:48 +0900

    Enclose in ruby_version_is blocks

commit 5f6a4ed5074eda4b4b1bd2d6dd29aaf3b8ef879d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-07 14:15:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 14:15:05 +0900

    Remove the old untyped Data API in spec/ruby

commit a279463d0ebb2fe1d4021ddd4675141deead514b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-07 13:37:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-07 13:38:11 +0900

    [Bug #20397] Removed obsoleted section about nkf

commit fcfbe06edcec0055be1c6334231aa43a35745e5e
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-06-07 13:29:07 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-07 13:29:07 +0900

    Bundle rbs-3.5 (#10929)

    * Bundle rbs-3.5.1

commit 9e28354705e2aa312e5dee775e3bd08095fc7e9c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-19 19:42:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 11:28:38 +0900

    ripper: Fix excess `compile_error` at simple backref op_asgn

    Fix up 89cfc1520717257073012ec07105c551e4b8af7c.

commit 335cb28886dda81b5c3dad1bb02cf7b7450e05e9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-07 03:15:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 10:42:41 +0900

    Do not try random devices immediately twice

    Do not retry `fill_random_bytes` in `Init_RandomSeedCore`, just after
    it failed first.

    In other places, `rand_init_default` and `random_seed`, no more tweeks
    needed once it succeeded

commit 5b4734d51d8504e3b4152d54f26cdeaef0957b8c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-06 10:34:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 10:42:41 +0900

    win32: Allocate the wrapper for crypt provider handle first

    Also use a typed data.

commit 0396050f5a927f6f32c9eebd8549d38c8255c14a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-06 10:32:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 10:42:41 +0900

    Cast `RUBY_ATOMIC_PTR_CAS` arguments

    As well as `RUBY_ATOMIC_PTR_EXCHANGE` and `RUBY_ATOMIC_PTR_LOAD`.

commit 029d92b8988d26955d0622f0cbb8ef3213200749
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-08-24 06:43:06 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-06-07 07:46:41 +0900

    Disable __builtin_setjmp usage on linux-aarch64

    It is questionable whether __builtin_setjmp should default to yes
    at all, but since it appears to still have problems on this platform,
    it seems safest to disable it.

    Fixes [Bug #14480]

commit 8f7d08137e91df1168a44e1b921bf035087ee85c
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-07 06:50:43 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-07 07:31:21 +0900

    remove unused variable

commit ad29527920b2a37ee427dc4991ff74d7a2f53e05
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-07-01 09:04:52 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-06-07 07:02:04 +0900

    Fix Module#define_method to change visibility when passed existing method body

    Fixes [Bug #19749]

commit f789b816520a26244b0441ec4358e61955ef2ef0
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-07 04:55:13 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-07 06:37:59 +0900

    remove debug output

commit cbc83c4a9221110a94c670d07ed5b23548202cf2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-07 03:44:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-07 05:29:50 +0900

    Remove circular parameter syntax error

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

commit eb46b0924f916191a79d59b3ebc1d24a945e2171
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-31 19:22:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:53:33 +0900

    [rubygems/rubygems] Fix printing requirement based spec filters

    I don't understand what was the idea of "!=" here.

    https://github.com/rubygems/rubygems/commit/06d5f1dcf1

commit 0fb73a8eda941075533cdd109b591b746fee4c19
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-29 00:58:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:53:31 +0900

    [rubygems/rubygems] Avoid appending a final "/" when `fallback_timeout` is used in config

    https://github.com/rubygems/rubygems/commit/a0af1baa2b

commit 765d61593a088902debbffb62ed8ffb459643ce1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-31 04:50:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:53:30 +0900

    [rubygems/rubygems] Remove per uri options constant

    I don't think we should add more of these.

    https://github.com/rubygems/rubygems/commit/9eee9948cc

commit 82b68bc3583d2446c7bc28934a96903d634c6101
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-30 00:10:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:53:29 +0900

    [rubygems/rubygems] Move Bundler settings specific logic to Bundler

    https://github.com/rubygems/rubygems/commit/7d1e8be2ce

commit da10d1ddea26929f08a2f0cf7f4fcc9e40d313a5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-29 23:09:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:53:28 +0900

    [rubygems/rubygems] Avoid `is_a?` check before using `normalize_uri`

    https://github.com/rubygems/rubygems/commit/31cb15d03f

commit 60620509f44ae594103b400ef2f22558e4baeedd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-29 23:02:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:53:27 +0900

    [rubygems/rubygems] Remove unnecessary `.to_s`

    The `normalize_uri` method always gives back a String.

    https://github.com/rubygems/rubygems/commit/246953010c

commit 61a80bd10d46b0a8e696bbd914dd85ea039a70a9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-29 00:22:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:53:25 +0900

    [rubygems/rubygems] Truly ignore commented out settings

    https://github.com/rubygems/rubygems/commit/e31df2d6ef

commit 4d29d219b90cae3b1c02e5f698098e5675c189c7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-07 02:27:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:53 +0900

    [rubygems/rubygems] Enable one spec on truffleruby that reproduces the Pathname problem

    Recent refactorings in test suite to not load `pathname` for launching
    Bundler subprocesses make some specs fail due to the warnings Ruby prints
    when autoloading `pathname` under a namespace. But enabling this spec
    also reproduces the hard error it produces on truffleruby.

    https://github.com/rubygems/rubygems/commit/e47cd78081

commit da75df2f75648d7ff87e4701874b2b425ca83f71
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-19 04:11:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:52 +0900

    [rubygems/rubygems] Stop depending on `pathname` for subprocess launching

    When launching bundler subprocesses for end to end testing, all of them
    will load the `spec/support/rubygems_version_manager.rb` file passed as
    a ruby's `-r` flag.

    Unfortunately this file depends on `pathname`, so unless we drop that
    dependency, we can't really test support for including the `pathname`
    gem in the `Gemfile`.

    This commit implements some refactorings to avoid loading `pathname`
    inside `bundler` test subprocesses.

    https://github.com/rubygems/rubygems/commit/c1f948788c

commit 9579c3d988fb31142700cbaa9f4c726abc0aa9e0
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-19 03:56:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:43 +0900

    [rubygems/rubygems] Reuse `git` helper when possible

    https://github.com/rubygems/rubygems/commit/f7c7bae940

commit b5a7f639615040bffde581a26ddabf80890a3493
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-19 01:55:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:42 +0900

    [rubygems/rubygems] Respect `GEM_COMMAND` in non ruby-core mode

    Not that I need it, but reads better.

    https://github.com/rubygems/rubygems/commit/db3eca7b92

commit b5949ad62a1bd2f3caee79ad2b4dbbb4d37d1092
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-19 01:53:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:41 +0900

    [rubygems/rubygems] Simplify check for ruby-core setup

    https://github.com/rubygems/rubygems/commit/77bc6f1ecc

commit 4720b7d257606525def271bfbdbc18fd1bba556a
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-18 18:31:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:41 +0900

    [rubygems/rubygems] The `system_gem_path` helper method already joins internally

    https://github.com/rubygems/rubygems/commit/10f2ce1afb

commit f0d5df733ba90df69048c697623bf8e88de048f0
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-18 18:28:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:40 +0900

    [rubygems/rubygems] The `default_bundle_path` helper method already joins internally

    https://github.com/rubygems/rubygems/commit/6b3f555211

commit 7fbc9ffb89b80d42df49c8e54881172e71eb47d4
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-18 18:26:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:39 +0900

    [rubygems/rubygems] The `home` helper method already joins internally

    https://github.com/rubygems/rubygems/commit/279740ed52

commit 30d028eab611470a8731e909d502bcfa85f43e92
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-18 18:26:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:38 +0900

    [rubygems/rubygems] The `bundled_app` helper method already joins internally

    https://github.com/rubygems/rubygems/commit/57576e27a1

commit f5c6a395a529c81f2baa7f40a0eaa6a999b7c0cb
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-18 18:25:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:37 +0900

    [rubygems/rubygems] The `tmp` test helper already joins internally

    https://github.com/rubygems/rubygems/commit/2d9eeadb62

commit c8161a4eae20a59f91b993d45952525844ed7e16
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-31 02:05:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:35 +0900

    [rubygems/rubygems] Autoload `pathname` at the top level

    Otherwise Ruby >= 3.2 gives a warning which makes several specs fail,
    and truffleruby rejects it at all.

    https://github.com/rubygems/rubygems/commit/ae2878484f

commit 7b7d1586ee8c8e4bd73ab44798432099517cdde0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-07 01:32:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 01:44:43 +0900

    [ruby/prism] Reject additional patterns under splat in target

    https://github.com/ruby/prism/commit/90d570aa50

commit e323dbb1bd0a4022e353e70dc24c5f98c5e45553
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-07 00:50:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 00:50:30 +0900

    Make subclasses to define methods

commit ec7babd12d5802e9970d9aecd78ac2e5ec79bcc8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-07 00:49:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 00:49:52 +0900

    [Feature #19998] Untyped Data API has been marked as deprecated

commit 9f469ad187e80854c9b3aaffa2feca8ad5b77fd3
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-07 00:25:38 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-07 00:25:38 +0900

    [DOC] Time uses the proleptic Gregorian calendar.

commit 78d7b470ec100495a8879ebf319d627f78bf60c2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 23:04:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-06 23:15:55 +0900

    [ruby/prism] Add some code samples

    https://github.com/ruby/prism/commit/f5c883af56

commit b0059980d04c2395589f3da4a9babaeb45dd4429
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 04:23:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-06 23:15:50 +0900

    [ruby/prism] Add some samples for using prism APIs

    https://github.com/ruby/prism/commit/6a4fe21088

commit 27321290d954300192c82cdf5e2c794a695473f5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-06 20:02:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-06 20:43:56 +0900

    [Bug #20521] ripper: Clean up strterm

commit f465045dd6ef1a51cf181f9e4c038b905f79bd2c
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-06 20:20:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-06 20:20:29 +0900

    [ruby/reline] Remove instance variable @first_char
    (https://github.com/ruby/reline/pull/717)

    When Reline reads EOF, Reline.readline should return nil if and only if input is empty

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

commit fbb61a26e71be9faccb4ad2392e71d0a561854d1
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-30 20:15:51 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-06 18:44:27 +0900

    Mark old Data API as deprecated

    [Feature #19998]

commit d4aff75a454ddfcf039fddb4bccd46087e50f12e
  Author:     Baron Bloomer <baronbloomer@gmail.com>
  AuthorDate: 2022-04-07 20:32:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-06 18:07:49 +0900

    [ruby/logger] Add support for symbols in #shift_age

    Resolves issue: https://github.com/ruby/logger/issues/46

    https://github.com/ruby/logger/commit/83502c2107

commit 1a092857955a8ab8b568d465bc82a0efe5f7d052
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-06 17:31:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-06 17:31:17 +0900

    Revert "Update bundled_gems"

    This reverts commit ba72cfa6616d377ceb62d94f10157097349634e5.

    https://github.com/ruby/ruby/actions/runs/9396582605/job/25878058017#step:10:788

    ```
    ../../../../../../src/.bundle/gems/rbs-3.5.0/ext/rbs_extension/location.h:23:25: error: zero size arrays are an extension [-Werror,-Wzero-length-array]
       23 |   rbs_loc_entry entries[0];
          |                         ^
    1 error generated.
    ```

commit ba72cfa6616d377ceb62d94f10157097349634e5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-06 15:49:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-06 16:06:33 +0900

    Update bundled_gems

commit 6f3c1e1def297deea6994df5f623471e8093f75c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 03:44:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 09:04:12 +0900

    [PRISM] Sync latest prism

commit 0b31986909eaccb6b5f8f99f9ab2a458170a21af
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-06-06 05:27:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-06 05:27:00 +0900

    [DOC] Doc for module Errno (#10913)

commit 33f92b3c88e8f03ec2aaf9db762e1eea845bee10
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-06-05 18:52:16 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-06 03:53:49 +0900

    Don't add `+YJIT` to `RUBY_DESCRIPTION` until it's actually enabled

    If you start Ruby with `--yjit-disable`, the `+YJIT` shouldn't be
    added until `RubyVM::YJIT.enable` is actually called. Otherwise
    it's confusing in crash reports etc.

commit fa038f838f5c3b5a8d19b867a4ea66769f61f17a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 02:53:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [PRISM] Strip out common.mk for pm_string_list

commit 46c3e609a365f6210ea2368e3d06447ac454a894
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 01:19:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Fix up documentation for regexp structs

    https://github.com/ruby/prism/commit/78d9f20e9d

commit d13112b779d8dd8482f4a545655c37bdf860abf1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 00:45:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Parse all regular expressions

    https://github.com/ruby/prism/commit/11e0e204ce

commit 3cb866ce35f8dea504a1ec5c84c4f0ede51c7a32
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 00:29:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Add Onigmo to other gemfiles

    https://github.com/ruby/prism/commit/499ec1c3f1

commit 2a9c20c317989d9b6807abe96f3d935635470372
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 00:25:26 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Add Onigmo errors for invalid groups

    https://github.com/ruby/prism/commit/27e7685dd4

commit 0406efaf055d0db03d33ca215b407a2f74ce9bc1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 00:11:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Add Onigmo error for invalid repeat and empty group name

    https://github.com/ruby/prism/commit/953601e3c0

commit d604287626cc5fdb63e8671c9733f177d5824b4f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 23:55:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Add Onigmo error for empty char-class

    https://github.com/ruby/prism/commit/2e02fa3b80

commit c3747d5a2e029afb9aabc0b2f122ab701e68f71f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 23:50:18 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Report onigmo errors for depth

    https://github.com/ruby/prism/commit/e0e8bba8be

commit 41f27346440eab0d80b8c50be8741e3344af9ed5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 01:36:43 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Change pm_regexp_parse to not return boolean

    https://github.com/ruby/prism/commit/b03afbe857

commit 65746055b4d2c16b68e559cde327889f91f0d516
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 01:11:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Pass prism parser into regexp parser

    https://github.com/ruby/prism/commit/c19b0fa185

commit ac70dd07e68384bf5e271dae7e8f08e7a64df1a1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 02:47:00 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Remove unused string list struct

    https://github.com/ruby/prism/commit/36c6851c85

commit ad438623e8f4e90b7d6567c6c552be89d080dcca
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 01:05:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Switch regexp parsing to use a callback from named capture groups

    https://github.com/ruby/prism/commit/29d80e486e

commit aa61d4237dad54e01c00f8cef4ba7f7cdffb8a80
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-06-06 01:29:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-06 01:29:29 +0900

    [ruby/irb] Add accidentally dropped disable_irb command back
    (https://github.com/ruby/irb/pull/964)

    * Add accidentally dropped disable_irb command back

    * Sort command files require by name

    https://github.com/ruby/irb/commit/1d627cebca

commit 83f02d42e0a3c39661dc99c049ab9a70ff227d5b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-05 21:05:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-05 21:05:16 +0900

    [Bug #20524] Do not define USE_GMP insteaad of setting to "no"

commit f8e3dd4ec1afab4cd056029982229f3bbea006da
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-05 18:01:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-05 18:01:28 +0900

    [Bug #20524] win32: Suppress GMP warning

    ```
    C:\vcpkg\installed\x64-windows\include\gmp.h(2237): warning C4146: unary minus operator applied to unsigned type, result still unsigned
    ```

commit d7e558e3c48c213d0e8bedca4fb547db55613f7c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-05 17:03:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-05 17:26:50 +0900

    Mark to warn logger as bundled gems for Ruby 3.5

commit 065190a973c9534b93e3ff99b789bcc945032dfd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-05 17:11:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-05 17:11:10 +0900

    [Bug #20524] win32: Try to configure GMP if available

commit f8abd24b1f28998157da1230b231419ef7b81722
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-06-05 02:39:17 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-05 16:22:15 +0900

    Improve YJIT performance warning regression test

    [Bug #20522]

commit f567633a16b754e50593d0c0864dd6a52f6c8306
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-05 13:04:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 13:04:09 +0900

    [ruby/reline] Refactor input key reading
    (https://github.com/ruby/reline/pull/712)

    * Add key binding matching status :matching_matched

    * Simplify read_2nd_character

    * Add a comment of matching status and EOF

    * Matching status to a constant

    * Expand complicated ternary operators to case-when

    https://github.com/ruby/reline/commit/64deec100b

commit 59ab002665cb3c69bdfbf07e73b1a412c5e5205e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-05 10:21:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-05 12:34:21 +0900

    [Misc #20523] Use HEAD version of vcpkg at 20240605

    This revision includes the following packages:

    ```
    gmp:x64-windows@6.3.0
    libffi:x64-windows@3.4.6
    libyaml:x64-windows@0.2.5#4
    openssl:x64-windows@3.3.0#1
    vcpkg-cmake:x64-windows@2024-04-18
    vcpkg-cmake-config:x64-windows@2022-02-06#1
    vcpkg-cmake-get-vars:x64-windows@2023-12-31
    zlib:x64-windows@1.3.1
    ```

commit 63e9eaa5bef3fdb1f621d81eab6578fd4cb0f78d
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-06-02 09:33:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 09:45:53 +0900

    [ruby/openssl] Fix test_create_with_mac_iter accidently setting keytype not maciter

    This test was accidentally passing the value 2048 into the keytype
    parameter of PKCS12_create, not the mac_iter parameter (because it had
    one too many `nil`s in the call). This value is invalid, and will make
    OpenSSL perform an out-of-bounds read which is caught when compiling
    with ASAN.

    This commit fixes the tests, and also adds some validation to
    PKCS12.create to make sure any keytype passed is actually valid. Since
    there only two valid keytype constants, and the whole feature is an
    export-grade crypto era thing only ever supported by old MSIE, it seems
    far more likely that code in the whild is using keytype similarly by
    mistake rather than as intended. So this validation might catch that.

    https://github.com/ruby/openssl/commit/47028686d2

commit 2e5e47184c59641ab23c6dab74b75404edcbf7f2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-05 09:00:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-05 09:00:17 +0900

    Added gmp for Windows CI. But we may need to use additional configuration

commit 5dce2620f28940201a5885c850a3ad82c7d936c5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-05 08:57:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-05 08:57:15 +0900

    Don't need readline library now

commit 10ecdeb4665cbc061f80cc26c5456ff124703d89
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-04 21:25:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-05 08:35:33 +0900

    Mark to warn fiddle as bundled gems for Ruby 3.5

commit c2fb22d0eb271fd902809f3e465de71fd0f4a62a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 03:56:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 05:28:55 +0900

    [ruby/prism] (parser) mark spanning newlines as incorrect

    https://github.com/ruby/prism/commit/09ba678066

commit e440804d7ad42bf244c5a20e461cd6e7beed20f3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 03:50:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 05:28:54 +0900

    [ruby/prism] (parser) split up regexp content by lines

    https://github.com/ruby/prism/commit/85b4a5f804

commit c2d3573c63934047df1d455a71a4f4248070a638
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 03:45:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 05:28:54 +0900

    [ruby/prism] (parser) handle quoted symbols in hash patterns

    https://github.com/ruby/prism/commit/461aa5e658

commit 4354e452547bbd851078cd1f0f7effe932e01516
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 03:36:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 05:28:54 +0900

    [ruby/prism] (parser) fix up srange_find to anchor at the start of the slice

    https://github.com/ruby/prism/commit/aecce571d8

commit f118f92a02d1a671c9662e372954434238462f5d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 03:29:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 05:28:53 +0900

    [ruby/prism] (parser) mark unary_num_pow_precedence as incorrect

    https://github.com/ruby/prism/commit/c49efdf824

commit bbf9b5baadaa476f72ae4d378841b3a63bdf7043
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 03:17:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 05:28:53 +0900

    [ruby/prism] (parser) fix up nested multi write

    https://github.com/ruby/prism/commit/12e079c97e

commit ac429df64fdec71ef705ddb984ad9f80ac03f249
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-05-30 08:06:32 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-06-05 05:04:41 +0900

    Ignore retguard symbols when looking for leaked symbols

    retguard symbols are added on OpenBSD as part of stack protection.
    They should be ignored by the leaked symbols checker, just as we
    ignore asan symbols.

commit c90cb4d743328daa7d665309e761672cf18d56f6
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-04 22:59:57 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-05 04:34:19 +0900

    Fix pathes => paths typo in bootstrap test runner

commit 932ecd3a1c8a2c5094406063903866499176529e
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-05 03:34:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 03:35:03 +0900

    [ruby/reline] Ensure no escape sequence before printing prompt
    (https://github.com/ruby/reline/pull/716)

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

commit 5ea843f9b237c08dbdc82125462cf431bd885c7b
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-05 03:32:54 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-05 03:33:12 +0900

    Revert "Revert "[ruby/reline] Reline::ANSI is general io. Reline::GeneralIO is not.""

    This reverts commit 6e84ac2359c8fc8cb686ef4644b9cae26cd5ab9e.

    Now that the rubygems spec change has been merged, let's try reverting
    this and fixing it with tompng's new patch.

commit 40a9e806f2e83cf5e26f8fa52ad4f624a4118915
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-05 03:31:00 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-05 03:31:20 +0900

    merger.rb: Put spaces in between revisions

    so that they are linked correctly on GitHub

commit 69dc6416be8b3217890b3cfaff85b2134b7956a7
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-04 22:16:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 03:24:52 +0900

    [rubygems/rubygems] Relax readline prompt test

    https://github.com/rubygems/rubygems/commit/1f6e028201

commit 6b379b9b9815180f6edac2376e6bde0172643419
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-06-05 02:50:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-05 02:50:42 +0900

    [DOC] Exceptions doc (#10865)

commit f7b53a75b648e7156f49c1d5c266e2d85f159fc6
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-06-05 00:27:29 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-05 02:21:01 +0900

    Do not emit shape transition warnings when YJIT is compiling

    [Bug #20522]

    If `Warning.warn` is redefined in Ruby, emitting a warning would invoke
    Ruby code, which can't safely be done when YJIT is compiling.

commit 86272257047aeac65ae0a5af100093e39c2ee00a
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-06-05 00:19:50 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-05 00:19:50 +0900

    Add/revise Errno descriptions (#10897)

commit fd517a97bee843d77f802de23efa78fcb661b025
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-04 06:31:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 00:05:52 +0900

    [ruby/prism] Revert "Revert "Properly destructure procarg0 in parser translation""

    This reverts commit https://github.com/ruby/prism/commit/d8ae19d0334a.

    https://github.com/ruby/prism/commit/df1eda2811

commit a2147eb694b30d0fbbb7b471e8e3a5c9276d2632
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-04 23:17:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-04 23:17:40 +0900

    YJIT: Fix getconstant exits after opt_ltlt fusion (#10903)

    Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>

commit a8c1ef6a608a121f7a5786eeec51f7a69a7f96b0
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-04 21:09:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-04 21:09:15 +0900

    [ruby/irb] Remove useless Reline::Key.new and update wrong comment
    for alt+d
    (https://github.com/ruby/irb/pull/963)

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

commit 892849ac986f7e4121e22c7d532d6d6937c0f12c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-04 17:53:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-04 19:53:04 +0900

    Remove dependency on fiddle from test/ruby

    Co-authored-by: "Nobuyoshi Nakada" <nobu@ruby-lang.org>

commit 8ff5458c2edce15602b0f578d44c3118d9f8a035
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-04 16:55:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-04 18:30:39 +0900

    EXACT list is mostly same as SINCE list on bundled gems.

commit f365bef0c78085b7db9b6736ae59c1657baa79a3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-04 16:52:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-04 18:30:39 +0900

    Warn to use win32ole without Gemfile for Ruby 3.5

commit 1ac3a71d66ad6549a4de65481c81bb002e3650ac
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-04 18:01:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-04 18:01:58 +0900

    [DOC] ruby.1: Refine RUBY_GC_HEAP_n_INIT_SLOTS description

commit bdcdeb7918ee692ec3ade73cefc1ee6d9f542d47
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-04 17:55:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-04 17:56:06 +0900

    [DOC] ruby.1: mandoc is not markdown

commit 7bc4b5f17f044afadd6899fbe0d1bbe03aa40a6d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-04 15:56:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-04 16:50:20 +0900

    [ruby/win32ole] Added missing extensions

    https://github.com/ruby/win32ole/commit/8456e8830e

commit 8080cb709065f5985148e6b00fdb465915f8ac31
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-04 15:00:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-04 15:00:47 +0900

    Removed trailing spaces.

commit 9c4a28b8265d3eb644acf057e32c0ec1feaf66a3
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-04-15 19:57:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-04 14:44:43 +0900

    [flori/json] Use the pure-Ruby generator on TruffleRuby as it is much faster

    * Using the benchmark from https://github.com/flori/json/pull/580
    $ ruby benchmarks/bench.rb dump pure
    JSON::Pure::Generator
    truffleruby 24.0.0, like ruby 3.2.2, Oracle GraalVM Native [x86_64-linux]
    Warming up --------------------------------------
          JSON.dump(obj)   116.000 i/100ms
          JSON.dump(obj)   235.000 i/100ms
          JSON.dump(obj)   317.000 i/100ms
          JSON.dump(obj)   372.000 i/100ms
          JSON.dump(obj)   374.000 i/100ms
    Calculating -------------------------------------
          JSON.dump(obj)      3.735k (± 0.9%) i/s  (267.76 μs/i) -     18.700k in   5.007526s
          JSON.dump(obj)      3.738k (± 0.7%) i/s  (267.49 μs/i) -     18.700k in   5.002252s
          JSON.dump(obj)      3.743k (± 0.7%) i/s  (267.18 μs/i) -     19.074k in   5.096375s
          JSON.dump(obj)      3.747k (± 0.5%) i/s  (266.87 μs/i) -     19.074k in   5.090463s
          JSON.dump(obj)      3.746k (± 0.5%) i/s  (266.96 μs/i) -     19.074k in   5.092069s
    $ ruby benchmarks/bench.rb dump ext
    JSON::Ext::Generator
    truffleruby 24.0.0, like ruby 3.2.2, Oracle GraalVM Native [x86_64-linux]
    Warming up --------------------------------------
          JSON.dump(obj)    19.000 i/100ms
          JSON.dump(obj)    18.000 i/100ms
          JSON.dump(obj)    18.000 i/100ms
          JSON.dump(obj)    18.000 i/100ms
          JSON.dump(obj)    21.000 i/100ms
    Calculating -------------------------------------
          JSON.dump(obj)    221.260 (±10.8%) i/s    (4.52 ms/i) -      1.092k in   5.004381s
          JSON.dump(obj)    221.983 (± 8.1%) i/s    (4.50 ms/i) -      1.113k in   5.055574s
          JSON.dump(obj)    221.446 (± 8.6%) i/s    (4.52 ms/i) -      1.113k in   5.073167s
          JSON.dump(obj)    226.452 (± 7.9%) i/s    (4.42 ms/i) -      1.134k in   5.048568s
          JSON.dump(obj)    227.795 (± 8.3%) i/s    (4.39 ms/i) -      1.134k in   5.025187s

    https://github.com/flori/json/commit/8256455cdc

commit 3eda59e9752baec109241983bb7f946db31b74d1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-04 12:40:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-04 12:40:08 +0900

    Sync strscan HEAD again.

    https://github.com/ruby/strscan/pull/99 split document with multi-byte
    chars.

commit c5ae432ec8fd1aecde5bec90cc2b4769822c9597
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-31 16:59:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-04 12:23:48 +0900

    [flori/json] Cleanup useless ifdef

    The json gem now requires Ruby 2.3, so there is no point keeping
    compatibility code for older releases that don't have the
    TypedData API.

    https://github.com/flori/json/commit/45c86e153f

commit c4056b0e43eea61ff88130e87d752957d4900a2b
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-04 07:40:51 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-04 09:20:02 +0900

    YJIT: Add another regression test for empty splat

    Follow-up for 6c8ae44a388e5c03b7db90376af3652007b574e8 ("YJIT: Fix out
    of bounds access when splatting empty array"). This test crashes Ruby
    3.3.2.

commit e7e83a313c6aac9d57e17a021c24a9c8e2167cca
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-04 08:50:42 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-04 08:50:43 +0900

    Skip flaky RJIT tests

    https://github.com/ruby/ruby/actions/runs/9352283948/job/25740049841
    https://github.com/ruby/ruby/actions/runs/9350872852/job/25735280811

    Not a high priority to fix right now, so skipping until we get to fix
    it.

commit 372531f3bc21bb28ab5b3114d358f6dc7e45041d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-04 08:13:28 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-04 08:13:28 +0900

    Revert "Skip failing Bundler specs for now"

    This reverts commit a8f5284045e3aba1b45691142e5c01bf1d24d519.

    Sorry, I didn't mean to push this one since I reverted the reline
    change.

commit 6e84ac2359c8fc8cb686ef4644b9cae26cd5ab9e
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-04 08:11:33 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-04 08:11:54 +0900

    Revert "[ruby/reline] Reline::ANSI is general io. Reline::GeneralIO is not."

    This reverts commit ba01d15cf5db96933905d669c68f5cc0cd6910b8.

    It seems to be failing test-bundler-parallel. Reverting it to normalize
    the CI. We should revert this revert once we figure it out.

commit a8f5284045e3aba1b45691142e5c01bf1d24d519
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-04 08:09:02 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-04 08:09:02 +0900

    Skip failing Bundler specs for now

commit 89ef1392f8966735964b38335b6e8b6613450de9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-04 06:29:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-04 06:31:29 +0900

    [ruby/prism] Revert "Properly destructure procarg0 in parser translation"

    This reverts commit https://github.com/ruby/prism/commit/823e931ff230.

    https://github.com/ruby/prism/commit/d8ae19d033

commit 5502890a2fc2c98c4a073bde97d9667c59e8a2de
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-02 02:50:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-04 06:12:36 +0900

    [ruby/prism] Properly destructure procarg0 in parser translation

    https://github.com/ruby/prism/commit/823e931ff2

commit 56301ba324e2bb8f1c90cfe8e25db8fcdcab14bd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-04 02:47:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-04 05:57:53 +0900

    [ruby/prism] Update unparser tests

    https://github.com/ruby/prism/commit/aee84cf42c

commit 856898e9774a1935b4accf32941ced37274e6aa1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-04 02:45:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-04 05:57:51 +0900

    [ruby/prism] Update seattlerb tests

    https://github.com/ruby/prism/commit/a255653447

commit 91ee58ee48fc062befd5ee0225ad70514034d828
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-04 02:42:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-04 05:57:50 +0900

    [ruby/prism] Update whitequark tests

    https://github.com/ruby/prism/commit/95e2484903

commit 77581dd45b526ca32fa7d42762faba32709d36a7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-04 02:31:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-04 05:57:48 +0900

    [ruby/prism] Fix up steep issues

    https://github.com/ruby/prism/commit/21d314eb2e

commit 520ab22725124ef3d588c9ec664b1adfc98da905
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-06-03 15:40:24 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-06-04 03:02:49 +0900

    Avoid unnecessary writes to imemo_env during GC

    Similar to the previous commit, to avoid unnecessary Copy-on-Write
    memory use we should only set this flag when it has not previously been
    set.

commit 9d6b8806a4e0801c260f628e48a21ae94cb3fc91
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-06-03 15:39:36 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-06-04 03:02:49 +0900

    Avoid unnecessary writes to ISEQ during GC

    On mark we check whether a callcache has been invalidated and if it has
    we replace it with the empty callcache, rb_vm_empty_cc(). However we
    also consider the empty callcache to not be active, and so previously
    would overwrite it with itself.

    These additional writes are problematic because they may force
    Copy-on-Write to occur on the memory page, increasing system memory use.

commit 17b89849c6076777ccfd014f191f8c97f81f8cae
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 16:54:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:42:19 +0900

    Count uninitialized call cache as miss empty

    Fix segfault at start up when `USE_DEBUG_COUNTER` is enabled.

commit ba01d15cf5db96933905d669c68f5cc0cd6910b8
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-03 23:28:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-03 23:28:33 +0900

    [ruby/reline] Reline::ANSI is general io. Reline::GeneralIO is not.
    (https://github.com/ruby/reline/pull/659)

    Reline::ANSI has a partial non-tty supporting code. It should be a general io.
    Reline::Dumb should be only used in testing.

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

commit 7aa1bca2c9d8f002b0cc6d6730318d726d20d52d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 23:06:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:10:05 +0900

    [DOC] man: Add environment variable RUBY_PAGER

commit fa8984df2ed737d7e4713bf60816f4ac50326b34
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 23:05:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:10:05 +0900

    [DOC] man: Add environment variable RUBY_MAX_CPU and RUBY_MN_THREADS

commit 2192b0eaa06e07d7903d8c9f7debed36d4a46c84
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 21:34:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:10:05 +0900

    [DOC] man: Add environment variable RUBY_FREE_AT_EXIT

commit c08783f398f7a019675289f7cef4acee5a371b24
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 20:45:31 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:10:05 +0900

    [DOC] man: Remove environment variable RUBY_GC_HEAP_INIT_SLOTS

commit 0fb2147284423eafabbf5d8878dd9392981f3b24
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 20:35:21 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:10:05 +0900

    [DOC] man: Add environment variable RUBY_IO_BUFFER_DEFAULT_SIZE

commit c25f653047a04156772ec19ef5f7f5899518a378
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 20:18:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:10:05 +0900

    [DOC] man: Add environment variable RUBY_SHARED_FIBER_POOL_FREE_STACKS

commit 589764b1c9ed8ed5b59dfb953667b41c41700ce2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 20:07:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:10:05 +0900

    [DOC] man: Add missing GC environment variables

commit 1ca4c8b41f04a72ce66537edf16729af3f5d41d0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 19:57:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:10:05 +0900

    [DOC] man: Fix up formatting

commit 5d33ff36dcc04bd134dc53bedec7c2144658df51
  Author:     Hiroaki Osawa <ikusawasi@gmail.com>
  AuthorDate: 2024-06-03 23:05:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-03 23:05:51 +0900

    [ruby/reline] In ed_search_[prev|next]_history, make the cursor come
    to the end of the line when there is no search substr
    (https://github.com/ruby/reline/pull/714)

    * In ed_search_prev_history, make the cursor come to the end of the line when there is no search substr

    * In ed_search_next_history, make the cursor come to the end of the line when there is no search substr

    * Implemented ActionState to search with empty substr if the previous operation was search with empty string.

    * Use a simple 2-element array to represent action_state

    https://github.com/ruby/reline/commit/95ee80bd70

commit 91d4a7ae0c719697db7dd6dd64ca664b60c9de04
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-03 22:14:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-03 22:15:05 +0900

    [ruby/reline] Improve key binding match/matching check
    (https://github.com/ruby/reline/pull/709)

    * Improve key binding match/matching check

    * Rename key_actors to default_key_bindings

    * Make key_stroke.expand always return a value

    * Update add_default_key_binding to use a add_default_key_binding_by_keymap internally

    Co-authored-by: Stan Lo <stan001212@gmail.com>

    ---------

    https://github.com/ruby/reline/commit/353ec236e2

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 631449ac6b9336dfce577a786aff7eca0b8abcf1
  Author:     nagachika <nagachika@ruby-lang.org>
  AuthorDate: 2024-06-03 20:59:04 +0900
  Commit:     nagachika <nagachika@ruby-lang.org>
  CommitDate: 2024-06-03 20:59:04 +0900

    README.ja.md: Remove Cirrus CI badge image. folloup for 15ee9c7c1b693f29b6b2dbe7b47488bf154e481c.

commit 61af722d4e2899784a58d06f2be0d67cab9d0efa
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-03 14:37:32 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-03 14:37:32 +0900

    fix typos.

commit ac62adadc0413d86171d78339eaca2b91e81166f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-03 14:35:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-03 14:35:54 +0900

    Drop -v from RJIT CI

    It no longer hangs these days. It takes a lot of work to scroll through
    a lot of lines when reading logs.

commit cb6dcc77460272f56e2bd62874a9ea4c34ac5f33
  Author:     p0pemaru <36598331+p0pemaru@users.noreply.github.com>
  AuthorDate: 2023-08-14 21:40:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-03 14:24:18 +0900

    [ruby/date] [DOC] specify the unit of return value for Date#-

    https://github.com/ruby/date/commit/b3a2c7611e

commit 77e5e06846ffac01459fe18e9e293b6e5ebb3d4e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 10:45:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-03 14:23:44 +0900

    [ruby/date] Prevent converted gregorian date from GC

    `m_sf_in_sec` calls `rb_rational_new` that can cause GC.

    https://github.com/ruby/date/commit/6de449ab6a

commit d50404d6fe9dcd991dbad4f8757d23d38d1b5b80
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-03 14:19:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-03 14:20:23 +0900

    Revert "Sync strscan document files to under the doc directory"

    This reverts commit 5611e249e10bf95d48bbf27674bbb6b1fe588b5e.

    Followed up with https://github.com/ruby/ruby/commit/78bfde5d9f42f2d7bcfb40343477eb8e73ca0e29

commit ca2170e69f454259c612143a8c3bf6ab576d7f4d
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-03 12:24:55 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-03 12:24:55 +0900

    [DOC] percent literals can be nested.

commit b346eb8f1401698b42d7ea0f7552bda15cc7439a
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-31 11:46:36 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-03 10:44:30 +0900

    Raise EAI_SYSTEM when pthread_create fails in getaddrinfo

    Previously, EAI_AGAIN was raised.

    In our CI, "Temporary failure in name resolution" (EAI_AGAIN) is often
    raised. We are not sure if this was caused by pthread_create failure or
    getaddrinfo failure. To make it possible to distinguish between them,
    this changeset raises EAI_SYSTEM instead of EAI_AGAIN on pthread_create
    failure.

commit d05d03b1866944e3d8f82d809b3370e7cf5e253e
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-02 23:24:08 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-02 23:24:08 +0900

    IO.select accepts a numeric value as timeout.

    [DOC] IO.select accepts a numeric value as timeout, not only an integer.

commit e1c9e6244b38f43496400863f610e53c36709589
  Author:     Daisuke Fujimura (fd0) <booleanlabel@gmail.com>
  AuthorDate: 2024-06-02 21:22:39 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 22:12:05 +0900

    Use real filename instead of `__FILE__`

commit 1f8c45aa51ece7df1d7d07382b44640ab30306cb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-02 21:27:03 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 21:33:02 +0900

    [DOC] building_ruby: Move the caution to a footnote

commit 7e52e3e3f7ccb0d14bd091b9ecef065eafbf2ef6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-02 21:07:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 21:33:02 +0900

    [DOC] building_ruby: External library links

    - `OpenSSL` here is not the class.
    - libexecinfo on FreeBSD is present in the base system of all
      supported releases, since 2017.

commit 457c6b4789199c3336126d4dc4883252c9e2f2ac
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-02 20:14:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 21:33:02 +0900

    [DOC] building_ruby: Refine links

    Get rid of using ambiguous demonstratives as link anchors, for the
    accessibility's sake.

commit 5980f14e88934ea068c1c3d54fd347709842f472
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-02 20:06:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 21:33:01 +0900

    [DOC] building_ruby: Fold long lines

commit 7c121692309d0a4d1183ace406b0c4a2848e6da6
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-31 01:12:29 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-02 20:59:11 +0900

    Eliminate internal uses of `Data_Wrap_Struct`

    Ref: https://github.com/ruby/ruby/pull/10872

    These should be the last internal uses of the old `Data` API
    inside Ruby itself. Some use remain in a couple default gems.

commit 730e3b2ce01915c4a98b79bb281b2c38a9ff1131
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-30 21:55:32 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-02 20:53:35 +0900

    Stop exposing `rb_str_chilled_p`

    [Feature #20205]

    Now that chilled strings no longer appear as frozen, there is no
    need to offer an API to check for chilled strings.

    We however need to change `rb_check_frozen_internal` to no
    longer be a macro, as it needs to check for chilled strings.

commit 3eba84fba015f82fe4ed48ca32450c48a771942f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-02 19:00:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 19:59:05 +0900

    [DOC] Caution about old GNU make

commit 26bd4144f74131a55256cc6073d0c36e1e662736
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-02 13:42:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 18:36:09 +0900

    Add `nightly` recipe

    Installs the last revision in the previous `RUBY_RELEASE_DATE`.

commit 733c72e6f03673151b9f01923d783e24fb66fb82
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-02 17:21:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 17:21:22 +0900

    Show destination directory after installation

    Due to the length of the list of gems to install, the message at the
    beginning of the installation scrolls out.

commit 07a8d02c0c3b7b59dd16b8baccf32958fa1cf420
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-06-02 15:59:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-02 15:59:30 +0900

    Update bundled gems list as of 2024-06-01

commit 56fe5ad7785c5c1a6f81d3ef63b44ab12b47301e
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-02 10:18:56 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-02 10:18:56 +0900

    Time internal representation comment removed.

commit d03c61241a38cb16ed185d609af2d3dc69f66ba3
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-02 10:17:36 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-02 10:17:57 +0900

    Time internal representation described.

commit 0cc5f77c07d964bb308e29ecb8e5b4ee81aa26d1
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-05-09 23:48:03 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 09:50:43 +0900

    Remove unused functions from struct rb_parser_config_struct

    StringValueCStr has not used in parse.y

commit ae203984ff65c5cf3b152c26e3220744e05047d8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-27 18:06:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 09:43:33 +0900

    Ditto for NODE_DOT2 and NODE_DOT3

commit 2889ed1bcbd9b068239c6e981e46eb7bc406009a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-27 15:57:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 09:43:33 +0900

    Use `RNode_DREGX` variable for debuggers

    At least LLDB needs an actual variable not only casts to access the
    type in debugger sessions.

commit cedc7737b6a614de1ee2aaa8d66bbca217d9fa8f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-27 18:20:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 09:43:33 +0900

    Make interchangeable NODE types aliases

commit a7d0a910096fd61bff99efdfd6e4810c0287b61e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-28 10:31:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 09:39:20 +0900

    Raise memerror when really memory exhausted

    Fix segfault when `RUBY_THREAD_VM_STACK_SIZE` environment variable is
    very large.

commit fc495951b128a4256ba28be560584d2a58530f21
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-02 01:12:26 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-02 01:12:26 +0900

    Tempfile document updated.

commit fd74614059c069311dfb3ec1db914fce67421a51
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-01 20:54:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-01 21:51:27 +0900

    Get rid of type-punning pointer casts

commit 05553cf22d43dd78b8f30cc4591230b5c000c538
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-01 19:33:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-01 19:33:12 +0900

    [Bug #20517] Make a multibyte character one token at meta escape

commit cda69b5910494a745d87b7932547341cb2fefe3a
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-06-01 19:28:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 19:28:08 +0900

    [ruby/reline] Overhaul io gate structure
    (https://github.com/ruby/reline/pull/666)

    * Overhaul IO gate structure

    1. Move IO related classes to `lib/reline/io/` directory.
    2. Rename `GeneralIO` to `Dumb`.
    3. Use IO classes as instances instead of classes.

    * Update lib/reline/io/ansi.rb

    Co-authored-by: tomoya ishida <tomoyapenguin@gmail.com>

    ---------

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

    Co-authored-by: tomoya ishida <tomoyapenguin@gmail.com>

commit 767aa0cdb6b82beaf3ef3a51d1004812f52a72b9
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-01 18:14:29 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-01 18:14:29 +0900

    move `Tempfile.create(anonymous: true)` entry.

commit c05f60a600b2f61798124ea6f32a1c8f9d32731e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-01 16:25:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-01 16:25:12 +0900

    Suppress -Wclobbered warning for BLOCKING_REGION

commit a720a1c44702d91217b781e582269f1c57ecff1d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-01 16:22:31 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-01 16:22:31 +0900

    Suppress -Wmaybe-uninitialized warnings with LTO

commit 1eb651fb50d65b708453efdd6506870e061758c8
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-01 15:18:31 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-01 15:18:31 +0900

    described about `Tempfile.create(anonymous: true)`.

commit 3ee83c73c38070d695537d4322ce4decb970a54a
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-01 15:11:19 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-01 15:11:19 +0900

    Tempfile.create(anonymous: true) implemented. (#10803)

    The keyword argument `anonymous` is implemented for `Tempfile.create`

    The default is `anonymous: false`.
    The behavior is not changed as before.

    The created temporary file is immediately removed if `anonymous: true` is specified.
    So applications don't need to remove the file.
    The actual storage of the file is reclaimed by the OS when the file is closed.

    It uses `O_TMPFILE` for Linux 3.11 or later.
    It creates an anonymous file from the beginning.

    It uses FILE_SHARE_DELETE for Windows.
    It makes it possible to remove the opened file.

    [Feature #20497]

commit 5308da5e1c53839b27cc4c0081bb965b46e0d052
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-01 14:21:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-01 14:21:45 +0900

    Add dependencies of configure.ac

commit 6c8ae44a388e5c03b7db90376af3652007b574e8
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-01 06:37:21 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-01 07:37:13 +0900

    YJIT: Fix out of bounds access when splatting empty array

    Previously, we read the last element array even when the array was
    empty, doing an out-of-bounds access. This sometimes caused a SEGV.

    [Bug #20496]

commit bc40d0609177cd60ba1bc4fd915e03e917c0b79c
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2024-05-31 13:37:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 05:20:03 +0900

    [rubygems/rubygems] String search based parsing of compact index versions

    This significantly reduces memory usage.

    https://github.com/rubygems/rubygems/commit/8a76506c90

commit b5c8fb9a3f1ee8a38a04a3c96b7da5bf6c4c23ac
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-01 04:08:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 04:31:53 +0900

    [ruby/prism] Fix up heredoc location translation for parser

    https://github.com/ruby/prism/commit/a4e164e22b

commit 63ea77916a2996db97edd3d9803765e83faf966c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-01 03:35:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 04:31:53 +0900

    [ruby/prism] Match % strings in parser

    https://github.com/ruby/prism/commit/840185110f

commit 1b392ba7c65a360f282049f0cbad2be4cffba433
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-01 03:26:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 04:31:53 +0900

    [ruby/prism] Use correct opening and closing parenthesis for array pattern in parser

    https://github.com/ruby/prism/commit/beed43922c

commit 47f05dffa1a3cf95fa4a5f2511cd85aeb2341712
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-01 03:22:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 04:31:52 +0900

    [ruby/prism] Match match_hash_var when quotes are used

    https://github.com/ruby/prism/commit/f2a327449a

commit 02b27aca50c5f58f0f358eeb074a934f7c02da10
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-01 02:47:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 04:31:52 +0900

    [ruby/prism] Match parser for match_rest in pattern

    https://github.com/ruby/prism/commit/785de2c39d

commit 533f9ea9732ede68d024395f3ce37e09381c886d
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-01 00:08:43 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-01 02:07:33 +0900

    YJIT: CI: Extend SYNTAX_SUGGEST_TIMEOUT for macOS

    To make it the same as the Ubuntu job. To avoid timeout failures due to
    added compilation time in call-threshold=1 runs.

    See: https://github.com/ruby/ruby/actions/runs/9317760443/job/25648721990

commit 082472451dcea0b28fd7a6bdeef227fda0425751
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-24 04:55:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 01:49:44 +0900

    [rubygems/rubygems] Raise a friendly error whenever commands run in subshell take more than a minute

    I expect to make occasional CI hangs easier to investigate.

    Implementation was adapted from tty-command.

    https://github.com/rubygems/rubygems/commit/39c92955bf

commit cc8b9855e1849dadf0590e646872ff1bed5101f9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-24 04:53:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 01:49:44 +0900

    [rubygems/rubygems] Remove no longer necessary code

    Upstream PR was merged and released.

    https://github.com/rubygems/rubygems/commit/d6afbfd664

commit 78860b8e52b66b4239c755362a5ca4deeb4f67e3
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2024-05-31 09:32:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 01:41:25 +0900

    [rubygems/rubygems] Move compact index concurrency to fetcher

    https://github.com/rubygems/rubygems/commit/ffd3711d00

commit 10c256f98fdd9f7942ff61246dc005bb13be8508
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-01 00:30:26 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-01 01:13:55 +0900

    Sychronize with rubygems/rubygems repo

commit 89486c79bb59216dbbbdff69a2c81cb387f64c5f
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-06-01 00:22:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-01 00:22:40 +0900

    Make error messages clear blocks/keywords are disallowed in index assignment

    Blocks and keywords are allowed in regular index.

    Also update NEWS to make this more clear.

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 8e2a6435e4f80f3c84cb7d8ac6d7a059d5969e1b
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-16 23:32:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 00:09:37 +0900

    [rubygems/rubygems] Fix `gem uninstall` warning when two versions of psych installed

    https://github.com/rubygems/rubygems/commit/1b5644b666

commit 78ccf770aa5dcba42087b9a53f8eb46c3731d0ab
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-30 23:41:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-31 20:58:01 +0900

    [rubygems/rubygems] Make sure `rake` auto install works on Windows + Ruby 3.0

    https://github.com/rubygems/rubygems/commit/f513ea49b5

commit f4f56b23c3a82a86e50ed0f68a0c792bc7c40c75
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-30 18:38:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-31 20:58:00 +0900

    [rubygems/rubygems] Make stub sorting stable

    https://github.com/rubygems/rubygems/commit/6b70e9043d

commit 56689332960a989148f8d88ef8b7549b5e60e8bc
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-30 18:37:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-31 20:58:00 +0900

    [rubygems/rubygems] Extract a `spec` variable

    It's consistent with the previous test and makes print debugging easier.

    https://github.com/rubygems/rubygems/commit/d7f424df16

commit 21f10cabb9e4b879a987184f95f920764216ea43
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-30 18:09:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-31 20:58:00 +0900

    [rubygems/rubygems] Improve spec about `rubygems-update` in non default path

    Make it not also install the gem in the default GEM_HOME.

    https://github.com/rubygems/rubygems/commit/22de9a810a

commit 530c85be49638bbb47b90f9d329fb4a18fc2dd39
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-30 04:38:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-31 20:58:00 +0900

    [rubygems/rubygems] Remove unnecessary reset

    https://github.com/rubygems/rubygems/commit/33328e54fd

commit a15e4d405ba6cafbe2f63921bd771b1241049841
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-31 17:30:21 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-05-31 18:24:43 +0900

    Revert 528c4501f46fbe1e06028d673a777ef124d29829

    Recently, `TestRubyLiteral#test_float` fails randomly.

    ```
      1) Error:
    TestRubyLiteral#test_float:
    ArgumentError: SyntaxError#path changed: "(eval at /home/chkbuild/chkbuild/tmp/build/20240527T050036Z/ruby/test/ruby/test_literal.rb:642)"->"(eval at /home/chkbuild/chkbuild/tmp/build/20240527T050036Z/ruby/test/ruby/test_literal.rb:642)"
    ```
    https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20240527T050036Z.fail.html.gz

    According to Launchable, the first failure was on Apr 30.
    This is just when 528c4501f46fbe1e06028d673a777ef124d29829 was
    committed. I don't know if the change is really the cause, but I want to
    revert it once to see if the random failure disappears.

commit fd549b229b0822198ddc847703194263a2186ed1
  Author:     Sorah Fukumori <sorah@cookpad.com>
  AuthorDate: 2024-05-31 04:59:30 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-31 04:59:30 +0900

    test_bignum: defined? returns String (#10880)

    didn't verify the test is working properly due to mistaken auto-merge… [Bug #20515]

    bug: https://bugs.ruby-lang.org/issues/20515
    follow-up: 22e4eeda6561693367fc7a00b92b90f46b09cabd
    follow-up: https://github.com/ruby/ruby/pull/10875

commit 4e36abbab3a143842b2fbed8b00ba7ba6e45ac3f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-31 03:33:12 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-31 04:38:02 +0900

    [PRISM] Support for compiling builtins

commit 4558abec020b786eb337f6edf4e114cae80228aa
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-31 04:21:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-31 04:36:40 +0900

    [ruby/prism] Disallow unescape test on FFI backend

    https://github.com/ruby/prism/commit/32277722d4

commit 308c83567660e7612e522cca6c9ad7523f9531fa
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-30 04:50:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-31 04:18:20 +0900

    [PRISM] Un-exclude the encoding tests

commit 72452f43871b8034bfa718ed823bc62b5b81d6f9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 23:12:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-31 04:18:20 +0900

    [ruby/prism] Tests overhaul

    https://github.com/ruby/prism/commit/6f886be0a4

commit 1ab7c412d2e3880a7ad233c32e93961888f8145c
  Author:     Sorah Fukumori <sorah@cookpad.com>
  AuthorDate: 2024-05-31 03:52:26 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-31 03:52:26 +0900

    RUBY_CHECK_HEADER didn't define HAVE_{header-file} (#10876)

    --with-gmp is not working at all because HAVE_GMP_H
    was missing since 18eaf0be90. [Bug #20515]

    bug: https://bugs.ruby-lang.org/issues/20515
    follow-up: https://bugs.ruby-lang.org/issues/20494
    follow-up: 18eaf0be905e3e251423b42d6f4e56b7cae1bc3b
    follow-up: https://github.com/ruby/ruby/pull/10805

commit 22e4eeda6561693367fc7a00b92b90f46b09cabd
  Author:     Sorah Fukumori <sorah@cookpad.com>
  AuthorDate: 2024-05-31 03:44:31 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-31 03:44:31 +0900

    ci: Test whether GMP is working in compilers.yml (#10875)

    Avoid reoccurence of [Bug #20515]

    Requires https://github.com/ruby/ruby/pull/10876 since 18eaf0be905e3e251423b42d6f4e56b7cae1bc3b

    bug: https://bugs.ruby-lang.org/issues/20515

commit 4f160ad9cfc0f2690a5acca301dedff4f901a673
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-25 02:47:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-31 03:23:36 +0900

    [rubygems/rubygems] Don't let `bundle config` report a path without a Gemfile as "local app"

    https://github.com/rubygems/rubygems/commit/6aa2ac337f

commit 15501e13d7588a049437d343548bda76121b92f9
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-30 21:41:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-31 00:11:48 +0900

    [ruby/stringio] Remove special handling of chilled strings

    [Feature #20205]

    Followup: https://github.com/ruby/stringio/pull/94

    They no longer need to be special cases. If StringIO end up
    mutating a chilled string, a warning will be emitted.

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

commit 78bfde5d9f42f2d7bcfb40343477eb8e73ca0e29
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-30 21:13:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-30 21:13:10 +0900

    Revert "[ruby/strscan] Doc for StringScanner"

    This reverts commit 974ed1408c516d1e8f992f0b304e2de6f8bd5c1f.

commit d70b0da48226891efa7e04f266983b7cecdcbed8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-30 21:13:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-30 21:13:01 +0900

    Revert "Fix reference path for strscan documentation"

    This reverts commit 1fa93fb9488a32018101689fd727965fd5874eb5.

commit 949fabe4e9f60428753e280c7fbc22884d3735b8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-30 19:05:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-30 19:05:52 +0900

    [DEBUG] More info when SyntaxError#path changed

commit bc6860db23b0df3bce09378605a618b677dd6d89
  Author:     Brandon Weaver <baweaver@users.noreply.github.com>
  AuthorDate: 2023-05-20 07:06:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-30 18:16:15 +0900

    [ruby/net-http] Update lib/net/http/header.rb

    https://github.com/ruby/net-http/commit/826e008cfe

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit 4839493f3f3419ee2be88b6160d9c3c71fbd02e2
  Author:     Brandon Weaver <brandon.weaver@gusto.com>
  AuthorDate: 2023-05-20 06:05:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-30 18:16:15 +0900

    [ruby/net-http] Replace Regexp in  for headers for perf

    https://github.com/ruby/net-http/commit/15f1349e4e

commit 4d744a7aa7af35b9b9eefbc391739c07171a0e39
  Author:     Zopolis4 <creatorsmithmdt@gmail.com>
  AuthorDate: 2024-03-24 16:01:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-30 18:02:32 +0900

    [ruby/net-http] Add Net::HTTP.put method

    https://github.com/ruby/net-http/commit/6dc01c985b

commit f23c96581f6b6492770fd3b4735c64d35f1a1b5b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-30 18:00:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-30 18:00:25 +0900

    Update generated code from https://github.com/ruby/rdoc/commit/5c7ea6fa15f403b1c84f5b823716f75595c97d8c

commit 1fa93fb9488a32018101689fd727965fd5874eb5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-30 14:29:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-30 14:29:25 +0900

    Fix reference path for strscan documentation

commit ba8e6e77fd81f039f3bc85b2c1fb72aa93499b14
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-30 12:46:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-30 12:46:19 +0900

    Revert "[rubygems/rubygems] Fix `gem pristine` sometimes failing to pristine user installed gems"

    This reverts commit a3edc4abc574b04bcacfae2af188cce7d27bfcf1.

    That commit caused test failure with Windows platform.

    * https://github.com/ruby/ruby/actions/runs/9289018414/job/25561871390
    * https://github.com/ruby/ruby/actions/runs/9289018425/job/25561873060

commit 974ed1408c516d1e8f992f0b304e2de6f8bd5c1f
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-05-20 22:42:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-30 12:34:18 +0900

    [ruby/strscan] Doc for StringScanner
    (https://github.com/ruby/strscan/pull/96)

    #peek_byte and #scan_byte not updated (not available in my repo --
    sorry).

    ---------

    https://github.com/ruby/strscan/commit/0123da7352

    Co-authored-by: Sutou Kouhei <kou@cozmixng.org>

commit 5611e249e10bf95d48bbf27674bbb6b1fe588b5e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-30 12:32:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-30 12:34:18 +0900

    Sync strscan document files to under the doc directory

commit 53150b18decd6866cd2ec5d2d82fb451856c00b2
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-30 12:25:41 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-30 12:25:41 +0900

    release.sh: Explain example usages

commit 8a9d8a0ef697837a4c35f3a4830447316f8d57e3
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-30 12:22:25 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-30 12:22:25 +0900

    release.sh: We don't release tar.bz2 anymore

commit f1702261d740fbdca78ae1fbf87b66a59921e685
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-30 10:32:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-30 10:32:33 +0900

    Suppress warnings about frozen string literal feature

    ```
    tool/redmine-backporter.rb:69: warning: literal string will be frozen in the future
    ```

commit 01aa77faa2cd34da1f9add4d0484ab1c292ff662
  Author:     Adam Daniels <adam@mediadrive.ca>
  AuthorDate: 2023-06-13 04:36:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-30 09:09:22 +0900

    [ruby/rdoc] Abort with error message if --dump argument invalid

    When --dump=FILE is passed a path that does not exist or is not
    readable, it silently fails.

    https://github.com/ruby/rdoc/commit/0536b83c46

commit 79f9ed30721d986b5b2f65efac1de4e88806f77f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-30 08:23:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-30 08:23:49 +0900

    [ruby/zlib] Update license files with ruby/ruby

    https://github.com/ruby/zlib/commit/8341fa2e20

commit 4a9ef9e23cbb73ac7f0d4410f0198bbd583701f5
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-05-30 03:13:15 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-05-30 04:58:35 +0900

    YJIT: Fix a warning from nightly rust

    No plan about migrating to the 2024 edition yet (it's not even
    available yet), but this is a simple enough suggestion so we can just
    take it.

    ```
    warning: this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<Box<[T]> as IntoIterator>::into_iter` in Rust 2024
        --> ../yjit/src/core.rs:1003:49
         |
    1003 |         formatter.debug_list().entries(branches.into_iter()).finish()
         |                                                 ^^^^^^^^^
         |
         = warning: this changes meaning in Rust 2024
         = note: `#[warn(boxed_slice_into_iter)]` on by default
    help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
         |
    1003 |         formatter.debug_list().entries(branches.iter()).finish()
         |                                                 ~~~~
    help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
         |
    1003 |         formatter.debug_list().entries(IntoIterator::into_iter(branches)).finish()
         |                                        ++++++++++++++++++++++++        ~
    ```

commit a760e21bc122c67478b318b3f032d70fac1a6077
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-30 02:33:20 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-30 02:39:32 +0900

    Sort backport revisions by commit timestamps

commit a3edc4abc574b04bcacfae2af188cce7d27bfcf1
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-16 23:01:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-30 00:35:04 +0900

    [rubygems/rubygems] Fix `gem pristine` sometimes failing to pristine user installed gems

    https://github.com/rubygems/rubygems/commit/0eb6ed8f86

commit b0e6446b9f4f2e102de0f69feba88fd5b804d045
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-05-29 23:45:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-29 23:45:39 +0900

    [ruby/reline] Bump version to 0.5.8
    (https://github.com/ruby/reline/pull/711)

    https://github.com/ruby/reline/commit/43cd4c5d58

commit 939d389c549631d84e1603f89850df6aa890ab66
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-20 20:10:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-29 22:55:25 +0900

    [rubygems/rubygems] Improve default gem handling by treating default gems as any other gem

    For backwards compatibility, make sure default gems are still used as a
    last resort when materializing, in case no remote, cached, or installed
    specs are found.

    https://github.com/rubygems/rubygems/commit/93788f689f

commit af894654062fa47603c18e350c1fceb0e89b81b9
  Author:     nasa <htilcs1115@gmail.com>
  AuthorDate: 2024-05-29 22:36:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-29 22:36:10 +0900

    [ruby/prism] Document `ForNode` fields
    (https://github.com/ruby/prism/pull/2845)

    * Add document

    * fix

    * fix fmt

    * fix fmt

    * Revert "fix fmt"

    This reverts commit https://github.com/ruby/prism/commit/b23a05a94148.

    * add potition

    * fix fmt

    * reposition

    * fix indent

    * fix comment

    * fix indent

    https://github.com/ruby/prism/commit/0dd4c1bba1

commit ab353a3064be3c8ec1c81264c47e12911500102a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-29 21:37:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-29 21:37:40 +0900

    Fix the case COLUMNS is unset

commit 632115c11ec356d5abd65a0db2a21358c87d99bb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-29 19:49:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-29 19:49:57 +0900

    Round down test-spec folding width to a multiple of 20

    A prime number 73 is not good for counting.

commit 4dcd7d62403efddb9f43997a7e07a716ab29fcc7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-29 18:25:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-29 18:25:05 +0900

    Setup ruby before setup/directories

    Now baseruby must be 3.0.0 or later.

commit a41e6f387349647d25aee54d97d9714934d5c3b3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-29 17:40:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-29 17:40:59 +0900

    GCC LD does not support `.debug_macinfo` yet

    Lower debug info level if it is warned, not checks with werror_flag to
    fail due to this warning.

commit da69c9235f1a9de856387da3d4db303456c9f100
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-29 16:25:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-29 17:38:26 +0900

    Fix -Wclobbered warnings

commit f630b24d7a08bb045f9aa7911bcd3477ebc6aba2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-29 14:03:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-29 14:53:33 +0900

    Fix `calloc` arguments order for -Wcalloc-transposed-args

commit 1a31d38c564d14dc5ba0226b85c8adeed8b8f1a5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-29 09:44:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-29 14:06:25 +0900

    Cast to void pointer for -Wformat-pedantic

commit d9d7ae7830370ff88b69aded2032b17c412fdaf3
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 09:45:21 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 09:46:58 +0900

    merger.rb: Don't ask "conflicts resolved?" if not needed

commit 7e95efdafa32bbff4b54e563a7c47fcbc76d7111
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 09:17:03 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 09:17:16 +0900

    redmine-backporter.rb: Prepend commit: to every revision

commit d0cde43a3371369275495f24446880cf59288e79
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 09:00:12 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 09:00:47 +0900

    redmine-backporter.rb: Remove an unneeded space

    from #backport_command_string

    I don't want to leave unneeded spaces in the command history by
    copy-pasting the entire line.

commit 2eded6cc5d08510e9bff6242bfc86d10b68a3b82
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 08:28:00 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 08:30:22 +0900

    merger.rb: Auto-detect tickets when --ticket is not given

commit 24c56ed516893fe33e34f85f8807c230db20b65b
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 07:42:47 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 07:43:24 +0900

    merger.rb: Drop an obsoleted command from help

    It was needed only for SVN, and we dropped SVN support.

commit b0ebad51e504a1182f29026be755b2e7a8756080
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 06:28:49 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 06:28:50 +0900

    merger.rb: Use commit: prefix in more places

commit d1265d6172f2772bd4b37cf72689de28edce8a96
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 06:05:50 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 06:05:51 +0900

    merger.rb: Improve the help message

    It wasn't clear whether the backport command takes a commit hash or a
    ticket number.

commit 7a860bacee34d082f9731f5edbeea49ee405a268
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 05:51:45 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 05:51:45 +0900

    merger.rb: Drop SVN support

commit 78732753261eb4c744620125505866e067e293dd
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 05:37:52 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 05:37:53 +0900

    redmine-backporter.rb: Use commit: prefix

commit 2c8b2f5b55f506913397d0cf4ecf3d80e9bf785d
  Author:     Darren Kavanagh <dkav@users.noreply.github.com>
  AuthorDate: 2024-05-17 02:22:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-29 05:15:45 +0900

    [rubygems/rubygems] Clarify BUNDLE_USER_CONFIG is a file

    https://github.com/rubygems/rubygems/commit/0b284fc88c

commit bc3199bb298d9d29d66aedeb1139715893ebfea8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 03:49:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-29 04:30:32 +0900

    [PRISM] Enable TestAssignmentGen#test_assignment

commit 13307cd9444d17dff2da1d0ff03efcede23ad88d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 03:46:01 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 03:46:15 +0900

    redmine-backporter.rb: Highlight closed tickets

commit 2608f2a23bb037f2b79e76c83d4b70716f039d1a
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 03:41:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 03:41:31 +0900

    redmine-backporter.rb: Fix #color for Ruby 3 splat

    color(*PRIORITIES['Immediate']) didn't work with Ruby 3.

commit a7eb3d077b4a0e4582380540830b9ef994f2a6a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 02:02:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-29 03:24:18 +0900

    [PRISM] Enable TestISeq#test_trace_points

commit 9efb8825a323255ac7444c574d99c41f86c63814
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 02:01:15 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-29 03:24:18 +0900

    [PRISM] Update BEGIN node line number based on empty statements and rescue

commit 22536148e217bb2fa48ea242a3310936fde1f021
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 01:41:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-29 03:24:18 +0900

    [PRISM] Use PUSH_SYNTHETIC_PUTNIL for all optional statement bodies

commit 07f494ccad5505b3c82f4d0d634e4a517469a8c2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 01:36:20 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-29 03:24:18 +0900

    [PRISM] Enable TestISeq#test_each_child

commit 3f256dc66a3b9f67d4af69e76a645999352a3650
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 02:47:51 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 02:47:51 +0900

    redmine-backporter.rb: Drop SVN support

commit 450e9d2495f1c4078debc115dfcd5880da06efd9
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 02:42:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 02:42:47 +0900

    redmine-backporter.rb: Migrate Readline to Reline

    instead of using a local Readline port as a fallback

commit db7c385897ac3ea6ce7d144385a5bd7f0605449c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 02:39:39 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 02:39:39 +0900

    redmine-backporter.rb: Get rid of VERSION

    that has never been utilized

commit e5759e412636c1224a27ede1fa3f7f97b51eae58
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 02:34:15 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 02:34:16 +0900

    redmine-backporter.rb: Print help on wrong usage

commit 1eff5a98f1c83f37ca2daac1c52f3eb84f395acd
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-05-29 02:23:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-29 02:23:01 +0900

    YJIT: limit size of call count stats dict (#10858)

    * YJIT: limit size of call count stats dict

    Someone reported that logs were getting bloated because the
    ISEQ and C call count dicts were huge, since they include all
    of the call sites. I wrote code on the Rust size to limit the
    size of the dict to avoid this problem. The size limit is
    hardcoded at 20, but I figure this is probably fine?

    * Fix bug reported by Kokubun.

commit fd95ba255a413ff02cdc542dd16a2e2901387fc6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 01:21:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-29 02:12:21 +0900

    Make ensure first lineno the first line of the ensure

    Previously, ensure ISEQs took their first line number from the
    line number coming from the AST. However, if this is coming from
    an empty `begin`..`end` inside of a method, this can be all of the
    way back to the method declaration. Instead, this commit changes
    it to be the first line number of the ensure block itself.

    The first_lineno field is only accessible through manual ISEQ
    compilation or through tracepoint. Either way, this will be more
    accurate for targeting going forward.

commit 8f84fbbf968a43c44b34ada601cf2b4a0bfa9d54
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 01:33:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-29 02:11:52 +0900

    [PRISM] Enable TestSyntax#test_dedented_heredoc_continued_line

commit 7f181268829dd5fbd5412cc0b6d79880a946bd6c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 01:15:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-29 01:31:55 +0900

    [ruby/prism] Fix line continuation heredoc dedent calculation

    https://github.com/ruby/prism/commit/63b596df07

commit 31c9a3a1d330606493e5e70aec3cd1a36d8c61a0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-28 23:19:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-29 01:02:32 +0900

    [Bug #20438] Disallow "%\n" and "%\0"

commit 61e2916d1c297eeabcfeba4815cececff20db1dd
  Author:     Herwin <herwinw@users.noreply.github.com>
  AuthorDate: 2024-05-28 23:02:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-29 00:28:02 +0900

    [ruby/prism] Typo fix: poitive => positive

    https://github.com/ruby/prism/commit/d13a05252d

commit 6b3935250ef08e4983a63b0a8f88b411ba1ccdd8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-28 22:38:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-29 00:10:59 +0900

    [rubygems/rubygems] Bump COCs to latest Contributor Covenant version

    https://github.com/rubygems/rubygems/commit/73794a95b9

commit 7d144781a93df66379922717da711a09d1cf78ff
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-28 16:59:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-28 16:59:51 +0900

    [Bug #20512] Set coderange in `Range#each` of strings

commit 0a92c9f2b011c4cfcd1b894dccfd4e8c36cadd57
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-28 16:24:21 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-28 16:24:21 +0900

    Set empty strings to ASCII-only

commit 43798e0f6d72a8f1c624eba74c4a068ff9b21c84
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-28 16:23:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-28 16:23:18 +0900

    lldb: Show coderange

commit ceeb9957c3ec932cdb911a5d1ff75e2c2bf16f17
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-28 14:54:37 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-05-28 15:43:43 +0900

    Make value_type.h compatible with -Wconversion

    [Feature #20507]

    This was missed from the initial commit.

    ```
    ../../.././include/ruby/internal/value_type.h:446:27: error: implicit conversion changes signedness: 'enum ruby_value_type' to 'int' [-Werror,-Wsign-conversion]
        rb_unexpected_type(v, t);
        ~~~~~~~~~~~~~~~~~~    ^
    ```

commit ca2d229e6b31fc007204eed806b2b4af405c02fd
  Author:     Mike Dalessio <mike.dalessio@gmail.com>
  AuthorDate: 2024-05-28 02:39:01 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-05-28 14:33:07 +0900

    Test for compiling without warnings against public headers

    Under compilers with WERRORFLAG, MakeMakefile.try_compile treats
    warnings as errors, so we can use append_cflags to test whether the
    public header files emit warnings with certain flags turned on.

    [Regression test for feature #20507]

commit 1b8ba1551b26fac906998e34fd2af3f82b433469
  Author:     Mike Dalessio <mike.dalessio@gmail.com>
  AuthorDate: 2024-05-25 02:10:10 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-05-28 14:33:07 +0900

    Allow compilation of C extensions with `-Wconversion`

    C extension maintainers can now compile with this warning option and
    the Ruby header files will generate no warnings.

    [Feature #20507]

commit 9e9f1d9301b05604d475573ddd18d6bf5185466c
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-08 19:04:01 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-05-28 14:32:41 +0900

    Precompute embedded string literals hash code

    With embedded strings we often have some space left in the slot, which
    we can use to store the string Hash code.

    It's probably only worth it for string literals, as they are the ones
    likely to be used as hash keys.

    We chose to store the Hash code right after the string terminator as to
    make it easy/fast to compute, and not require one more union in RString.

    ```
    compare-ruby: ruby 3.4.0dev (2024-04-22T06:32:21Z main f77618c1fa) [arm64-darwin23]
    built-ruby: ruby 3.4.0dev (2024-04-22T10:13:03Z interned-string-ha.. 8a1a32331b) [arm64-darwin23]
    last_commit=Precompute embedded string literals hash code

    |            |compare-ruby|built-ruby|
    |:-----------|-----------:|---------:|
    |symbol      |     39.275M|   39.753M|
    |            |           -|     1.01x|
    |dyn_symbol  |     37.348M|   37.704M|
    |            |           -|     1.01x|
    |small_lit   |     29.514M|   33.948M|
    |            |           -|     1.15x|
    |frozen_lit  |     27.180M|   33.056M|
    |            |           -|     1.22x|
    |iseq_lit    |     27.391M|   32.242M|
    |            |           -|     1.18x|
    ```

    Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>

commit 1376881e9afe6ff673f64afa791cf30f57147ee2
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-05-27 18:22:39 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-05-28 14:32:33 +0900

    Stop marking chilled strings as frozen

    They were initially made frozen to avoid false positives for cases such
    as:

        str = str.dup if str.frozen?

    But this may cause bugs and is generally confusing for users.

    [Feature #20205]

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

commit 2114d0af1e5790da365584a38ea7ee58670dc11b
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-28 12:04:34 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-05-28 12:49:46 +0900

    Make test_nested_timeouts less flaky

    This test randomly fails due to the bug reported in [Bug #20314], where
    the two timeouts are too close so that they can expire at the same time.

    As a workaround, this change increases the time difference between
    timeouts. This will reduce the probability of simultaneous expirations
    and lower flakiness.

commit 7c6e4bc7ca8a25de801db49eae9cad0c9edb29c0
  Author:     verdy89 <verdy.ir.89@gmail.com>
  AuthorDate: 2024-05-28 01:38:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-28 01:38:22 +0900

    [ruby/reline] Implement the redo command
    (https://github.com/ruby/reline/pull/707)

    * Implement the redo command

    * Commented out a test that does not pass

    * Changed key assignment for redo from "\C-[" to "\C-g"

    * Changed redo key assignment from `\C-g` to `\M-\C-_`

    * Revert the first implemantation

    * Implemented redo by sharing `@past_lines` between undo and redo

    * Fixed the index of past_lines that is updated when the cursor is moved

    * Fixed deletion of the redo history in regular input

    * Renamed variables: past_lines -> input_lines

    * Rename @position to @input_lines_position

    * Deleted unused variables: `@old_byte_pointer` and `@old_line_index`

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

commit bc47ca5546a1287fbb052329075293c200d830b0
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-27 18:16:28 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-05-27 18:16:28 +0900

    Add a debug print for a random failure

    ```
      1) Error:
    TestRubyLiteral#test_float:
    ArgumentError: SyntaxError#path changed: "(eval at /home/chkbuild/chkbuild/tmp/build/20240527T050036Z/ruby/test/ruby/test_literal.rb:642)"->"(eval at /home/chkbuild/chkbuild/tmp/build/20240527T050036Z/ruby/test/ruby/test_literal.rb:642)"
    ```
    https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20240527T050036Z.fail.html.gz

commit 4fee1019f607cdbfd6c55fc5ca587de04cb3cb65
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-27 12:56:07 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-05-27 13:40:19 +0900

    Try to upload core file on macos GitHub Actions

    A core dump occurred, but failed to capture the core file.
    https://app.launchableinc.com/organizations/ruby/workspaces/ruby/data/test-sessions/2935062?tab=retried-tests

    Looks like a core file was not created. I am not unsure why, so make
    sure that the /cores directory is writable and try `ulimit` command.

commit f4b475993eefa98cd6c8d2b109aea525993b6f0b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-27 12:41:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-27 12:41:38 +0900

    Apply optimizations for `putstring` to `putchilledstring` as well

commit 5853a3804382e2935bb23917080ceea647d19161
  Author:     License Update <license.update@rubygems.org>
  AuthorDate: 2024-05-26 09:25:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-27 10:45:38 +0900

    [rubygems/rubygems] Update SPDX license list as of 2024-05-22

    https://github.com/rubygems/rubygems/commit/f91ac04397

commit 4949f0a928da079b07c73a5eccfdde0cb121ca1e
  Author:     Marcus Stollsteimer <sto.mar@web.de>
  AuthorDate: 2024-05-26 21:36:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-27 06:42:45 +0900

    [rubygems/rubygems] Fix typo in description of build:checksum task

    https://github.com/rubygems/rubygems/commit/351ff2512f

commit 0d44e23831d5bbebb273081b5eef7ed60f55abbc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-26 22:17:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-26 22:17:57 +0900

    Prevent test-bundled-gems outputs from mixing

    Run test-bundled-gems-run and test-bundled-gems-spec sequentially.

commit bc50f2a3f1d166be3899f32b81bb78f666000592
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-26 20:14:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-26 20:14:18 +0900

    Debug unexpectedly changed path

commit 0f9e50b8c5554d5a6a3f19044d0c9e276b7d414b
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-05-02 04:17:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-26 19:11:23 +0900

    Fix macos bug deleting too many files

    Since #10209 we've been noticing that on macos after running `make
    clean` the `coroutine/arm64/Context.S` file is missing, causing
    subsequent make calls to fail because `Context.S` is needed to build
    `Context.o`.

    The reason this is happening is because macos is case-insensitive so the
    `.s` looks for `coroutine/arm64/Context.s` and finds
    `coroutine/arm64/Context.s`. This does not happen on linux because the
    filesystem is case sensitive.

    I attempted to use `find` because it is case sensitive regardless of
    filesystem, but it was a lot slower than `rm` since we can't pass
    multiple file names the same way to `find`.

    Reverting this small part of #10209 fixes the issue for macos and it
    wasn't clear that those changes were strictly necessary for the rest of
    the PR.

    We changed the original code to use `rm` instead of `delete` because it
    is not standarized on POSIX.

commit 508f3310481c34fe146bcd6775041847d40520c9
  Author:     Go <monkeywzr@gmail.com>
  AuthorDate: 2024-05-26 17:28:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-26 17:28:25 +0900

    [ruby/reline] allow space in config value
    (https://github.com/ruby/reline/pull/705)

    * allow space in config value

    fix https://github.com/ruby/reline/pull/657

    * remove inline comments

    * Revert "remove inline comments"

    This reverts commit https://github.com/ruby/reline/commit/2438347c1a10.

    * refactoring

    * remove unnecessary comment handling

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

commit d2c4363e0c41c1512eb100981134db210c092126
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2024-05-25 05:11:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-26 02:47:07 +0900

    [rubygems/rubygems] Add CompactIndexClient::Parser specs

    https://github.com/rubygems/rubygems/commit/4bf455a498

commit 6b0afbb111716e7b1fdc711d8afd26c723a9bb0c
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2024-05-22 13:51:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-26 02:47:07 +0900

    [rubygems/rubygems] Reorganize and refactor CompactIndexClient

    https://github.com/rubygems/rubygems/commit/71bcf354f5

commit 0bae2f00025b6b51a9e0c9e3348d5f5d16c2aae4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-25 19:15:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-25 19:15:25 +0900

    [Bug #20510] Do not count optional hash argument for `IO.new`

    Since `IO.new` accepts one or two positional arguments except for the
    optional hash argument, exclude the optional hash argument from the
    check for delegation to `IO.new`.

commit 4d0c5486a2773f0474a51033d4f685e5c766ec30
  Author:     Jacklyn Ma <29336370+jacklynhma@users.noreply.github.com>
  AuthorDate: 2024-05-09 01:45:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 06:04:21 +0900

    [rubygems/rubygems] update cache checksums to decrease string allocations

    https://github.com/rubygems/rubygems/commit/85371a961a

commit c7281e2d671cd57378630ce0f2a2db97fb12e365
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 04:20:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 04:27:44 +0900

    [ruby/prism] Fix up ruby_parser string concat

    https://github.com/ruby/prism/commit/4b06eae0df

commit 9f71393fe47cfd6e063a63c1d5267400cbe44346
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 02:23:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:37:51 +0900

    [ruby/prism] Fix up self-write order for lex

    https://github.com/ruby/prism/commit/8f6da451b4

commit f8b750370e1fc3b08d152794e39d389d9586fabe
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 01:48:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:19:38 +0900

    [ruby/prism] Remove Debug module

    https://github.com/ruby/prism/commit/4d8929ff6a

commit 745a948b6d773c3146647ba89539ae32634283b0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 01:43:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:19:36 +0900

    [ruby/prism] Remove dynamic Debug module methods

    https://github.com/ruby/prism/commit/b850794db9

commit 79001c8b4a35f12b6115916de2f2671168b97ae1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 01:14:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:19:36 +0900

    [ruby/prism] Remove error formatting, put directly in CRuby

    https://github.com/ruby/prism/commit/53b2866487

commit 653652bcbe0735d44e380da2fef7a553b9cd1ac7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 01:04:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:19:35 +0900

    [ruby/prism] Remove Debug#named_captures

    https://github.com/ruby/prism/commit/5050dfbe70

commit e1041a8eda151d8b77596c1989b12fcc92deff2c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 00:53:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:19:35 +0900

    [ruby/prism] Move profiling to prism module directly

    https://github.com/ruby/prism/commit/75fabf7081

commit b04c959621562de18552aa1a002b52f311a7185e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 00:35:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:19:34 +0900

    [ruby/prism] Remove various unused memsize infra

    https://github.com/ruby/prism/commit/283938ed1f

commit b8681c2e3723939e0a43354671208c70960d3d02
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 00:33:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:19:33 +0900

    [ruby/prism] Remove Debug::integer_parse

    https://github.com/ruby/prism/commit/14e397598b

commit 870350253e1df70f56d33107b9ed3b9ebaaccdec
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 00:22:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:19:33 +0900

    [ruby/prism] Remove Debug::static_inspect

    https://github.com/ruby/prism/commit/486c71c426

commit 47b723f8906ba24af13292c43e389b716e24cf17
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 02:05:35 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-25 02:05:35 +0900

    [PRISM] Use only bundled error formatting

commit ba336027beea3b76798a053cb3e7fd06ae1e4741
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 01:12:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-25 01:58:44 +0900

    [PRISM] Move error formatting into Ruby

commit 47f0965269dae95c678b4276861cc389d277ce33
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 04:17:18 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-25 01:36:54 +0900

    Update duplicated when clause warning message

commit 7021e15652194316df25830c5370611a16b8829b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 04:07:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-25 01:36:54 +0900

    [ruby/prism] Update duplicated when error message

    https://github.com/ruby/prism/commit/54316fd8a0

commit 180ae00989d726df5be9d6203f886e6ff5f9ec8d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-23 22:38:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 01:25:40 +0900

    [rubygems/rubygems] Rework `bundle gem` specs so that they work on Windows

    Most of the commands run by these specs actually prompt for user input
    but for some reason `Open3` outside of Windows ignores that and goes on
    with no user input. Windows does not like this.

    This commit refactors these specs so that:

    * They don't prompt for user input when not necessary.
    * They pass proper user input when necessary.

    As long as no user input is needed, most specs pass, so it allows to
    remove the `:readline` tag from most of them.

    https://github.com/rubygems/rubygems/commit/3dfabcdae4

commit 6a7e4c40e13b020bb210f5b5c5c7f34dce18775d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-23 02:21:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 00:02:31 +0900

    [rubygems/rubygems] Neither `--force` flag or inline mode should mandate a remote resolution

    https://github.com/rubygems/rubygems/commit/50dd93e217

commit eef125fd09f71185407ba7596aeb3811437a9b54
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-22 19:58:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 00:02:30 +0900

    [rubygems/rubygems] Fix error messages to not mention cached gems when they were not used

    https://github.com/rubygems/rubygems/commit/5ce9a7ff17

commit 744dd5a362eca2000eadb1873e7c0118aef97fe4
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-23 04:08:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 00:02:30 +0900

    [rubygems/rubygems] Fix performance regression on applications with a local cache

    Even if all gems are properly installed and no resolve is needed, we
    recently started always reading all packages in `vendor/cache` and
    extracting specifications from them.

    This commit fixes the problem by longer making considering cached specs
    the default and only enable them when a resolve is actually needed.

    https://github.com/rubygems/rubygems/commit/edeb2c42bf

commit c23798c2c47d531d6ed9a8557899b6f582ea6e1b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-23 03:51:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 00:02:30 +0900

    [rubygems/rubygems] Remove `@remote` instance variable from Definition

    It's a sources specific concern, so keep it there. It allows to simplify
    the code quite a lot.

    https://github.com/rubygems/rubygems/commit/639f0b72f4

commit ea7e3e7b789885fe01779b21749526e20d184e82
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-23 02:47:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 00:02:29 +0900

    [rubygems/rubygems] Give better message when resolving because there's no lockfile

    https://github.com/rubygems/rubygems/commit/4e048bc255

commit 0f9781b5c1a17e7b57d3e23700896dce3bcf2404
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-23 02:31:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 00:02:29 +0900

    [rubygems/rubygems] Use `Definition#no_resolve_needed?`

    https://github.com/rubygems/rubygems/commit/5074c58ffb

commit 3832a1bda831da2074a3a5f8aa89c10244ae9316
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-22 22:57:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 00:02:28 +0900

    [rubygems/rubygems] Make code more symmetric

    https://github.com/rubygems/rubygems/commit/dc7c9f029a

commit acdd19facc0cfe18875d1f053689cbfc317f37c1
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2024-05-24 08:36:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-24 10:53:35 +0900

    [rubygems/rubygems] Fiks speeling cott bye codespell

    https://github.com/rubygems/rubygems/commit/508ed917a5

commit 2d4d99f78aa846b21f05508ab73172b24bd08954
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-24 04:31:18 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-24 10:27:36 +0900

    [PRISM] Update remaining test excludes

commit 76e31d9aa93ce624a8f74db57af488c74017b7f3
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2024-05-22 08:19:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-24 07:57:26 +0900

    [rubygems/rubygems] Remove MD5 ETag generation from compact index

    This was an offramp for generated etags to allow existing caches
    to be served until people could upgrade. It has been about 6 months
    since the transitional version was released, so we can remove this
    transitional code now.

    https://github.com/rubygems/rubygems/commit/4ec8cfe611

commit c96b5791efd7d14c7387adea9c6c252d7ecbb231
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-05-14 06:10:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-24 04:30:03 +0900

    [ruby/prism] Raise `void value expression` in begin clauses

    In some cases Prism was either not raising an appropriate `void value
    expression` error, or raising that error when the syntax is considered
    valid.

    To fix this Prism needs to check whether we have other clauses on the
    `begin` rather than just returning `cast->statements`.

    * If the `cast->statements` are null and the `cast->ensure_clause` is
    not null, set the code to `cast->ensure_clause`
    * else
      * If there is a `cast->rescue_clause`
        * Check if `cast->statements` are null and `cast->rescue_clause->statements`
        are null, and return `NULL`
        * Check if there is an `else_clause`, and set the node to
          `cast->else_clause`.
        * Otherwise return `cast->statements` as the node
      * return `cast->statements` as the node

    See tests for test cases. Note I took these directly from CRuby so if
    desired I can delete them since the test will now pass. This only fixes
    one test in the `test_parse` file, taking failures from 14 to 13.

    This fixes `TestParse#test_void_value_in_rhs` and is related to
    issue #2791.

    https://github.com/ruby/prism/commit/398152b412

commit 49fcd33e136ee2fe8720183b63a41bb6ef8d615c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-24 03:23:26 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-05-24 04:11:50 +0900

    Introduce a specialize instruction for Array#pack

    Instructions for this code:

    ```ruby
      # frozen_string_literal: true

    [a].pack("C")
    ```

    Before this commit:

    ```
    == disasm: #<ISeq:<main>@test.rb:1 (1,0)-(3,13)>
    0000 putself                                                          (   3)[Li]
    0001 opt_send_without_block                 <calldata!mid:a, argc:0, FCALL|VCALL|ARGS_SIMPLE>
    0003 newarray                               1
    0005 putobject                              "C"
    0007 opt_send_without_block                 <calldata!mid:pack, argc:1, ARGS_SIMPLE>
    0009 leave
    ```

    After this commit:

    ```
    == disasm: #<ISeq:<main>@test.rb:1 (1,0)-(3,13)>
    0000 putself                                                          (   3)[Li]
    0001 opt_send_without_block                 <calldata!mid:a, argc:0, FCALL|VCALL|ARGS_SIMPLE>
    0003 putobject                              "C"
    0005 opt_newarray_send                      2, :pack
    0008 leave
    ```

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>

commit e5e079e70f8b07697f7cc3f64736f993755500cb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-24 03:37:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-24 03:45:04 +0900

    [ruby/prism] Only accept command call when specified for constant path

    https://github.com/ruby/prism/commit/0ae908b6ee

commit 56a51fcd33f6f3372ab889e7ddc2f20b89db81e2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-24 01:30:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-24 02:22:22 +0900

    [PRISM] Fix up some masgn topn calculations

commit 0ebd37234eacd0ab01535aed81a94e83339552a3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-24 00:53:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-24 01:41:22 +0900

    [PRISM] Enable TestSyntax#test_unterminated_heredoc_cr

commit 7d89d52714bdde9ae369ff04020a96433bfd4d94
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-24 00:28:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-24 00:51:27 +0900

    [ruby/prism] Disallow newlines in heredoc identifiers

    https://github.com/ruby/prism/commit/737f2c2117

commit a99d79dd318d525ecf2335c7c7d652eed860e1f5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-23 18:19:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-23 19:28:02 +0900

    Remove dead code

    Since 140512d2225e6fd046ba1bdbcd1a27450f55c233, `else` without
    `rescue` has been a syntax error.

commit 1471a160ba1bbdca9d6c4b21260793c1414253f3
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-23 18:24:48 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-05-23 19:26:45 +0900

    Add RB_GC_GUARD for rb_str_to_parser_string

    I think this fixes the following random test failure that could not be
    fixed for a long time:

    ```
      1) Failure:
    TestSymbol#test_inspect_under_gc_compact_stress [/home/chkbuild/chkbuild/tmp/build/20240522T003003Z/ruby/test/ruby/test_symbol.rb:126]:
    <":testing"> expected but was
    <":\"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\"">.
    ```

    The value passed to this function is the return value of `rb_id2str`, so
    it is never collected.  However, if auto_compact is enabled, the string
    may move and `RSTRING_PTR(str)` became invalid.

    This change prevents the string from being moved by RB_GC_GUARD.

commit ce20367a0e2f1fcfabebf3b6bea732fc71fa79f7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-23 12:35:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-23 13:16:48 +0900

    Define `incflags` also on mswin

commit 5fa6ba9568e87e43e08a4daeba1572254c589fb1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-23 11:40:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-23 13:16:48 +0900

    [Bug #20500] Search non-default directories for jemalloc

    Co-Authored-by: lish82 (Hiroki Katagiri)

commit 2cc047df9a92e0c6b9d0fb57f305f49c4b5ed4cf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-23 10:15:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-23 10:17:32 +0900

    [ruby/rdoc] Bump up 6.7.0

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

commit 6d81ae3f013c83bf05371c923898ec4f777cfdba
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-23 03:16:36 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-23 05:34:04 +0900

    [PRISM] Properly support 'it'

commit e575954887a8e8ae26a4122c33c66b8cb82dfa36
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-23 03:31:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-23 05:34:04 +0900

    [ruby/prism] Fix support for 'it' implicit local variable

    https://github.com/ruby/prism/commit/53bbcfe513

commit 5613d6e95bc09c2e8d2794590bb18444e0a4051d
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-05-22 15:59:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-22 15:59:19 +0900

    Update bundled gems list as of 2024-05-22

commit 5b9b6b4d2b58dc880ddd0a9d45bddc59aee43deb
  Author:     Ellen Keal <ekeal@mpr.org>
  AuthorDate: 2024-05-14 06:49:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-22 15:01:51 +0900

    [rubygems/rubygems] move git clone depth error handling to else branch

    https://github.com/rubygems/rubygems/commit/022eb473f8

commit ec9de0c4717b2942edba560b510a170f812a2f2c
  Author:     Ellen Keal <ekeal@mpr.org>
  AuthorDate: 2024-05-11 05:26:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-22 15:01:50 +0900

    [rubygems/rubygems] fix for gems not downloading from git via http

    https://github.com/rubygems/rubygems/commit/592a2fcd54

commit 1e08a9f0e9058186db18f29efc6458c00f10a856
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-22 12:29:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-22 13:49:05 +0900

    [Bug #20499] Use Xcode owned tools for Xcode clang

    Xcode has its own version tools that may be incompatible with genuine
    LLVM tools, use the tools in the same directory.

commit 911b7d1dcfdb613ea5f648bd59bc6e29f9d54c49
  Author:     Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
  AuthorDate: 2024-05-22 13:16:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-22 13:16:42 +0900

    [ruby/reline] Catches Errno::ENODEV and Errno::EBADF in
    get_screen_size. Closes https://github.com/ruby/reline/pull/690
    (https://github.com/ruby/reline/pull/702)

    * Catches exceptions Errno::ENODEV and Errno::EBADF in get_screen_size. Closes https://github.com/ruby/reline/pull/690

    * Just catching Errno::ENOTTY and Errno::ENODEV

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

commit f8e675221917601e22c4465ec37b7f2352e6dce8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-22 10:45:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-22 10:45:02 +0900

    Revert "[Bug #20499] Use consistent version tools with CC"

    This reverts commit 8277cf0799145bed0c813bfcc187739f77b3102d.

    This change break to build with `rbenv install ruby-dev` with the following error.

    ```
    touch yjit/target/release/libyjit.a
    transdb.h updated
    ./tool/darwin-ar: line 6: /nm: No such file or directory
    ./tool/darwin-ar: line 6: exec: /nm: cannot execute: No such file or directory
    partial linking yjit/target/release/libyjit.a into yjit/target/release/libyjit.o
    ```

commit b20adf90e3c195098b8a6c36cd4a048592f56366
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-22 00:02:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-22 03:45:16 +0900

    [ruby/prism] Fix up ruby_parser interpolation concatenation

    https://github.com/ruby/prism/commit/79cec4be22

commit 12386d36f072527cbd623aabd4df9948cf46c616
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-22 03:33:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-22 03:43:56 +0900

    [ruby/prism] Provide deprecated numeric method

    https://github.com/ruby/prism/commit/77bf9038a2

commit 7a8f797cd4bf7bec1c6d9cba48971b63b1cb839c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-22 00:53:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-22 03:27:46 +0900

    [PRISM] Use new rational layout

commit 89efb94fec9c78caab7ec4079bfe9e3f4e56a9a4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-09 04:32:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-22 03:27:46 +0900

    [ruby/prism] Reconfigure rationals

    This eliminates the subnode on RationalNode and replaces it with two
    integer fields, which represent the ratio for the rational. It also
    reduces those two integers if they both fit into 32 bits.

    Importantly, this PR does not implement bignum reduction. That's something
    I'd like to consider for the future, but it's simple enough for now to
    leave them unreduced, which makes it more useful than it used to be.

    https://github.com/ruby/prism/commit/86e06c7068

commit 42930d28a48bf7495180e81fd6e5cf742f3f47c7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-22 02:08:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-22 03:27:37 +0900

    [PRISM] Handle safe navigation in call target nodes

commit 16b0bb3d5370c48194e220bf4083887a316f4575
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-22 02:11:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-22 03:27:28 +0900

    [PRISM] Enable TestSyntax#test_warn_balanced

commit bcbfc675a41579e72eb56e4fc50ddf203592868a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-22 00:47:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-22 01:56:20 +0900

    [PRISM] Enable TestSyntax#test_numbered_parameter

commit ff43b4a28b137af6435603eccb57d6cae85d210b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 22:55:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-22 00:46:45 +0900

    [ruby/prism] Add error for numbered parameter used in inner block

    https://github.com/ruby/prism/commit/c386ba6d48

commit 8277cf0799145bed0c813bfcc187739f77b3102d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-21 17:03:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 17:03:34 +0900

    [Bug #20499] Use consistent version tools with CC

    As Apple Xcode is relocatable and selectable with `xcode-select`, use
    consistent versions of commands in the same location.

commit c773453c77c44f79d49d0ba48557a26950b3a4b9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 20:23:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:30 +0900

    ripper: Splat find patterns

commit 501dbf2bcaab5003663b6eabb2d7660209bc786e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 20:20:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:30 +0900

    ripper: Splat hash patterns

commit 978c31f04a74a83f1c0d4c3faab5795aa999bb7e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 20:14:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:30 +0900

    ripper: Splat array patterns with `pre_arg`

commit 3e81bc3d5306dc4bbe107367dba665d48bcc988d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 20:05:17 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:30 +0900

    ripper: Splat `$:opt_args_tail` for `params!`

commit be0f2ab32dd0c5f7960ff0b6941a6d1cc66037e2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 20:01:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:30 +0900

    ripper: Splat `$:head` for `defs!`

commit 4c7ec5e0148bda451631d738af95d528a507557f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 19:55:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:30 +0900

    ripper: Extend to represent array access and splat

commit 5bba5fb739364180da7f2208e9c0cfd0ac7b26f8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 19:52:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:30 +0900

    ripper: Describe `var_ref` for `user_variable` in ripper DSL

commit 56d2c26c85a527d6cdf95a78ad7f442ea9cb0e7b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 19:17:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:30 +0900

    ripper: Move `assign_error` call to `assignable`

    Prepare `lhs` as `$:$` before `assignable` and update it there.
    Remove `ripper_assignable` which is no longer used.

commit e61e5c3b84221880e71f85bfeeedcbed9bf907b5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 19:04:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:29 +0900

    ripper: Move `assign_error` call to `const_decl`

    Prepare `path` as `$:$` before `const_decl` and update it there.
    Remove `ripper_const_decl` which is no longer used.

commit 66446b94358a78ddd168e5ce0b5ac475bb34ec50
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 18:52:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:29 +0900

    ripper: Allow parenthesized comma in options

commit 47efdae6028e39bbe8f35d325e26e6bc206251ef
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 11:59:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:29 +0900

    ripper: Preserve indentation

commit 147134b474fc74b68537750a2f63c81a87bd0e86
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 11:44:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:29 +0900

    ripper: Remove rb_ripper_none

    Now it is used only for wheter `opt_paren_args` is `none`.  Introduce
    a new special node to distinguish an empty parentheses from it .

commit ee8bbbabe549d1ff8a37509e3a5dc9e648aced3a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 11:34:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:29 +0900

    ripper: Show popped TOS in debug mode

commit 2e765c20dbd542d43155749910421b0f7963524f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-10 23:08:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:29 +0900

    ripper: Short hand for `rb_ary_new_from_args`

commit 2d92a4afba36034f3d92ab75dfae4dbf5a445c7e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-10 20:02:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:29 +0900

    ripper: Make `$:n` to refer each grammar values

    Ripper DSL uses these values for callbacks, but does not need indexes.

commit 5fed63f7b09d7697a34fcc38efc2985d6e805c40
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-09 12:00:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:29 +0900

    ripper: Use ripper DSL in simple dispatch chain cases

commit 6ddc0a8044929751146c667be4d777c02ed52667
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 04:40:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-21 10:25:51 +0900

    [PRISM] Enable TestRegexp#test_unescape

commit e82c7a0577cb9574fbe748a381c9d6fa75e9211d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 04:22:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-21 10:25:51 +0900

    [PRISM] Enable TestRegexp#test_match_control_meta_escape

commit 86cf074fa1dcf73846e094775414d661e47dfc76
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-05-15 09:03:46 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-05-21 05:33:57 +0900

    Avoid array allocation for empty ruby2_keywords flagged keyword hash

    If the method being called does not have a positional splat
    parameter, there is no point in allocating the array, as
    decrementing given_argc is sufficient to ensure the empty keyword
    hash is not considered an argument, assuming that we are calling
    a method/lambda and not a regular proc.

commit 2433b57b6a3a6f8e65f61c27d707e1c7f5407986
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-05-12 04:12:52 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-05-21 05:33:57 +0900

    Avoid hash allocation for empty ruby2_keywords flagged keyword hash

    If the method being called does not have a keyword splat parameter,
    there is no point in allocating the hash, because the hash will
    be unused (as empty keyword hashes are ignored).

commit f021bcdbbe69d324b36c03dab4d2347608658b86
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-05-11 04:51:30 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-05-21 05:33:57 +0900

    Add allocation tests for ruby2_keywords

    This tests ruby2_keywords flagged methods, as well as passing
    ruby2_keywords flagged hashes to other methods.

    Some of the behavior here is questionable, such as allocating
    different numbers of objects depending on whether a block is
    passed or whether YJIT is enabled. I think there are likely ways
    to eliminate allocations in certain cases.  However, this gives
    us a baseline and shows us where it is possible to make
    improvements.

commit 7c2c528d350cb5497a2358bdb5684c4822b0f239
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 04:29:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-21 04:39:21 +0900

    [ruby/prism] Fix up regexp escapes with control/meta

    https://github.com/ruby/prism/commit/8a7afa6988

commit 012b764f7c13d786b7a9340f93a2aaf24c87dc95
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 04:20:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-21 04:39:21 +0900

    [ruby/prism] Fix up regexp escapes with control/meta and x

    https://github.com/ruby/prism/commit/1dbbbedf55

commit 6c07aa364d26c686418843de75234e00a4b9b41d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 00:33:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-21 01:28:47 +0900

    [PRISM] Remove old prism spec workflow, just use default.mspec now

commit a708b6aa6589b06ed059ad40e7d4e71ebe0e16e3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 00:29:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-21 01:28:47 +0900

    [PRISM] Respect eval coverage setting

commit 78e504f21d3148b7b6fa78ea70d10426170f4112
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 00:36:15 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-21 01:28:37 +0900

    [PRISM] Enable TestPrism#test_truncated_source_line

commit ca5b4580442eac3ee8ad3f98b692d204d7b92f03
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-20 23:44:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-21 00:28:53 +0900

    [PRISM] Match CRuby line semantics for evstr

commit 1ba93c2c4d4fa89f5fda490b6e82caafb0d5abc6
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-20 14:53:36 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-05-21 00:04:41 +0900

    Upload cores to AWS S3 (if any)

commit f1bbcc81261aeeb304d0d0b52d7c2310c01089a8
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-20 15:25:22 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-05-21 00:04:41 +0900

    Make sure that kern.coredump=1

commit 785fba3b161bc0a54e2fc9c5447526499ef93a74
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-20 23:00:53 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-20 23:49:41 +0900

    [PRISM] Enable TestSyntax#test_warn_balanced

commit 2e8ae139748f137a1585b5f464e505ac479a1332
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-20 23:42:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-20 23:42:58 +0900

    [ruby/prism] Fix invalid read at EOF

    https://github.com/ruby/prism/commit/dddaf67c34

commit e90e8f8bd35391233f43d196d23b46ba8c20d56e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-20 22:54:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-20 23:01:05 +0900

    [ruby/prism] Implement ambiguous binary operator warning

    https://github.com/ruby/prism/commit/6258c3695f

commit 7f0e26b7f99bf76408569892ce20318501f74729
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-20 17:10:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-20 18:10:09 +0900

    Re-use strscan with ruby repo

commit 70ad58cb62b195ba86a5ef07a565b22b02a040ea
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-20 17:09:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-20 18:10:09 +0900

    Update bundled_gems

commit 0b38403328f02f2b103e15103b2ace69d123c9f3
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-20 11:42:34 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-05-20 14:59:59 +0900

    Fix incorrect assertion in TestThreadInstrumentation

    The test meant to assert the thread is suspended at least once,
    but was actually asserting to it to be suspected at least twice.

commit fa26ef5bf715c7eb0bd80dd587a3f86f808f56af
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-20 12:58:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-20 13:54:08 +0900

    Fix the end of "compiler section"

commit 14da90f26294b0ccba872b433dbb726544f486f7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-20 12:56:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-20 13:54:08 +0900

    --with-gmp-dir option is for ruby itself, not extensions

commit 18eaf0be905e3e251423b42d6f4e56b7cae1bc3b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-20 11:44:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-20 13:54:08 +0900

    [Bug #20494] Search non-default directories for GMP

    Co-Authored-by: lish82 (Hiroki Katagiri)

commit eb410c9fde271886709873fe0eff3bb2e621eb2b
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-20 12:44:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-20 12:47:22 +0900

    [ruby/error_highlight] Load "did_you_mean" explicitly in test

    I'm not sure how it works, but I seem to get an error
    `undefined method 'formatter' for module DidYouMean` in parallel mode of
    `make test-all`.

    https://app.launchableinc.com/organizations/ruby/workspaces/ruby/data/test-paths/file%3Dtest%2Ferror_highlight%2Ftest_error_highlight.rb%23class%3DErrorHighlightTest%23testcase%3Dtest_explicit_raise_name_error?organizationId=ruby&workspaceId=ruby&testPathId=file%3Dtest%2Ferror_highlight%2Ftest_error_highlight.rb%23class%3DErrorHighlightTest%23testcase%3Dtest_explicit_raise_name_error&testSessionStatus=flake

    https://github.com/ruby/error_highlight/commit/f931b42430

commit a10a483af9786702152670e85b198dfc9156aea5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-18 15:34:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-20 10:35:58 +0900

    [rubygems/rubygems] Should rescue vendored net-http exception

    https://github.com/rubygems/rubygems/commit/7d2c4cf364

commit d037c5196a14c03e72746ccdf0437b5dd4f80a69
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-20 01:30:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-20 01:30:49 +0900

    Suppress -Wclobbered warnings

    At 7afc16aa48beb093b06eb978bc430f90dd771690, now `BLOCKING_REGION`
    contains `setjmp` call in `RB_VM_SAVE_MACHINE_CONTEXT`.  By this
    change, variables in blocks for this macro may be clobbered.

commit 48ebd77e595d569b225151ef281aae537d95d6f5
  Author:     TOMITA Masahiro <tommy@tmtm.org>
  AuthorDate: 2024-05-19 20:21:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-19 23:24:50 +0900

    Fix comment: Buffer.for(string) without block returns readonly buffer

commit cb43540d536e378bcac388c730dfdebb404989e7
  Author:     TOMITA Masahiro <tommy@tmtm.org>
  AuthorDate: 2024-05-19 18:21:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-19 23:24:50 +0900

    Fix IO::Buffer comment

commit 8c0b57d3ee68caea093cb73b5f014a303f37bbb4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-19 20:22:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-19 22:15:59 +0900

    `rb_enc_compile_warn` and `rb_enc_compile_warning` are printf format

commit b47533f67b5c4c758b05cdce0fcd0f978fbfe8b9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-19 20:44:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-19 20:45:47 +0900

    Remove `rb_bug` after COMPILE_ERROR

    Fix test failures since ad636033e2fdafb417873a3cb8667351033307b1.
    Why crash after reported compile error properly.

commit 7afc16aa48beb093b06eb978bc430f90dd771690
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-05-18 18:37:49 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-05-19 12:08:35 +0900

    Inline RB_VM_SAVE_MACHINE_CONTEXT into BLOCKING_REGION

    There's an exhaustive explanation of this in the linked redmine bug, but
    the short version is as follows:

    blocking_region_begin can spill callee-saved registers to the stack for
    its own use. That means they're not saved to ec->machine by the call to
    setjmp, since by that point they're already on the stack and new,
    different values are in the real registers. ec->machine's end-of-stack
    pointer is also bumped to accomodate this, BUT, after
    blocking_region_begin returns, that points past the end of the stack!

    As far as C is concerned, that's fine; the callee-saved registers are
    restored when blocking_region_begin returns. But, if another thread
    triggers GC, it is relying on finding references to Ruby objects by
    walking the stack region pointed to by ec->machine.

    If the C code in exec; subsequently does things that use that stack
    memory, then the value will be overwritten and the GC might prematurely
    collect something it shouldn't.

    [Bug #20493]

commit ad636033e2fdafb417873a3cb8667351033307b1
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-05-10 02:35:01 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-05-19 12:08:05 +0900

    Update to ruby/spec@6b04c1d

commit dbbaf871de70243b78e0d2f3d3575351317b5c5c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-19 00:29:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-19 00:29:00 +0900

    [DOC] Fix `$<` comment

commit fd8e6e8c54708c2cfde689afe5762b4e206ffe31
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-19 00:27:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-19 00:27:34 +0900

    Replace cast tags for `tSTRING_DVAR` with typed midrule actions

commit 232f7b37cf1e13d0fff6c8ffc8a342f1c126cd98
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-18 19:46:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-18 19:46:05 +0900

    Replace cast tags with typed midrule actions

    * Add types to `tLAMBDA` and `tSTRING_DBEG` to store corresponding
      information when returning these tokens.
    * Add `enum lex_state_e state` to `%union` for `tSTRING_DBEG`.

commit ac85eef18ba0f5afa088c6a463f2ed8163692766
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-05-18 07:15:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-18 15:44:24 +0900

    Fix links

commit 55c62e676f3b30b47978684ab871e9d6e906fc27
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-05-15 09:32:36 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-18 11:26:17 +0900

    No need to specify tags anymore

    In the past, these codes were used by both parser and ripper.
    On ripper, the type of LHS is `<val>` then type cast was needed.
    However currently these are only used by parser then no need to
    cast.

commit cce7c25a42cbe46b9daea7c1e0accda00fe91c43
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-18 00:33:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-18 05:42:14 +0900

    [PRISM] Enable TestRequire

commit e61d24d77e53a4114da64948c072380c7270d309
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 23:43:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-18 00:29:00 +0900

    [PRISM] Enable passing IRB test

commit c60cdbdc9818a8aee091dc4c07aeb78096828ffc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 23:35:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-18 00:23:23 +0900

    [PRISM] Emit END event for modules

commit 0649c1e3bc6d20034aac352046953a3a275d3745
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 23:47:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 23:47:18 +0900

    [ruby/prism] Revert incorrect synthesized true node change

    https://github.com/ruby/prism/commit/31ef81fd06

commit aed93ba19ead1186974e1d88ca20a73c5b8b95e7
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-05-17 11:59:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 23:45:42 +0900

    [ruby/prism] Replace and Use PM_LOCATION_NULL_VALUE macro

    https://github.com/ruby/prism/commit/50e188b168

commit 4ba0579da651ef3373fce59034f0fcb8b0ad9e5f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 22:45:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 23:33:42 +0900

    [PRISM] Enable TestSyntax#test_error_message_encoding

commit 2d825ca7d0d8d57b49327c3760ec650776ebe60e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-17 22:02:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-17 22:04:11 +0900

    REXML 3.2.8 is not working with rss and test-bundled-gems yet.

    https://github.com/ruby/ruby/actions/runs/9125437794/job/25091614796#step:11:272

commit 10d02e71d1f57b68f530c0e669e4441fbcdc48ba
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-17 17:17:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-17 17:17:13 +0900

    Update bundled_gems

commit 84d2bacb424094f1b57cff0f2dd4381e9f8bd9ed
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 11:44:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 11:44:57 +0900

    [ruby/irb] Reorder ruby lex clauses for unrecoverable first
    (https://github.com/ruby/irb/pull/956)

    When a syntax error includes multiple error messages, we want to
    check for unrecoverable messages first so that we do not
    accidentally match a recoverable error later in the message.

    https://github.com/ruby/irb/commit/2f42b2360d

commit 761b90702492cd18f6746b59e77826e0302ca547
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 04:36:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 11:13:10 +0900

    [PRISM] Enable TestParse#test_truncated_source_line

commit b90ea8ae52d0213900cd5b8b2a47ff6a2a9442df
  Author:     Olle Jonsson <olle.jonsson@gmail.com>
  AuthorDate: 2024-05-16 14:56:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 11:05:31 +0900

    [ruby/find] find.gemspec: Drop executables dir config

    This gem contains no executables.

    https://github.com/ruby/find/commit/7bd452155e

commit 854cbbd5a9f031c74f9185c2cd8f3dd72784e2d1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 03:41:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 04:35:22 +0900

    [PRISM] Enable TestParse#test_string

commit 92af7054989e6bb605482178f97cee5e59ec9326
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 04:07:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 04:35:10 +0900

    [ruby/prism] Truncate source lines in errors messages when too long

    https://github.com/ruby/prism/commit/72518f5716

commit 98e1e610f6df95aa89481fd92a31a75a808ce2d1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 03:28:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 03:40:20 +0900

    [ruby/prism] Update more escape error messages to match CRuby

    https://github.com/ruby/prism/commit/ab43b3ab66

commit 012a80d768affcfb4e747a358f4941647381776b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 02:28:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 03:21:47 +0900

    [PRISM] Enable TestISeq#test_syntax_error_message

commit 0b4cf461e02b84c5ede91ff46b88d844353e1c3d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 02:17:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 03:12:09 +0900

    [PRISM] Enable TestM17N#test_string_mixed_unicode

commit 286d3032a794500a81bcac9f10363f953d368ef6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 01:29:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 02:22:14 +0900

    [ruby/prism] More mixed encoding errors

    https://github.com/ruby/prism/commit/2a43b4f55c

commit 07241dfac8b64c16c0fc35da55fdb7da8a10dfe4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 00:11:42 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 01:28:51 +0900

    [PRISM] Enable TestParse#test_question

commit 7eb45a40fdc8d3e077089b13cef90f2d350509e1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 00:05:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 01:28:51 +0900

    [PRISM] Enable TestParse#test_invalid_char

commit 58f993c500ae3f1051fbaa76d21e85bec93fa1f7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 23:51:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 01:28:51 +0900

    [PRISM] Enable TestParse#test_percent

commit 52401a32e5699870d2eef9a492532a0729be204a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 22:43:09 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 01:28:51 +0900

    [PRISM] Enable TestSyntax#test_syntax_error_at_newline

commit 14debd13210a9a187241a24360bad640e5cd2aa4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 22:24:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 01:28:51 +0900

    [PRISM] Enable TestSyntax#test__END___cr

commit d314d976d4542f4facbacb8f644014fcbdbcc34d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 00:10:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 00:10:49 +0900

    [ruby/prism] Match CRuby invalid escape character syntax error message

    https://github.com/ruby/prism/commit/0ef5658dcc

commit 0e11781f216c0dbf5f5f3dfbfbb43e14bdfd82ab
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 00:04:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 00:10:03 +0900

    [ruby/prism] Match CRuby invalid character error message

    https://github.com/ruby/prism/commit/8d4c5c2bca

commit 910bb4923066b29b42692a82c7310a7fbc36ebb9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 23:38:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 23:52:34 +0900

    [ruby/prism] Update error message for invalid % at EOF

    https://github.com/ruby/prism/commit/178d4f66fd

commit 7a4b9d1614bfea5277deaab842c30e19a842a827
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 23:23:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 23:23:36 +0900

    [ruby/prism] Match CRuby error message for unknown % string

    https://github.com/ruby/prism/commit/863197629c

commit 011668883ca62bc727f372fa8abb6a64e3a33aae
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 23:01:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 23:16:32 +0900

    [ruby/prism] Always go to string lex mode even if EOF

    https://github.com/ruby/prism/commit/57d5c9be2c

commit 477b13ba17d595cda5c8d38da145ef2600702af5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 22:41:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 23:00:18 +0900

    [ruby/prism] Update unterminated string error location

    https://github.com/ruby/prism/commit/33d12afa60

commit c55c11d7d5813683dde3eb7791bc2a9d5d39556d
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-10 00:51:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 22:34:33 +0900

    [rubygems/rubygems] Fix binstubs sometimes not getting regenerated when `--destdir` is given

    This was only working for gems also installed in the default gem home.

    https://github.com/rubygems/rubygems/commit/47df02dbd9

commit 35c5c7edb9c77398de65cef0636a3cdd2e539bb5
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-09 23:00:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 22:34:33 +0900

    [rubygems/rubygems] Refactor `Gem::Specification#find_all_by_name`

    So that it can also be delegated to `Gem::SpecificationRecord`.

    https://github.com/rubygems/rubygems/commit/1407807a99

commit 5111b3d479c413c3c14df1c4b4dc5d22c9270edb
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-10 03:51:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 20:55:53 +0900

    [rubygems/rubygems] Fix `gem uninstall --user-install` for symlinked HOME's

    https://github.com/rubygems/rubygems/commit/7f0706a897

commit b19693f0ae5077c074ab5a1799cae91e1ef5d7e6
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-10 03:17:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 20:55:53 +0900

    [rubygems/rubygems] Improve uninstaller tests

    Tests have two copies of b-2 installed, one in default home and another
    in user home. But only the one in default home was visible because of
    not reloading paths. The user install test was working by chance.

    https://github.com/rubygems/rubygems/commit/667537a08f

commit 847fc9af1805d8d2277827eb19c0cb4df8509973
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-10 03:16:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 20:55:52 +0900

    [rubygems/rubygems] Fix error message calling method removed a long time ago

    https://github.com/rubygems/rubygems/commit/5fbe5e43d6

commit 7857061ecd740ef88d8451c5119827e91d57a4fd
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-15 03:07:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 18:21:32 +0900

    [rubygems/rubygems] Fix regression when caching gems from secondary sources

    If `cache_all_platforms` setting is enabled, the secondary source was
    no longer considering cached gems.

    That means that if the remote secondary source has removed its gems,
    then this was now resulting in an error while before the previously
    cached gem from the source would still be used.

    This commit restores previous behavior.

    https://github.com/rubygems/rubygems/commit/2d2cd00255

commit 29a9ab0ba674f3739e453b2c7a68c138c8802b99
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-13 19:05:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 18:20:17 +0900

    [rubygems/rubygems] Deprecate Bundler constants

    https://github.com/rubygems/rubygems/commit/6166e4bce1

commit 9fd41480fbdf7c137b2417851b517aeda33393a0
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-13 19:04:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 18:20:17 +0900

    [rubygems/rubygems] Use RubyGems freebsd helper

    https://github.com/rubygems/rubygems/commit/5d03a346ab

commit 4db76d198b4a152c416d657e97959ade3e50a185
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-13 18:59:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 18:20:16 +0900

    [rubygems/rubygems] Add a FreeBSD platform helper

    https://github.com/rubygems/rubygems/commit/535c83d5be

commit 2dd46bb82ffc4dff01d7ea70922f0e407acafb4e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-16 16:22:17 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-16 16:22:17 +0900

    [Bug #20468] Fix safe navigation in `for` variable

commit 9d69619623ec6b86c464b7cac911b7201f74dab7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-20 19:56:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 13:54:44 +0900

    [rubygems/rubygems] Clean up generated and copied files

    > leaving the files after gem rebuild was intentional, for local
    > inspection, but the test suite should be made to clean up after
    > itself independently of that.
    https://github.com/rubygems/rubygems/pull/4913#issuecomment-2081710691

    https://github.com/rubygems/rubygems/commit/185a2091fb

commit 2aed14d65b6240d03fd9084792855e868e793b2d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 00:48:20 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-16 01:49:45 +0900

    [PRISM] Enable TestParse#test_global_variable

commit cd8b28f0e7661498bbae259982809fc7f50e0581
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 00:40:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-16 01:49:45 +0900

    [PRISM] Enable test_location_of_invalid_token

commit be239cc7bc50d3882bc3dec2bbe1f4f0c1e797fa
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 00:27:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-16 01:49:45 +0900

    [PRISM] Enable TestParse#test_unexpected_eof

commit cabc0e093cca984cd6edda0d070b70dc1c125363
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 00:25:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-16 01:49:45 +0900

    [PRISM] Enable TestParse#test_unexpected_token_after_numeric

commit 901f4c3fb77968cd9cb2f1dc2d860cf936a2457d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 01:49:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-16 01:49:03 +0900

    [PRISM] Temporarily exclude IRB test

commit cbd1553800c173113f5ea8f1c5d52b00b283d677
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 00:47:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 00:53:24 +0900

    [ruby/prism] Extend the bounds of the invalid global variable name error

    https://github.com/ruby/prism/commit/89d0d9851a

commit c4a5866798589fb78393b694fcd3359f0ec52b16
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 00:14:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 00:44:16 +0900

    [ruby/prism] Replace end of file with end-of-input

    https://github.com/ruby/prism/commit/dd532ded95

commit e73f6618d5d7a36e0599df14d2423544007bdf7c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-15 16:53:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 18:11:55 +0900

    [rubygems/rubygems] Do not override `@orig_env`

    It is saved in `setup` and restored in `teardown`.

    https://github.com/rubygems/rubygems/commit/880c5de667

commit e3e1e53098f3214ef12849b3441791465ad7c0a5
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-04-12 04:28:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 06:44:34 +0900

    [ruby/zlib] Avoid double copying into provided outbuf

    https://github.com/ruby/zlib/commit/07f44b7546

commit e33336cb37b47834c0448921c6c4942e3fa63996
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2023-12-21 11:30:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 06:44:34 +0900

    [ruby/zlib] Avoid allocating intermediary strings when read/readpartial are passed an outbuf

    This accounts for a significant number of string allocations when reading rubygems, but we can avoid that in many places by only copying into the outbuf when present

    https://github.com/ruby/zlib/commit/d25ef406c1

commit 965cb3ab4c659a1be96b6f26df68b75d85585978
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-07 04:00:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 01:08:03 +0900

    [rubygems/rubygems] Fix issue when cleaning up plugin stubs

    When `gem uninstall <gem> --install-dir <dir>` is run, if the version
    removed had a plugin, and that same version happened to also be
    installed globally, then the plugin stub would fail to be removed.

    https://github.com/rubygems/rubygems/commit/4e2fa0be77

commit bd8423616947738d2efb3602791db91587b822bb
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-06 22:41:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 01:08:03 +0900

    [rubygems/rubygems] Extract a `Gem::SpecificationRecord` class

    This class handles all logic to handle the list of specifications, given
    a set of GEM_PATH directories. Makes `Gem::Specification` has less
    responsibilities and will help with fixing some bugs next.

    https://github.com/rubygems/rubygems/commit/df280dbbed

commit c219ee00b446fb22657031aa4a47b9daf72d514c
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-06 22:36:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 01:08:02 +0900

    [rubygems/rubygems] Fix typo in attribute documentation

    https://github.com/rubygems/rubygems/commit/8c9807092c

commit 5628cc1229ea1f53788a263cc0a6ae8df1ad428f
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-06 22:34:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 01:08:02 +0900

    [rubygems/rubygems] Add missing docs

    Other analog methods are documented, so document this one too.

    https://github.com/rubygems/rubygems/commit/76da34d44d

commit 91e387197010586b0fc815f2a83c77832a0f0aa3
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-06 22:33:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 01:08:01 +0900

    [rubygems/rubygems] Simplify documentation

    I don't think this method is any worse than others, let's only document
    what it does.

    https://github.com/rubygems/rubygems/commit/dec722187f

commit 64542380728b2f0cb0a76a09d08735538350cd9f
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-06 19:15:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 01:08:01 +0900

    [rubygems/rubygems] Make `Gem.clear_paths` test less implementation dependent

    https://github.com/rubygems/rubygems/commit/b545daa95d

commit 8d28e635662a44b8f4a0e6dd6d655e0734f99271
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-07 00:13:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 01:08:00 +0900

    [rubygems/rubygems] Simplify test teardown

    If we move test directory removal to the very end, I think we should not
    leak anything.

    https://github.com/rubygems/rubygems/commit/fb3d8944b5

commit 4dc0b2301806cc5214b4cfc40e300b03e893726f
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-04 06:38:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 01:08:00 +0900

    [rubygems/rubygems] Remove redundant receivers

    https://github.com/rubygems/rubygems/commit/7b71965a70

commit 41e6fd066e8ea82c460ba392a1dd55d624a19763
  Author:     Alexander Ross <ross@standout.se>
  AuthorDate: 2024-05-14 17:22:36 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-14 17:22:36 +0900

    [DOC] Fix typo in example code for `String#encode` method

    The example code in the documentation for the `String#encode` method has
    a typo in the `fallback` option. The example code uses `h` as the
    fallback option, but it should use `hash` instead to match the variable
    name in the example code.

commit 4a1e4436a99c5794b022f03e8c0589cf8bae1c71
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-05-14 17:18:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-14 17:18:32 +0900

    [ruby/reline] Bump version to 0.5.7
    (https://github.com/ruby/reline/pull/704)

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

commit b60f09442a0220e2fc053de020fdc58b642f851e
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-05-10 18:28:59 +0900
  Commit:     Kazuki Tsujimoto <kazuki@callcc.net>
  CommitDate: 2024-05-14 15:43:28 +0900

    Fix TestPatternMatching#test_deconstruct_keys test

    Before the change `C.keys` returned keys captured in some previous test case that by chance captured `nil` value what made this test passed successfully. Now it returns keys captured in this test case.

commit 9d01f657b30f51f60ac6dec7fb47d13549d26bcd
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-05-14 10:58:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-14 10:58:31 +0900

    [ruby/reline] Implement the undo command
    (https://github.com/ruby/reline/pull/701)

    * Refactor send

    * Implement the undo command

    * Fix @past_lines initialization

    * Improve assertion

    * Hide to save buffer in insert_pasted_text

    * Replace @using_delete_command with @undoing

    * Refactor `@past_lines`

    https://github.com/ruby/reline/commit/4ab72f9cbd

commit 5319587ac32e168dbaba452585e3f3861082ee8d
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-13 22:03:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-14 03:04:55 +0900

    [rubygems/rubygems] Restore previous way of loading monitor

    I'm not sure why but this particular change seems to have introduced
    some flaky test failures. So I'll revert it.

    https://github.com/rubygems/rubygems/commit/668488014b

commit d1c172dfd0296efda404e85bfc42cd8720b65cea
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-13 22:03:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-14 03:04:55 +0900

    [rubygems/rubygems] Don't load `SharedHelpers` unnecessarily

    https://github.com/rubygems/rubygems/commit/de4650f629

commit 22dab739714208bde73a7c86ebcc2667e534b39e
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-13 22:02:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-14 03:04:55 +0900

    [rubygems/rubygems] Don't depend on Pathname unnecessarily

    https://github.com/rubygems/rubygems/commit/8c8aaecc48

commit b5e53e2f32e19e826eacbf9e2e301b1deae146df
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-14 01:31:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-14 01:31:55 +0900

    [ruby/prism] Rescue LoadError for ruby_parser as well

    https://github.com/ruby/prism/commit/d4eb13e703

commit 5931f857abf704c6fc62a93d2fc933b13950392d
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-05-13 16:56:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-14 01:29:27 +0900

    [ruby/prism] Add error handling for missing `parser` gem in `Prism::Translation`

    Resolves https://github.com/ruby/prism/pull/2803.

    This PR adds error handling for missing `parser` gem in `Prism::Translation`.

    The `parser` gem is a required runtime dependency when using `Prism::Translation::Parser`.
    But it is not required for other uses of Prism. To avoid unnecessary dependencies,
    it is not added as a `runtime_dependency` in the prism.gemspec. Instead, if the dependency is missing,
    instructions are given to add it to Gemfile.

    ## Before

    ```console
    $ bundle exec ruby -e 'require "prism"; require "prism/translation/parser33"'
    /Users/koic/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `require': cannot load such file -- parser (LoadError)
    from /Users/koic/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
    from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:3:in `<top (required)>'
    from /Users/koic/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `require'
    from /Users/koic/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
    from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser33.rb:6:in `<module:Translation>'
    from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser33.rb:4:in `<module:Prism>'
    from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser33.rb:3:in `<top (required)>'
    from /Users/koic/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `require'
    from /Users/koic/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
    from -e:1:in `<main>'
    ```

    ## After

    ```console
    $ bundle exec ruby -e 'require "prism"; require "prism/translation/parser33"'
    Error: Unable to load parser. Add `gem "parser"` to your Gemfile.
    ```

    https://github.com/ruby/prism/commit/4880aec22d

commit e6340258f88064cabba5150cfef1f8898f6aa9d8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-14 00:26:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-14 00:34:47 +0900

    [ruby/prism] Autoload newlines and comment visitors

    Having the @newline instance variable in every node adds up, and
    since it is so rarely used, we only want to add it when necessary.

    Moving this into an autoloaded file and moving the instance variable
    out of the default initializers reduces allocated memory because the
    nodes are now smaller and some fit into the compact list. On my
    machine, I'm seeing about an 8% drop.

    https://github.com/ruby/prism/commit/eea92c07d2

commit 02c8e6583b33c62b4050420234167a467f32fefa
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-02-21 04:05:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-13 22:01:44 +0900

    [rubygems/rubygems] Use a constant empty tar header to avoid extra allocations

    https://github.com/rubygems/rubygems/commit/716666f65f

commit 5880103450faf26da193ac914421957e37d71604
  Author:     Vít Ondruch <vondruch@redhat.com>
  AuthorDate: 2023-03-13 22:32:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-13 19:35:57 +0900

    [rubygems/rubygems] Use spec.base_dir to remove plugins

    The plugin loader from `@gem_home` was removed during uninstallation.
    However, this could leave behind the plugins for `--user-install`
    installed gems.

    Use `Gem::Specifictaions#base_dir` instead. This ensures that the plugin
    loader for associated .gemspec is uninstalled.

    https://github.com/rubygems/rubygems/commit/6047f78210

commit a86ad47c940dee19bfe74a374c5ac61752026b7c
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-06 22:56:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-13 19:35:57 +0900

    [rubygems/rubygems] Improve plugin removal test

    Instead of unit testing the `remove_plugins` method, test the whole
    removal process.

    https://github.com/rubygems/rubygems/commit/bfdc60af98

commit 899568cce9f2929c765738bf52fcadaead953187
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-09 22:25:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-13 18:19:45 +0900

    [rubygems/rubygems] Fix error when Bundler installation is corrupted

    If one upgrades the default copy of Bundler through `gem update
    --system`, and then reinstalls Ruby without removing the previous copy.
    Then the new installation will have a correct default bundler gemspec,
    but a higher copy installed in site_dir.

    This causes a crash when running Bundler and prints the bug report
    template.

    This could probably be fixed in Ruby install script, by removing any
    previous Bundler default copies, but if the problem is already there, I
    think it's best to print a proper user error.

    https://github.com/rubygems/rubygems/commit/ada6de765d

commit 69c87619bd7a69936c44cc0d323b11148400e894
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-10 23:14:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-13 18:08:16 +0900

    [rubygems/rubygems] Avoid standard requires while loading shared helpers

    We should make sure Bundler does not trigger RubyGems require logic for
    gem activation until it had the chance to register its own monkeypatches
    to RubyGems.

    https://github.com/rubygems/rubygems/commit/fbd2ff86b9

commit e9262983430e7a758a4151e39151062ac00d67bf
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-10 23:11:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-13 18:08:15 +0900

    [rubygems/rubygems] Require things right before they're needed

    https://github.com/rubygems/rubygems/commit/07022e3f2f

commit 3c16d93cd3a7c4d1362e07070c9ed9826a7272a8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 23:12:02 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-13 08:26:54 +0900

    Constify encoding type in universal parser

    Fixed warning about discarding modifiers.

    ```
    ../src/ruby_parser.c:677:48: warning: passing 'rb_encoding *' (aka 'const struct OnigEncodingTypeST *') to parameter of type 'void *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
      677 |     ast = rb_parser_compile(p, gets, ptr, len, enc, input, line);
          |                                                ^~~
    ../src/internal/parse.h:58:128: note: passing argument to parameter 'fname_enc' here
       58 | rb_ast_t *rb_parser_compile(rb_parser_t *p, rb_parser_lex_gets_func *gets, const char *fname_ptr, long fname_len, rb_encoding *fname_enc, rb_parser_input_data input, int line);
          |                                                                                                                                ^
    ```

commit b911d2222f907d3fad397938e8f513ecfb4635b8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 16:23:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-12 16:23:00 +0900

    [Bug #20482] [DOC] Clarify about pattern maching guard clause

    Guard clauses can only be used in `case` pattern matching statements,
    not in `=>`/`in` operators.

commit 5695c5df95460ed9949e1c8f8ca89b4a5c5cc4dd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 15:38:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-12 15:38:22 +0900

    ripper: Fix opassign when assignment to backref variables

commit a1fb6cc978ffba6c4a8284a4fcca3efcef684714
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-10 22:46:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-12 15:36:42 +0900

    ripper: Use `$&` instead of quoting charaters in tests

commit 8b9b150512b7b9514143a6b971992c9a539ead2f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-04 22:17:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-12 13:57:15 +0900

    [Bug #20481] Check for unmarshaling ivar

    Prohibit setting instance variables of existing classes and modules
    via link.

commit d9e6e6fb60ae71f5288f54f0d34fad1e8806cf67
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-04 22:15:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-12 13:55:56 +0900

    [Bug #7759] Fix instance variable names to be checked

commit 4edd9b072c4382a901f7317c2c0c9e143554b709
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 13:47:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-12 13:53:51 +0900

    [ruby/irb] Clean up tmpdir

    https://github.com/ruby/irb/commit/7d60349499

commit 7e604a02637275f7f2f1b13074abe1d5f146829b
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-05-11 17:08:22 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-11 20:47:15 +0900

    Fix SEGV when ripper hits `backref_error` on `command_asgn` or `arg`

commit 68b6fe70484b1fed2767fc9b838a487aa47d3560
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-11 02:19:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-11 02:19:42 +0900

    [ruby/reline] Avoid STDIN.winsize called in `require "reline"`
    (https://github.com/ruby/reline/pull/703)

    https://github.com/ruby/reline/commit/21891c47c4

commit afdfff933fefa17a8ef12f791b7f363780b1f61b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-11 02:09:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-11 02:09:45 +0900

    [PRISM] Bump to version 0.29.0

commit 2e4f3739fbf7ec9625c78a7114970bf102e6ec3c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-11 00:55:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-11 02:09:16 +0900

    [PRISM] Enable passing argument forwarding tests

commit 83f481ebf0ab8987bd2bc15767e7a1fac18f05b5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-11 00:39:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-11 00:54:15 +0900

    [ruby/prism] Enhance parameter forwarding error messages

    https://github.com/ruby/prism/commit/826657232e

commit 955f13238d951dd52a12733a69a6787008fd82cc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-11 00:06:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-11 00:48:11 +0900

    [PRISM] Enable passing IRB tests

commit 77b6c980b2278951de206e0cdc5dd49a6f241eb3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-10 23:49:33 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-11 00:47:48 +0900

    [PRISM] Handle operator->binary_operator rename

commit 2e4466454721012b3ba27f262b3e5dd6e3d393b0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-10 23:19:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-11 00:47:48 +0900

    [ruby/prism] operator rename

    https://github.com/ruby/prism/commit/b5e47f5c42

commit 34e0b5b2d419840f4e97cdf8fffcbc3578a5f7a3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-10 23:29:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-10 23:47:21 +0900

    [ruby/prism] Fix tapioca require order

    https://github.com/ruby/prism/commit/15bf727881

commit 2bc309e7f31222d626bb0e1acef2c8b2b3f9d32c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-10 22:45:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-10 22:58:09 +0900

    [ruby/prism] Fix RBS outside of prism

    https://github.com/ruby/prism/commit/ee73ad757f

commit 3f664c3738fe25227b9d990064e4b5fda2d84c39
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-10 22:27:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-10 22:40:04 +0900

    [ruby/prism] Prism::CallNode#full_message_loc

    https://github.com/ruby/prism/commit/fa6fe9be84

commit c68bb2408829ffdac2465f38a1d040b7f1e1c6aa
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-05-10 20:40:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-10 20:40:58 +0900

    [ruby/irb] Add a new initialization step to validate IRB.conf's
    values
    (https://github.com/ruby/irb/pull/953)

    Currently, users can only find out that they have set a wrong value
    for IRB configs when the value is used, with opaque error messages like
    "comparison of Integer with true failed (TypeError)".

    This commit adds a new initialization step to validate the values of
    some IRB configs, so that users can find out about the wrong values
    during the initialization of IRB.

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

commit 69d0a3b033cfcb998020d54c0e3cec24b5f07b45
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-10 18:39:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-10 18:39:11 +0900

    [ruby/irb] Simplify regexp to account for prism error messages
    (https://github.com/ruby/irb/pull/954)

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

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 2f915e729ac8c66f4009f4b28a57773923d7e7d1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-10 04:40:43 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-10 13:54:31 +0900

    [PRISM] Enable passing test_string

commit 346f7bf33e4b1faa82c44b48466ad38ae48fd457
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-10 04:36:17 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-10 13:54:31 +0900

    [ruby/prism] Fix escaping control+x

    https://github.com/ruby/prism/commit/0f0b4c1161

commit fd2876e6a226e144689a15bc3cbc5fe4ac089533
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-05-10 09:11:22 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-05-10 09:55:28 +0900

    Update ASAN docs to refer to Clang 18's release

    Clang 18 has the bugfix we need, so we no longer need to tell people to
    compile Clang from source.

commit 444030fc6155d32c1f5211ba746bc9c76f70a96d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-09 03:20:12 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-09 22:38:43 +0900

    [PRISM] Enable passing tests

commit 74c911dfa99e173756e7382982e8eaa0a90a2491
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-09 18:56:51 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-05-09 19:37:25 +0900

    Add a ruby_bug spec for String#index clearing $~

    [Bug #20421]

    The bug was fixed in Ruby 3.3 via 9dcdffb8bf8a3654fd78bf1a58b30c8e13888a7a

commit e82138e48a7ff152e358ce37fdae07e989fe5ee3
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-09 18:38:07 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-05-09 19:23:34 +0900

    Stabilize TestObjSpace#test_dump_special_consts

    The test assumes `:foo` is a static symbol, but that is only true
    if a literal `:foo` was parsed before `"foo".to_sym` was evaled:

    ```ruby
    require 'objspace'
    foo_sym = "foo".to_sym
    puts ObjectSpace.dump(eval(":foo"))
    ```

    ```
    {"address":"0x100fb46d0", "type":"SYMBOL", "shape_id":10, "slot_size":40, "class":"0x100d3e9c8", "frozen":true, "bytesize":3, "value":"foo", "memsize":40, "flags":{"wb_protected":true, "marking":true, "marked":true}}
    ```

commit fba7bdb710de11343fe7acaac8eba3aad0cbc398
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-05-09 18:52:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 18:52:29 +0900

    [ruby/reline] Bump version to 0.5.6
    (https://github.com/ruby/reline/pull/700)

    https://github.com/ruby/reline/commit/1b6c29a2b1

commit fb6cfb413d2b2cd3aa6306db7128a7288fd0a131
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-09 17:39:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-09 17:39:57 +0900

    Mark rdoc as bundled gems at Ruby 3.5

commit 6bff0707e826b7adf8d473ae269ecdb7dd6f8f34
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-05-09 15:59:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 15:59:48 +0900

    Update bundled gems list as of 2024-05-08

commit 9df3f205b1f2982047f9701ce0172d54fa360bdc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-09 12:29:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-09 15:22:53 +0900

    test-syntax-suggest is not working with mswin environment

commit d10615c064603a138379019834b13349e563e7bb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-09 11:40:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-09 11:40:02 +0900

    [DOC] Update `--dump` option arguments in the ruby man page

    Related to [Feature #20329].

commit 58bde0169d64146ac30976f66412ef1c32b68c58
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-09 10:45:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-09 10:45:45 +0900

    [DOC] Fix the pattern for man pages

commit d6564615e7aad09348b6bb933f787ee30916971e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-24 17:14:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-09 10:11:19 +0900

    Fix format specifier for `DWORD`

commit d224bfdc3252913ac635be0bf28173c659a10687
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-24 17:13:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-09 10:11:18 +0900

    `redblack_cache_ancestors` is enabled only when `mmap` is available

commit 8bd6ae4c40615c99458cc7ea0ba1897957502b70
  Author:     Josef Šimánek <josef.simanek@gmail.com>
  AuthorDate: 2024-05-09 06:46:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 08:58:45 +0900

    [rubygems/rubygems] Monthly man update for May 2024.

    https://github.com/rubygems/rubygems/commit/9ee7069841

commit 442e398e62d32d042884f0cad76b5294d3110bfe
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-09 03:56:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 03:56:14 +0900

    [ruby/prism] Ensure keyword parameters are not constants

    https://github.com/ruby/prism/commit/fd210115c1

commit 128c9a92dde2ad1319a2f5afc2e35b1b23841fd9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-09 02:58:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 02:58:46 +0900

    [ruby/prism] Enhance def params term error message

    https://github.com/ruby/prism/commit/3af1acd5da

commit 2d631cf428a4bc76c0d75b5af841efd61d92aeee
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-09 02:04:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 02:30:18 +0900

    [ruby/prism] Fix line number of unreachable statement warning

    https://github.com/ruby/prism/commit/62f6b1f2e2

commit 61829eec657e8271f05a74f2067b4203ba0a51a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-09 01:38:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 01:52:07 +0900

    [ruby/prism] Ensure keyword parameters do not end in ! or ?

    https://github.com/ruby/prism/commit/57d86a8545

commit 84ba35e8c2b7f089ac9cbc601a8fe68432023c44
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-09 01:27:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 01:38:22 +0900

    [ruby/prism] Invalid escape character syntax for nested unicode escapes

    https://github.com/ruby/prism/commit/623a0bb995

commit 7c1e11fe02f4d3db46a4f037a7ef0b715183f881
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-09 01:19:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 01:26:50 +0900

    [ruby/prism] Validate Unicode escape sequences are not surrogates

    https://github.com/ruby/prism/commit/64d2ce2622

commit e9378788837f7d053df4339ac0a0ea1d683502a4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-09 01:02:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-09 01:02:59 +0900

    Revert "Update revision.h if branch unmatch not only revision"

    This reverts commit 5a332940ed2f809cb17af7e4d068089b6e1fa6ca.
    Something does not work well on Github Actions.

commit 26446cccc9e8c4dfb7655ae686106a1ee200f2ec
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-09 01:00:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 01:00:30 +0900

    [ruby/reline] Implement bracketed paste insert
    (https://github.com/ruby/reline/pull/655)

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

commit 548a72e537e4a189817f7e6ca28ad80013b1cb0c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 23:20:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-08 23:20:48 +0900

    [PRISM] Sync prism version bump

commit 06a1df3ef9559bbdac31c444e154ebf86e09d0a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 22:19:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-08 23:18:57 +0900

    [PRISM] Enable more passing tests

commit 74d948a617caac55ef66119a4aebe4ee6c034d98
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 21:43:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-08 21:52:54 +0900

    [ruby/prism] Better error message on missing hash value

    https://github.com/ruby/prism/commit/b20e37e82e

commit ba062a623147559ff891d6b52c86b31a1f3f4987
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 04:23:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-08 21:12:17 +0900

    [PRISM] Use correct warning encoding

commit 5bb656e4f063e717262efe2dc303ed914eb1dd6c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-08 19:25:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-08 19:25:37 +0900

    [Bug #20474] Keep spaces in leading blank line

commit 841b45a4421a7f103b0312f84c14ece522833617
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-05-05 16:22:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-08 18:39:13 +0900

    [ruby/openssl] Add to_text for PKCS7 and Timestamp::Response

    https://github.com/ruby/openssl/commit/71cd1e3f5c

commit aabe718e6483eb572566878320a0d83f430d1cbc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-08 17:24:36 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-08 17:24:36 +0900

    Show the caller location of assertion methods

    Not only defined in `Test::Unit` or `CoreAssertions`, also show the
    caller location of assertion methods defined in the current class or
    ancestors.

commit b4b39a619984bbb3c96406a1eb4dfb477168a1cd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 02:31:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-08 03:24:31 +0900

    [PRISM] Enable test_methoddef_endless_command

commit 2bfc48755e7fc39e1ee33181a4bd6b72aa27de48
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 02:25:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-08 03:24:31 +0900

    [PRISM] Enable more passing tests

commit 21b94ae0d16d2d78035a081f0bcae06402e2c622
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 03:02:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-08 03:03:03 +0900

    [ruby/prism] Extend error message for unterminated HEREDOC

    https://github.com/ruby/prism/commit/c1b07ec11b

commit dcbe0edb836aa3be62b7b64f3c7f27e7ef6885fb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 02:15:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-08 02:22:50 +0900

    [ruby/prism] Better error message for contents of hash pattern

    https://github.com/ruby/prism/commit/60dbf60f48

commit 5d44846815f874279672e05d7bf7037e939e471c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 02:02:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-08 02:15:14 +0900

    [ruby/prism] Disallow implicit hash in array pattern

    https://github.com/ruby/prism/commit/bdd509c6ac

commit ef3803ed4028810f9088019f0db1a366370ab53a
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-04-22 10:51:25 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-05-08 01:44:25 +0900

    Ignore the result of pthread_kill in ubf_wakeup_thread

    After an upgrade to Ruby 3.3.0, I experienced reproducible production crashes
    of the form:

    [BUG] pthread_kill: No such process (ESRCH)

    This is the only pthread_kill call in Ruby. The result of pthread_kill was
    previously ignored in Ruby 3.2 and below. Checking the result was added in
    be1bbd5b7d40ad863ab35097765d3754726bbd54 (MaNy).

    I have not yet been able to create a minimal self-contained example,
    but it should be safe to remove the checks.

commit 8ec1c416f75ff20ccf71c08c51f91bdd42f226a8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 01:15:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-08 01:31:05 +0900

    [ruby/prism] Specific error message for symbol literal with interpolation in hash patterns

    https://github.com/ruby/prism/commit/31f0201bae

commit 8cc733dff7b831555f9250153a477bdff3354eae
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 01:08:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-08 01:31:05 +0900

    [ruby/prism] Add error for invalid implicit local writes

    https://github.com/ruby/prism/commit/ab21882561

commit eb8efa42f0904281345a6622fff8209a464d39e9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 22:53:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-07 23:56:48 +0900

    [ruby/prism] shareable_constant_value line warnings

    https://github.com/ruby/prism/commit/8c984b6922

commit e1e6b4972fa33feb260bf93ba087d47034082867
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-05-07 15:59:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-07 15:59:36 +0900

    Update bundled gems list as of 2024-05-07

commit 80adf6a18c653e25a0448110e6978a9d0764eba7
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-05-05 05:41:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-07 14:36:35 +0900

    [rubygems/rubygems] Accept WASI as an OS name in Gem::Platform

    https://github.com/rubygems/rubygems/commit/1209d3c6b0

commit 481e16d58bb278752bab009b3c25af9144364433
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 02:55:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-07 08:06:13 +0900

    [PRISM] Support for compiling ractor constant path writes

commit eeba1581099ea881f7102d18569432748b0ef08f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 01:33:12 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-07 08:06:13 +0900

    [PRISM] Support for compiling ractor constant writes

commit 00b1553dc6d7424682bd97bb92542dbefd9ddeb2
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-07 00:23:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-07 02:06:50 +0900

    [rubygems/rubygems] Remove more unnecessary compatibility code

    https://github.com/rubygems/rubygems/commit/00d91f141b

commit 5c018cddcca52c9d00c16cfad252a74750d0852e
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-06 21:53:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-07 02:06:50 +0900

    [rubygems/rubygems] Remove unnecessary compatibility code

    https://github.com/rubygems/rubygems/commit/160a515412

commit e276929511dd690128de08da5f379ea7df539a0c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 00:23:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-07 01:09:48 +0900

    [PRISM] Enable test_unexpected_fraction

commit d4fdc459537abf5d4a76bef2e1cc62a02f3dc2b0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 00:21:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-07 01:09:48 +0900

    [ruby/prism] Unexpected fractional component error messages

    https://github.com/ruby/prism/commit/e893bc2230

commit 5e6bb0857aac9ee16d47b5a7a547fc5ba329f088
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 00:05:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-07 01:09:30 +0900

    [PRISM] Enable passing forwarding parameter tests

commit f92d82ef06f5478bd942a22ca987f787fa92cedc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 00:01:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-07 01:09:30 +0900

    [ruby/prism] More specific error for conflicting forwarding parameters

    https://github.com/ruby/prism/commit/1c3b48fedb

commit 14d400829d7bc6cdc8111ba534fb9e6aad2e96b5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 00:12:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-07 00:12:30 +0900

    [PRISM] Enable passing test_brace_after_literal_argument test

commit 5909186d02f2b50eea23a8661543744ef7c9342b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 00:09:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-07 00:09:20 +0900

    [ruby/prism] Fix up error message for unexpected {

    https://github.com/ruby/prism/commit/80dbe035ba

commit 88d74a4848998435e4a6d1bf2d70dde3d8996532
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-05-06 23:15:24 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-06 23:56:01 +0900

    [DOC] Fix typos in WeakMap docs

commit 1df1edc080031b8f18b41a5a8d308a667ea89fc1
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-05-06 23:28:36 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-06 23:28:36 +0900

    YJIT: Fix comment and counter in rb_yjit_invalidate_ep_is_bp() (#10722)

    `mem::take` substitutes an empty instance which makes `jit.ep_is_bp()`
    return false.

commit a5cb8c8c5ba61a82c950843c57679fc135762b07
  Author:     Dave Thomas <dave@pragdave.me>
  AuthorDate: 2024-05-06 13:51:44 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-06 13:51:44 +0900

    [DOC] rewrite inject doc (#10009)

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
    Co-authored-by: Dennis Dashkevich <dskecse@gmail.com>

commit 95ae123343f3d1fc644bff5a240e0d14ddfb7810
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-06 01:09:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-06 08:22:28 +0900

    [ruby/did_you_mean] Move development dependencies to Gemfile

    https://github.com/ruby/did_you_mean/commit/24c06dd509

commit 6747fbe77dcac26a457bb1386f55f3c27321040a
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2024-05-06 00:14:53 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-06 00:14:53 +0900

    Fix interrupts during Ractor.select

    Fixes [Bug #20168]

commit 93cffcf961daa58b5bc0b3e9194b792c655aebf7
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-05-05 20:11:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-05 20:11:31 +0900

    [ruby/irb] Bump version to v1.13.1
    (https://github.com/ruby/irb/pull/951)

    https://github.com/ruby/irb/commit/66318d0a34

commit e973f9cbb38668c61084481b35ae8c1d63be74b6
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-05-05 19:44:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-05 19:44:52 +0900

    [ruby/irb] Clarify that the context is IRB context
    (https://github.com/ruby/irb/pull/950)

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

commit 7d42010fad4be2dbb26bd7608a75aa1c51d5f9ef
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-04-16 21:52:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-05 17:00:00 +0900

    [ruby/openssl] read: don't clear buffer when nothing can be read

    To be consistent with regular Ruby IOs:

    ```ruby
    r, _ = IO.pipe
    buf = "garbage".b
    r.read_nonblock(10, buf, exception: false) # => :wait_readable
    p buf # => "garbage"
    ```

    Ref: https://github.com/redis-rb/redis-client/commit/98b8944460a11f8508217bda71cfc10cb2190d4d

    https://github.com/ruby/openssl/commit/08452993d6

commit fca6c55a535094a49cf16d00519120d57928b1a2
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-05-05 16:22:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-05 16:22:52 +0900

    [ruby/reline] Remove not implemented variables
    (https://github.com/ruby/reline/pull/699)

    https://github.com/ruby/reline/commit/328699e901

commit d679afe9f96f73aac22b5d7c3a3f1e0ac50d0632
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-05 16:09:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-05 16:09:52 +0900

    [ruby/reline] Add name defined in readline to completion key
    bindings C-i C-p C-n
    (https://github.com/ruby/reline/pull/698)

    https://github.com/ruby/reline/commit/1314787bbb

commit b181ba7400d780730833cf649024472674d53c97
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-05-04 13:49:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-05 01:31:58 +0900

    [ruby/prism] Use `version: 3.3.1` against `Translation::Parser`

    Follow up https://github.com/ruby/prism/pull/2760.

    This PR updates the `Translation::Parser` to use version 3.3.1 when the version 3.3 is specified.
    The Parser gem is structured to support the latest patch versions, hence this aligns with Parser-compatible versioning.
    As noted in https://github.com/ruby/prism/pull/2760, the behavior remains unchanged with this switch from 3.3.0 to 3.3.1.

    https://github.com/ruby/prism/commit/efde09d318

commit 96710a3139fecda4bc12cd4f321399f71887535c
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-04 18:03:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 18:03:55 +0900

    [ruby/irb] Change debug test workaround only enabled when output is
    tty
    (https://github.com/ruby/irb/pull/949)

    https://github.com/ruby/irb/commit/3f231b8622

commit bd42f0898de26e8e6cb9930e0f5e309aacdeb705
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-05-04 12:32:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 12:32:34 +0900

    [ruby/irb] Improve help message for no meta commands
    (https://github.com/ruby/irb/pull/948)

    * Remove unnecessary code from command tests

    * Improve help message for no meta commands

    1. Add placeholder values for both command category and description
    2. Update help command's output to give different types of categories
       more explicit ordering

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

commit fb2ea7084f5755e92ff724165547d6dca77a5ed9
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-05-04 12:22:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 12:22:17 +0900

    [ruby/irb] Use flag instead of caller for `debug`'s binding.irb
    check
    (https://github.com/ruby/irb/pull/947)

    https://github.com/ruby/irb/commit/4a4d7a4279

commit cf74ff714aa795a82cc0ea46e26937efcedfaa45
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-25 16:09:42 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-04 11:59:10 +0900

    Change return value of `gets` function to be `rb_parser_string_t *` instead of `VALUE`

    This change reduces parser's dependency on ruby object.

commit a510175e8f95f4d8f7bc56c184996526b530bf94
  Author:     Kenichi Kamiya <kachick1@gmail.com>
  AuthorDate: 2024-05-04 07:08:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 07:08:49 +0900

    [ruby/irb] Avoid raising errors while running help for custom
    commands
    (https://github.com/ruby/irb/pull/944)

    * Avoid raising errors while running help for custom commands

    Raising an error from the help command is not a pleasure for the
    end user, even if the command does not define any attributes

    * Update test/irb/command/test_custom_command.rb

    ---------

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

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 70db150fbcb44c43ce4d62c6170e0527ecaea84c
  Author:     Kenichi Kamiya <kachick1@gmail.com>
  AuthorDate: 2024-05-04 06:34:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 06:34:34 +0900

    [ruby/irb] Fix typos in test/irb/command/test_custom_command.rb
    (https://github.com/ruby/irb/pull/945)

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

commit d4a6d0c17781821d967063613fab5992231a5158
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 03:58:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 04:14:03 +0900

    [ruby/prism] Prism::Location#adjoin

    https://github.com/ruby/prism/commit/a298db68e3

commit 7a49edcf1f6e96ccf60736f21048514a7713153a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-03 01:59:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 03:37:19 +0900

    [ruby/prism] Prism::Node#tunnel

    https://github.com/ruby/prism/commit/0bf5d651da

commit c631679b949fadd18c1714890026175fbe822a56
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 03:15:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-04 03:15:59 +0900

    [PRISM] Disallow &. in MLHS

commit 1af2dead5ab843957b5cf5903577c8fe1afe86b9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 03:14:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 03:14:55 +0900

    [ruby/prism] Disallow *a&.x=0

    https://github.com/ruby/prism/commit/624fdf74bd

commit 4fbb208185c2c5c0b5c9362c15fc90a0e6d02309
  Author:     Vinicius Stock <vinicius.stock@shopify.com>
  AuthorDate: 2024-05-03 00:33:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 03:10:21 +0900

    [ruby/prism] Create specialized `ASCIISource` with asciionly optimizations

    https://github.com/ruby/prism/commit/40993166a8

commit 31361aeca3a26eb0fba7269a110870aa259946ae
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 01:51:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 03:09:35 +0900

    [ruby/prism] Disallow safe navigation in a call target node

    https://github.com/ruby/prism/commit/b1917adac7

commit 31c69698a7684e43b4fa6a00629c1ee967fdf458
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 01:38:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-04 02:32:32 +0900

    [PRISM] Enable passing test for **nil

commit 2368dab1fa7a8069f62001ed52f4b999a3aac5e8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 01:36:54 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-04 02:32:32 +0900

    [ruby/prism] Disallow **nil after keyword parameters

    https://github.com/ruby/prism/commit/5beeae076f

commit 461d6d441febd882d53fcf8cfef9635962e5b08c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 01:27:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-04 02:11:09 +0900

    [PRISM] Enable RubyVM tests for prism

commit 56672c8b187a425586c2f53834b5a88b0dbfcca2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 01:19:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-04 02:01:40 +0900

    [PRISM] Enable passing tests for index expressions

commit 7caeff2baed907809600e9f3a18b6b02eaa76c5a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 01:03:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-04 02:01:40 +0900

    [ruby/prism] Disallow keywords and blocks in index expressions

    https://github.com/ruby/prism/commit/e950dc1e83

commit b6625d38d886acb8a2fdf8321197d29a1d63c12c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-04 01:34:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-04 01:34:35 +0900

    [DOC] Fix the description about the timing finalizers will be called

commit 97654bee49c350cc7b49e5237c9263916b1c5722
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 01:02:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 01:02:13 +0900

    [ruby/prism] Remove deprecated #child usage

    https://github.com/ruby/prism/commit/14d9b431e2

commit 281df1e495eeb8533b963c63a14c614fcab97859
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-02-06 04:19:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 00:12:55 +0900

    [rubygems/rubygems] Remove `Gem::Specification#mark_version`

    This gets in the middle if we ever start allowing to build as if using a
    different RubyGems version than the one being run.

    This could be useful to make `gem rebuild` a little more usable, and
    it's already done by Bundler specs which already make this method a noop
    when they need this.

    I'm not sure forcefully setting this, even if user explicitly specified
    something else is helpful.

    Since this could potentially prevent gems explicitly setting a constant
    RubyGems version from building, I changed the error of incorrect
    RubyGems version from a hard error to a warning, since it will start
    happening in those cases if we stop overwriting the version.

    https://github.com/rubygems/rubygems/commit/45676af80d

commit 0948b6a592eb74f1ca4aae158f8bca6034ccb708
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-03 22:41:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-04 00:11:57 +0900

    [PRISM] Use new constant path structure

commit 5758e45657f0b2ca8725e67046a1cac92e2e6414
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-03 22:35:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-04 00:11:57 +0900

    [ruby/prism] Change ConstantPathNode#child to ConstantPathNode#{name,name_loc}

    This has been requested for a long time, and I'm finally doing it
    now. Unfortunately this is a breaking change for all of the APIs.

    I've added in a Ruby method for `#child` that is deprecated so that
    existing usage doesn't break, but for everyone else this is going
    to be a bit of a pain.

    https://github.com/ruby/prism/commit/9cbe74464e

commit 1d51e929b1b10fe9fa109f8a8ebc3b938827271c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-03 21:53:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-03 22:12:27 +0900

    [ruby/prism] Assume eval context for ruby_parser and ripper

    https://github.com/ruby/prism/commit/e4d6984892

commit 32b1dea5665a6d1cf82e39af7bffb48172399205
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-04-28 19:23:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-03 21:53:01 +0900

    [ruby/prism] Assume an eval context for `Prism::Translation::Parser`

    This is similar to https://github.com/davidwessman/syntax_tree-erb/issues/81 but for RuboCop
    The parser gem doesn't support these types of checks,
    see https://github.com/whitequark/parser?tab=readme-ov-file#syntax-check-of-block-exits

    While this is technically a bug in the parser gem, it does increase compatibility
    and allows prism to be used when linting erb or haml with a RuboCop extension.

    https://github.com/ruby/prism/commit/6c59ae6a00

commit 7c029f612fda0a73705066f4c50759224026a0e2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-03 21:28:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-03 21:36:57 +0900

    [ruby/prism] Remove generics from sorbet types

    https://github.com/ruby/prism/commit/080d84fd03

commit c1b11c50cbb24db01a7afbfcfa192fdd1d496058
  Author:     Jenny Shen <jenny.shen@shopify.com>
  AuthorDate: 2024-05-03 02:00:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-03 19:54:27 +0900

    [rubygems/rubygems] Rename credential email to identifier in WebAuthn poller

    https://github.com/rubygems/rubygems/commit/5e3e55f8bc

commit 7662e6fcd5f4901a3a0f34e2d54f8231599d52e2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-27 22:26:39 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-03 14:49:29 +0900

    win32/registry: Shorten with safe navigation operator

commit 491c38bfcdbf4965992d8b23c4fe9007452fffee
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-27 22:12:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-03 14:49:29 +0900

    win32/registry: Make frozen_string_literal true

commit 0b091e6675e58afbc52d200440c8ed31c13d4a00
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-27 22:03:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-03 14:49:29 +0900

    win32/registry: Refine pack/unpack

    * Use 'J' for HANDLE.
    * Use 'Q' for QWORD.
    * Define template constants.
    * Supply zero bytes in `unpackqw` as well as `unpackdw`.
    * Use `String#unpack1`.

commit 9f8e87c44bc87f5b37364707d1f570da1d7a6f89
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-03 01:07:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-03 14:47:18 +0900

    Test for win32/registry.rb

commit 899d9f79dde0e2dbb2da3a6ec7c1cbf1023cc56d
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-05-03 08:57:55 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-03 12:40:35 +0900

    Rename `vast` to `ast_value`

    There is an English word "vast".
    This commit changes the name to be more clear name to avoid confusion.

commit e1905ca18047e2dff73115f432ddfa532f7d396e
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-05-02 16:01:34 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-03 12:05:21 +0900

    Use user defined parameterizing rules `f_optarg(value)`

commit 5409661fe6693d216d383a788803b6be7f2230de
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-03 04:21:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-03 11:46:09 +0900

    Mark the first string element of a regexp as binary if US-ASCII

commit b5cefa79dd9d510eb81798285f6c9aec6b5e0119
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-02 05:52:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-03 06:32:43 +0900

    Fix GC_DEBUG

commit 6d605f1e50b96f9b62eaf93bd3ef19db2fca3c83
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-02 05:46:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-03 06:32:43 +0900

    Move rvalue_overhead out of RVALUE

    Since we cannot read the rvalue_overhead out of the RVALUE anyways (since
    it is at the end of the slot), it makes more sense to move it out of
    the RVALUE.

commit e34c131ce8c25a5f70d24f85787728e08539d90c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-03 03:06:33 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-03 04:16:15 +0900

    [PRISM] Disallow redundant returns from being line events

commit c681af3e5d36fb36c76e05b5d822131f28ed9de7
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-05-03 02:50:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-03 03:33:30 +0900

    Reject empty lines in IRB binding spec

    For that particular spec, the empty lines' presence is not relevant.
    So let's remove them to make the spec easier to maintain.

commit 945a99e81a2b4910a106e932c620abac75717cb1
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-05-03 02:47:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-03 03:33:30 +0900

    Sync IRB 241e061

commit c59abb99995cbc9a69ef2753f8692a843ff11fdd
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-05-02 22:14:32 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-05-03 03:28:23 +0900

    Rename ary_heap_alloc -> ary_heap_alloc_buffer

    To differentiate it from ary_alloc_heap

commit 0981f03008563cbfbf01112898b8f89077ee0d29
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 23:54:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-03 01:29:25 +0900

    [PRISM] Enable newline test

commit 008f2b9b6a8575c4380732f5ac4ee1cc46a79d74
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-05-03 01:28:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-03 01:28:19 +0900

    [ruby/reline] Bump version to 0.5.5
    (https://github.com/ruby/reline/pull/696)

    https://github.com/ruby/reline/commit/8bf71d0b81

commit 032070d793a0289931b6f15eb9ba25e9c492c1f7
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-03 01:21:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-03 01:21:46 +0900

    [ruby/irb] Add workaround for ruby/debug/test/console/irb_test
    failing with StdioInputMethod
    (https://github.com/ruby/irb/pull/943)

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

commit 7c0cf71049e82f165ab847e50a358d3659c547bb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-03 00:12:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-03 00:27:18 +0900

    [ruby/prism] Node#script_lines and supporting infra

    https://github.com/ruby/prism/commit/cb4a8ab772

commit 398453c3c0a1e516fda342a9dbdb27f7ed981de2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 23:45:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-03 00:27:05 +0900

    [PRISM] Fix param names for repeated splats

commit c78cebb469fe56b45ee5daad16ae976b7760497c
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-02 23:41:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 23:41:07 +0900

    [ruby/reline] Fix default and additional key bindings vanish bug
    (https://github.com/ruby/reline/pull/697)

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

commit 2eefbef2eeeed8690daff5f111a36f72711a474c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 08:19:33 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 23:34:10 +0900

    [PRISM] Enable test_ast.rb

commit 41977ef59585d1ee42ffcb546aa80f071512b257
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 07:43:18 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 23:29:17 +0900

    [PRISM] Enable Socket.gethostbyaddr spec

commit e7d20623cbc6eb86c95357c344370cc39d29f8a3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-02 00:31:07 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-02 23:12:58 +0900

    Add comments in setproctitle.c

commit 4f69d318b8667eb10596aaec9b75992a3265f66d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-02 00:15:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-02 23:12:58 +0900

    Keep track of the originally allocated environ

    We need to keep a pointer to the originally allocated environ because
    adding more environment variables can cause it to be changed to something
    else.

    For example:

        100.times do |i|
          ENV["FOO#{i}"] = "1"
        end

    Causes Valgrind to report:

        312 bytes in 1 blocks are definitely lost in loss record 9 of 13
          at 0x484D444: calloc (vg_replace_malloc.c:1340)
          by 0x1884F8: calloc1 (gc.c:1844)
          by 0x1884F8: objspace_xcalloc (gc.c:12202)
          by 0x1884F8: ruby_xcalloc_body (gc.c:12209)
          by 0x4204DD: ruby_init_setproctitle (setproctitle.c:119)
          by 0x27DDF4: ruby_process_options (ruby.c:3101)
          by 0x160BD1: ruby_options (eval.c:117)
          by 0x15B96E: rb_main (main.c:40)
          by 0x15B96E: main (main.c:59)

commit 12cbfd8e2f0c2386803f835c3d8d55ac584e9e22
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-02 22:11:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-02 22:11:15 +0900

    Declare as NORETURN

commit a3726c028d08c033c22f47693a45195b69d0b648
  Author:     jinroq <jinroq@users.noreply.github.com>
  AuthorDate: 2024-04-30 20:48:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 18:36:14 +0900

    Fixed missing support for https://github.com/ruby/ruby/commit/d75bbba255e086d625429d5a1311cc4b4396c296.

commit 55720f372d65aaa14bf6925730f0c715f0179dc5
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-11-12 09:36:39 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2024-05-02 16:26:11 +0900

    [ruby/openssl] pkcs7: raise PKCS7Error for PKCS7 without content in PKCS7.read_smime

    [pkuzco: expanded the fix for other content types]
    [ky: adjusted formatting and the exception type]

    https://github.com/ruby/openssl/commit/07eceb7f63

    Co-authored-by: pkuzco <b.naamneh@gmail.com>
    Co-authored-by: Kazuki Yamaguchi <k@rhe.jp>

commit c9aa63a9e06c21566c6fadda5945f04f341e4891
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-10-28 01:08:11 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2024-05-02 16:26:11 +0900

    [ruby/openssl] pkcs7: raise ArgumentError for PKCS7 with no content in PKCS7.new

    Fixes [Bug #19974]

    [pkuzco: expanded the fix for other content types]
    [ky: adjusted formatting and the exception type]

    https://github.com/ruby/openssl/commit/27e11f2d1d

    Co-authored-by: pkuzco <b.naamneh@gmail.com>
    Co-authored-by: Kazuki Yamaguchi <k@rhe.jp>

commit eb6f0000a4b752803ff7431d24d1a0a535a4387e
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-02-05 21:54:32 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2024-05-02 16:26:11 +0900

    [ruby/openssl] cipher: fix buffer overflow in Cipher#update

    OpenSSL::Cipher#update currently allocates the output buffer with size
    (input data length)+(the block size of the cipher). This is insufficient
    for the id-aes{128,192,256}-wrap-pad (AES keywrap with padding) ciphers.
    They have a block size of 8 bytes, but the output may be up to 15 bytes
    larger than the input.

    Use (input data length)+EVP_MAX_BLOCK_LENGTH (== 32) as the output
    buffer size, instead. OpenSSL doesn't provide a generic way to tell the
    maximum required buffer size for ciphers, but this is large enough for
    all algorithms implemented in current versions of OpenSSL.

    Fixes: https://bugs.ruby-lang.org/issues/20236

    https://github.com/ruby/openssl/commit/3035559f54

commit d39993a4ce15004d98a450dd71bb804fd0e37182
  Author:     Jaymz Julian <jaymzjulian@meta.com>
  AuthorDate: 2024-02-06 08:00:47 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2024-05-02 16:24:36 +0900

    [ruby/openssl] Fix performance regression in do_write(s)

    This causes significant performance issues when using large (>10meg) writes

    Fix by adjusting the buffer write function to clear the buffer once, rather than
    piece by piece, avoiding a case where a large write (in our case, around
    70mbytes) will consume 100% of CPU. This takes a webrick GET request via SSL
    from around 200kbyts/sec and consuming 100% of a core, to line speed on gigabit
    ethernet and 6% cpu utlization.

    https://github.com/ruby/openssl/commit/d4389b425d

commit f5af620c611bf62d2b29111a0347f306c1f38644
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-05-02 15:49:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 16:17:35 +0900

    [ruby/openssl] asn1: check error return from i2d_ASN1_TYPE()

    i2d_ASN1_TYPE() is not expected to fail, but the return value should be
    checked.

    https://github.com/ruby/openssl/commit/21ed3c310e

commit eb82ea62186fb9c9b2941b04ee12d0dcba112607
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-02 15:06:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 15:06:31 +0900

    [ruby/reline] Fix prompt width calculation bug. Test with colored
    prompt
    (https://github.com/ruby/reline/pull/695)

    https://github.com/ruby/reline/commit/24aab01cbc

commit ed5a7a59c0e909b4c77548fea06f1fd676e48a92
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-05-02 13:59:29 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-02 15:04:20 +0900

    Use callee side tag specification of parameterizing rules

commit fdf88a2c10bd0dc11d1033c2281d764dfdaa00de
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-05-02 14:50:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 14:50:08 +0900

    [ruby/reline] Avoid reading .inputrc repeatedly
    (https://github.com/ruby/reline/pull/694)

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

commit fcd89bf6682a4f488714c9e9ffe3e3d7957a72c9
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-05-02 12:17:18 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-02 13:32:04 +0900

    Lrama v0.6.9

commit d22dfce1cc5e5425e062dc7883b522ef85fe06db
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-01 15:36:36 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-02 10:14:54 +0900

    Fix memory leak of `rb_ast_t` in parser

    Do not allocate `rb_ast_t` in `ast_alloc` to avoid memory leak.

    For example:

        10.times do
          100_000.times do
            eval("")
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        17568
        20960
        24096
        27808
        31008
        34160
        37312
        40464
        43568
        46816

    After:

        14432
        14448
        14496
        14576
        14592
        15072
        15072
        15072
        15072
        15088

commit 5108bed5130be00fd4df45eb12cc8ceee4533cf0
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-30 09:08:36 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-02 10:14:54 +0900

    Revert "Fix memory leak of rb_ast_t in parser"

    This reverts commit e3bfd25bd2202a172d7709e9a2f7b65b523a132d.

    > "Allocate then wrap" is bad, because the "wrapping" itself can fail.
    See: https://github.com/ruby/ruby/pull/10618#pullrequestreview-2019294349

commit f109a83ddfcf68edb303b1e2f5bffa0986fb1436
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 07:39:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Fix up error message expectations

commit de6e05da49d4b52c8388801921101421dd2d77e9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 07:30:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Consolidate handling heredoc terminators

commit ac0f6716b1aabd3b06ac2cd26839109f56d14edf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 07:26:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Respect frozen_string_literal option in RubyVM::InstructionSequence.compile

commit 8ea6daa86d4135e74c8f56b9f8706a7e9a723f6d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 07:12:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Enable passing tests in test_syntax.rb

commit b64fd2f5c5b45b7caf29c44794118fc0f49d2bdd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 07:05:37 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Closer error messages on invalid unicode escapes in character literals

commit 1be5ede766d93d0d5056a99773c166987c5d5235
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 06:49:41 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Error message for unterminated heredoc identifier

commit 62f8fb7f8988f775cc267431e381de8984dcba31
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 06:38:18 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Fix unterminated regular expression error message

commit 5d1e4cd249c2589c95258fcd8c62d537eb810dd5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 06:33:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Better error messages for unwriteable targets

commit 4e8ae5d32a19578701e26dbad093f350ed9a37b6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 06:24:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Match unterminated error messages

commit 8e1647c3aaae357114720a4caf0f39c1fe743b2d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 07:54:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 08:03:25 +0900

    [ruby/prism] Support passing version 3.3.1

    https://github.com/ruby/prism/commit/445a0f0d22

commit 5cd0abdfb58e3ff35d18ce87f1201582e0142d15
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 04:25:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 05:57:29 +0900

    [PRISM] Simplify prism error highlighting

commit fc8fb581cf8e86ee98a35d3e9af82eb1fda9c50f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 04:40:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 04:51:09 +0900

    [ruby/prism] CRuby error message for trailing underscore in number

    https://github.com/ruby/prism/commit/4e34f236d3

commit d5d2c6ea33d4b9a359cead6b820c9243e32cdafd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 03:12:43 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 04:36:15 +0900

    [PRISM] Enable passing Symbol specs

commit efefe42dd1a1beb4c24631013a95ba19ef508d8c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 03:47:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 04:02:18 +0900

    [ruby/prism] Add more errors for dynamic constant writes in methods

    https://github.com/ruby/prism/commit/486e4c0367

commit febad5cbda83da6cadd682b52ca533751ff523db
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 03:09:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 03:49:45 +0900

    Skip Warning.[] spec if mspec is passing warning options

commit 41f8ae1ffdca349d0301b480c690e83a1dd1e723
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 01:35:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 01:43:05 +0900

    [ruby/prism] Mark errors for invalid symbols

    https://github.com/ruby/prism/commit/661884c4a3

commit 0fa09c5729fab6b5eb084a01d582587faf6405a3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-30 04:50:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 01:34:29 +0900

    [PRISM] Correct encoding for interpolated string literals in regexp

commit cfe7019ef517804e0b36c5beeb520191d7eb9b52
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-30 04:31:41 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 01:34:29 +0900

    [ruby/prism] Match CRuby interpolation semantics

    If a single string that is a static literal is interpolated, it
    does not impact whether or not the parent is a static literal. In
    this way, if you have something like a regular expression that
    interpolates a string literal, it's possible that you will end up
    pushing just a single regexp onto the stack as opposed to calling
    out to toregexp.

    https://github.com/ruby/prism/commit/4f096c2257

commit b6fa18fbe90c63b2979a4f1f8aecab1de4373664
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-30 03:33:54 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 01:34:29 +0900

    [PRISM] Properly precheck regexp for encoding issues

commit 1b8650964bb4c69e23a1e9e5f6b2d14bfe0b698a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-30 02:38:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 01:34:29 +0900

    [PRISM] Support interpolated regexp with encoding modifiers

commit fef6f5f2e1b89e8726c20c734f84bd71e6480da9
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-05-02 00:19:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 00:20:01 +0900

    [ruby/irb] Bump version to v1.13.0
    (https://github.com/ruby/irb/pull/941)

    * Bump version to v1.13.0

    * Add Documentation category to changelog

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

commit 7ef8bb129ff16750429a7ede4397d0622954ca35
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-01 23:01:02 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-02 00:09:54 +0900

    Fix memory leak in Ripper.sexp

    rb_ast_dispose does not free the rb_ast_t causing it to be leaked. This
    commit changes it to use rb_ast_free instead.

    For example:

        require "ripper"

        10.times do
          100_000.times do
            Ripper.sexp("")
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        27648
        32512
        37376
        42240
        47232
        52224
        57344
        62208
        67072
        71936

    After:

        22784
        22784
        22784
        22784
        22912
        22912
        22912
        22912
        22912
        22912

commit e9e41ad6b0b94e69e375cb2cef84e7a241d7ef56
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-01 22:48:03 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-02 00:03:00 +0900

    Fix ruby_mimcalloc size when CALC_EXACT_MALLOC_SIZE

    Should be `sizeof(struct malloc_obj_info) + (num * element)`, not
    `num * (sizeof(struct malloc_obj_info) + element)`.

commit 77f5301cd16f873bca8c09cb37223b659100c499
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-01 23:52:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 23:52:53 +0900

    [ruby/irb] Let IRB::Color.colorable? always return true|false
    (https://github.com/ruby/irb/pull/940)

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

commit 1000c27db861a4c405dcea12be391df031a14fdc
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-05-01 23:23:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 23:23:09 +0900

    [ruby/irb] Support `IRB.conf[:BACKTRACE_FILTER]`
    (https://github.com/ruby/irb/pull/917)

    * Use 'irbtest-' instead if 'irb-' as prefix of test files.

    Otherwise IRB would mis-recognize exceptions raised in test files as
    exceptions raised in IRB itself.

    * Support `IRB.conf[:BACKTRACE_FILTER]``

    This config allows users to customize the backtrace of exceptions raised
    and displayed in IRB sessions. This is useful for filtering out library
    frames from the backtrace.

    IRB expects the given value to response to `call` method and return
    the filtered backtrace.

    https://github.com/ruby/irb/commit/6f6e87d769

commit 2a978ee04732e719fb905af1baa03932b68a048a
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-05-01 23:22:41 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-01 23:22:41 +0900

    YJIT: Fix `Struct` accessors not firing tracing events (#10690)

    * YJIT: Fix `Struct` accessors not firing tracing events

    Reading and writing to structs should fire `c_call` and `c_return`, but
    YJIT wasn't correctly dropping those calls when tracing.
    This has been missing since this functionality was added in 3081c83169c,
    but the added test only fails when ran in isolation with
    `--yjit-call-threshold=1`. The test sometimes failed on CI.

    * RJIT: YJIT: Fix `Struct` readers not firing tracing events

    Same issue as YJIT, but it looks like RJIT doesn't support writing to
    structs, so only reading needs changing.

commit f4c6479eeabc2b691f07f9421b7e7d59a7f53921
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-01 22:01:36 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-01 22:01:36 +0900

    Fix xfree

    Pointers allocated with `ruby_xmalloc` (`ALLOC` macro) must be freed
    with `ruby_xfree`.

commit d1f14bafb06862e4095aea4598c7625368f6af24
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-01 06:22:04 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-01 21:54:45 +0900

    Fix leak reported by Valgrind when setting environment variables

    The call to setenv replaces the string in the environ array, which causes
    the original string to be reported as a memory leak.

    This commit allocates another copy of environ called alloc_environ that
    contains the strings allocated by ruby_init_setproctitle. Then in
    ruby_free_proctitle it frees all the strings in alloc_environ.

    For example:

        ENV.each { |k, v| ENV[k] = v.dup }

    Valgrind reports:

        3,321 bytes in 39 blocks are definitely lost in loss record 3 of 3
          at 0x484884F: malloc (vg_replace_malloc.c:393)
          by 0x25CB5B: objspace_xmalloc0 (gc.c:11972)
          by 0x40344E: ruby_strdup (util.c:540)
          by 0x59C854: ruby_init_setproctitle (setproctitle.c:143)
          by 0x38CC44: ruby_process_options (ruby.c:3101)
          by 0x234DB1: ruby_options (eval.c:117)
          by 0x15B92E: rb_main (main.c:40)
          by 0x15B92E: main (main.c:59)

commit 57eca0a80dbe5d829108d9a7f46123eb80cd3254
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-01 17:46:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-01 17:46:41 +0900

    Test for memory leak

commit acc76c8c911467fc9496789c52851ba45a9ef5d4
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-04-29 11:59:09 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-01 15:53:08 +0900

    Use user defined parameterizing rules `f_opt(value)`

commit c28329817d07e221290d3c4729db38bc6938ee10
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-04-29 10:50:53 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-01 14:50:10 +0900

    Use user defined parameterizing rules `f_kwarg(kw)`

commit 9f7e0d2bb40afd17886272334413b5ae109a5f56
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-04-29 01:08:08 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-01 13:53:37 +0900

    Use user defined parameterizing rules `opt_args_tail(tail)`

commit 0c13596686823427a52253ae0fdea9b37f0533a0
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-04-30 22:31:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 08:31:26 +0900

    [ruby/delegate] test: remove needless mu_pp

    It's for minitest. We don't need it with test-unit.

    https://github.com/ruby/delegate/commit/447cd43973

commit ade22339e3056710dbe27eaa624c2e76fa15567b
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-05-01 02:57:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-01 02:57:18 +0900

    YJIT: print msg to stderr when RubyVM::YJIT.disasm not available (#10688)

    * YJIT: print msg to stderr when RubyVM::YJIT.disasm not available

    Print a more useful error message when people try to use this
    feature without YJIT dev.

    Also fix an issue with .gitignore file on macOS

    * Update yjit.rb

    Co-authored-by: Randy Stauner <randy@r4s6.net>

    * Use warn and always return nil if YJIT disasm not available.

    ---------

    Co-authored-by: Randy Stauner <randy@r4s6.net>

commit bd419a6578e89c8d853937de686617afe13227b3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-30 00:23:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-01 02:04:15 +0900

    Removed unused TICK_TYPE 2

    TICK_TYPE of 2 can never be used because we hard code TICK_TYPE to 1.

commit 614187f8c284ef9adfca8a6fa91a0ae58889eff2
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-01 01:51:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 01:51:25 +0900

    [ruby/reline] Fix completion dialog position when completed part is
    wordwrapped
    (https://github.com/ruby/reline/pull/692)

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

commit d7ba0fec492823f5191a34be5fe4b8e0b5641f07
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-04-29 04:26:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 00:34:49 +0900

    [rubygems/rubygems] Update lib/rubygems/package.rb

    https://github.com/rubygems/rubygems/commit/c4e75b9f74

commit d950609ec709c7c4dc48603b9b2d88f840a520fb
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-04-11 16:05:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 00:34:48 +0900

    [rubygems/rubygems] Add a limit to the size of the metadata and checksums files in a gem package.

    This is to prevent a malicious gem from causing a denial of service by
    including a very large metadata or checksums file,
    which is then read into memory in its entirety just by opening the gem package.

    This is guaranteed to limit the amount of memory needed, since
    gzips (which use deflate streams for compression) have a maximum compression
    ratio of 1032:1, so the uncompressed size of the metadata or checksums file
    will be at most 1032 times the size of the (limited) amount of data read.

    This prevents a gem from causing 500GB of memory to be allocated
    to read a 500MB metadata file.

    https://github.com/rubygems/rubygems/commit/a596e3c5ec

commit e0949c3f7cbf32d46ee276d69343b7cb8da4325f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-01 00:17:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 00:23:15 +0900

    [ruby/openssl] Remove trailing space in test_ssl.rb

    https://github.com/ruby/openssl/commit/911a31335f

commit 9d75d9f07ce1d7ac5a75d787c5acff2aa11e99c9
  Author:     Bart de Water <496367+bdewater@users.noreply.github.com>
  AuthorDate: 2024-03-16 00:05:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 00:05:50 +0900

    [ruby/openssl] Update Cipher#name to match Digest#name explanation

    https://github.com/ruby/openssl/commit/79e6dead6e

commit cc6657e563298e6c5ce50af3d107a60791b723af
  Author:     Bart de Water <496367+bdewater@users.noreply.github.com>
  AuthorDate: 2024-03-12 11:27:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 00:05:50 +0900

    [ruby/openssl] Add OpenSSL::Digest.digests to get a list of available digests

    https://github.com/ruby/openssl/commit/08dd3c73b7

commit 1ca4c52b6488b98804c9bb6d4cf5455773badba9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-30 06:42:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-30 23:57:32 +0900

    Free unused_block_warning_table when RUBY_FREE_AT_EXIT

commit 368ce0758e1f4c0fd38ae08297f432c0a9589d4a
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-04-28 15:09:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-30 23:51:59 +0900

    [ruby/openssl] Further clarification of documentation.

    https://github.com/ruby/openssl/commit/0697f2f8b4

commit f1afae2459e139430859f57b8351d180e9ef5d9f
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-04-27 21:06:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-30 23:51:59 +0900

    [ruby/openssl] More documentation.

    https://github.com/ruby/openssl/commit/c8377eaf8d

commit 1699772ac4e62d783aab6e820f978c04a215a612
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-04-22 17:48:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-30 23:51:58 +0900

    [ruby/openssl] Introduce basic support for `close_read` and `close_write`.

    https://github.com/ruby/openssl/commit/c99d24cee9

commit 8fb430c1da0d27247c5b425487ab4766afe8165d
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-30 19:29:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-30 19:29:38 +0900

    [ruby/irb] Restore MAIN_CONTEXT correctly
    (https://github.com/ruby/irb/pull/937)

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

commit 7a8882bc30bdbece9a92ce4a2b44561402492b0e
  Author:     Richard Ricciardelli <ricciardelli2021@gmail.com>
  AuthorDate: 2024-04-29 20:23:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-30 10:34:40 +0900

    [DOC] Fix typo: Replace `documentatation` with `documentation`

commit 528c4501f46fbe1e06028d673a777ef124d29829
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-26 18:16:36 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-30 09:00:05 +0900

    Use `rb_parser_string_t *` as `ruby_sourcefile_string`

    This reduces dependency on VALUE.

commit 0aefd2f7849a3dc73e17cc13084b38d3d2e8b341
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-30 05:54:39 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-30 05:54:39 +0900

    YJIT: Pass options to ruby/spec with `-T` (#10599)

    We recently found out that `make test-spec` wasn't testing with
    `--yjit-call-threshold=1` like the other test suites, and that we need
    to use `-T` to pass options to it.

commit 470eceff8fba796418c77319262e01b9d278a9fe
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-30 04:55:10 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-04-30 05:36:27 +0900

    YJIT: Remove CString allocation when using `src_loc!()`

    Since we often take the VM lock as the first thing we do when entering
    YJIT, and that needs a `src_loc!()`, this removes a allocation from
    that. The main trick here is `concat!(file!(), '\0')` to get a C string
    statically baked into the binary.

commit de0ad3be8ee0ac3b1f8e97dae934e82951721061
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-30 05:08:06 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-30 05:08:06 +0900

    YJIT: Take VM lock when invalidating

    We need the lock to patch code safely.
    This might fix some Ractor related crashes seen on CI.

commit adae813c5ff34c7a2981f9d700e86a6095c92774
  Author:     Randy Stauner <randy@r4s6.net>
  AuthorDate: 2024-04-30 04:25:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-30 04:25:22 +0900

    YJIT: Expand codegen for `TrueClass#===` to `FalseClass` and `NilClass` (#10679)

commit 845f2db1360032a0506c5d5a8570f5c73a2588a3
  Author:     Randy Stauner <randy.stauner@shopify.com>
  AuthorDate: 2024-04-30 03:32:07 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-30 03:32:07 +0900

    YJIT: Add specialized codegen function for `TrueClass#===` (#10640)

    * YJIT: Add specialized codegen function for `TrueClass#===`

    TrueClass#=== is currently number 10 in the most frequent C calls list of the lobsters benchmark.

    ```
    require "benchmark/ips"

    def wrap
      true === true
      true === false
      true === :x
    end

    Benchmark.ips do |x|
      x.report(:wrap) do
        wrap
      end
    end
    ```

    ```
    before
    Warming up --------------------------------------
                    wrap     1.791M i/100ms
    Calculating -------------------------------------
                    wrap     17.806M (± 1.0%) i/s -     89.544M in   5.029363s

    after
    Warming up --------------------------------------
                    wrap     4.024M i/100ms
    Calculating -------------------------------------
                    wrap     40.149M (± 1.1%) i/s -    201.223M in   5.012527s
    ```

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
    Co-authored-by: Takashi Kokubun (k0kubun) <takashikkbn@gmail.com>
    Co-authored-by: Kevin Menard <kevin.menard@shopify.com>
    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

    * Fix the new test for RJIT

    ---------

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
    Co-authored-by: Takashi Kokubun (k0kubun) <takashikkbn@gmail.com>
    Co-authored-by: Kevin Menard <kevin.menard@shopify.com>
    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

commit e3bfd25bd2202a172d7709e9a2f7b65b523a132d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-30 02:07:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-30 03:04:42 +0900

    Fix memory leak of rb_ast_t in parser

    ast_alloc uses TypedData_Make_Struct, which allocates a rb_ast_t. But it
    is overwritten when we set the DATA_PTR so the original memory is leaked.

    For example:

        10.times do
          100_000.times do
            eval("")
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        17328
        20752
        23664
        28400
        30656
        34224
        37424
        40784
        43328
        46656

    After:

        14320
        14320
        14320
        14320
        14320
        14320
        14320
        14336
        14336
        14336

commit 95d036aaf07892f5b97ce744a42e8d541cad91ec
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-30 02:06:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-30 03:04:42 +0900

    Fix memory leak in ruby_parser

    For example:

        10.times do
          100_000.times do
            eval("")
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        19872
        26480
        32848
        39504
        45904
        52672
        59200
        65760
        72128
        78496

    After:

        17328
        20752
        23664
        28400
        30656
        34224
        37424
        40784
        43328
        46656

commit d75bbba255e086d625429d5a1311cc4b4396c296
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-30 02:00:14 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-30 02:28:15 +0900

    [PRISM] Remove false positive compile warnings for branch coverage

commit dbb1ba88ebb5a08ea5a856c8086aa253b59b6f70
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-29 22:35:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 22:35:59 +0900

    [ruby/reline] Bump version to 0.5.4
    (https://github.com/ruby/reline/pull/691)

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

commit 814d4b5e2c2c583bc82aa5173419cfb3fd48f4fd
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-29 22:22:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 22:23:03 +0900

    [ruby/reline] Input with eof and no newline bugfix
    (https://github.com/ruby/reline/pull/671)

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

commit 4c41203bbbd14c1b03a2aacab4e604229fc933cf
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-29 17:23:28 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-29 21:26:44 +0900

    Remove needless header file include

commit ae701031f5c727db3967f1c2b0d1910bc6063c05
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-29 21:08:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 21:08:59 +0900

    [ruby/reline] Completely support full-width characters in
    differential rendering
    (https://github.com/ruby/reline/pull/654)

    * Add a cut variation of Reline::Unicode.take_range method take_mbchar_range

    * Consider fullwidth take_range in differential rendering

    https://github.com/ruby/reline/commit/29714df09f

commit 018c5717e5fb18c253765b69c4894757595a27b6
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-29 21:05:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 21:05:36 +0900

    [ruby/reline] Handle mode condition in inputrc
    (https://github.com/ruby/reline/pull/687)

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

commit 435f449b4e909b2a480b0c83e7cc4b0dac22bea3
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-28 01:20:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 19:29:29 +0900

    [rubygems/rubygems] Make sure to force latest resolvable version explicitly

    To make sure we can always update to the latest resolvable version for
    each gem explicitly requested for update, we first run a full update,
    and then add explicit exact requirements to the resolved versions. This
    may lead into conflicts, but our resolver already automatically parses
    those and unlocks additional gems to fix them.

    https://github.com/rubygems/rubygems/commit/01c0bf34f0

commit 491195af0279537805d714ba437965ba38d44c29
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-26 02:11:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 19:29:28 +0900

    [rubygems/rubygems] Keep track of gems requested for update explicitly

    https://github.com/rubygems/rubygems/commit/ea43e4c6d7

commit 83933f921b03c05da38301d713559dfd498c4a53
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-05 03:01:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 19:29:28 +0900

    [rubygems/rubygems] No need to reset version promoter here

    Since resolution options don't change.

    https://github.com/rubygems/rubygems/commit/5c5aa38c06

commit 53571de8e9605c7a373b0ffc9f94167cf898f568
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-26 17:44:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 18:04:33 +0900

    [rubygems/rubygems] Fix circular require warning

    https://github.com/rubygems/rubygems/commit/241d0aafcd

commit d6cb62a88f4d31548dfedd1cdb4082be8b7ced2e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-24 03:15:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 17:57:35 +0900

    [rubygems/rubygems] Show better error when installed gemspecs are unreadable

    https://github.com/rubygems/rubygems/commit/924f87c8a9

commit 68a1867f53c5343a72a436fe75eccafdbcb41ce0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-24 04:56:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 17:56:55 +0900

    [rubygems/rubygems] Fix issue with `bundle update` with an out of sync lockfile

    An old platform related bug fix made some existing lockfiles no longer
    work because they included invalid platforms. So to make it backwards
    compatible, code was added to remove invalid platforms from the lockfile
    before resolution. This is skipped though when Gemfile has changed
    dependencies because in that case we will be re-resolving anyways.
    However, in the `bundle update` case, the detection of "dependencies
    have changed" was not actually working making Bundler remove all
    platforms and not be able to resolve.

    https://github.com/rubygems/rubygems/commit/6452adfd62

commit 6203307f164453d67ec80048483e72b30a63b7c0
  Author:     Andy Waite <13400+andyw8@users.noreply.github.com>
  AuthorDate: 2024-04-29 09:05:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 17:42:07 +0900

    [rubygems/rubygems] Address PR feedback

    https://github.com/rubygems/rubygems/commit/62be097a32

commit 2a683f3f7db10ae88bca125a9030a56a42e6d6b8
  Author:     Andy Waite <13400+andyw8@users.noreply.github.com>
  AuthorDate: 2024-04-27 23:45:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 17:42:07 +0900

    [rubygems/rubygems] Clarify `bundle check` behaviour in docs

    https://github.com/rubygems/rubygems/commit/c438c6db2e

commit 5ed2064419a9f929bea3bfa6a7c01b807e45a07b
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-29 14:07:17 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-29 15:09:26 +0900

    Lrama v0.6.8

commit b7bd55cdc7125c4d383eea0e9be6e57015cd19b5
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-04-29 10:09:15 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-04-29 10:09:15 +0900

    suppress -Wold-style-cast warnings

commit 17a0e2ac049d051f7c5af00d0a179d1b4efc3005
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-04-29 10:03:50 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-04-29 10:03:50 +0900

    workaround C++ compile error

    We observe compiler error on FreeBSD.  Their stdckdint.h does not
    understand C++.  This shall be addressed on their side.  Unti then we
    resport to our own version.

    https://rubyci.s3.amazonaws.com/freebsd14/ruby-master/log/20240427T143002Z.log.html.gz

commit a6308ca9589638c2efb791ac6858fdda8cb06c44
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-28 09:33:00 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-29 08:38:23 +0900

    ripper: Move DSL line pattern

commit f9cf923af2c54345b1d6756e3268b509655754a3
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-04-27 21:16:38 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-29 08:38:23 +0900

    Use user defined parameterizing rules

commit 29aaf4abe61e5ce24577eb3e8ccaa0a21934bb30
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-28 12:45:30 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-28 17:58:57 +0900

    Remove `ast_new` field from `struct rb_parser_config_struct`

    `ast_new` can be embedded into `rb_ast_new`.

commit 5c3d5c7cddb7ecd4c8b776492a232abafbaae0e6
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-28 12:30:04 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-28 13:38:36 +0900

    Lrama v0.6.7

commit ddd8da4b6ba3dfcca21ca710e7cef2fa3b9632d7
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-04-27 16:28:52 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-28 12:08:21 +0900

    [Universal parser] Improve AST structure

    This patch moves `ast->node_buffer->config` to `ast->config` aiming to improve readability and maintainability of the source.

    ## Background

    We could not add the `config` field to the `rb_ast_t *` due to the five-word restriction of the IMEMO object.
    But it is now doable by merging https://github.com/ruby/ruby/pull/10618

    ## About assigning `&rb_global_parser_config` to `ast->config` in `ast_alloc()`

    The approach of not setting `ast->config` in `ast_alloc()` means that the client, CRuby in this scenario, that directly calls `ast_alloc()` will be responsible for releasing it if a resource that is passed to AST needs to be released.

    However, we have put on hold whether we can guarantee the above so far, thus, this patch looks like that.

    ```
    // ruby_parser.c
    static VALUE
    ast_alloc(void)
    {
        rb_ast_t *ast;
        VALUE vast = TypedData_Make_Struct(0, rb_ast_t, &ast_data_type, ast);
    #ifdef UNIVERSAL_PARSER
        ast = (rb_ast_t *)DATA_PTR(vast);
        ast->config = &rb_global_parser_config;
    #endif
        return vast;
    }
    ```

commit 8ad0b2cd310b4ca5af9a24610117a05acc35bcae
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-04-20 00:30:38 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-28 09:01:49 +0900

    Use `' '+` instead of words_sep

commit 937cb1176de32b69d9b800e7d0bd3b88cb83d06b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-28 00:06:24 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-28 00:06:24 +0900

    Fix regexps for abbreviated options

commit a0b4f0bcc97331e8feae1bcc9567f821921669b9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-28 00:03:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-28 00:03:09 +0900

    Timeout scale in bootstraptest

commit 602193ded761fd0489b82cf705416bdc3f9cf501
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-28 00:02:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-28 00:02:33 +0900

    Timeout in bootstraptest

commit c844968b725416efba767ea6161b4c14d8fd9536
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-04-25 16:59:22 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-04-27 21:55:28 +0900

    ruby tool/update-deps --fix

commit bb5a53820703f5e1af886a0c5ca7178aa976be29
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-04-25 16:25:15 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-04-27 21:55:28 +0900

    use of stdckdint.h

    C23 is going to have this header.  The industry is already moving
    towards accepting it; OSes and compilers started to implement theirs.

    Why not detect its presence and if any, prefer over other ways.

    See also:

    - https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2683.pdf
    - https://reviews.freebsd.org/D41734
    - https://reviews.llvm.org/D157331
    - https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=8441841a1b985d68245954af1ff023db121b0635

commit 9ea77cb3514664fc150515765fb9ede5b2b6ab4c
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-04-27 16:00:06 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-27 17:56:20 +0900

    Remove unnecessary assignment to ast->body.line_count

    This patch removes a code that assigns `-1` to `ast->body.line_count` because, at least as of now, it looks not necessary.
    I made this commit atomically revertable if I was wrong.

    ## Relevant commits

    - The preparation for this PR: https://github.com/ruby/ruby/pull/10655/files#diff-2af2e7f2e1c28da5e9d99ad117cba1c4dabd8b0bc3081da88e414c55c6aa9549R1484-R1493
    - The original commit that introduced the code: https://github.com/ruby/ruby/commit/d65f7458bc8b4fa4404c41713cfa1ece5260fc8a

commit ef3e3e9a2ff7684003b329f4353e3fafda38baaf
  Author:     jinroq <2787780+jinroq@users.noreply.github.com>
  AuthorDate: 2024-04-27 12:47:45 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-27 12:47:45 +0900

    Fixed a value specified for OPT_THREADED_CODE (#10657)

    Values defined for OPT_THREADED_CODE are 0,1,2. However, 1,2,3 are set in workflow. It seems that case 3 does not exist, so 0 is specified instead.

    Co-authored-by: jinroq <jinroq@users.noreply.github.com>

commit 8089faee451c94e3becdccbe8f98a75ab9585333
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-27 12:43:22 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-27 12:43:22 +0900

    Revert "YJIT: Try splitting getlocal/setlocal blocks (#10648)"

    This reverts commit ab228bd0844758a1c444e39030c153874adf9120.

commit 55a402bb759597487905a94d5b1bbff4a672499c
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-04-26 21:43:35 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-27 12:08:26 +0900

    Add line_count field to rb_ast_body_t

    This patch adds `int line_count` field to `rb_ast_body_t` structure.
    Instead, we no longer cast `script_lines` to Fixnum.

    ## Background

    Ref https://github.com/ruby/ruby/pull/10618

    In the PR above, we have decoupled IMEMO from `rb_ast_t`.
    This means we could lift the five-words-restriction of the structure
    that forced us to unionize `rb_ast_t *` and `FIXNUM` in one field.

    ## Relating refactor

    - Remove the second parameter of `rb_ruby_ast_new()` function

    ## Attention

    I will remove a code that assigns -1 to line_count, in `rb_binding_add_dynavars()`
    of vm.c, because I don't think it is necessary.
    But I will make another PR for this so that we can atomically revert
    in case I was wrong (See the comment on the code)

commit bf1f16ef47966e33401e5b9656a4ae4152dd1e60
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-27 01:10:06 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-27 10:06:09 +0900

    Lrama v0.6.6

commit 2ba7c1b142f85a11e11b4861079f3df0f456ab3a
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-27 09:12:45 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-27 10:03:26 +0900

    YJIT: Correct signature of rb_yjit_root_mark()

    Even though unused, it's supposed to take a pointer like the C side
    expects.

commit 83c03cc73a30d27f8b35f2d08ba763353bf8e18f
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-27 09:09:19 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-27 10:03:26 +0900

    YJIT: Stop asserting rb_objspace_markable_object_p()

    Because of the way things are sequenced, it doesn't work properly during
    auto-compaction.

commit 73eeb8643b8dcb5a059cb55a21da2e77a2febd24
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-27 09:03:48 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-27 10:03:26 +0900

    YJIT: Fix reference update for `Invariants::no_ep_escape_iseqs`

    Previously, the update was done in the ISEQ callback. That effectively
    never updated anything because the callback itself is given an intact
    reference, so it could update its content, and `rb_gc_location(iseq)`
    never returned a new address. Update the whole table once in the YJIT
    root instead.

commit c746332c797a6bd1a887538b2bc7ad57b2055f36
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-27 09:35:52 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-27 09:35:52 +0900

    Revert "Use -v to investigate which test is stuck"

    This reverts commit 444553b528a54a97e539de212ffc4c6466a6db20.

    At least it should no longer timeout.

commit c32366ff79b75847cf156512eb408afcb021f840
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-27 09:18:48 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-27 09:18:49 +0900

    Avoid overriding GNUMAKEFLAGS's -j

    .github/actions/setup/directories/action.yml sets GNUMAKEFLAGS. Having
    -j here is rather harmful.

    Partly reverts f8dad616c2ee2d83b3162da8d86865b0f2a782de.

commit f64c97418bb32c8595829c658251f6145a76c13a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-27 04:27:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-27 06:02:08 +0900

    Allow RUBY_GC_LIBRARY_PATH to be set in miniruby

    miniruby is used by tool/runruby.rb, so we need to ensure we don't rb_bug
    when RUBY_GC_LIBRARY_PATH is set so we can run tests using the make
    commands. This commit changes it to warn instead.

commit ddce8ca83175e9fafd3402043eb383ffbe48ce40
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-27 04:13:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 06:01:13 +0900

    [PRISM] Enable integer test

commit 3872e54039f467cdab5c9a0e384d91d37d436ecb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-24 04:50:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 06:01:03 +0900

    [ruby/prism] Bump to v0.27.0

    https://github.com/ruby/prism/commit/c9edeef91a

commit bb3dd5b80899b4f714cf5b1a820f92e6bd736e87
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-27 04:03:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 06:01:03 +0900

    [PRISM] Sync latest config.yml documentation updates

commit 41e17f562453d8711bc64801075e45373ebb3676
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-27 03:10:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-27 05:58:20 +0900

    Fix compiler warning for ruby_external_gc_init

    Fixes:

        warning: old-style function definition [-Wold-style-definition]

commit ab228bd0844758a1c444e39030c153874adf9120
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-27 05:02:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-27 05:02:22 +0900

    YJIT: Try splitting getlocal/setlocal blocks (#10648)

commit 46480e3042fed08a6b4f2ff96b5acc1539b812b1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-27 03:22:34 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 04:16:58 +0900

    [PRISM] Use redundant return flag

commit 96880931244513b35846db9f0b811a5db473f989
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-27 03:55:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-27 04:05:32 +0900

    [ruby/prism] Location#slice_lines, Node#slice_lines

    https://github.com/ruby/prism/commit/9b61f6fdb3

commit 0599184a18026c9a5a189c93c1cd6c9c6d23b4ad
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-27 03:44:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-27 03:55:27 +0900

    [ruby/prism] Match CRuby error messages for invalid numerics

    https://github.com/ruby/prism/commit/be21a1bd1d

commit a1db69f0c9a8c3cb9e03b1701a82c2ea2c167500
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-27 03:11:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-27 03:11:30 +0900

    Skip a flaky Ractor test for YJIT

    https://github.com/ruby/ruby/actions/runs/8852277192/job/24310631888
    https://github.com/ruby/ruby/actions/runs/8851325573/job/24307638329

    This seems like an existing, separate issue from what we're currently
    investigating. The `iseq->body->jit_entry` setup is not Ractor-safe?
    Let me suppress this for now and revisit this after resolving the
    ongoing issue.

commit 6a296089c61223ca040e6dc3b92d9bbd1c62c309
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-27 02:23:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-27 03:10:42 +0900

    [ruby/prism] Add a flag on returns when they are redundant

    https://github.com/ruby/prism/commit/450541d2c3

commit 148518baa06c50669de98d078f743a594ffe2fba
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-27 02:52:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-27 02:52:12 +0900

    [ruby/irb] Suppress command return values
    (https://github.com/ruby/irb/pull/934)

    Since commands can't be chained with methods, their return values are
    not intended to be used. But if IRB keeps storing command return values
    as the last value, and print them, users may rely on such implicit
    behaviour.

    So to avoid such confusion, this commit suppresses command's
    return values. It also updates some commands that currently rely on
    this implicit behaviour.

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

commit 6b120135afe1529a8ed1532b9da6878f1f4b1fbf
  Author:     Job Snijders <job@sobornost.net>
  AuthorDate: 2024-03-25 21:20:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-27 01:55:15 +0900

    [ruby/openssl] Only CSR version 1 (encoded as 0) is allowed by PKIX standards

    RFC 2986, section 4.1 only defines version 1 for CSRs. This version
    is encoded as a 0. Starting with OpenSSL 3.3, setting the CSR version
    to anything but 1 fails.

    Do not attempt to generate a CSR with invalid version (which now fails)
    and invalidate the CSR in test_sign_and_verify_rsa_sha1 by changing its
    subject rather than using an invalid version.

    This commit fixes the following error.

    ```
     2) Error: test_version(OpenSSL::TestX509Request): OpenSSL::X509::RequestError:
    X509_REQ_set_version: passed invalid argument
    /home/runner/work/openssl/openssl/test/openssl/test_x509req.rb:18:in `version='
    /home/runner/work/openssl/openssl/test/openssl/test_x509req.rb:18:in `issue_csr'
    /home/runner/work/openssl/openssl/test/openssl/test_x509req.rb:43:in
    `test_version'
         40:     req = OpenSSL::X509::Request.new(req.to_der)
         41:     assert_equal(0, req.version)
         42:
      => 43:     req = issue_csr(1, @dn, @rsa1024, OpenSSL::Digest.new('SHA256'))
         44:     assert_equal(1, req.version)
         45:     req = OpenSSL::X509::Request.new(req.to_der)
         46:     assert_equal(1, req.version)
    ```

    https://github.com/ruby/openssl/commit/c06fdeb091

commit 9aecff25304939644681b62e14b5542299e236af
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-26 03:44:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Fix up if condition branch coverage location

commit c46e32e34204b7121aaa4567a3c3c016271f9ea6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-26 03:39:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Fix up branch coverage for &. with block

commit d06bbafd3f6e77b0af100e8755c79d2a681362b4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-26 00:30:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Enable branch coverage for if/unless conditionals

commit 881c450135167a8ebee7ca17e4febf9bf4c70029
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-26 00:14:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Enable branch coverage for while/until loops

commit 43076bf9d10939352c8010aa67b05270ab3fc9b9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-26 00:06:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Enable branch coverage for case pattern matching

commit e5bd4c78b238f59307739542d163e6f8bac20b9a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 22:58:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Enable branch coverage for case

commit 235a3f3b7c08177b2f67a86e87ffc06c6e164a30
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 22:17:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Enable branch coverage for &.

commit 6509634ebad0af34c16cfdd59181b42ac6b0519f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 22:05:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Modify test_coverage to take prism into account

commit 94d6295b2d41227b47f44b30f3e46a666b13d7f7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 21:50:23 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Enable coverage in eval ISEQs

commit 49764869af13002b4e3002b7461ff341f3d8f5d5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 21:48:20 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Enable coverage in top and main iseqs

commit af800bef210f5cca5acdcfd874b1391d44eec29c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-19 02:37:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    Remove dependency on NODE from coverage structure

commit 353cba49558d56b10ed549a628ee54cd8875b8f5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-25 23:45:26 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-27 00:43:14 +0900

    Use fprintf for error message when loading external GC

    The error message is often long, so using a small buffer could cause it
    to be truncated. rb_bug also has a 256 byte message buffer, so it could
    also be truncated.

commit 67b79d484f97033d362305607f0031ef7fa39f12
  Author:     Sam Aaron <samaaron@gmail.com>
  AuthorDate: 2024-04-27 00:10:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-27 00:10:42 +0900

    Enable Ruby to run on Windows with frozen string literals

commit 69c1bd90be2d1502ace02601fff4dd362604c13f
  Author:     Diego Henrique <gobr.null@gmail.com>
  AuthorDate: 2024-04-26 23:31:36 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-26 23:31:36 +0900

    [DOC] Fix a typo in globals.rdoc

    Noticed this small type while reading the docs.

commit dd578cf2f134e915abdf41393fc08f29640fb9c9
  Author:     Artur <22315378+artur-intech@users.noreply.github.com>
  AuthorDate: 2024-04-26 21:33:41 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-26 21:33:41 +0900

    [DOC] Enhance `Numeric#nonzero?` doc

    Add `zero?` as a related method

commit 25a8b76c763692083f6e850693b1319f1c544171
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-26 21:12:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-26 21:12:31 +0900

    [ruby/irb] Command registration should take both strings and symbols
    as names
    (https://github.com/ruby/irb/pull/932)

    This will save users some heads scratching when they try to register a
    command with a string name and found that it doesn't work.

    I also rewrote converted custom command tests into integration tests to
    make test setup/cleanup easier.

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

commit 140c59c633b554d437ebcc0931bcc7f4fc5af235
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-26 18:38:12 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-26 20:34:49 +0900

    Set `SCRIPT_LINES__` outside of parser

    Parser should not depend on functions defiend on "ruby_parser.c".

commit 762491db822570e20090d6ba1cdec16ae2845397
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-26 18:08:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-26 18:17:09 +0900

    [DOC] Caveat about "allocate then wrap"

commit 2244c58b009c31da60ad108d6cbccf99d97a5e29
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-04-16 18:42:42 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-26 11:21:08 +0900

    [Universal parser] Decouple IMEMO from rb_ast_t

    This patch removes the `VALUE flags` member from the `rb_ast_t` structure making `rb_ast_t` no longer an IMEMO object.

    ## Background

    We are trying to make the Ruby parser generated from parse.y a universal parser that can be used by other implementations such as mruby.
    To achieve this, it is necessary to exclude VALUE and IMEMO from parse.y, AST, and NODE.

    ## Summary (file by file)

    - `rubyparser.h`
      - Remove the `VALUE flags` member from `rb_ast_t`
    - `ruby_parser.c` and `internal/ruby_parser.h`
      - Use TypedData_Make_Struct VALUE which wraps `rb_ast_t` `in ast_alloc()` so that GC can manage it
        - You can retrieve `rb_ast_t` from the VALUE by `rb_ruby_ast_data_get()`
      - Change the return type of `rb_parser_compile_XXXX()` functions from `rb_ast_t *` to `VALUE`
      - rb_ruby_ast_new() which internally `calls ast_alloc()` is to create VALUE vast outside ruby_parser.c
    - `iseq.c` and `vm_core.h`
      - Amend the first parameter of `rb_iseq_new_XXXX()` functions from `rb_ast_body_t *` to `VALUE`
      - This keeps the VALUE of AST on the machine stack to prevent being removed by GC
    - `ast.c`
      - Almost all change is replacement `rb_ast_t *ast` with `VALUE vast` (sorry for the big diff)
      - Fix `node_memsize()`
        - Now it includes `rb_ast_local_table_link`, `tokens` and script_lines
    - `compile.c`, `load.c`, `node.c`, `parse.y`, `proc.c`, `ruby.c`, `template/prelude.c.tmpl`, `vm.c` and `vm_eval.c`
      - Follow-up due to the above changes
    - `imemo.{c|h}`
      - If an object with `imemo_ast` appears, considers it a bug

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 9b5bc8e6ea3e5269a5415546a33fd09035eab168
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-26 06:01:54 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-04-26 07:38:14 +0900

    YJIT: Relax `--yjit-verify-ctx` after singleton class creation

    Types like `Type::CString` really only assert that at one point the object had
    its class field equal to `String`. Once a singleton class is created for any
    strings, the type makes no assertion about any class field anymore, and becomes
    the same as `Type::TString`.

    Previously, the `--yjit-verify-ctx` option wasn't allowing objects of these
    kind that have have singleton classes to pass verification even though the code
    generators handle it just fine.

    Found through `ruby/spec`.

commit 49753cd082b31b82b527eb683c9381cd5787293d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-25 04:32:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-26 06:11:34 +0900

    Use xcalloc for allocating shape tree

    The GC is initialized by this point, so we can use xcalloc instead of
    ruby_mimcalloc.

commit af24ba40344cdd83865c7c580756352be526794a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-26 02:32:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-26 03:59:48 +0900

    [PRISM] Raise LoadError when file cannot be read

commit 6f4f360fc46269eaba753cafe557519677a45a11
  Author:     Josh Nichols <josh.nichols@gusto.com>
  AuthorDate: 2023-03-29 04:45:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-26 03:46:05 +0900

    [rubygems/rubygems] Add auto_install support to require "bundler/setup"

    We have some places that already use `bundle config auto_install true`,
    ie:

    https://github.com/technicalpickles/rubygems/blob/7a144f3374f6a400cc9832f072dc1fc0bca8c724/bundler/lib/bundler/cli.rb#L11

    This applies the same logic (copy and pasted) to happen when you
    `require "bundler/setup"`.

    https://github.com/rubygems/rubygems/commit/bb3c922341

commit b6489e9f62dae9e62a4f978e0cb1091ab13c274c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-26 02:00:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-26 03:00:09 +0900

    [ruby/prism] Remove need for Natalie patches

    https://github.com/ruby/prism/commit/7fc7e13476

commit 444553b528a54a97e539de212ffc4c6466a6db20
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-26 02:38:54 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-26 02:38:56 +0900

    Use -v to investigate which test is stuck

commit 4ff249363de16b4e5bf3166ba3df04e0f9e352a0
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-26 01:12:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-26 01:12:50 +0900

    [ruby/reline] Fix inputrc nested $if $else $endif bug
    (https://github.com/ruby/reline/pull/689)

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

commit 3a5d9553a7b2c21d121160b1646e43884825ede0
  Author:     Daniel Colson <danieljamescolson@gmail.com>
  AuthorDate: 2024-04-25 23:45:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-26 00:28:56 +0900

    Don't use assert_separately in Bug 20453 test

    https://github.com/ruby/ruby/pull/10630#discussion_r1579565056

    The PR was merged before I had a chance to address this feedback.
    `assert_separately` is not necessary for this test if I don't use a
    global timeout.

commit d292a9b98ce03c76dbe13138d20b9fbf613cc02d
  Author:     Daniel Colson <danieljamescolson@gmail.com>
  AuthorDate: 2024-04-25 11:20:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-25 23:28:18 +0900

    [Bug #20453] segfault in Regexp timeout

    https://bugs.ruby-lang.org/issues/20228 started freeing `stk_base` to
    avoid a memory leak. But `stk_base` is sometimes stack allocated (using
    `xalloca`), so the free only works if the regex stack has grown enough
    to hit `stack_double` (which uses `xmalloc` and `xrealloc`).

    To reproduce the problem on master and 3.3.1:

    ```ruby
    Regexp.timeout = 0.001
    /^(a*)x$/ =~ "a" * 1000000 + "x"'
    ```

    Some details about this potential fix:

    `stk_base == stk_alloc` on
    [init](https://github.com/ruby/ruby/blob/dde99215f2bc60c22a00fc941ff7f714f011e920/regexec.c#L1153),
    so if `stk_base != stk_alloc` we can be sure we called
    [`stack_double`](https://github.com/ruby/ruby/blob/dde99215f2bc60c22a00fc941ff7f714f011e920/regexec.c#L1210)
    and it's safe to free. It's also safe to free if we've
    [saved](https://github.com/ruby/ruby/blob/dde99215f2bc60c22a00fc941ff7f714f011e920/regexec.c#L1187-L1189)
    the stack to `msa->stack_p`, since we do the `stk_base != stk_alloc`
    check before saving.

    This matches the check we do inside
    [`stack_double`](https://github.com/ruby/ruby/blob/dde99215f2bc60c22a00fc941ff7f714f011e920/regexec.c#L1221)

commit 7ab1a608e7413cdb0f93243eb3e6e20a32cec44e
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-25 23:04:53 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-25 23:04:53 +0900

    YJIT: Optimize local variables when EP == BP (take 2) (#10607)

    * Revert "Revert "YJIT: Optimize local variables when EP == BP" (#10584)"

    This reverts commit c8783441952217c18e523749c821f82cd7e5d222.

    * YJIT: Take care of GC references in ISEQ invariants

    Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>

    ---------

    Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>

commit f248e1008a8f79cca801b27d512a587f65a0dd36
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-25 01:18:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-25 22:25:33 +0900

    Embed rb_gc_function_map_t in rb_vm_t

    Avoids a pointer indirection and memory allocation.

commit b50e1e68b6050033587e9f6deaf7a104926a01ae
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 04:55:18 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-25 21:14:56 +0900

    [PRISM] Enable more passing tests

commit 5d2fb5d76b576be080e9cfc9301cce0b5f061981
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-13 01:42:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 19:35:47 +0900

    [rubygems/rubygems] Don't upcase Windows ENV when backing it up

    I apparently did that to fix some issue with case insensitivity but I
    didn't add a spec, and I think not upcasing should not cause issues.

    https://github.com/rubygems/rubygems/commit/1b6f23275a

commit 287137651078d540a14dfbe78dd99b277f3ac4d2
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-13 01:20:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 19:35:46 +0900

    [rubygems/rubygems] Remove unnecessary workaround

    All supported rubies include the fix.

    https://github.com/rubygems/rubygems/commit/9d74b699f5

commit 5577f138b4422a23371a8192d9176b2f20aa6c8e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-23 02:52:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 19:35:02 +0900

    [rubygems/rubygems] Properly resolve aliases when `bundle help` is run

    https://github.com/rubygems/rubygems/commit/5d9bf03c59

commit 64bd8e41df859fc61f373fcab431e1516148ee57
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-04-25 17:08:39 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-04-25 17:12:47 +0900

    false is not a pointer

    This function returned VALUE before.  False made sense back then.
    Now that it returns a pointer.  NULL should be used instead.

commit 03f8477566d544c240cd1949fd56d8e42d686aa8
  Author:     Xi Ruoyao <xry111@xry111.site>
  AuthorDate: 2024-04-24 14:42:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 17:01:53 +0900

    [ruby/net-http] Skip test_session_reuse_but_expire with OpenSSL 3.3

    OpenSSL 3.3.0 9 Apr 2024 is also broken.

    Signed-off-by: Xi Ruoyao <xry111@xry111.site>

    https://github.com/ruby/net-http/commit/ab525c956d

commit 67dd9af17e5c6c541a8cc84b1741deaf175fcf83
  Author:     Eugene Kenny <elkenny@gmail.com>
  AuthorDate: 2024-04-24 20:10:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-25 13:29:28 +0900

    [Bug #20450] Remove rubyarchdir from bootsnap paths

commit 0434dfb76bdbd0c11f4da244a54357c95bb2fb8c
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-25 05:39:39 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-04-25 07:09:06 +0900

    We don't need to check if the ci is markable anymore

    It doesn't matter if CI's are stack allocated or not.

commit d3a7e555423e258ea7b06734982f5b5b0c9c3e3e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 04:45:23 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-25 04:45:23 +0900

    Update common.mk dependencies

commit 4c431744b79d70186bd2bfa2766a72557e4ccf22
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 04:28:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 04:39:42 +0900

    [ruby/prism] Warn for nested hashes as well

    https://github.com/ruby/prism/commit/76e802f59e

commit 7d64fbda53bcbe7c68096a61eba0208517e2df5e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 03:57:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 04:39:41 +0900

    [ruby/prism] Remove static literals dependence on parser definition

    https://github.com/ruby/prism/commit/b3e104e8a2

commit 214811974becee9960b77e60b2b667068755304d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-24 05:32:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-25 04:30:43 +0900

    Add ruby_mimcalloc

    Many places call ruby_mimmalloc then MEMZERO. This can be reduced by
    using ruby_mimcalloc instead.

commit 4349c7909f5c3e493e991f26c21bc22ec5bdac8f
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-25 03:32:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 03:32:55 +0900

    [ruby/irb] Memoize helper method instances with Singleton module
    (https://github.com/ruby/irb/pull/931)

    Some helpers, like Rails console's `app`, requires memoization of the
    helper's ivars. To support it IRB needs to memoize helper method instances
    as well.

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

commit 73a7e5153501cd92f5e32e9e8821936b69746a08
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-25 02:20:07 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-04-25 03:21:18 +0900

    Pass a callinfo object to global call cache search

    Global call cache can be used with only a CI

commit 2cc59c1b3167da6a554c37cf66b3b95633b6ec9f
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-25 02:02:06 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-04-25 03:21:18 +0900

    pass CI to gccct_method_search_slowpath

    Also the slow path only needs to look up the method once: via
    vm_search_method_slowpath0.  gccct just returns whatever cc normal
    method lookup does.

commit 58847b7df8d46ebb5887d7a5fc97acaa24a78912
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 01:26:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-25 03:16:42 +0900

    [PRISM] Generate inspect_visitor in common.mk

commit 6d9ba1e014d5a5871f8a62ced582547ca8ea6b30
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 00:58:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-25 03:16:42 +0900

    [ruby/prism] Change inspect from recursive to a queue

    We would previously cause a stack overflow if we parsed a file that
    was too deeply nested when we were calling inspect. Instead, we now
    use a queue of commands to do it linearly so we don't.

    https://github.com/ruby/prism/commit/0f21f5bfe1

commit cf24a0483e5ae0730c17dcb784122419a937cb17
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-25 02:33:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 02:33:40 +0900

    [ruby/reline] Long line performance
    (https://github.com/ruby/reline/pull/688)

    * Improve C-e (ed_move_to_end) performance for long line

    * Reline::Unicode.split_by_width optimization for RESET_SGR

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

commit 5c32a1503f332dfece617bdf7e7f6a4d5f28977a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-25 00:04:06 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-25 02:10:06 +0900

    Change dln_open in dmydln.c to return error instead of raise

commit 057b69cfdf633b6b0cf67e8b0621476e7234efa8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-25 00:01:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-25 02:10:06 +0900

    Pass string error buffer into dln_open

    On Windows, the error exists on the stack so we should pass an error
    buffer from the caller.

commit 853c0b1a776ba67cd20741f631788d8556c854eb
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-20 09:02:21 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-04-25 01:30:59 +0900

    Reuse slow path method search for gccct

    This way all code paths use the same search code for finding call caches
    for a particular method.

commit 9bba999be7b32949b4b37dd7a871c5dc1e36c2f8
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-25 01:01:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 01:01:23 +0900

    [ruby/irb] Revert "Memoize helper method instances with Singleton module"

    This reverts commit https://github.com/ruby/irb/commit/169a9a2c3097.

    https://github.com/ruby/irb/commit/221b0a4928

commit e5ca3d072fd1076133dc7c3a9a2e399bbfcee443
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-25 00:59:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 01:01:02 +0900

    [ruby/irb] Memoize helper method instances with Singleton module

    Some helpers, like Rails console's `app`, requires memoization of the
    helper's ivars. To support it IRB needs to memoize helper method instances
    as well.

    https://github.com/ruby/irb/commit/169a9a2c30

commit afc7799c3271aab7792c178ab9aee15b87468341
  Author:     Kevin Menard <kevin.menard@shopify.com>
  AuthorDate: 2024-04-24 23:31:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-24 23:31:35 +0900

    YJIT: Add a specialized codegen function for `Class#superclass`. (#10613)

    Add a specialized codegen function for `Class#superclass`.

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
    Co-authored-by: Takashi Kokubun (k0kubun) <takashikkbn@gmail.com>
    Co-authored-by: Randy Stauner <randy.stauner@shopify.com>
    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

commit 480287d14056ca7366477ad39b944195185a6d7e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-24 04:34:03 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-24 23:31:03 +0900

    Add macro load_external_gc_func for loading functions from external GC

commit 91ff2fd9b544795ec9df6c2fabf3f2b0b318c166
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-24 14:03:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-24 18:02:09 +0900

    Fix dllimport warnings

    From Visual C:
    ```
    ../../../../../src/ext/-test-/load/resolve_symbol_target/resolve_symbol_target.c(5): warning C4273: 'rst_any_method': inconsistent dll linkage
    D:\a\ruby\ruby\src\ext\-test-\load\resolve_symbol_target\resolve_symbol_target.h(4): note: see previous definition of 'rst_any_method'
    ../../../../../src/ext/-test-/load/stringify_target/stringify_target.c(5): warning C4273: 'stt_any_method': inconsistent dll linkage
    D:\a\ruby\ruby\src\ext\-test-\load\stringify_target\stringify_target.h(4): note: see previous definition of 'stt_any_method'
    ```

    From MinGW gcc:
    ```
    ../../../../../src/ext/-test-/load/resolve_symbol_target/resolve_symbol_target.c:5:1: warning: 'rst_any_method' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
    compiling ../../../../../src/ext/-test-/marshal/compat/usrcompat.c
        5 | rst_any_method(VALUE klass)
          | ^~~~~~~~~~~~~~
    ../../../../../src/ext/-test-/load/stringify_target/stringify_target.c:5:1: warning: 'stt_any_method' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
        5 | stt_any_method(VALUE klass)
          | ^~~~~~~~~~~~~~
    ```

commit 7e8d8f250d4796016484b56d647af856d81c0ff6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-24 17:17:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-24 17:19:04 +0900

    Removed obsoleted section because make docs is removed from default make task

commit 66edc33f4e904225594a7253cb8858b3bbc1069f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-24 12:06:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-24 12:06:20 +0900

    [DOC] Wait for `docs` to complete before installing all

    The document directories may be incomplete or empty before `docs` is
    completed.

commit 813e12557a020dd4820c713b966c718735447c6c
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-23 20:09:42 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-24 07:59:51 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit e11237904cdee46409d0efb436b9b9326aaff355
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-04-24 06:00:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-24 06:00:56 +0900

    Sync IRB f9347b1 (#10611)

commit b9109b270d129561f06bc2dcd6feaf5c43e82360
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-24 03:30:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-24 04:29:42 +0900

    Get error from dln_open when USE_SHARED_GC

    Before, if dln_open failed to open RUBY_GC_LIBRARY_PATH, it would segfault
    because it would try to raise an error, which cannot happen because the
    GC has not been initialized yet.

    This commit changes dln_open to return the error that occurred so the
    caller can handle the error.

commit 81433fd0f52b4214c0e788b6cd9f534b79ec03ba
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-24 04:19:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-24 04:29:20 +0900

    [ruby/prism] srange_find should only look on current line

    https://github.com/ruby/prism/commit/3604aa15e7

commit 0defbc11a531cb6320dee3995be584fd62053a5e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-24 03:05:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-24 03:17:29 +0900

    [ruby/prism] Fix recursive multiply when values are switched in karatsuba_multiply

    https://github.com/ruby/prism/commit/4dc6ea960d

commit 4f57262338f0697d48d533b9c64466205e54cc11
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-24 01:49:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-24 02:26:10 +0900

    [ruby/prism] Use GC-able symbols for AST

    https://github.com/ruby/prism/commit/801117e45a

commit 87396dbe5d6597dafcba31afb5b9ba6216d604c5
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-24 01:51:50 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-24 01:51:51 +0900

    Skip test_inspect_under_gc_compact_stress w/ RJIT too

commit 981a8e89a3542e0a29206d7e159cb526986b0c6e
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-24 00:27:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-24 00:27:58 +0900

    [ruby/reline] Bump version to 0.5.3
    (https://github.com/ruby/reline/pull/686)

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

commit 99a46d7fe92ca706ed92377084759d92137d7ad4
  Author:     Matheus Richard <matheusrichardt@gmail.com>
  AuthorDate: 2024-01-19 23:19:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-24 00:20:16 +0900

    [ruby/prism] Document UnlessNode fields

    https://github.com/ruby/prism/commit/eee8276ae6

commit b62ab952e354ed967ba3c3e2811e91e5d1c533b0
  Author:     Daniel Gollahon <daniel.gollahon@gmail.com>
  AuthorDate: 2024-01-15 08:40:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-24 00:18:52 +0900

    [ruby/prism] Document `IfNode` fields

    - Adds documentation for the fields of the `IfNode`. Also updates the overall description to mention ternary expressions.
    - Part of #2123

    https://github.com/ruby/prism/commit/fd17c0733d

commit b3350e3e6fb75bed4baca60e0f9e0ad253d097d1
  Author:     Matheus Richard <matheusrichardt@gmail.com>
  AuthorDate: 2024-01-19 23:45:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-24 00:11:21 +0900

    [ruby/prism] Document BreakNode fields

    https://github.com/ruby/prism/commit/7a3ed22f14

commit 53a67efc9a850fd0114eae87fe2f8dfc35b3a9e5
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-23 23:45:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-23 23:45:22 +0900

    [ruby/reline] Separate prompt and input line in rendering
    (https://github.com/ruby/reline/pull/652)

    * Separate prompt and input line in rendering

    Often, only one of prompt and input changes.
    Split prompt+input_line to a separate rendering item will improve differential rendering performance.

    * Rename method wrapped_prompt_lines to more descriptive name

    https://github.com/ruby/reline/commit/16d82f1f23

commit f7d1699f6714d8fe14ed92272584f68a79995e64
  Author:     Philip Mueller <mail@philip.in-aachen.net>
  AuthorDate: 2024-02-22 02:30:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-23 22:53:23 +0900

    [ruby/prism] Implement case equality on nodes

    https://github.com/ruby/prism/commit/dc121e4fdf

commit 87b829aa942089c7614470184f02aedec9d72ec9
  Author:     Cory Hutchison <cory@mutecipher.com>
  AuthorDate: 2024-01-04 12:08:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-23 22:22:05 +0900

    [ruby/prism] Document the `AliasGlobalVariableNode` fields

    https://github.com/ruby/prism/commit/35bc711069

commit 5fd08b506ca72bf496e36e44b98e588941e02721
  Author:     Sanjay Karukamanna <work@sanjay.link>
  AuthorDate: 2024-01-04 09:52:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-23 22:13:29 +0900

    [ruby/prism] Document `ArrayNode`, `SourceFileNode` fields

    https://github.com/ruby/prism/commit/0bdc566f67

commit dae59003050adaf0666c7dc0d03ba7633c46c8bb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-23 21:44:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-23 21:45:17 +0900

    [ruby/prism] Fix up rdoc

    Fixes https://github.com/ruby/prism/issues/2572

    https://github.com/ruby/prism/commit/a446580e75

commit 3fadd68452e88bf5e6eafb429a77dcb7779abbb7
  Author:     NARUSE, Yui <naruse@airemix.jp>
  AuthorDate: 2024-04-23 20:14:41 +0900
  Commit:     NARUSE, Yui <naruse@airemix.jp>
  CommitDate: 2024-04-23 20:14:41 +0900

    Remove newlines of MIME encoded subject line

commit 0b4bf05985d29d3edcb65629663fb6063261b343
  Author:     NARUSE, Yui <naruse@airemix.jp>
  AuthorDate: 2024-04-23 20:14:18 +0900
  Commit:     NARUSE, Yui <naruse@airemix.jp>
  CommitDate: 2024-04-23 20:14:18 +0900

    exit 1 if failed

commit 989a2355808a63fc45367785c82ffd46d18c900a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-12 14:01:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-23 19:16:08 +0900

    Fix Use-After-Free issue for Regexp

    Co-authored-by: Isaac Peka <7493006+isaac-peka@users.noreply.github.com>

commit 33e5b47c16f1fd3382186e6ffe73cfc6e00946f7
  Author:     Isaac Peka <7493006+isaac-peka@users.noreply.github.com>
  AuthorDate: 2023-08-24 20:14:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-23 19:16:05 +0900

    Fix handling of reg->dmin in Regex matching

commit fff228487158cbc3c1cb0b4e09d2d727038ae0b7
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-19 21:51:51 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-23 15:59:23 +0900

    Consolitate redefined the method warning

    Currently redefining a method doesn't emit one but two warnings.
    One at the location of the new method, and one at the location of
    the old method.

    I believe this is not ideal because when collecting warnings via
    a custom `Warning.warn`, it has to be pieced together. It's even
    more tricky because the second part may or may not be emitted
    depending on whether the original method has an associated ISeq.

    I think it's much better to emit a single warning with all the
    information in one go.

commit a53435868e09fd1b149def652f356840f58f4d32
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-23 13:09:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-23 13:38:40 +0900

    Traverse tmpdir under chdir

commit 777daae04992fdb472e2382a08aefc9fd2366159
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-23 11:33:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-23 13:38:39 +0900

    Shorten tmpdir path

commit e61f76ce9e098143c88e58f4ea91b15eb85ab793
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-23 11:32:17 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-23 13:11:46 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit 33929ef995522f3e1898088dda52eec582ddd266
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-23 11:27:42 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-23 13:11:46 +0900

    Move encoding object conversion outside of parser

    Reduce the parser's dependence on `VALUE` and `rb_enc_from_encoding`.

commit 3aa046803dd8b34d7814189f8103cd16fee76541
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-23 09:29:32 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-23 11:18:52 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit c7d9376cb5d820bdca67823dbae5a5751ab6a6d5
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-22 22:12:43 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-23 07:20:22 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit 2992e1074adf86ed6c06ba1750648a35d877001a
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-21 09:54:23 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-23 07:20:22 +0900

    Refactor parser compile functions

    Refactor parser compile functions to reduce the dependence
    on ruby functions.
    This commit includes these changes

    1. Refactor `gets`, `input` and `gets_` of `parser_params`

    Parser needs two different data structure to get next line, function (`gets`) and input data (`input`).
    However `gets_` is used for both function (`call`) and input data (`ptr`).
    `call` is used for managing general callback function when `rb_ruby_parser_compile_generic` is used.
    `ptr` is used for managing the current pointer on String when `parser_compile_string` is used.
    This commit changes parser to used only `gets` and `input` then removes `gets_`.

    2. Move parser_compile functions and `gets` functions from parse.y to ruby_parser.c

    This change reduces the dependence on ruby functions from parser.

    3. Change ruby_parser and ripper to take care of `VALUE input` GC mark

    Move the responsibility of calling `rb_gc_mark` for `VALUE input` from parser to ruby_parser and ripper.
    `input` is arbitrary data pointer from the viewpoint of parser.

    4. Introduce rb_parser_compile_array function

    Caller of `rb_parser_compile_generic` needs to take care about GC because ruby_parser doesn’t know
    about the detail of `lex_gets` and `input`.
    Introduce `rb_parser_compile_array` to reduce the complexity of ast.c.

commit aeb08bc8a71006b63a6588ef5129b7723c8219fc
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-23 03:33:34 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-23 03:33:34 +0900

    YJIT: Fix String#setbyte crashing for converted arguments

    Previously, passing objects that respond to #to_int to `String#setbyte`
    resulted in a crash when compiled by YJIT. This was due to the lazily
    pushed frame from rb_yjit_lazy_push_frame() lingering and not being
    popped by an exception as expected.

    The fix is to ensure that `ec->cfp` is restored to before the lazy frame
    push in case the method call for conversion succeeds. Right now, this is
    only for conversion to integers.

    Found running `ruby/spec`.

    * clarify comment

    We just need to make sure `ec->cfp` is always preserved and this can
    convert without rising when `raise` is true.

commit 1bb7638e7a864db9b635c5d41f18653e8451dbc7
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-23 00:16:46 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-23 00:16:46 +0900

    YJIT: Fix shrinking block with assumption too much (#10585)

    * YJIT: Fix shrinking block with assumption too much

    Under the very specific circumstances, discovered by a test case in
    `ruby/spec`, an `expandarray` block can contain just a branch and carry
    a method lookup assumption. Previously, when we regenerated the branch,
    we allowed it to shrink to empty, since we put the code at the jump
    target immediately after it. That was incorrect and caused a crash while
    the block is invalidated, since that left no room to patch in an exit.

    When regenerating a branch that makes up a block entirely, and the block
    could be invalidated, we need to ensure there is room for invalidation.
    When there is code before the branch, they should act as padding, so we
    don't need to worry about those cases.

    * skip on RJIT

commit aa5b53d232c36d9b0c73336fc112d8fb20145d18
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-22 23:07:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-22 23:17:45 +0900

    [ruby/prism] Consolidate integer fields into a single reflection class

    https://github.com/ruby/prism/commit/0156057580

commit f77618c1fad9b9fc62d62214f4a300770cc7b6cc
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-21 15:07:38 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-22 15:32:21 +0900

    Expand `Qnone` and `Qnull` macros

    In the past, `Qnone` and `Qnull` had different values
    in ripper context like below.
    However 89cfc152071 removes the usage in ripper context,
    then expand the macro.

    ```
    #ifndef RIPPER
    # define Qnone 0
    # define Qnull 0
    #else
    # define Qnone Qnil
    # define Qnull Qundef
    #endif
    ```

commit d42a8d66024f0a86c5a162eeffff1ab91ad9fa43
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-22 11:03:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-22 13:00:19 +0900

    [DOC] Tweek a comment

commit 44d2b5949167fe5b7de68de06b103e586d4133f8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-22 11:01:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-22 13:00:19 +0900

    Extract `list_tree` as a method and separate from removals

commit c65bc2e5d9f0bc56b22d6bb765a1f25c53aa2ea7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-20 03:07:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-22 13:00:19 +0900

    Show left tmpdir recursively

commit e59da9c3393bf054de96e3e828aa2ba5b7286ce5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-22 09:56:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-22 09:56:47 +0900

    Windows does not have "/tmp" path usually

commit 9b580ee7b6cb0bebf977a7cd50285ba48b671e87
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-20 19:58:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-22 08:47:47 +0900

    [rubygems/rubygems] Clear temporary directory

    https://github.com/rubygems/rubygems/commit/4158034d89

commit f87c216c948958aedaade6a5a4900ed83c13ceea
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-21 14:46:27 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-21 15:50:45 +0900

    Remove needless header file include

commit 381ce130aec150098e5e3418eb435ec7ce46820d
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-04-20 22:54:01 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-21 09:55:17 +0900

    Remove unused functions from struct `rb_parser_config_struct`

commit f16c6ac4fdbc619ba2f9d3dd7cd3b06c736aa589
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-21 03:55:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-21 03:55:54 +0900

    [ruby/irb] Stop using ExtendCommandBundle internally
    (https://github.com/ruby/irb/pull/925)

    This module was used to extend both commands and helpers when they're not
    separated. Now that they are, and we have a Command module, we should move
    command-related logic to the Command module and update related references.

    This will make the code easier to understand and refactor in the future.

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

commit 2b11bcb84ec0e9326ce03a2ec8f0ed2ee349d3c1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-20 19:45:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-20 19:53:41 +0900

    [ruby/zlib] Clear temporary directory

    https://github.com/ruby/zlib/commit/1bed54dcf7

commit af169472c791c1ed97f8e4397c0b8628dc6a6c50
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-20 11:15:46 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-20 19:30:26 +0900

    Remove unused function

commit cee985ea8366282ae8e457de6a1b22586a5e36d5
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-20 12:08:36 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-20 18:08:33 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit d07df8567ea5d6afe661a5fa1c97e02d2b9e7a32
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-20 11:59:04 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-20 18:08:33 +0900

    Parser and universal parser share wrapper functions

commit 125e1ed5f7dc60ec492a1646ccc0912626c95bd1
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-20 16:45:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-20 16:45:41 +0900

    [ruby/irb] Remove exit command workaround, handle IRB_EXIT in
    debug_readline
    (https://github.com/ruby/irb/pull/923)

    * Remove exit and exti! command workaround when executed outside of IRB

    Command was a method. It could be executed outside of IRB.
    Workaround for it is no longer needed.

    * Handle IRB_EXIT in debug mode

    * Add exit and exit! command in rdbg mode

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

commit 9f9755664ddc4447dd498ec75613d996238169c0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-20 03:07:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-20 11:34:52 +0900

    Fix method name

commit 9555a997aca422214c0e4d5a0fcf56210959a6f5
  Author:     Zack Deveau <zack.ref@gmail.com>
  AuthorDate: 2024-04-20 05:53:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-20 10:41:01 +0900

    ensure ibf_load_setup is only passed String params

    In cases where RubyVM::InstructionSequence.load_from_binary() is
    passed a param other than a String, we attempt to call the
    RSTRING_LENINT macro on it which can cause a segfault.

    ex:
    ```
    var_0 = 0
    RubyVM::InstructionSequence.load_from_binary(var_0)
    ```

    This commit adds a type check to raise unless we are provided
    a String.

commit 23be6599a20a0fd6bbf650816d163f9adfb82009
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-20 03:53:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-20 04:25:32 +0900

    [ruby/prism] Split parse result based on type

    https://github.com/ruby/prism/commit/17194e096d

commit cb711df36f36c847b035bbd5326c217eabc5c8b3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-20 03:15:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-20 03:20:31 +0900

    [ruby/prism] Do not allow omitted hash keys with ! or ?

    https://github.com/ruby/prism/commit/06d358aa8d

commit c7255ca219e45dc5b50d285acc4c0db5178acac3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-20 02:57:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-20 03:05:07 +0900

    [ruby/prism] Fix up ruby_parser translation for dstr

    https://github.com/ruby/prism/commit/b0fa4b7cd8

commit c8783441952217c18e523749c821f82cd7e5d222
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-20 01:47:25 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-20 01:47:25 +0900

    Revert "YJIT: Optimize local variables when EP == BP" (#10584)

    This reverts commit 4cc58ea0b865f2fd20f1e881ddbd4c4fab0b072c.

    Since the change landed call-threshold=1 CI runs have been timing out.
    There has also been `verify-ctx` violations. Revert for now while we debug.

commit 2e80ceb6ff5be3ccb710006aa87e27f2f564fdd0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-19 23:24:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-20 01:29:39 +0900

    [ruby/prism] Fix it parameters for parser translation

    https://github.com/ruby/prism/commit/2f3feb8d51

commit 6cfd929034f1fe3d93160365505a8b88bef56159
  Author:     Kuniaki Igarashi <igaiga@gmail.com>
  AuthorDate: 2024-04-20 00:01:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-20 00:01:36 +0900

    [ruby/irb] Add MultiIRB commands test
    (https://github.com/ruby/irb/pull/929)

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

commit cd95f6b87fbe15712406054a31b8411ae82180f6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-19 23:07:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-19 23:17:23 +0900

    Show left files info

commit c789e4c493cfd8abde2268b1ca2a0656851e0772
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-17 08:55:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-19 23:06:46 +0900

    Use isolated temporary directory in test-all too for RubyGems tests

commit f17268f7d4fd217e3d79d65527c75c619db8af05
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-17 08:53:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-19 21:18:01 +0900

    Extract tmpdir template

commit 604c29e8a2e78ea5d6c0e76385000ed6cde78aca
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-19 21:08:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 21:08:22 +0900

    [ruby/reline] Implement `show-all-if-ambiguous` feature
    (https://github.com/ruby/reline/pull/683)

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

commit 4218e6bbd50f2e5bc1fd39d8e504c0d7ef96dc15
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-19 05:34:56 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-04-19 19:39:20 +0900

    Remove unused define popcount_bits

commit e133d0c7a117ad8e7001ccccf694c51695c60051
  Author:     Artur <artur@intech.ee>
  AuthorDate: 2024-03-07 01:44:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 19:32:04 +0900

    [ruby/time] Document exception thrown by `Time.strptime`

    https://github.com/ruby/time/commit/f9d078082f

commit 7951b349ab6b9b5889b90f6fa7f9bbb304ec09fd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-19 16:33:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-19 16:33:16 +0900

    Suppress useless linker warnings totally on macOS

commit 662ce928a7fb31117bc584aad10d9c5c82689abd
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-04-19 13:21:55 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-04-19 14:28:54 +0900

    `RUBY_TRY_UNUSED_BLOCK_WARNING_STRICT`

    `RUBY_TRY_UNUSED_BLOCK_WARNING_STRICT=1 ruby ...` will enable
    strict check for unused block warning.

    This option is only for trial to compare the results so the
    envname is not considered well.
    Should be removed before Ruby 3.4.0 release.

commit 7522d1bffea93989f33895da90746e40ce26d52b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-18 18:54:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 14:18:21 +0900

    [rubygems/rubygems] Keep backword compatibility of Bundler.require

    https://github.com/rubygems/rubygems/commit/f6f79f4c37

commit acc326b7c4867429f3ea0d96e12c0efa6bfcb079
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-18 14:56:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 14:18:21 +0900

    [rubygems/rubygems] Removed needless class name

    https://github.com/rubygems/rubygems/commit/a2f43d3756

commit a95b46db067ef5013c20db2340c1b6fd76b3e5df
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-18 14:56:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 14:18:21 +0900

    [rubygems/rubygems] Track HEAD changes for old PR proposal

    https://github.com/rubygems/rubygems/commit/e3d180620c

commit 0a14fee02f5720e6bec5116559e3ae872bc6f40b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-03-10 16:37:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 14:18:20 +0900

    [rubygems/rubygems] Removed redundant begin

    https://github.com/rubygems/rubygems/commit/a9d22e5f46

commit 09cbbe0e3d2006bd191e33785154775fcfff9532
  Author:     fatkodima <fatkodima123@gmail.com>
  AuthorDate: 2019-10-31 01:17:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 14:18:20 +0900

    [rubygems/rubygems] Add plugin hooks for Bundler.require

    https://github.com/rubygems/rubygems/commit/b373b7ed0d

commit 1984db2db8ee54c33aabf6994718b972c56e2283
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-19 10:24:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-19 14:12:42 +0900

    Preserve old encinit.c if unchanged

commit 05d681f91e45dfd487463f5108872d4bd30c1beb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-19 10:23:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-19 14:12:42 +0900

    Make `Output.new` accepts keyword arguments

commit 801e4a4febbb226a7afd764c84b15f183d857815
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-19 09:57:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-19 14:12:42 +0900

    Remove UPDATE_LIBRARIES

    It has not been used since e48375c112022fa321786ccd95dd4e718efd78a3.

commit 3169c15863497f4269b819b2dc3b1c5bff3699b0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-18 13:58:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-19 14:12:41 +0900

    Fix rubyspec-capiext dependency

    Not to build the rubyspec-capiext extension libraries again on the
    next build after the build all extensions get built, ensure these
    extensions are up to date when recursively building from exts.mk.

commit 7f87ad9fc4bc45faf8cd33602a025f27c094b2fd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-19 12:58:53 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-19 12:58:53 +0900

    Refer autoconfigured endian macro (#10572)

    Remove the case `RB_IO_BUFFER_HOST_ENDIAN` is not defined.

commit b7c4c8869cbedccd92fb2a598515ab56c1aee925
  Author:     ilyazub <282605+ilyazub@users.noreply.github.com>
  AuthorDate: 2024-04-17 01:11:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-19 08:32:01 +0900

    Update turbo_tests to 2.2.3 or higher

    commands/pristine_spec.rb is passed with the turbo_tests 2.2.3 because it the removed json dependency.

    Related to https://github.com/ruby/ruby/pull/10496
    Related to d60b2caa95b01f37d35db9ef8be1d035d14b408d

commit 6443d690aead62d8d1ecd3fe32601455496390c6
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-04-12 22:18:47 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-04-19 06:21:01 +0900

    Don't mark empty singleton cc's

    These cc's aren't managed by the garbage collector so we shouldn't try
    to mark and move them.

commit 64d0817ea995ddf46aacc8f9da11b234e4e77962
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-19 05:00:55 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-04-19 06:11:25 +0900

    Remove markable guard before pushing on ccs list

    CCS list doesn't mark CI objects, so it doesn't matter whether or not
    they are markable before pushing.

commit ea7975c59bce30fd6d48a068d089fb62d8f73ec7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-18 02:36:20 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-19 03:50:20 +0900

    Include coderange.h in encoding.h

    ruby_coderange_type is defined in ruby/internal/encoding/coderange.h so
    we need to include it.

commit a51139230bfbd509b300fafc48e9a195b4d07c77
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-19 03:36:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 03:36:57 +0900

    [ruby/prism] Bump to v0.26.0

    https://github.com/ruby/prism/commit/eadb09ef36

commit 8f908a354ea80c01029af26d60adf14ef8ca33b8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-19 03:27:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 03:34:42 +0900

    [ruby/prism] "Fix" transpose issue in parser compiler

    https://github.com/ruby/prism/commit/593d637178

commit 147ca9585ede559fd68e162cbbbaba84f009c9a1
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-18 08:30:41 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-04-19 01:06:33 +0900

    Implement equality for CI comparison when CC searching

    When we're searching for CCs, compare the argc and flags for CI rather
    than comparing pointers.  This means we don't need to store a reference
    to the CI, and it also naturally "de-duplicates" CC objects.

    We can observe the effect with the following code:

    ```ruby
    require "objspace"

    hash = {}

    p ObjectSpace.memsize_of(Hash)

    eval ("a".."zzz").map { |key|
      "hash.merge(:#{key} => 1)"
    }.join("; ")

    p ObjectSpace.memsize_of(Hash)
    ```

    On master:

    ```
    $ ruby -v test.rb
    ruby 3.4.0dev (2024-04-15T16:21:41Z master d019b3baec) [arm64-darwin23]
    test.rb:3: warning: assigned but unused variable - hash
    3424
    527736
    ```

    On this branch:

    ```
    $ make runruby
    compiling vm.c
    linking miniruby
    builtin_binary.inc updated
    compiling builtin.c
    linking static-library libruby.3.4-static.a
    ln -sf ../../rbconfig.rb .ext/arm64-darwin23/rbconfig.rb
    linking ruby
    ld: warning: ignoring duplicate libraries: '-ldl', '-lobjc', '-lpthread'
    RUBY_ON_BUG='gdb -x ./.gdbinit -p' ./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems  ./test.rb
    2240
    2368
    ```

    Co-authored-by: John Hawthorn <jhawthorn@github.com>

commit 8e08556fa7f2b6e9c43b040f2aea06dccead5d13
  Author:     careworry <167077904+careworry@users.noreply.github.com>
  AuthorDate: 2024-04-19 00:32:34 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-19 00:32:34 +0900

    chore: remove repetitive words (#10573)

    Signed-off-by: careworry <worrycare@outlook.com>

commit ff599aea7cb810ca5284c10184f435101e4b9349
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-18 23:46:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-18 23:46:55 +0900

    [ruby/irb] Fix % escape in prompt format
    (https://github.com/ruby/irb/pull/927)

    https://github.com/ruby/irb/commit/08eee25d28

commit 81240493a32fc36182338eb0969203e57487a5ad
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-18 04:56:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-18 23:19:42 +0900

    Remove unused rb_size_pool_slot_size

commit 28efc0c9248f942bd45047bc68bf1c9e00e469f0
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-18 23:04:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-18 23:04:23 +0900

    YJIT: Fix canary crash with Array#<< (#10568)

    Previously, we got "We are killing the stack canary set by opt_ltlt"
    from `$./miniruby --yjit-call-threshold=1 -e 'a = [].freeze; a << 1'`

    Found by running ruby-spec with yjit-call-threshold=1.

commit 57a262e325580398240bb362d93c398eaab9c2eb
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-18 20:48:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-18 20:48:13 +0900

    [ruby/irb] Accept "  " for colorizing "\t" test
    (https://github.com/ruby/irb/pull/924)

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

commit 2e978c2cb30ccd64833a5663622bccfe5bf3e8ca
  Author:     Lorenzo Zabot <lorenzozabot@gmail.com>
  AuthorDate: 2024-04-18 19:33:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-18 19:33:23 +0900

    [ruby/irb] Prompt specifiers documentation improvements
    (https://github.com/ruby/irb/pull/926)

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

commit 3a7846b1aa4c10d86dc5a91c6df94f89d60bb0c3
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-02-19 21:35:48 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-18 17:17:26 +0900

    Add a hint of `ASCII-8BIT` being `BINARY`

    [Feature #18576]

    Since outright renaming `ASCII-8BIT` is deemed to backward incompatible,
    the next best thing would be to only change its `#inspect`, particularly
    in exception messages.

commit a80f646616e4a0b0df503bbef9acc4b408e943df
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-11 02:10:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-18 11:07:09 +0900

    Explicily lock turbo_tests to 2.2.0 in Gemfile

    Ruby-core CI is having issues with turbo_tests 2.2.1. This version adds
    json as a dependency and the `bundle install` command ruby-core uses is
    not able to compile it for some reason.

    I was not able to reproduce the issue locally, so this needs more
    investigation.

    We're already locked to 2.2.0, but ruby-core does not use a
    `Gemfile.lock` so we need to lock explicitly in the Gemfile for now.

commit bc652d7568467c1ceab625ec380a8861d7a482ad
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-06 00:33:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-18 11:07:09 +0900

    [rubygems/rubygems] Never write credentials to lockfiles

    https://github.com/rubygems/rubygems/commit/e8a363713e

commit a3b7a7bc21d91d384a915bcaa1fd49909061d78d
  Author:     Kenichi Kamiya <kachick1@gmail.com>
  AuthorDate: 2024-04-17 13:10:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-18 11:07:09 +0900

    [ruby/reline] Remove unused variable
    (https://github.com/ruby/reline/pull/684)

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

commit 88a88b56c7094bca3db42f01d672622527dcad14
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-15 14:24:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-18 10:27:19 +0900

    [ruby/optparse] [DOC] Package files for RDoc

    https://github.com/ruby/optparse/commit/b49cb996af

commit 6ac8f6a10eb011147a6cdaf4cf4154c41a7d9080
  Author:     Ben Fritsch <beanie@benle.de>
  AuthorDate: 2020-04-03 23:48:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-18 10:27:19 +0900

    [ruby/ipaddr] Add IPAddr.cidr to return ip address in cidr notation

    https://github.com/ruby/ipaddr/commit/f5b006741f

commit 07771c7657e65e8da6cd11eacbb105bdf46d0f10
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-18 09:54:08 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-18 09:54:09 +0900

    Try increasing timeout-minutes for YJIT Ubuntu

commit ac62c7379d18e02a06fa4990c156535c04ec974f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-18 09:41:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-18 09:41:32 +0900

    gitignore lib/prism/reflection.rb

commit 0727d32b565d9365537ae9f14cbd9a2428addfa9
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-18 06:05:52 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-04-18 07:29:23 +0900

    Don't verify during gc_enter when gc is disabled.

    RGENGC_CHECK_MODE >=3 fails with an incinsistency in the old object
    count during ec_finalization.

    This is due to inconsistency introduced to the object graph using T_DATA
    finalizers.

    This is explained in commit 79df14c04b452411b9d17e26a398e491bca1a811,
    which disabled gc during finalization to work around this.

    ```
        /* prohibit GC because force T_DATA finalizers can break an object graph consistency */
        dont_gc_on()
    ```

    This object graph inconsistency also seems to break RGENGC_CHECK_MODE >=
    3, when it attempt to verify the object age relationships during
    finalization at VM shutdown (gc_enter is called during finalization).

    This commit stops the internal consistency check during gc_enter only
    when RGENGC_CHECK_MODE >= 3 and when gc is disabled.

    This fixes `make btest` with `-DRGENGC_CHECK_MODE=3`

commit 8b8130153625d551dddc1e1ff28de67ba3830dac
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-18 06:48:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-18 06:48:38 +0900

    YJIT: A64: Use CBZ/CBNZ to check for zero

    * YJIT: A64: Add CBZ and CBNZ encoding functions

    * YJIT: A64: Use CBZ/CBNZ to check for zero

    Instead of emitting `cmp x0, #0` plus `b.z #target`, A64 offers Compare
    and Branch on Zero for us to just do `cbz x0, #target`. This commit
    utilizes that and the related CBNZ instruction when appropriate.

    We check for zero most commonly in interrupt checks:

    ```diff
      # Insn: 0003 leave (stack_size: 1)
      # RUBY_VM_CHECK_INTS(ec)
      ldur w11, [x20, #0x20]
      -tst w11, w11
      -b.ne #0x109002164
      +cbnz w11, #0x1049021d0
    ```

    * fix copy paste error

    Co-authored-by: Randy Stauner <randy@r4s6.net>

    ---------

    Co-authored-by: Randy Stauner <randy@r4s6.net>

commit 48846d6b8dad554bda6eded4ef6696c358a2d60b
  Author:     ParadoxV5 <paradox.ver5@gmail.com>
  AuthorDate: 2024-04-18 05:29:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-18 05:45:25 +0900

    add #2709’s new RBIs to `.gemspec`

commit 3a4035a7901ad73afb59dbd288eef14afa318dc5
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-17 21:30:39 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-04-18 05:16:47 +0900

    Reduce the number of references to need_major_gc

commit 4cc58ea0b865f2fd20f1e881ddbd4c4fab0b072c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-18 04:00:03 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-18 04:00:03 +0900

    YJIT: Optimize local variables when EP == BP (#10487)

commit ca764062b06f1bb587048bcf374b25a0903ca9e7
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-18 03:36:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-18 03:36:30 +0900

    [ruby/irb] Remove internal-only methods from Command::Base
    (https://github.com/ruby/irb/pull/922)

    * Remove internal-only methods from Command::Base

    Command#ruby_args and Command#unwrap_string_literal are used for default command's argument backward compatibility.
    Moved these methods to another module to avoid being used from custom commands.

    * Update lib/irb/command/edit.rb

    ---------

    https://github.com/ruby/irb/commit/7405a841e8

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 98c84ef42c61b84c1745bbc5a1ceff1ce00999d9
  Author:     Mike Dalessio <mike.dalessio@gmail.com>
  AuthorDate: 2024-04-16 02:17:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-18 03:17:12 +0900

    [rubygems/rubygems] Excluding local platform from lockfile should not affect musl vs gnu case

    This case is for not locking things like `arm-darwin-23` when the
    lockfile already includes `arm-darwin`, so that we don't infinitely keep
    redundant versioned platforms in the lockfile when not necessary.

    We detect this with `Gem::Platform#===`. For example,
    `Gem::Platform.new("arm-darwin-23") === Gem::Platform.new("arm-darwin")`
    but they're not `==`.

    However, in the case of `-musl` vs `-gnu`, those act as the platform
    "version", but `===` is not commutative for them. This is explained in
    `===` docs.

    We only want to exclude the local platform in situations when
    `Gem::Platform#===` is actually commutative.

    https://github.com/rubygems/rubygems/commit/8099c4face

commit 814dedcee248667802b98ea1ba89cbeac171044f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-18 00:26:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-18 03:01:59 +0900

    Remove unused ruby_sighandler_t

commit 51485e63fc72fd8bbecb3f5b3a794361efd94f28
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-18 00:42:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-18 02:54:29 +0900

    [PRISM] Generate the reflection file

commit d186eb36a4abbbefa026ea5630a1b59bb668ef0f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-18 00:28:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-18 02:54:29 +0900

    [ruby/prism] Add a reflection API for determining the fields of a node

    https://github.com/ruby/prism/commit/f3f9950a74

commit ee6e591b6afbe765b2b1a612d8a7bdfc7cbc606c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-17 05:08:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-18 02:33:17 +0900

    Use unsigned long long for object ID

    Since unsigned long long are minumum 64 bits, we have at least 10**17
    object IDs available, so there is no chance it will overflow.

commit 15b659ca932254102ee3706aefa7a04d5c43969e
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-18 01:12:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-18 01:12:20 +0900

    [ruby/reline] Refactor nomultiline and multiline mode difference
    (https://github.com/ruby/reline/pull/653)

    * Support multiline input in Reline.readline internally, reduce multiline-singleline branch

    * Add readline(singleline) prompt test with force inserting multiline text

    https://github.com/ruby/reline/commit/97846095d7

commit 8c8068c06fd149659bd1d42315f8206b91defdf9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-17 23:02:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-17 23:36:52 +0900

    [PRISM] Remove old make targets for state stack

commit f72436f8355dd19298b3f7d25d6c23cb75b3a02a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-16 23:30:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-17 23:36:52 +0900

    [ruby/prism] Inline pm_state_stack

commit 209e2f277e5d528a8bbbccbb5fac6ca087ed2335
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-17 03:06:36 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-17 22:49:11 +0900

    Don't allow T_NIL in gc_is_moveable_obj

    gc_is_moveable_obj is only given GC managed objects, and T_NIL cannot be
    a GC managed type.

commit 2470565993680059e0fd1ee1c3304c989e957122
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-17 20:51:27 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-04-17 21:31:45 +0900

    Inline single use variables

commit e9d7478dedbd2b57530bc17efe8a9db9b8b2f280
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-04-17 19:46:48 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-04-17 20:26:49 +0900

    relax unused block warning for duck typing

    if a method `foo` uses a block, other (unrelated) method `foo`
    can receives a block. So try to relax the unused block warning
    condition.

    ```ruby
          class C0
            def f = yield
          end

          class C1 < C0
            def f = nil
          end

          [C0, C1].f{ block } # do not warn
    ```

commit 6ade36c06b7cef948099b8f5f483763498705d12
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-04-17 20:08:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-17 20:08:47 +0900

    `Fiber#raise` recursively raises on nested resuming_fiber. (#10482)

    * Improve consistency of `Fiber.current.raise`.

commit 945a0334c71412ddeeb540f68481eee40e250c61
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-17 19:13:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-17 19:56:20 +0900

    Update build and install document related https://blade.ruby-lang.org/ruby-dev/39325

commit cc37c89c2f4253a6f39a36ad610d0ba89c4257e8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-19 15:03:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-17 19:56:20 +0900

    Separate docs task from main to install-*

    [Feature #20347]

commit e7493df7ac22c1257692251c97362ad55408a9fe
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-17 18:46:01 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-17 19:38:28 +0900

    Improve phrasing of ignored block warnings

commit 09638741ba4d9547a0e48af8c767744fb1d7f68d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-17 16:03:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-17 18:47:07 +0900

    [Feature #20335] `Thread.each_caller_location` arguments

    Accecpt the same arguments as `caller` and `caller_locations`.

commit 7bc66a366ded3ae2d07a418e17a9da6ee24612fd
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-04-17 17:40:20 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-04-17 17:40:20 +0900

    skip on Prism generated iseq

commit eac3dee9cdefcc414af832c99a95383a38790d1c
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-17 16:59:50 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-17 17:35:14 +0900

    test_uplus_minus: Use a different string literal

    This test fail relatively frequently and it's unclear what is
    happening.

    ```
    str: {"address":"0x7fbdeb26d4e0", "type":"STRING", "shape_id":1, "slot_size":40, "class":"0x7fbdd1e0ec50", "frozen":true, "embedded":true, "fstring":true, "bytesize":3, "value":"bar", "encoding":"UTF-8", "coderange":"7bit", "memsize":40, "flags":{"wb_protected":true, "old":true, "uncollectible":true, "marked":true}}
    bar: {"address":"0x7fbdd0a8b138", "type":"STRING", "shape_id":1, "slot_size":40, "class":"0x7fbdd1e0ec50", "frozen":true, "embedded":true, "fstring":true, "bytesize":3, "value":"bar", "encoding":"UTF-8", "coderange":"7bit", "memsize":40, "flags":{"wb_protected":true}}
    ```

    The `"bar".freeze` literal correctly put an old-gen fstring on the stack.
    But `-%w(b a r).join('')` returns a young-gen fstring, which suggest it
    somehow failed to find the old one in the `frozen_strings` table.

    This could be caused by another test corrupting the table, or corrupting
    the `"bar"` fstring.

    By using a different literal value we can learn whether the bug is specific
    to `"bar"` (used in many tests) or more general.

commit d31eda8eb636b9cc1ef343df5688f1abea3409c9
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-16 15:29:25 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-17 17:07:57 +0900

    Add NEWS entry for [[Feature #20429]]

    Followup: https://github.com/ruby/ruby/pull/10532

commit f9f301800199e7b5b9a6e92cf726cd0214d417a4
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-04-17 16:30:47 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-04-17 17:03:46 +0900

    `ISeq#to_a` respects `use_block` status

    ```ruby
    b = RubyVM::InstructionSequence.compile('def f = yield; def g = nil').to_a
    pp b

     #=>
     ...
     {:use_block=>true},
     ...
    ```

commit 75154dec73e1329693866e3a88cb9febb7635417
  Author:     Jean byroot Boussier <jean.boussier+github@shopify.com>
  AuthorDate: 2024-04-17 10:29:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-17 10:29:18 +0900

    [ruby/stringio] strio_read: preserve buffer encoding on partial
    reads
    (https://github.com/ruby/stringio/pull/95)

    [[Bug #20418]](https://bugs.ruby-lang.org/issues/20418)

    Ruby IO#read preserves the encoding on partial read, but change it when
    reading the whole IO

    from commit https://github.com/ruby/ruby/commit/0ca7036682da:
    > * io.c (read_all): should associate default external encoding.
    > * io.c (io_read): should NOT associate default external encoding.

    https://github.com/ruby/stringio/commit/073172da31

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit f34409bf8782481deabec6c577abd66373134af9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-17 10:15:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-17 10:15:21 +0900

    [ruby/prism] Fix up more clang-analyzer failures

    https://github.com/ruby/prism/commit/f9a1abbc64

commit d6debba817da921d8bc9a3fdb6b4bcbe3d7b0859
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-17 02:25:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-17 03:34:52 +0900

    Don't check for dynamic symbol in gc_is_moveable_obj

    All GC managed symbols are dynamic symbols so we don't need to check it.

commit e5df8897fe999c77a2e25a85289ec286d0462617
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-17 00:16:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-17 02:24:46 +0900

    Don't check for thread in gc_sweep_page

    We should always have a thread when we sweep so we don't need to check
    that it exists.

commit f06670c5a2a1daa6595018858d5cfa429a8aeae6
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-16 22:30:00 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-17 00:20:35 +0900

    Eliminate usage of OBJ_FREEZE_RAW

    Previously it would bypass the `FL_ABLE` check, but
    since shapes introduction, it started having a different
    behavior than `OBJ_FREEZE`, as it would onyl set the `FL_FREEZE`
    flag, but not update the shape.

    I have no indication of this causing a bug yet, but it seems
    like a trap waiting to happen.

commit 7380e3d30ff3d33fa7dd3756929e5718be665bba
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-16 21:23:45 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-17 00:20:35 +0900

    RB_OBJ_FREEZE_RAW: Set the object shape

commit 39b13e581835d29f03da08c5df1a6f5d8d5a7957
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-16 23:41:21 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-16 23:41:21 +0900

    YJIT: End send fallback blocks (#10539)

commit 646a00892e80a106c1166ea529b18b780982942d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-16 23:20:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-16 23:30:34 +0900

    [ruby/prism] Fix up clang-analyzer violations

    https://github.com/ruby/prism/commit/259aef2acd

commit 79df0f135e9179b64f6fa29d5131f586511a088b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-16 23:06:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-16 23:06:22 +0900

    [ruby/reline] Refactor history move and history search
    (https://github.com/ruby/reline/pull/651)

    https://github.com/ruby/reline/commit/90e43e01d4

commit 982dfa07936001013aafedd8aa656c69e268ebc3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 09:16:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-16 22:32:59 +0900

    [ruby/prism] Better error recovery for unwritable nodes

    https://github.com/ruby/prism/commit/4828e73263

commit 8e341d81c9a5d9874c2d4b65d873425ff94bc3b7
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-16 21:42:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-16 21:42:57 +0900

    [ruby/reline] Bump version to 0.5.2
    (https://github.com/ruby/reline/pull/682)

    https://github.com/ruby/reline/commit/17d12cc511

commit 639449fe8d2493576faa764b1766ff2bc9c154ed
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-16 20:58:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-16 20:58:49 +0900

    [ruby/reline] Implement changing editing mode
    (https://github.com/ruby/reline/pull/681)

    https://github.com/ruby/reline/commit/501b9a6c5f

commit 54d472d91fe9fc724969a6ed71a3919710e28bfa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2021-01-24 18:17:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-16 19:24:49 +0900

    [rubygems/rubygems] Honor a specified path as the temporary diretory if given

    ## The problem

    Currently the tests are executed in the fixed name directory "tmp"
    under the top source directory.  However it makes the tests fail when
    the source path contains symlinks.  Or unable to even start if the top
    source directory is read-only, e.g., remote-mounting in read-only mode
    from virtual machines.

    Also, with the fixed directory, there is no way to avoid `pend` in
    `TestGemPackage#test_extract_symlink_parent_doesnt_delete_user_dir`.

    ## The fix

    Instead of creating the fixed name directory, this PR allows to use a
    different path given with the environment variable "GEM_TEST_TMPDIR".
    The default path is, as well as the current behavior, "tmp" from the
    top source directory.

    ### Caveat

    It is the caller's responsibility to make the directory safe (owned,
    world unwritable, or sticky) when setting the environment variable.

    https://github.com/rubygems/rubygems/commit/bf00850656

commit 29110fe18d8f10f649cbcd43a9726069bfff1c54
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-16 16:13:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-16 16:13:19 +0900

    [Bug #20325] `Enumerator.product.size` is 0 if any size is 0

commit f8f542bd9b5c15dd8d0f7facdfd33302c30d9c9b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-23 05:35:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-16 14:48:57 +0900

    [ruby/pathname] Remove check for File.birthtime

    File.birthtime has existed since Ruby 2.2, and pathname requires Ruby
    >= 2.7.0, so the method will always be there.

    https://github.com/ruby/pathname/commit/aca9613bbf

commit 4fcf007e851c68588fdf650459b606fce05c6a39
  Author:     Kouhei Yanagita <yanagi@shakenbu.org>
  AuthorDate: 2024-04-12 15:18:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-16 11:01:16 +0900

    [DOC] Update NEWS.md [Misc #18984]

commit ebaa87f62692f4dfe5e209b3337d54ce147e8dcd
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-15 21:26:38 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-16 07:15:45 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit f5d89267c46ea86c34b9e174e999fea15d48a8e1
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-05 03:48:41 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-04-16 03:50:47 +0900

    Add --with-shared-gc to Ubuntu CI

commit 065710c0f5c1e81f0fa7ab6ddd3ccbc41e9cc2cc
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-02 21:52:50 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-04-16 03:50:47 +0900

    Initialize external GC Library

    Co-Authored-By: Peter Zhu <peter@peterzhu.ca>

commit a2ea4ec30c409ebe8ae7952f092e0bd8c1912a17
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-02 19:28:52 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-04-16 03:50:47 +0900

    Add --with-shared-gc build flag

commit f86fb1eda23ee3d59dc59452d0d7078002845d12
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-16 03:01:01 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-04-16 03:29:48 +0900

    add allocation benchmark

commit 1984f9aedcbb11f0770257eb5ecd4d4f37e0efd5
  Author:     Gannon McGibbon <gannon.mcgibbon@gmail.com>
  AuthorDate: 2024-04-16 02:55:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-16 02:55:14 +0900

    Specify Kernel#autoload? uses current namespace

    Because Kernel#autoload? uses the current namespace, it can lead to
    potentially confusing results. We should make it clearer that modules
    count as separate namespaces to lookup in.

    Co-authored-by: Jeremy Evans <code@jeremyevans.net>
    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 733d50f0a5744b87da09e274b23cb0519206b88e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-11 04:56:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-16 02:44:31 +0900

    Remove dependency on gc.h for darray.h

commit 66bfcba587df3184d3d32495e2ba70984b36e1b2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-16 00:46:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-16 01:57:22 +0900

    Not all `nm`s support the `--help` option

commit d019b3baec4485909e6727db2507f943e78f38ec
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-15 20:03:26 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-16 01:21:41 +0900

    Emit a performance warning when redefining specially optimized methods

    This makes it easier to notice a dependency is causing interpreter or
    JIT deoptimization.

    ```ruby
    Warning[:performance] = true

    class String
      def freeze
        super
      end
    end
    ```

    ```
    ./test.rb:4: warning: Redefining 'String#freeze' disable multiple interpreter and JIT optimizations
    ```

commit 2eafed0f3bd33d5a4e6103259e1aba6400e5146e
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-16 00:59:45 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-16 00:59:45 +0900

    YJIT: A64: Avoid intermediate register in `opt_and` and friends (#10509)

    Same idea as the x64 equivalent in c2622b52536c5, removing the register
    shuffle coming from the pop two, push one stack motion these VM
    instructions perform.

    ```
      # Insn: 0004 opt_or (stack_size: 2)
      - orr x11, x1, x9
      - mov x1, x11
      + orr x1, x1, x9
    ```

commit 0a4e3f23e6f872537faedb8d728a5696f63a7f89
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-15 22:31:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-15 22:31:38 +0900

    [ruby/reline] Remove not implemented method
    (https://github.com/ruby/reline/pull/680)

    https://github.com/ruby/reline/commit/84762fc588

commit 43f4da3ebfe39995fa6476af4ba4514ece8e4b4a
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-15 22:15:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-15 22:15:58 +0900

    [ruby/reline] Fix vi_to_column which was broken
    (https://github.com/ruby/reline/pull/679)

    https://github.com/ruby/reline/commit/9e93ad52e7

commit 07ff4aa19b4f7cda9948ef5104bd1623e0c3eafc
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-15 20:44:48 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-15 21:56:33 +0900

    Include more debug information in test_uplus_minus

commit 9b1e97b211565b605b8eb7fab277efe117fe2604
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-03-28 10:26:42 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-15 20:51:54 +0900

    [Universal parser] DeVALUE of p->debug_lines and ast->body.script_lines

    This patch is part of universal parser work.

    ## Summary
    - Decouple VALUE from members below:
      - `(struct parser_params *)->debug_lines`
      - `(rb_ast_t *)->body.script_lines`
    - Instead, they are now `rb_parser_ary_t *`
      - They can also be a `(VALUE)FIXNUM` as before to hold line count
    - `ISEQ_BODY(iseq)->variable.script_lines` remains VALUE
      - In order to do this,
      - Add `VALUE script_lines` param to `rb_iseq_new_with_opt()`
      - Introduce `rb_parser_build_script_lines_from()` to convert `rb_parser_ary_t *` into `VALUE`

    ## Other details
    - Extend `rb_parser_ary_t *`. It previously could only store `rb_parser_ast_token *`, now can store script_lines, too
    - Change tactics of building the top-level `SCRIPT_LINES__` in `yycompile0()`
      - Before: While parsing, each line of the script is added to `SCRIPT_LINES__[path]`
      - After: After `yyparse(p)`, `SCRIPT_LINES__[path]` will be built from `p->debug_lines`
    - Remove the second parameter of `rb_parser_set_script_lines()` to make it simple
    - Introduce `script_lines_free()` to be called from `rb_ast_free()` because the GC no longer takes care of the script_lines
    - Introduce `rb_parser_string_deep_copy()` in parse.y to maintain script_lines when `rb_ruby_parser_free()` called
      - With regard to this, please see *Future tasks* below

    ## Future tasks
    - Decouple IMEMO from `rb_ast_t *`
      - This lifts the five-members-restriction of Ruby object,
      - So we will be able to move the ownership of the `lex.string_buffer` from parser to AST
      - Then we remove `rb_parser_string_deep_copy()` to make the whole thing simple

commit bb1c3418d0fd3235c678ad68f7b45d32f8183a3f
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-15 16:04:51 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-15 18:06:54 +0900

    Add more assertions in `test_uplus_minus`

    Not along after 1b830740ba8371c4bcfdfc6eb2cb7e0ae81a84e0 CI
    started to rarely fail this test:

    ```
    TestString#test_uplus_minus: Test::Unit::AssertionFailedError: uminus deduplicates [Feature #13077].
      1) Failure:
    TestString#test_uplus_minus [/tmp/ruby/src/trunk/test/ruby/test_string.rb:3368]:
    ```

    It's unclear what is going on, but one possibility is that
    `"bar".freeze` might no longer compile correctly.

    Another possibility is that another test redefine `String#freeze`,
    causing `opt_str_freeze` to no longer return an `fstring`.

commit 9a57b047033034c30a3351d08ad648735299c8cf
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-04-15 17:06:03 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-04-15 17:56:49 +0900

    `super{}` doesn't use block

    `super(){}`, `super{}` and `super(&b)` doesn't use the given
    block so warn unused block warning when calling a method which
    doesn't use block with above `super` expressions.

    e.g.: `def f = super{B1}` (warn on `f{B2}` because `B2` is not used.

commit 145cced9bcb6a52fccfa0c669121bd07d3b3ff74
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-04-15 14:22:40 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-04-15 14:53:41 +0900

    fix incorrect warning.

    `super()` (not zsuper) passes the passed block and
    it can be used.

    ```ruby
    class C0
      def foo; yield; end
    end

    class C1 < C0
      def foo; super(); end
    end

    C1.new.foo{p :block} #=> :block
    ```

commit fc363944b40e4031b447f91fa897935620d43ecd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-15 14:05:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-15 14:06:46 +0900

    [ruby/optparse] bump up to 0.5.0

    https://github.com/ruby/optparse/commit/f5018a8b1c

commit 9180e33ca3a5886fec3f9e0a2f48072b55914e65
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-03-27 07:29:38 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-04-15 12:08:07 +0900

    show warning for unused block

    With verbopse mode (-w), the interpreter shows a warning if
    a block is passed to a method which does not use the given block.

    Warning on:

    * the invoked method is not written in C
    * the invoked method is not `initialize`
    * not invoked with `super`
    * the first time on the call-site with the invoked method
      (`obj.foo{}` will be warned once if `foo` is same method)

    [Feature #15554]

    `Primitive.attr! :use_block` is introduced to declare that primitive
    functions (written in C) will use passed block.

    For minitest, test needs some tweak, so use
    https://github.com/minitest/minitest/commit/ea9caafc0754b1d6236a490d59e624b53209734a
    for `test-bundled-gems`.

commit 515e52a0b1ce61ccaffe9183bcb78dda95a64907
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-07 10:59:51 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-15 06:29:25 +0900

    Emit `warn` event for duplicated hash keys on ripper

    Need to use `rb_warn` macro instead of calling `rb_compile_warn`
    directly to emit `warn` event on ripper.

commit 339128b190959ce15de2b3cecbf9c5ac3c402a1b
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-15 02:33:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-15 02:33:51 +0900

    [ruby/reline] Refactored Default Key Bindings
    (https://github.com/ruby/reline/pull/678)

    * Reduce duplicate method

    * Configured default key mapping with Readline when the method exists

    * Remove undefined methods

    https://github.com/ruby/reline/commit/155f7047bb

commit 1648c4436e67ea9653c247087bf349bd431f5146
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-14 23:28:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-14 23:28:15 +0900

    [ruby/reline] Refactor waiting_proc and waiting_operator_proc
    (https://github.com/ruby/reline/pull/649)

    * Fix waiting_proc precedence

    * Fix waiting_operator bugs

    * Add waiting_proc and vi_waiting_operator test

    * Fix vi waiting operator arg number

    vi_arg and vi_waiting_operator_arg should be multiplied

    * Implement `yy` copies whole line in vi_command mode

    * Simplify incremental search cancel test

    * Add complex vi test with waiting_proc and vi_waiting_operator, split test input

    https://github.com/ruby/reline/commit/777dffae1c

commit 8d5d6ec6e7dd777a058fbd9b08372a4fba8737b9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-14 20:35:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-14 20:35:34 +0900

    [pty] Fix missing `or`

commit 3368913be3838d152e42bde02a94219102b61f71
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-14 19:43:21 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-14 20:27:05 +0900

    [pty] Fix `ptsname_r` fallback

    If `posix_openpt` is available, also `ptsname` should be available.

commit 04ba96e619325d6e2c053ae93c2514e9252f0497
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-14 20:01:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-14 20:01:43 +0900

    [ruby/irb] Allow defining custom commands in IRB
    (https://github.com/ruby/irb/pull/886)

    This is a feature that has been requested for a long time. It is now
    possible to define custom commands in IRB.

    Example usage:

    ```ruby
    require "irb/command"

    class HelloCommand < IRB::Command::Base
      description "Prints hello world"
      category "My commands"
      help_message "It doesn't do more than printing hello world."

      def execute
        puts "Hello world"
      end
    end

    IRB::Command.register(:hello, HelloCommand)
    ```

    https://github.com/ruby/irb/commit/888643467c

commit 76b10f2ee1bbc962f2b7f178b7dddb30985d56f7
  Author:     Michael J. Giarlo <mjgiarlo@stanford.edu>
  AuthorDate: 2024-04-14 18:13:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-14 18:13:20 +0900

    [ruby/reline] Support `menu-complete-backward` command for upward
    navigation
    (https://github.com/ruby/reline/pull/677)

    Fixes https://github.com/ruby/reline/pull/675

    This commit extracts the upward navigation condition in `LineEditor#input_key` to a new private method, and adds a new alias. This change allows Reline to support upward navigation in when a user has configured `inputrc` to map Shift-Tab to `menu-complete-backward`, a common setting in Bash (>= 4.x).

    Instead of special-casing upward navigation in `LineEditor#input_key`, we now allow it to be processed by the branch that calls `process_key`. The extracted method no longer includes the editing mode check since this check is already made by `#wrap_method_call` by the time `#completion_journey_up` (or `#menu_complete_backward`) is called. Since upward navigation is happening in a method other than `#input_key` now, the `completion_occurs` variable that used to be local to `#input_key` is changed to an instance variable so that the new method can change its value. (I see many examples of mutating such instance variables in `LineEditor`, so I assumed this would be an uncontroversial change consistent with the coding practices already in place.)

    Test coverage of this change has been added to the emacs and vi `KeyActor` tests.

    Many thanks to @ima1zumi for their very helpful comments on #675 which encouraged me to contribute this work!

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

commit 38b8bdb8eac2c0dc6a149ef9d13c02ef788ad5ef
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-14 09:22:10 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-14 10:51:16 +0900

    Remove undefined function's prototype declaration

    89cfc152071 removed the definition of these functions.

commit 924b928e35bb54b0ba44028b780481bf979cc6c9
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-13 23:06:03 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-14 09:08:19 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit 5970386a2edb0f8ba4b9b155091b42f225054385
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-13 13:22:18 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-14 09:08:19 +0900

    Use `rb_parser_string_t *` for `delayed.token`

commit c479492a6701dcef3d3a96de8946ecf7beb079d4
  Author:     Zack Deveau <zack.ref@gmail.com>
  AuthorDate: 2024-01-20 05:01:46 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-14 08:41:47 +0900

    Resize ary when `Array#sort!` block modifies embedded ary

    In cases where `rb_ary_sort_bang` is called with a block and
    tmp is an embedded array, we need to account for the block
    potentially impacting the capacity of ary.

    ex:
    ```
    var_0 = (1..70).to_a
    var_0.sort! do |var_0_block_129, var_1_block_129|
      var_0.pop
      var_1_block_129 <=> var_0_block_129
    end.shift(3)
    ```

    The above example can put the array into a corrupted state
    resulting in a heap buffer overflow and possible segfault:
    ```
    ERROR: AddressSanitizer: heap-buffer-overflow on address [...]
    WRITE of size 560 at 0x60b0000034f0 thread T0 [...]
    ```

    This commit adds a conditional to determine when the capacity
    of ary has been modified by the provided block. If this is
    the case, ensure that the capacity of ary is adjusted to
    handle at minimum the len of tmp.

commit 43a6690d2142a2f07a04c0bb75a0834a23c88fec
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 08:47:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-13 08:47:04 +0900

    [PRISM] Enable passing test_parenthesised_statement_argument

commit 3c0756752c73ca08f366c31e197097b557da23d7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 03:11:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-13 06:46:42 +0900

    [ruby/prism] Better error message on statement inside argument list

    https://github.com/ruby/prism/commit/3b1a99526a

commit 10d0abb437e933caa3da48dfd87b40153d1a5bd7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 03:01:42 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-13 06:46:31 +0900

    [PRISM] Enable passing tests from latest prism

commit 7baecc2e36521dbfacffe25e1522ca2a3d85bac8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 02:24:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-13 06:46:31 +0900

    [PRISM] Emit parse warnings before raising syntax errors

commit 650b5e5aa2ece3446633fa2ecfb202334ad655d3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 02:11:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-13 06:46:31 +0900

    [PRISM] Enable more passing tests

commit 1521af3259b12570bb9eb2b2a735641b35e33ec7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 02:43:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-13 02:49:17 +0900

    [ruby/prism] Better error message on invalid def

    https://github.com/ruby/prism/commit/d398e7d22c

commit 52b862398d264e46ad2c04286ef464cc513322ab
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 02:18:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-13 02:30:37 +0900

    [ruby/prism] Syntax error for block argument on yield

    https://github.com/ruby/prism/commit/9feeafbc67

commit 0424c1fa7b2554f4f7768635f6414281f895d3df
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 00:17:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-13 01:50:34 +0900

    [ruby/prism] Fix up embdoc lexing on EOF

    https://github.com/ruby/prism/commit/8ee43be26d

commit 9bab179ca3ac9cc13c8940e3d1fa67c881507d68
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-12 03:35:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-13 00:27:08 +0900

    Don't treat flonum specially in object ID

    flonum is just a special constant, so we don't need to treat it in any
    special way.

commit edec690e0331b5aa851b3a7c9872b2bf92f3cb21
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-12 03:30:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-13 00:27:08 +0900

    Refactor how object IDs work for special consts

    We don't need to treat static symbols in any special way since they
    can't be confused with other special consts or GC managed objects.

commit 3629d4df66a09334a764f487c431c501a60e18fe
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 23:35:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-13 00:07:04 +0900

    [PRISM] Enable passing tests for prism

commit c41ecf3f470ab5a4cba410743dc8154694f9d885
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 23:49:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 23:58:03 +0900

    [ruby/prism] Create the warning for unreachable statements

    https://github.com/ruby/prism/commit/e17c86b886

commit c553d3483542f933df41a71f1ad8f5bcb1142c2b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 23:22:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 23:30:57 +0900

    [ruby/prism] Warn void regardless of eval

    https://github.com/ruby/prism/commit/48ba434fa4

commit 5f2bcbb6d4476fcfc278d612e34a483f7592a581
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 23:29:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-12 23:29:39 +0900

    [PRISM] Ensure no void warnings in rubyoptions test

commit 8e514bedf983a8a0a2f358709823fabfc74407d7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 23:01:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 23:10:21 +0900

    [ruby/prism] Remove outdated comment

    https://github.com/ruby/prism/commit/9adc88ddf8

commit 4fc457e2b7fcaf78294d3315125926fb2e580f6d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 04:54:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 23:10:20 +0900

    [ruby/prism] Implement the void statement warning

    https://github.com/ruby/prism/commit/802ff71cd4

commit 0924ff2d390084922fbcebada20b968fa3e8238c
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-04-03 05:41:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 22:55:35 +0900

    [ruby/prism] Fix parser translation's heredoc whitespace calculation

    Given this example:

    ```rb
    <<~HEREDOC
      #{x}
    HEREDOC
    ```

    Both the parser gem and Prism's translation layer would generate the following AST:

    ```
    s(:dstr,
      s(:begin,
        s(:int, 1)),
      s(:str, " a\n"))
    ```

    However, the parser gem inserts a empty string node into this node's location, like:

    ```
    <Parser::Source::Map::Heredoc:0x0000000104ce73b8
     @expression=#<Parser::Source::Range (string) 0...10>,
     @heredoc_body=#<Parser::Source::Range (string) 11...20>,
     @heredoc_end=#<Parser::Source::Range (string) 20...27>,
     @node=s(:dstr,
      s(:str, ""),
      s(:begin,
        s(:int, 1)),
      s(:str, " a\n"))>
    ```

    This is required to calculate the correct whitespace for the heredoc body.

    We need to adjust the translation layer to account for this.

    With this fix, we also won't need to ignore the tilde heredoc fixture anymore.

    https://github.com/ruby/prism/commit/e7372e3ba5

commit abd05c848f437405e10410ded2a3d666e1b9bba5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 22:52:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-12 22:52:29 +0900

    Sync latest prism

commit a64a42ae386576cb91f5fb017b13a8f8a77077a4
  Author:     David Marshall <depmarshall@gmail.com>
  AuthorDate: 2024-04-05 22:53:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 22:31:43 +0900

    [rubygems/rubygems] `bundle add --glob` continued- quote glob value invocation in specs, add banner text for CLI recommending single quotes

    https://github.com/rubygems/rubygems/commit/6d2cf955f9

commit c4b5f3f1422b1c83bc4c7e03d32218881c0b6945
  Author:     David Marshall <depmarshall@gmail.com>
  AuthorDate: 2024-04-05 02:33:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 22:31:43 +0900

    [rubygems/rubygems] bundler CLI option for add gem --glob=

    Bundler online documentation says that if the gem is located within a subdirectory of a git repository,
    you can use the `:glob` option to specify the location of its .gemspec

    `gem 'cf-copilot', git: 'https://github.com/cloudfoundry/copilot', glob: 'sdk/ruby/*.gemspec'`

    This change allows for equivalent functionality from the bundler CLI

    `bundle add cf-copilot --git=https://github.com/cloudfoundry/copilot --glob=sdk/ruby/*.gemspec`

    https://github.com/rubygems/rubygems/commit/91052e5868

commit f1d9e895b92953add4b12f477c27852cc3d0955b
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-12 21:00:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 21:01:03 +0900

    [ruby/irb] Pass statements to Context#evaluate
    (https://github.com/ruby/irb/pull/920)

    This has a few benefits:

    - We can keep hiding the evaluation logic inside the Context level, which
      has always been the convention until #824 was merged recently.
    - Although not an official API, gems like `debug` and `mission_control-jobs`
      patch `Context#evaluate` to wrap their own logic around it. This implicit
      contract was broken after #824, and this change restores it.

    In addition to the refactor, I also converted some context-level evaluation
    tests into integration tests, which are more robust and easier to maintain.

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

commit 7b8b936f4a1cd9a629c0465c287fd0ed40519ebe
  Author:     Satoshi Tagomori <tagomoris@gmail.com>
  AuthorDate: 2024-04-12 18:31:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-12 18:31:22 +0900

    [DOC] Fix the wrong comment

    This function checks the CL's superclasses containing the class C at
    the end of it. That means C is a superclass of CL, not a subclass.

commit 69823b97b517629e5438328e10f758eb6250f762
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-12 17:02:46 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-12 17:02:46 +0900

    [Bug #20423] Fix error message of prism

commit e36988450e9e9ccccb41c72135f1e57790920668
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-12 16:07:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-12 16:07:49 +0900

    [Bug #20423] Disallow anonymous block within argument forwarding

commit 971b552735f46cbda7345e8de60a2037ee10e259
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-12 09:31:08 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-12 09:31:28 +0900

    [PRISM] Suppress compiler warnings

    ../prism_compile.c: In function ‘pm_compile_node’:
    ../compile.c:583:24: warning: ‘retry_end_l’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      583 |     anchor->last->next = elem;
          |     ~~~~~~~~~~~~~~~~~~~^~~~~~
    In file included from ../compile.c:14256:
    ../prism_compile.c:5796:16: note: ‘retry_end_l’ was declared here
     5796 |         LABEL *retry_end_l;
          |                ^~~~~~~~~~~
    ../compile.c:255:42: warning: ‘retry_label’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      255 | #define LABEL_REF(label) ((label)->refcnt++)
          |                                          ^~
    In file included from ../compile.c:14256:
    ../prism_compile.c:5795:16: note: ‘retry_label’ was declared here
     5795 |         LABEL *retry_label;
          |                ^~~~~~~~~~~
    ../prism_compile.c:5919:52: warning: ‘previous_block’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     5919 |             ISEQ_COMPILE_DATA(iseq)->current_block = previous_block;
          |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~

commit 842f151d79824cd09d1a9020bc392265b33df79e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 03:30:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-12 04:47:30 +0900

    [PRISM] Enable more passing tests

commit c5e661b1d720cf5452c3fd5264b73063ca9c4515
  Author:     Cody Cutrer <cody@instructure.com>
  AuthorDate: 2024-04-12 01:21:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 04:35:28 +0900

    [rubygems/rubygems] Fix installing plugins via relative paths

    This affected both CLI and Gemfile installs

    https://github.com/rubygems/rubygems/commit/a0d101a8df

commit cd516ebd20a8d2c7b0f912e4d5750f84616463a5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 03:37:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 03:53:30 +0900

    [ruby/prism] Add Location#chop

    https://github.com/ruby/prism/commit/5dd57f4b84

commit 58f93eec188df0a77b61b4781a7baf7b2c608097
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 03:01:37 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-12 03:39:04 +0900

    [PRISM] Fix break in super block

commit bb5ed8b3df9151d5bfadf13622c53888e140ea73
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-11 23:21:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-12 01:18:51 +0900

    [PRISM] Fix flags on local variable operator write nodes

commit f2369de2a4a0ffc5e40f6d55fa3ae811128432db
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-12 01:08:03 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-12 01:08:03 +0900

    Remove redundant cast

    ptr is already of the VALUE type, so we don't need to cast it.

commit ca81f5a5de4bf9a8445770edd13ab0a9321910bf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-11 21:53:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-11 23:47:32 +0900

    Realclean extracted bundled gems and lock files

commit 2df4638538c5602bb14bfb5bf0cb68b06452e584
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-11 21:47:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-11 23:47:32 +0900

    Cleanings of .bundle do not need cleanings of ext

commit c2622b52536c5206a396de589de0961967df6956
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-11 23:37:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-11 23:37:56 +0900

    YJIT: x64: Remove register shuffle with `opt_and` and friends (#10498)

    This is best understood by looking at the change to the output:

    ```diff
      # Insn: 0002 opt_and (stack_size: 2)
      - mov rax, rsi
      - and rax, rdi
      - mov rsi, rax
      + and rsi, rdi
    ```

    It's a bit awkward to match against due to how stack operands are
    lowered, but hey, it's nice to save the 2 unnecessary MOVs.

commit db0cf1aef92efc558d4d6c6351dee9e45ef31005
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-11 19:47:49 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-11 21:48:30 +0900

    prism_compile.c: use rb_enc_interned_str to reduce allocations

    The `rb_fstring(rb_enc_str_new())` pattern is inefficient because:

    - It passes a mutable string to `rb_fstring` so if it has to be interned it will first be duped.
    - It an equivalent interned string already exists, we allocated the string for nothing.

    With `rb_enc_interned_str` we either directly get the pre-existing string with 0 allocations,
    or efficiently directly intern the one we create without first duping it.

commit 56f9ac8d31766426471aca3c8180defeba0c2fd0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-11 21:12:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-11 21:12:34 +0900

    [ruby/prism] More unreachables

    https://github.com/ruby/prism/commit/735f3122c2

commit 9183101aa7399a56a93045cc85220707bb413218
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-11 19:24:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-11 21:08:30 +0900

    prism_compile.c: X_STRING should be frozen

    The backtick method recieves a frozen string unless it is interpolated.

    Otherwise the string held in the ISeq could be mutated by a custom
    backtick method.

commit b2f8de3d9d7af9af547c1e290c6e3a4d2658a62e
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-04-08 13:12:42 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-11 20:25:08 +0900

    Launchable: Correctly configure the missing "os" flavor in ubuntu.yaml

commit e7f8db9079bc3b0f94a490e7597560ac07f5b072
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-08 12:36:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-11 17:57:52 +0900

    [pty] Support `ptsname_r` of glibc

    Although glibc `ptsname_r` man page mentions Tru64 and HP-UX, this
    function appears to be declared obsolete on both.

commit 1b830740ba8371c4bcfdfc6eb2cb7e0ae81a84e0
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-10 17:50:18 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-11 16:04:31 +0900

    compile.c: use rb_enc_interned_str to reduce allocations

    The `rb_fstring(rb_enc_str_new())` pattern is inneficient because:

    - It passes a mutable string to `rb_fstring` so if it has to be interned
      it will first be duped.
    - It an equivalent interned string already exists, we allocated the string
      for nothing.

    With `rb_enc_interned_str` we either directly get the pre-existing string
    with 0 allocations, or efficiently directly intern the one we create
    without first duping it.

commit ed303cd56cfc7889ce371ee390e9fd36f86814ea
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-11 15:53:53 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-11 15:53:53 +0900

    Fix a typo in a comment

commit 501a32c6300e5ae7fe2bef16c2552b96084b32e9
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-11 12:02:11 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-11 12:57:25 +0900

    Remove duplicated `st_init_table_with_size` definition

    `st_init_table_with_size` is already defined in universal_parser.c.

commit e9fd34750f96a9fd1aed94b436996b25685d48d9
  Author:     Vivek Gupta <139687128+vwake01@users.noreply.github.com>
  AuthorDate: 2024-03-26 16:35:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-11 12:16:47 +0900

    [DOC] Typo fix in NEWS.md

    Fix https://github.com/ruby/ruby/pull/10366

commit 207788466eedfdefcf09fdc5c6217547b5ce4ed1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-10 22:44:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-11 12:03:55 +0900

    [Bug #20417] Block local variables do not need to warn about unused

commit 5d9fd674c9ceefd6baffdd05d33c5b60a7c64e42
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-04-10 14:57:14 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-04-11 12:00:33 +0900

    put empty `rb_gc_force_recycle()`

    and declare it will be removed soon.

    ddtrace is still referes the API and build was failed.
    See https://github.com/DataDog/dd-trace-rb/pull/3578

    Maybe threre are only few users of this C-API now so we can remove
    it soon.

commit 87ad5ca3ca32624cb4817504d258c9a348fd279e
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-10 18:30:20 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-11 11:56:28 +0900

    Remove unused function from `struct rb_parser_config_struct`

commit 76732b3e7b42d23290cd96cd695b2373172c8a43
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-04-10 21:05:59 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-11 11:32:09 +0900

    Remove unused AREF macro

commit 39be11a17a221387b7eedd455114d6e87088ac60
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-10 10:28:51 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-11 10:28:58 +0900

    Fix segv when parsing `command` by ripper

    89cfc152071 made this event dispatch to pass `Qundef`
    to user defined callback method by mistake.
    This commit fix it to be `nil`.

commit 38e3819be63a0d4be094e7cd478cf8532a7d1d9d
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-11 08:16:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-11 08:16:32 +0900

    [ruby/irb] Add a workaround to make IRB work with debug's tests
    (https://github.com/ruby/irb/pull/919)

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

commit f389a211b54aa86ec6f2a9edc641836eced96332
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-11 05:32:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-11 05:32:49 +0900

    Fix indentation in switch statement in gc.c

commit 77d3996897ce57dba6d8dda9fd3503e7d0fe3c2f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-11 04:45:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-11 04:45:13 +0900

    [ruby/prism] Put in an unreachable assert for rescues parsing

    https://github.com/ruby/prism/commit/7a60b61368

commit d75dc3988059ac2fc6eb06f29508ef935f5e0139
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-11 02:33:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-11 02:33:44 +0900

    [ruby/irb] Centralize rstrip calls
    (https://github.com/ruby/irb/pull/918)

    https://github.com/ruby/irb/commit/97898b6251

commit d60b2caa95b01f37d35db9ef8be1d035d14b408d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-11 02:10:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-11 02:10:20 +0900

    Lock turbo_tests to 2.1.0 provisionally

    turbo_tests 2.1.1 adds json to its dependency and the current bundler
    does not take the standard library json and fails to build as a gem
    before the installation.

commit 6a505d1b59cf326a8e004fc06e02f30222b17f3f
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-11 01:52:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-11 01:52:53 +0900

    [ruby/irb] Command implementation not by method
    (https://github.com/ruby/irb/pull/824)

    * Command is not a method

    * Fix command test

    * Implement non-method command name completion

    * Add test for ExtendCommandBundle.def_extend_command

    * Add helper method install test

    * Remove spaces in command input parse

    * Remove command arg unquote in help command

    * Simplify Statement and handle execution in IRB::Irb

    * Tweak require, const name

    * Always install CommandBundle module to main object

    * Remove considering local variable in command or expression check

    * Remove unused method, tweak

    * Remove outdated comment for help command arg

    Co-authored-by: Stan Lo <stan001212@gmail.com>

    ---------

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

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 9f6deaa6888a423720b4b127b5314f0ad26cc2e6
  Author:     Kouhei Yanagita <yanagi@shakenbu.org>
  AuthorDate: 2023-10-13 15:02:23 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-04-10 23:28:07 +0900

    [Misc #18984] Raise TypeError from Range#size if the range is not iterable

commit f9f25d0ed001ae7c7a335c32fb3c5f0895709b9b
  Author:     Taketo Takashima <t.taketo1113@gmail.com>
  AuthorDate: 2022-08-09 00:50:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-10 19:30:53 +0900

    [ruby/ipaddr] Added IPAddr#wildcard_mask

    https://github.com/ruby/ipaddr/commit/2093cebc1d

commit 13f04e5beb801d17fce6aa3bc36f6da7a0953874
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-10 18:03:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-10 18:10:50 +0900

    [ruby/io-console] Load the built extension library in noctty tests

    https://github.com/ruby/io-console/commit/74c78afc24

commit 0107954f257af6fd4cb280aa36b9b320795c0a86
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-10 01:23:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-10 01:29:01 +0900

    [ruby/prism] Fix up invalid global variable error message

    https://github.com/ruby/prism/commit/8ce9ae487f

commit d101ec65e9507310b5498ffd8ced4c5a6624662c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-10 00:30:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-10 00:55:57 +0900

    [ruby/prism] Reduce locals variables per CRuby

    https://github.com/ruby/prism/commit/3e6830c3a5

commit 0bc71828b596c763f09d674260f97722a311e764
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-08 11:55:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-09 22:50:09 +0900

    [pty] Split `chfunc` into functions in steps

    - start a new session
    - obtain the new controlling terminal
    - drop privileges
    - finally, `exec`

commit 6846b985760d104320cc7c111754f4d26d159f63
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-09 22:47:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-09 22:47:23 +0900

    [ruby/reline] Bump version to 0.5.1
    (https://github.com/ruby/reline/pull/672)

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

commit 4dbd9c7fec18fe9dcde8aeb58d7df7997fc8b266
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-09 08:13:19 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-09 09:58:05 +0900

    Remove unused function from `struct rb_parser_config_struct`

commit 3d73cd752f5dbdff4c77c57d011ca7f8d783c8ba
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-05 18:53:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-09 09:52:28 +0900

    Hack to update spec/bundler/support/builders.rb

commit b09604e1fd5768daf31aaa4f8130fa8cd9b8d240
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 03:36:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-09 01:54:25 +0900

    [ruby/prism] Simplify locals test now that all fixtures are valid

    https://github.com/ruby/prism/commit/0d32af5719

commit 478b4ef9de0de0d087f5c8d4d94b0b4af3753c6f
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-09 01:31:33 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-09 01:31:33 +0900

    Fix nil error with KNOWNBUGS.rb

    Previously, `make test-knownbugs` crashed with `NoMethodError` due to
    the failed regex match if there is a test case in KNOWNBUGS.rb.

    The note about 1.8 compatibility is probably bogus as we require a way
    more recent BASERUBY now.

commit 00cbdb5a8be7af849874ecdc5ef8a46eed4b214b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-08 21:26:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-08 21:26:11 +0900

    Skip even "Document" only

commit 49b31c7680a86413853d0c2ce2124d3cba56d334
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-04-08 19:41:55 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-08 20:25:09 +0900

    Document STR_CHILLED flag on RString

    [Feature #20205]

commit 8217fbf4bd45fa829fde33bc0b0cfabf34eac50b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-08 18:29:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-08 20:05:40 +0900

    [ruby/tmpdir] Display the offending parent path in the exception

    https://github.com/ruby/tmpdir/commit/7751b12e97

commit 76efed65bd905c68c6b3f34d304a30359afae433
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-08 16:20:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-08 16:20:15 +0900

    Added test case for bundled gems warning with -r option.

    This is for 76914d474d93b7485973c3bca4fa43b59f5bd383

commit 76914d474d93b7485973c3bca4fa43b59f5bd383
  Author:     Masataka Pocke Kuwabara <kuwabara@pocke.me>
  AuthorDate: 2024-04-08 12:41:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-08 15:48:26 +0900

    Fix error when default gem is loaded from `-r` option

    This patch fixes an error when a default gem that will be migrated to
    a bundled gem is loaded from `-r` option.

    Problem
    ===

    `bundle exec ruby -rostruct -e ''` unexpectedly raises the following error:

    ```console
    $ ruby -v
    ruby 3.4.0dev (2024-04-08T02:39:00Z master 6f7e8e278f) [arm64-darwin21]
    $ bundle init && bundle install
    $ bundle exec ruby -rostruct -e ''
    /Users/kuwabara.masataka/.rbenv/versions/trunk/lib/ruby/3.4.0+0/bundled_gems.rb:111:in 'Gem::BUNDLED_GEMS.warning?': undefined method 'find' for nil (NoMethodError)

          caller = caller_locations(3, 3).find {|c| c&.absolute_path}
                                         ^^^^^
            from /Users/kuwabara.masataka/.rbenv/versions/trunk/lib/ruby/3.4.0+0/bundled_gems.rb:75:in 'block (2 levels) in Kernel#replace_require'
    ```

    Solution
    ===

    This patch uses a safe navigation operator to fix this problem. By this
    change, the command will show the warning message correctly.

    ```console
    $ bundle exec ruby -rostruct -e ''
    warning: ostruct was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.5.0. Add ostruct to your Gemfile or gemspec.
    ```

commit 19f4b06b9d9698c97bad5f342324517455be6843
  Author:     Reznov <78517110+alantudyk@users.noreply.github.com>
  AuthorDate: 2024-04-08 12:51:32 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-08 12:51:32 +0900

    Reducing the number of divisions in `rb_fix_digits`

commit 6f7e8e278fefb70af893937e4d005367f6cbbc2b
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-06 18:51:20 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-08 11:39:00 +0900

    Don't set T_TYPES of NODE

    T_TYPES was needed once Ripper jumbled NODEs and other type
    objects. However such hack was already removed.
    Therefore don't need to set T_TYPES of NODE.

commit 4dd9e5cf7447ec70a55206fd5e1b9e8c79dbba7e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-06 17:45:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-08 11:13:29 +0900

    Add builtin type assertion

commit 5d1702e01a36e11b183fe29ce10780a9b1a41cf0
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-04-07 21:49:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-07 21:49:01 +0900

    Enumerator should use a non-blocking fiber, change `rb_fiber_new` to be non-blocking by default. (#10481)

commit cccffeff2f2de0b5f655aaa04d935f2eee4b0cd2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-07 21:16:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-07 21:16:26 +0900

    Fix missing variable

    It seems like no one has tried to compile on a platform without
    `setsid` for almost a quarter of a century.

commit c4dadfbd47b200b04c59b72ed53948f964ef9cd6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-07 20:54:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-07 20:54:00 +0900

    Fix a typo, missing `P` in `SETPGRP_VOID`

commit b473d304d449b520a967e45b7d5d5ecb8556b4c3
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-04-07 19:20:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-07 19:20:22 +0900

    Revert "Enumerator should use a non-blocking fiber. (#10478)" (#10480)

    This reverts commit dfa0897de89251a631a67460b941cd24a14c9b55.

    This commit accidentally included some change in `parse.h`. Reverting
    and re-applying the relevant changes.

commit b88e0d6653836a57f2a51c03e204850319d8e218
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-08-08 11:29:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-07 17:29:24 +0900

    Merge `push_include` and `ruby_push_include`

commit 0d93fd0f69cf6b8f60d76948b2e7d1144c1cd843
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-08-08 08:06:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-07 17:29:23 +0900

    Merge `push_include_cygwin` into `push_include`

commit 0620f006c2043c9842f2a431f14cf1d3f846fb07
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-08-08 08:06:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-07 17:29:23 +0900

    Remove `translit_char`

    It has been used only for DOSISH other than Windows.

commit bdb1fc1e5bd09f23860d0f3aced10da51d2c9867
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-04-07 16:57:15 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-07 16:57:15 +0900

    Prefer to use `Fiber#transfer` in scheduler implementation. (#10479)

commit ed4d03ea41fa48e2d83f5956796f47c32fbe27ab
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-08-08 08:06:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-07 16:44:42 +0900

    Make `dln_warning` a variadic macro

commit b5b54c19f65a42c9229eff5e978937222d46ca41
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-07 15:28:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-07 16:43:52 +0900

    Unify `ERRMSG1` and `ERRMSG2` to `ERRMSG_FMT` variadic macro

commit dfa0897de89251a631a67460b941cd24a14c9b55
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-04-07 16:18:09 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-07 16:18:09 +0900

    Enumerator should use a non-blocking fiber. (#10478)

commit eaa6e4b22862a31c9595d052f7c63ce997a95d68
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-07 13:35:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-07 13:35:20 +0900

    [DOC] Update PTY documents

    - Fix markups as RDoc.
    - Remove already descriptions of removed methods.

commit 6bfabd076b99bd47ee10277b8de24aaa791be69b
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-07 09:56:47 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-07 11:21:04 +0900

    Remove undefined function's prototype declaration

commit 70a0dd41629de7760a38e9530dd58ad641e11b82
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-07 09:46:11 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-07 11:15:09 +0900

    Remove unused macro

commit 7767db237935135e14cb0f9ca70aa3a8dea03faa
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-07 00:42:17 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-07 11:15:09 +0900

    Fix ripper to dispatch warning event for duplicated when clause

    Need to separate `check_literal_when` function for parser and
    ripper otherwise warning event is not dispatched because
    parser `rb_warning1` is used in ripper.

commit ad90fdd24c55284deab8c24449bfd1113658afdf
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-04-05 11:32:30 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-04-07 02:33:16 +0900

    Remove compiler code to handle blocks in attrasgn

    Passing blocks is no longer allowed in attrasgn.  This is similar
    to 3a674c9c655288b3e12ac1cff149ba4af08fd452, but for attrasgn instead
    of op_asgn.

commit 0b4db711dd43ea437093428ea72a08a2a6ef9f88
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-06 19:09:36 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-06 22:03:26 +0900

    Remove unused function from `struct rb_parser_config_struct`

commit 02f5e627a49c28beb421c869e4e1d4525d59d8ac
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-06 19:05:53 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-06 22:03:26 +0900

    Remove redundant conversion between int and object

commit 977672731fa7ce9d22b8b3c997acc54a9365d2c3
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-06 19:12:39 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-06 22:03:08 +0900

    Fix a variable name

    The first argument of `WARN_SPACE_CHAR` is always `c2` in caller
    side, so `c` equals to `c2`.

commit df8f1f78f03ba0b18c082f2cd85a276862a1a944
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-18 23:22:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-06 20:27:02 +0900

    [Feature #20329] Separate additional flags from main dump options

    Additional flags are comma separated list preceeded by `-` or `+`.

    Before:
    ```sh
    $ ruby --dump=insns+without_opt
    ```

    After:
    ```sh
    $ ruby --dump=insns-opt,-optimize
    ```

    At the same time, `parsetree_with_comment` is split to `parsetree`
    option and additional `comment` flag.

    Before:
    ```sh
    $ ruby --dump=parsetree_with_comment
    ```

    After:
    ```sh
    $ ruby --dump=parsetree,+comment
    ```

    Also flags can be separate `--dump`.
    ```sh
    $ ruby --dump=parsetree --dump=+comment --dump=+error_tolerant
    ```

    Ineffective flags are ignored silently.
    ```sh
    $ ruby --dump=parsetree --dump=+comment --dump=+error_tolerant
    ```

commit 9b5d4274a247567c583667f4c8442872d8765d39
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-08 13:57:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-06 20:27:01 +0900

    [Feature #20329] Clean up dump sub-options

    Restructure `insns_without_opt` and `parsetree_with_comment` as
    `insns+without_opt` and `parsetree+with_comment` respectively, like
    `+error-tolerant`.

commit b006919200d30daa672951edafd47c8e7af247d4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-06 18:00:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-06 18:51:24 +0900

    `objspace_each_pages` is also only used if GC compression is possible

commit c2d02a6ac234a1b0fe017196c047bda2034f0684
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-06 18:24:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 18:24:53 +0900

    [ruby/reline] Continue processing even if terminfo database couldn't
    be found
    (https://github.com/ruby/reline/pull/673)

    Fix https://github.com/ruby/reline/issues/447 https://github.com/ruby/reline/issues/543

    This problem occurs when Fiddle can be loaded, curses can be loaded, and TERM is not registered in Terminfo.
    It should also occur at hardcopy terminals and when Terminfo information is low, but no such reports have been received.

    Reline should not abort the process because of missing Terminfo.
    Reline proceeds with `Reline::Terminfo.enabled? == false` when fiddle or curses cannot be loaded.
    And does the same when Terminfo is present but TERM is not.
    https://github.com/ruby/reline/blob/ebab2875f1226f877376558d8758bc0e2a1776c7/lib/reline/terminfo.rb#L156-L160

    You can check the operation with `TERM=foo bundle exec bin/console`.

    https://github.com/ruby/reline/commit/4ce247ce2b

commit f022a700bf57105fca03b537284ed7bf77e8fff7
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-06 09:39:45 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-06 18:20:31 +0900

    Remove imemo type check for NODE

    In the past, `rb_iseq_compile_node` received `NODE *`
    and `struct vm_ifunc *` as `node`. But after e743a35,
    the function only receives `NODE *`.
    This commit removes imemo type check to reduce the dependence
    on `VALUE flags` of `struct RNode`.

commit dae503874d3aa054c4e7ae86e03d1338ab40ddc2
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-04-06 01:18:08 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-06 09:29:44 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit f2ac26d914d349f9fe8fc61ad2db875f03a07fa6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 06:28:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 06:44:06 +0900

    [ruby/prism] Bump to v0.25.0

    https://github.com/ruby/prism/commit/4da514456f

commit 43dcf4d1a6e301bc40adcbc5a3831180cec23695
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-06 05:14:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-06 05:15:48 +0900

    Assert correct types in get_id_serial_entry

commit a80e8ba1c4c0fc802acb21279a72fdb78abe9364
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-06 05:14:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-06 05:15:40 +0900

    Assert correct types in set_id_entry

commit 37490474c4bd45572c0bb35506dc6e032c8ebfd2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-06 05:14:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-06 05:15:33 +0900

    Assert that rb_sym2str returns 0 or a T_STRING

commit e50590a54163b5f88dc78b33e7d06bc428cad25a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-06 05:13:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-06 05:15:28 +0900

    Assert that Symbol#inspect returns a T_STRING

commit fbeb8f2c784806e206904887c19c392b9df0bd6e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 04:14:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:04 +0900

    [ruby/prism] Set up location correctly for hashed locals

    https://github.com/ruby/prism/commit/0334140790

commit 1953ead74e0ceaea83a874ae3ec0001289375247
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 03:53:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:04 +0900

    [ruby/prism] Use a simpler and faster hash function for locals

    https://github.com/ruby/prism/commit/5f56bf4464

commit a801889c580663dde984afa2c27811a8d2438597
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 03:25:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:03 +0900

    [ruby/prism] Do not warn for locals that start with _

    https://github.com/ruby/prism/commit/8b8d66e55d

commit 37ba6927d1bf9d5a0408de479dc030385372b9a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 03:15:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:03 +0900

    [ruby/prism] Always calloc the locals resize

    https://github.com/ruby/prism/commit/8bbd3fef6f

commit 3b59addaf1d8b1398d0e792803e32e9c0a40fa8c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 02:51:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:01 +0900

    [ruby/prism] Provide documentation for the new local tables

    https://github.com/ruby/prism/commit/7a47a1351f

commit 413a151a6bece80609f9951bb5d941009bdc7aa4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 02:48:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:01 +0900

    [ruby/prism] Explicitly cast from uint64_t to double for mid-square hash

    https://github.com/ruby/prism/commit/06c6501044

commit 5e93cf9250bbdfeb409072ceaa29fa55fe2bd764
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 02:43:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:01 +0900

    [ruby/prism] Optimize pm_locals_order

    https://github.com/ruby/prism/commit/13fe4e03c7

commit 3638aeb4cb0ae38ff915568d81da43b79b8d0dcd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 02:40:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:00 +0900

    [ruby/prism] Refactor around pm_parser_scope_find

    https://github.com/ruby/prism/commit/79d83eb95e

commit dcec1e0dc687edd6d34038a3660c0ee254ac9418
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 02:32:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:00 +0900

    [ruby/prism] Replace old circular parameter definition detection

    https://github.com/ruby/prism/commit/c739f8e194

commit bf3a911d1bbcfe6bf2887af50281ee535afa87f1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 02:23:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:23:59 +0900

    [ruby/prism] Do not warn on unused parameters

    https://github.com/ruby/prism/commit/c8d222640a

commit b5b46289913b77a241f8151ba5679ba33b812755
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 02:13:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:23:59 +0900

    [ruby/prism] Warn on unused local variables

    https://github.com/ruby/prism/commit/de111935fb

commit e6aeacb099701ddcf8fe66772da280702a388bb4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 01:46:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:23:58 +0900

    [ruby/prism] Lazily hash locals

    https://github.com/ruby/prism/commit/ef8ea4624a

commit f9c05a65c9c186638991834d1da28800602f181c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 01:43:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:23:58 +0900

    [ruby/prism] Track the number of reads for local variables

    https://github.com/ruby/prism/commit/dce64f4640

commit 540cc886b9ca169356ebc4444c6a11c38e2da04b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 01:12:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:23:57 +0900

    [ruby/prism] Make the locals set switch from list to hash dynamically

    https://github.com/ruby/prism/commit/c977c4c98a

commit 358aeb103b308957bda1b03b760f08848b454cef
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 00:54:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:23:57 +0900

    [ruby/prism] Switch locals to use a hash

    https://github.com/ruby/prism/commit/f38946021e

commit 1f84e1099e76f9a8fb4c40ac3e35e0c5626d3b88
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-06 02:46:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-06 02:46:47 +0900

    [DOC] Add nodoc for GC.remove_stress_to_class

    This method is only available when compiled with GC_DEBUG_STRESS_TO_CLASS
    is enabled, so it's not available on release builds of Ruby.

commit 46ebc48e62e80426da78cdec6d2fbcf267b0ddcf
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-06 02:45:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-06 02:45:12 +0900

    [DOC] Add nodoc for GC.add_stress_to_class

    This method is only available when compiled with GC_DEBUG_STRESS_TO_CLASS
    is enabled, so it's not available on release builds of Ruby.

commit f87e60f1f4fd9e48f78c9a544109b225b4b2bc20
  Author:     Joshua Broughton <josh.broughton47@gmail.com>
  AuthorDate: 2024-04-06 01:25:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 01:25:52 +0900

    [ruby/irb] Filter backtrace before format in handle_exception
    (https://github.com/ruby/irb/pull/916)

    handle_exception now applies the filter_backtrace to exception
    backtraces prior to formatting the lines with Exception#full_message

    This fixes a bug in upstream projects, notably Rails, where the
    backtrace filtering logic expects the lines to be formatted as
    Exception#backtrace.

    https://github.com/ruby/irb/commit/805ee008f9

    Co-authored-by: Hartley McGuire <skipkayhil@gmail.com>

commit dbe8886f4d28d9e5a01d3667cd451a623c3c1ccc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-22 03:24:06 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-06 00:39:54 +0900

    Remove deprecated function rb_gc_force_recycle

    This function has been deprecated since Ruby 3.1, so we should remove it
    for Ruby 3.4.

commit 831b06ea3dcb027247db256818a151c03fe95de6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 04:40:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 22:06:59 +0900

    [PRISM] Enable test_argument_forwarding_with_anon_rest_kwrest_and_block

commit 16c5e34c7492cda940ba0f076f593ebae9686b78
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-05 17:04:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-05 17:36:16 +0900

    Use rake-13.2.1

commit b60bf35cc7106ee0a7c8f18e335429291b8095ec
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-04-05 15:59:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-05 15:59:50 +0900

    Update bundled gems list as of 2024-04-05

commit 9d1d2de2fe0248028dc61a96b65b78e2cb383196
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-05 09:20:59 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-05 14:25:04 +0900

    Make `nd_plen` to be int to reduce `rb_long2int` usage

commit bd728a625af4590daa21cabae3268a278fc2d60d
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-05 08:12:09 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-05 10:04:48 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit 58d03c345841373ee76429c3ef1fd34280cdb0c0
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-04 19:39:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-05 09:34:51 +0900

    [rubygems/rubygems] Fix crash with development bundler binstub

    Fixes the following error:

    ````
    $ ruby /home/deivid/code/rubygems/rubygems/bundler/spec/support/bundle.rb clean --force
    --- ERROR REPORT TEMPLATE -------------------------------------------------------

    ```
    TypeError: no implicit conversion of Pathname into String
      /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/runtime.rb:167:in `match'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/runtime.rb:167:in `block in clean'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/runtime.rb:164:in `each'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/runtime.rb:164:in `clean'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/cli/clean.rb:13:in `run'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/cli.rb:590:in `clean'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/vendor/thor/lib/thor.rb:527:in `dispatch'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/cli.rb:34:in `dispatch'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/cli.rb:28:in `start'
              /home/deivid/code/rubygems/rubygems/bundler/exe/bundle:28:in `block in <top (required)>'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
              /home/deivid/code/rubygems/rubygems/bundler/exe/bundle:20:in `<top (required)>'
              /home/deivid/code/rubygems/rubygems/bundler/spec/support/bundle.rb:5:in `load'
              /home/deivid/code/rubygems/rubygems/bundler/spec/support/bundle.rb:5:in `<main>'

    ```
    (...)
    ````

    https://github.com/rubygems/rubygems/commit/ff7ce7eb6d

commit 4e48d2724edafdebfe7fba4db01a50cd2a726d20
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-05 01:38:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-05 09:34:28 +0900

    [ruby/reline] Thread safe readline
    (https://github.com/ruby/reline/pull/669)

    Block until other Reline.readline or Reline.readmultiline finish

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

commit 4cbe4e49c7e2a90d7d34337343187ab9af2f58d1
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-05 01:15:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-05 09:34:28 +0900

    [ruby/reline] Always call finalize and deprep
    (https://github.com/ruby/reline/pull/668)

    https://github.com/ruby/reline/commit/91b030caa4

commit cebbe18eed2e09843e9c24be9a8ea9db6d241050
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-04 23:53:47 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-05 09:19:57 +0900

    Remove needless check

    `nodetype_markable_p` always returns `false` then
    `rb_ast_node_type_change` never calls `rb_bug`.

commit fc8fe78c073eb4a7a531444de103dd89d379bdae
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-04 23:19:31 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-05 09:19:57 +0900

    Merge two `node_buffer_list_t` fields into one

    All types of Node are managed by `node_buffer_list_t unmarkable`
    therefore merge them into `node_buffer_list_t buffer_list`.

commit 3a674c9c655288b3e12ac1cff149ba4af08fd452
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-03-19 02:54:27 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-04-05 09:13:40 +0900

    Remove compiler code to handle keywords and blocks in operator assignment syntax

    Code such as:

    ```ruby
    foo[0, &bar] = baz
    foo[0, bar: 1] = baz
    foo[0, **bar] = baz
    ```

    Is now a syntax error, so all of the removed code is now dead.

commit 39afab6083976937b52f7a826c7d3f30fcb4e3b3
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-05 00:04:01 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-05 08:22:58 +0900

    Remove unused macros from node.c

commit 440c63df31eb2283019a991d1e6fcd999490009a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 04:32:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-05 05:59:08 +0900

    [ruby/prism] Change forwarding error messages to match CRuby

    https://github.com/ruby/prism/commit/6a15e475c9

commit 2ecf269e6877d8cdf794ef6ff2c1438d1d4432a8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 02:54:09 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 04:29:14 +0900

    [ruby/prism] Eliminate character class duplicated range warning

    https://github.com/ruby/prism/commit/da939bbd4e

commit f45c9dbe87d6f70042c18b03ee178099ef48eb4c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 02:42:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 04:29:10 +0900

    [ruby/prism] Fix up some comments in the parser compiler

    https://github.com/ruby/prism/commit/e2147cddd8

commit 0aa1d61ab95befe0d8e68ebe86e238a09a8c11c5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 03:51:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 04:27:51 +0900

    [PRISM] Ensure unfrozen when interpolation is present in string literal

commit 48c2ffe98040f591b3cc27b9c600a61c2dcb8594
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 03:33:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 04:27:51 +0900

    [PRISM] Enable SCRIPT_COMPILED tracepoint event

commit 3efc1c36f28b06973504dd2d02ed18ca443c98b2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 03:31:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 04:27:51 +0900

    [PRISM] Add CLASS and END tracepoint events

commit 6748526edd97ef540c4eea0003a33e8279d25476
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 03:15:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 04:27:51 +0900

    [PRISM] Fix location of ensure iseqs

commit 0f742a33fb712e7b036472186bf1608bb431f0ab
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 02:39:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove trailing spaces

commit ed99f03a38aa8d78424b14994ae08ec569acdaf0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 02:29:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Consistent style in prism_compile.c

commit 457abb2c478ff06b4c77b1479512d17a8eabcbc8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 02:11:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove pm_line_node_t, consolidate all line number handling

commit 338d10f9df920ff701956d3c3f839d34916ad310
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 01:48:36 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Finish removing dummy_line_node usage in pm_compile_node

commit 895e777227ed65b888970a8825b557f2159f009a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 01:33:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node creation in pm_compile_node

commit 0cf00ca7aad0873827bf06d90f53152abd7b0d10
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 01:29:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove specialized macros that used dummy_line_node

commit b360b4ce3e9eb11251c0760d3e8daf37de661a3f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 01:25:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from get/set local instructions

commit cb5dbca82e02973a451fc1ca7a20b3156f36e3cb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 01:07:58 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from remaining nodes

commit 8bf368d183ff3f33b593a6d2d75756c929ac6451
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 01:04:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from ensure and flip flop nodes

commit cc248706dd8f7e086e54785db5c2e6904bc428a8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:59:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from false and else node

commit 829ca8c4e3fb17ebd255b9e4494c8f70e81d9a06
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:58:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from embedded nodes

commit ca5ad4dac73ccad768e52ad7b16d90fc77b701d2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:56:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from class nodes

commit 2e408d3077ebeb99ff29a0b23fcdcc11fdd7d8ce
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:54:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from case nodes

commit 2d523c27cff12bc9ed85ecc3197b4777da855b4a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:48:23 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from defined expressions

commit 3410387096e763b742674f8f0c53a5d095a31974
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:25:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from constant nodes

commit 3cc61dc9ba8804bf00e8c68a5162fabf4e2457e0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:15:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from class variable nodes

commit 116a332c3a4a26fb217f3c1b5fbf045aecbc55fc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:08:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from global variable nodes

commit bc5a520eca282f3f476e48e152c6268c053de89c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:01:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from index nodes

commit 6bec2a533380333e7b45da527f67b2055f825315
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:39:34 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from instance variable nodes

commit 5be0357847f16d629a73089f57873eaf34743ab6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:33:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from keyword hash and lambda nodes

commit 98823b50917086351051506ae8c034941a82e725
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:29:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from local variable nodes

commit 0782fc4a2ac9f6e16f6c42875864348bd56014dc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:24:09 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from match predicate node

commit 95ad2b0a62f5f9c498d8fbb78250f4f4aa6d2afd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:22:34 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from match required node

commit c9f80021e269d9a9127c3b669760943aef225b35
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:21:09 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Simplify match write node compilation

commit 69ec4990d8ed802da69046af7f6bf44581a585e8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:19:36 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from module and match write node

commit 449384f33737edadeacd79872f21217288913130
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:11:42 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for multi write node

commit 5e8546e8a9565c1ddd628e396ed2d2fdc1515ad7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:10:42 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for next node

commit 24f9faf67c5e3931b200b4900f4914445652bdb7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:07:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for call operator write node

commit 4d347a0a55f35748a10e5e44550878c64a530537
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:05:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for call and/or write node

commit 91373bd64d04bf6f1f3910bc2d0efcbb03612ddf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:02:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for call nodes

commit eb3bad1a0f1031ac08c87568b91260693368c509
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 21:55:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for break nodes

commit ffd9402c8d8c8e05ef8186c0d88c60c013c98cf9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 21:44:34 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for block argument nodes

commit c15c611ea56097c1dd30e81cf0651d9acb96fd68
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 21:43:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for begin nodes

commit 59f931e4f74d9434870646f7699361464c4a35f0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 21:37:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for PM_BACK_REFERENCE_READ_NODE

commit 6c1cf5232f257792e76aa37fae4f3d9a1ecf8153
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 21:32:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage in pm_interpolated_node_compile

commit 58918788abd63901588e4aa1e39b5c057321c10a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-16 19:29:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-05 01:33:08 +0900

    [Bug #20342] Consider wrapped load in `main` methods

commit ef19234b1008508cb04048c815088b9359c9d2b6
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-04 04:46:30 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-04-04 23:00:57 +0900

    Merge rb_objspace_alloc and Init_heap.

    Co-Authored-By: Peter Zhu <peter@peterzhu.ca>

commit 3ac6a03b2e16da1df818227be02c5129c9804b14
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-03 23:31:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-04 21:48:14 +0900

    Revert "hijack SIGCHLD handler for internal use"

    This reverts commit 054a412d540e7ed2de63d68da753f585ea6616c3.
    SIGCHLD `waidpid`, `waitpid_lock` and related code, have been removed
    at ruby/ruby#7527.

commit cfd48adb2f31c697deed7adb404de959fb222436
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-04 14:52:34 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-04 19:13:03 +0900

    Remove unused function from `struct rb_parser_config_struct`

commit 184db1fd6ab04cff2721c1e634e6ff31519fcd28
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-04 18:22:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-04 18:54:54 +0900

    Update `ARGF.write` interface

commit 64b0f4303e3551ca044e29100ace7927607a07e3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-04 18:06:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-04 18:54:54 +0900

    Refine test_argf.rb

    - Make `make_tempfile` to take data to write, `binmode:` flag, and a
      block.
    - Use `make_tempfile` instead of `make_tempfile0`.
    - Use `File.binwrite`.

commit f5e387a30010fe68f8073a6eb5a5b80bb834cd72
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-03-29 16:18:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-04 18:29:16 +0900

    Separate SCRIPT_LINES__ from ast.c

    This patch suggests relocating the code dealing with `SCRIPT_LINES__` from ast.c to ruby_parser.c.

    ## Background

    - I guess `AbstractSyntaxTree.of` method used to use `SCRIPT_LINES__` internally for some reason before
    - However, now it appears `SCRIPT_LINES__` is no longer used meaningfully by the method
    - As evidence of this, (and as my patch shows,) removing the function call of `rb_script_lines_for()` from `ast_s_of()` does not affect the result of `test/ruby/test_ast.rb`

    Given the above, I think two possibilities can be considered:

    - (A) `AbstractSyntaxTree.of` has not needed `SCRIPT_LINES__` already (I pick this)
    - (B) We lack a test case of `AbstractSyntaxTree.of` that needs to use `SCRIPT_LINES__`

    ## Besides,

    The current implementation causes strange behavior:

    ```console
    ruby -e"SCRIPT_LINES__ = {__FILE__ => []}; puts RubyVM::AbstractSyntaxTree.of(->{ 1 + 2 }, keep_script_lines: true).script_lines"
    => `-e:1:in '<main>': undefined method 'script_lines' for nil (NoMethodError)`
    ```

    I think this is a bug because `AbstractSyntaxTree.of` is not supposed to return `nil` even in this case.
    This happens due to the ast.c's dependence on `SCRIPT_LINES__`.
    And at the end of the `ast_s_of()`, `node_find()` can not find the target child node obviously because it doesn't make sense to look for a corresponding node made from the parameter of `AbstractSyntaxTree.of` in the AST tree made from the value of `{__FILE__ => []}`

    ## Solution

    Since I think it's good enough `SCRIPT_LINES__` to be only referred by ruby.c, I chose the possibility "(A)" and wrote this patch which moves `rb_script_lines_for()` from ast.c to ruby_parser.c.

    So as the result:

    - `ast_s_of()` function no longer look up `SCRIPT_LINES__`
    - Even so, this patched code passes the existing tests
    - The strange behavior above no longer happens (I also added a test for it)

    Please correct me if I miss something🙏

commit 27622f3eb92287b3a22256609a05eba39d493923
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-04 18:17:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-04 18:20:13 +0900

    [DOC] AppVeyor is already retired

commit 8088c88d01a0c35ee4ce833fa8ab054d4cc6bc95
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-04 00:50:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-04 17:18:47 +0900

    [ruby/reline] Handle INT signal correctly, remove handle_cleared
    because clear(C-l) is not a signal
    (https://github.com/ruby/reline/pull/646)

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

commit 80e31663f399a1fe106fff0fffb9e222e37a037d
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-04 00:36:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-04 17:18:47 +0900

    [ruby/reline] Fix audoindent including "\v", escape "\v" for
    rendering
    (https://github.com/ruby/reline/pull/648)

    https://github.com/ruby/reline/commit/9c51c577ca

commit 6d82be499b468242214ad701f6f86c5c60c01662
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-04-04 14:10:23 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-04-04 14:10:53 +0900

    Prevent a warning

    ```
    [19889/25837] TestArgf#test_puts-e:1: warning: ARGF.class#write is outdated interface which accepts just one argument
     = 0.06 s
    ```
    https://rubyci.s3.amazonaws.com/debian12/ruby-master/log/20240404T033003Z.log.html.gz

commit 8aa8fce32021263c947a7a10daa24f07ede3e4a3
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-04-04 11:06:15 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-04-04 13:38:26 +0900

    Fix return-type warning in compile.c

    This patch surppresses the warning below:

    ```console
    compile.c:10314:1: warning: control reaches end of non-void function [-Wreturn-type]
    10314 | }
          | ^
    ```

commit 295f2a3305b4af3fd07f5dd0ee8cf6d9b2ce2ffc
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-04-04 13:30:27 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-04-04 13:30:27 +0900

    Prevent a warning: literal string will be frozen in the future

commit d910d64ed9d73622dd4d1d560f9dd81575ddf46a
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-04-04 13:29:11 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-04-04 13:29:41 +0900

    Prevent "method redefined" warnings

commit cb30c3d2b3385aaa2ac4f8fd2c0d674a15b300d8
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-04-04 13:24:09 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-04-04 13:29:41 +0900

    Prevent "assigned but unused variable" warnings

commit fc67091fc8dc4c7122499cd0d287cd34ff01bf30
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-04-04 13:23:52 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-04-04 13:29:41 +0900

    Prevent "ambiguous first argument" warnings

commit f057741c5dd6fdc25926c2f16fc6e936eeec5fd1
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-04 07:46:28 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-04 13:17:26 +0900

    NODE_LIT is not used anymore

commit ab65148c7866faf7783eea58ddacc41c6edef254
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-04 12:29:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-04 12:46:02 +0900

    [flori/json] Bump up 2.7.2

    https://github.com/flori/json/commit/036944acc6

commit 514b415d90cee7675d96d0a44af059a56d3ac235
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-04 11:36:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-04 12:46:02 +0900

    [flori/json] Warn to install ostruct if json couldn't load it

    https://github.com/flori/json/commit/fff285968d

commit 066bd28cff75b752b0af90dce933fa382dee0406
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-03 18:43:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-04 12:46:01 +0900

    [flori/json] Autoload GenericObject to avoid require ostruct warning in Ruby 3.4

    https://github.com/flori/json/commit/b507f9e404

commit 0930231361a72e4c45fde8865e29473fa8e76fce
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-29 18:41:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-04 11:30:02 +0900

    [rubygems/rubygems] Allow to use String keys some of configuration

    https://github.com/rubygems/rubygems/commit/ee0bef2786

commit 0be7133b7fd08c96e33e889bb034f90df445453d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-29 18:23:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-04 11:30:01 +0900

    [rubygems/rubygems] Re-order configuraiton keys

    https://github.com/rubygems/rubygems/commit/b2a88983db

commit 41e9d6641b1c4f2517d2d4f54ab9a5457aeca856
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-04-04 10:30:29 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-04-04 10:30:29 +0900

    Extend timeout of TestRequire#test_require_with_public_method_missing

    Launchable reported that this was the most "flaky" test. Perhaps the
    default timeout (10 seconds) is too tight for a test that uses
    `GC.stress = true`. I try to relax the limit.

commit 60567731051885acf38a3f91899f0d6d62d4898b
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-03 19:28:55 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-04 08:44:10 +0900

    Move shareable_constant_value logic from parse.y to compile.c

commit 4ef99905a6dcb48799bd4ec46628ff8686c633e9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 04:42:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [PRISM] Enhance syntax error message extraction in test_literal_suffix btest

commit ced6aff20632402b9835c78b09a7b160abf93d9e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 04:39:20 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [PRISM] Mark constant path owning expressions as not popped

commit 6bbb3e31fb05a1d1a9ae56624887136f07a31b0d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 04:31:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Allow retry in rescue modifier

    https://github.com/ruby/prism/commit/debe19459a

commit 7e28d3c1e376a617210152fb2fe79397f135d2df
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 04:06:20 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [PRISM] Enable passing tests for invalid block exits

commit ffba484754bd5bed0f7c69646291fd99ed8959cc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 03:54:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [PRISM] Fix up syntax error message parsing in btests

commit e48fd40974e9e726b7782ce6d74e0954a6a5d73f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 03:46:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] No invalid block exits in eval

    https://github.com/ruby/prism/commit/85e045ce40

commit a64f1ab6883bd2e4fd3f23b1a57685daf1c3c989
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 01:33:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Fix up pm_node_list_grow

    https://github.com/ruby/prism/commit/7784365d3f

commit a33f19f78347d40f18d1811a3a2e87bba957dac3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 01:30:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Allow yields in default values in method definitions

    https://github.com/ruby/prism/commit/5bc4cc3413

commit bddd004ce9337edee5e865abb28445b0258e1652
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 00:52:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Further delineate block types

    https://github.com/ruby/prism/commit/750116e5dc

commit e19fccbfdb8171a333101d49ab7f86256b66fe90
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 00:15:15 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Delineate rescue/else/ensure for more accurate exits

    https://github.com/ruby/prism/commit/92868fad78

commit be48b733b61adbd9ab10f4560ca1daf1ca2d7dac
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 23:36:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Pass block exits up the tree

    https://github.com/ruby/prism/commit/168f72b9fe

commit 1fb11824f31472bda09812af5532b2d63c0f95a5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 04:54:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Introduce PM_NODE_LIST_FOREACH to make it easier to iterate over node lists

    https://github.com/ruby/prism/commit/5d4da7c69c

commit 198d197aeb79566673db2440a3b90ff87ff279cd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 04:24:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Allow block exits in defined? and fix modifier while/until

    https://github.com/ruby/prism/commit/2752f0b8df

commit 7ddf093588c3af1be27a24c232a626fa70f07cca
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 03:44:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Allow block exits from while/until/for

    https://github.com/ruby/prism/commit/bc46306b9b

commit 664a5082cb7aa961f88e2b1e71917fc508599022
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 01:52:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Check for syntax errors using RubyVM

    https://github.com/ruby/prism/commit/9e200dd1c1

commit 1153bcde6b41c9024bc324bda814b06e1f9f33b9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 01:47:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Fix up errors test

    https://github.com/ruby/prism/commit/5f86742537

commit 8a18a600d6fa274b489ea0c53fd93fb9903fb4aa
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 01:44:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Fix up location tests

    https://github.com/ruby/prism/commit/eeef9eb09e

commit e454cf22023c95e80689bb26ab1abd2775015fbf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 01:19:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Update fixtures to be all valid Ruby

    https://github.com/ruby/prism/commit/a0b978d25b

commit 7d9e5061aae276d1533bd0f9f6cdb09cad75881b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 00:11:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Correct errors for invalid retry

    https://github.com/ruby/prism/commit/96ca6e51fc

commit a83736c27d6f59ee0ea025d4cba877dbbc31503f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 00:02:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Log errors for invalid jumps

    https://github.com/ruby/prism/commit/892d0f9310

commit 447d3cca01816655c69c7d4a84537178e567e9a5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 00:55:33 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Update unparser tests

    https://github.com/ruby/prism/commit/b70f760b28

commit 79c17250961d2f2d545a6d1c3faa59df0d31ce8b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 00:54:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Update seattlerb/ruby_parser tests

    https://github.com/ruby/prism/commit/cd823d5026

commit 6cd3521519fe2ec606333a1ae42d193409eee2de
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 00:51:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Update whitequark/parser tests

    https://github.com/ruby/prism/commit/b1492ec87c

commit 08c841ff63d02a839a858594e1042b6a77bcd4d4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 21:26:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Use tilde for extended error lines

    https://github.com/ruby/prism/commit/daaa386a4f

commit 3147404d64d076b1ee361323f1e3c457d0fbfe62
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 04:44:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Match circular parameter error message

    https://github.com/ruby/prism/commit/c0381b10e4

commit 571bfc7402bb05becb00a7ea1b8971ac6ad92d8a
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-04-04 06:28:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-04 06:28:01 +0900

    YJIT: update code optimization tips in yjit.md (#10445)

    * YJIT: update code optimization tips in yjit.md

    * Function => method

commit c7cda1ae9ba39466f8c14820d9ffc626503c82eb
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-04 04:49:36 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-04 04:49:36 +0900

    YJIT: Let sp_opnd take the number of slots (#10442)

commit f24bf2f9ae4545c291a0182413104d897e1d0cb0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 03:34:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-04 03:06:20 +0900

    Do not rely on ripper for magic comment test

commit 354e15836719e110cdf02e6a71f5d76f6bf39fbd
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-04 02:38:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-04 02:38:17 +0900

    YJIT: Suppress warn(static_mut_refs) (#10440)

commit 8388604a4c4028ac96e7af23dd5bf5928e4272e0
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-04 02:38:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-04 02:38:00 +0900

    Revert "Migrate auto_request_review back to CODEOWNERS" (#10441)

    Revert "Migrate auto_request_review back to CODEOWNERS (#10133)"

    This reverts commit c5b568bab6a1401df385331e4b6ed6209fe4071d.

commit f928e60d41314a9aad2d9629114bb3ae57f51096
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-03 23:14:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-03 23:14:52 +0900

    Check if a fatal signal is from kernel

    On Linux, `siginfo_t` uses a union for each `si_code`, and the field
    corresponding to `si_pid` does not belong to the `_sigfault` field for
    SIGSEGV.  It actually overlaps the `si_addr` field, which is usually
    non-zero on stack overflow.

    https://github.com/ruby/ruby/pull/10201#issuecomment-2034723244

commit 4960a598d6bc42adcfd488c7f455b2defcdc8161
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-02 04:46:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-03 22:47:54 +0900

    Reapply "Mark iseq structs with rb_gc_mark_movable"

    This reverts commit 16c18eafb579cf2263c7e0057c4c81358fe62075.

commit 25e28559c14138318ff3097baececa16e13252b0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 16:08:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-03 18:07:31 +0900

    Ignore warnings on the bundled gems repo

commit ce395d7e90529ddf970bf36106e636831c9f1650
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-03 16:38:52 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-03 16:38:52 +0900

    Reset `$.` before matching

    This is a global variable and may happen to be set to 4 elsewhere.

    http://ci.rvm.jp/logfiles/brlog.trunk.20240403-054356#L1707
    ```
    The if expression with a boolean range ('flip-flop' operator) warns when Integer literals are used instead of predicates FAILED
    Expected [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] == []
    to be truthy but was false
    ```

commit 56ecd8038ac406a62b3a77b59b2a95ac3f9bd9b8
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-03-25 13:42:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-03 16:17:30 +0900

    Launchable: Add lineNumber field

commit b664590c4d7bb6cd4f48c61c3d8a480cd887672c
  Author:     Adam Daniels <adam@mediadrive.ca>
  AuthorDate: 2024-04-02 23:07:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-03 09:55:24 +0900

    [DOC] Fix examples for `u` packing directive

    The directive is a lowercase `u` instead of an uppercase `U`. Adjusted
    input and output to match.

    Reported by Leah Neukirchen.

commit 24a740796050b72aa2d35339ba2a317d4eda7b75
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-02 03:52:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-03 02:26:24 +0900

    Remove with_gc functions in darray

    We can wrap in DURING_GC_COULD_MALLOC_REGION instead.

commit 3c4de946c9a782c3d993cfa9886f09dba46ece1d
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-03 01:29:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-03 01:29:14 +0900

    YJIT: A64: Use ADDS/SUBS/CMP (immediate) when possible (#10402)

    * YJIT: A64: Use ADDS/SUBS/CMP (immediate) when possible

    We were loading 1 into a register and then doing ADDS/SUBS previously.
    That was particularly bad since those come up in fixnum operations.

    ```diff
       # integer left shift with rhs=1
    -  mov x11, #1
    -  subs x11, x1, x11
    +  subs x11, x1, #1
       lsl x12, x11, #1
       asr x13, x12, #1
       cmp x13, x11
    -  b.ne #0x106ab60f8
    -  mov x11, #1
    -  adds x12, x12, x11
    +  b.ne #0x10903a0f8
    +  adds x12, x12, #1
       mov x1, x12
    ```

    Note that it's fine to cast between i64 and u64 since the bit pattern is
    preserved, and the add/sub themselves don't care about the signedness of
    the operands.

    CMP is just another mnemonic for SUBS.

    * YJIT: A64: Split asm.mul() with immediates properly

    There is in fact no MUL on A64 that takes an immediate, so this
    instruction was using the wrong split method. No current usages of this
    form in YJIT.

    ---------

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>

commit 94f7098d1cafc0a7abd0596b8ecb02cdf1acc3f2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 23:26:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-03 00:11:53 +0900

    [PRISM] Fix ISEQ load

commit 85e5a99e3689861723af8c46c85db1a3273fcd60
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 23:28:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-02 23:28:40 +0900

    [PRISM] Document more reasons for failures

commit 3d1d1435c1556f8a86ed6d483b586b844e39f896
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-03-25 13:20:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-02 21:55:32 +0900

    Launchable: Refactor the logic of JsonStreamWriter

commit 5903fdf43eb208f9087eea4873407cc93d3f92a3
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-02 21:53:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-02 21:53:56 +0900

    [DOC] Fix wheather -> whether typos in configure.

commit 6ba73783945bd8a67df38aed54362b3cdfd2ded4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 04:31:36 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-02 21:21:10 +0900

    [PRISM] Enable more passing parsing tests

commit e816ab0b0ce97a49cc1a642c3fb6f78c9e838f97
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-01 14:33:17 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-02 19:37:27 +0900

    Remove `rb_imemo_tmpbuf_t` from parser

    No parser semantic value types are `VALUE` then no need to
    use imemo for managing semantic value stack anymore.

commit e651395210b39123b6c404e455d9ff1f95d919bb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-02 17:28:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-02 18:34:10 +0900

    Warn pstore for Ruby 3.5

commit 1e5949bd60464ed8767fcc8aabc79eeea5727daa
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-04-01 23:52:57 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-04-02 17:50:30 +0900

    Update to ruby/spec@573cf97

commit 8b55aaa85ca3b5333e6659f0f0b1eabdd0b9491b
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-02-20 16:03:11 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-04-02 14:24:54 +0900

    [Feature #20345] Add `--target-rbconfig` option to mkmf

    Introduce a new mkmf option `--target-rbconfig` to specify the RbConfig
    file for the deployment target platform. This option is useful for
    cross-compiling Ruby extensions without faking the global top-level
    `RbConfig` constant.

commit a65d49ce77af76b29ee17ec64c15b7e981818c10
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-02 10:48:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-02 11:22:14 +0900

    Use Rake 13.2.0

commit 94f56098b12552c447bda764c7e1bdac7e84efb3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-02 10:13:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-02 11:22:14 +0900

    Use fixed version of rake with ostruct

commit 4db7c8a24ad66e15ef6bce053c4d5d90b84cb855
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-02 10:12:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-02 11:22:14 +0900

    Warn ostruct for Ruby 3.5

commit 799e854897856e431c03a5122252358e2c57aff2
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-03-24 08:39:27 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-02 08:26:58 +0900

    [Feature #20331] Simplify parser warnings for hash keys duplication and when clause duplication

    This commit simplifies warnings for hash keys duplication and when clause duplication,
    based on the discussion of https://bugs.ruby-lang.org/issues/20331.
    Warnings are reported only when strings are same to ohters.

commit 8066e3ea6e9462f510e5d0da887be94b18cce50b
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-01 15:46:58 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-02 07:26:35 +0900

    Remove VALUE from `struct rb_strterm_struct`

    In the past, it was imemo. However a075c55 changed it.
    Therefore no need to use `VALUE` for the first field.

commit b25282e61844334c70def2d678c19c6105646ab3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 04:28:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:39:33 +0900

    [ruby/prism] Replace . with decimal point for strtod

    https://github.com/ruby/prism/commit/578a4f983e

commit b7597dac932c6fa3add9146c82af7a47c9059dfb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 04:10:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:28:06 +0900

    [ruby/prism] Match more error messages

    https://github.com/ruby/prism/commit/0cc3a9d63a

commit d6c1cc5532e5d31e5f5abe171fd759e3f4a099f7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 04:03:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:28:05 +0900

    [ruby/prism] Fix up error messages for empty global variable

    https://github.com/ruby/prism/commit/fa7559d40b

commit d898f00fe16f598474aeea06d6000ac10740236a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 03:59:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:28:05 +0900

    [ruby/prism] Match error messages for invalid instance/class variables

    https://github.com/ruby/prism/commit/82fd0599ed

commit 67bd5b33f906e3eec50195b8180c3f474d002bd1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 03:48:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:28:04 +0900

    [ruby/prism] Match error message for invalid class/module name

    https://github.com/ruby/prism/commit/f00ae59070

commit 05904c3b729e12eaf19187e00c6be85e7110ec6b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 03:46:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:28:04 +0900

    [ruby/prism] Match error message for invalid class/module definition

    https://github.com/ruby/prism/commit/1879a9d22e

commit a885d597d514693c10b12cbacbd7cc9d8ecf4986
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 03:44:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:28:04 +0900

    [ruby/prism] Match error message for multiple blocks given

    https://github.com/ruby/prism/commit/6b594d9d42

commit fee70c1ed71dd0db4ce9a2226dc5f4845e0a0c48
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 03:41:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:28:03 +0900

    [ruby/prism] Add better error messages for invalid block-locals

    https://github.com/ruby/prism/commit/27ad452436

commit 1e737ec97760fa7dd5436e9e41fefb5f71566344
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 03:36:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:28:03 +0900

    [ruby/prism] Fix up error message for invalid numbered reference alias

    https://github.com/ruby/prism/commit/74bff9e834

commit cc6668c65620a117b7af891beb1bee09d9f460fb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 03:22:41 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-02 04:08:50 +0900

    [PRISM] Enable passing pattern matching tests

commit a9658b64094db1371550a5b8ca47308cdd60db78
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 02:57:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 03:13:45 +0900

    [ruby/prism] Do not track locals starting with _

    https://github.com/ruby/prism/commit/0d5a6d936a

commit ec879e7eac89dd7ef4f67eb737b3a633a96e280f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 02:48:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 03:13:45 +0900

    [ruby/prism] Use RubyVM::InstructionSequence instead of Ripper for validity check

    https://github.com/ruby/prism/commit/ddec1c163d

commit c2735c48a1465b88cf5a8c67e5d08ec521230828
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 02:33:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 03:13:45 +0900

    [ruby/prism] Track duplicate hash keys for pattern matching

    https://github.com/ruby/prism/commit/71ea82f299

commit f1e385aad978573c04e3eafb24e67ce253e1d302
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 02:08:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 03:13:44 +0900

    [ruby/prism] Track captures in pattern matching for duplicates

    https://github.com/ruby/prism/commit/aa2182f064

commit a531cac335653c6df5ba73932321d6227287aff6
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-02 03:12:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 03:12:27 +0900

    [ruby/reline] Refactor completion
    (https://github.com/ruby/reline/pull/647)

    * Refactor completion: split autocompletion and tabcompletion logic and state

    * Move completion candidate listup logic from dialog proc to LineEditor

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

commit 508bddc86516ed798365594b70d57e9ec5713e8b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-02 01:25:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 01:25:26 +0900

    [ruby/reline] Align completion menu items
    (https://github.com/ruby/reline/pull/613)

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

commit e2a1d0b53dddc29b03a535286763fde51d4e089d
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 04:59:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:28 +0900

    [rubygems/rubygems] Improve error message when strict resolution filters out everything

    https://github.com/rubygems/rubygems/commit/1ea44b3749

commit f80bb3837c2ba2d46d8906c5f4bdc65f475c76db
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 03:19:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:27 +0900

    [rubygems/rubygems] Keep unfiltered versions separately

    https://github.com/rubygems/rubygems/commit/7b5cc51a96

commit bfdbdf7aaeff3c987c3a09cc550358a321d8df32
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 05:20:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:27 +0900

    [rubygems/rubygems] No need to check for root package every time

    https://github.com/rubygems/rubygems/commit/6ca192649f

commit b6ac37c91a1bcbf51eb7632cabafa037073be764
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 02:41:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:26 +0900

    [rubygems/rubygems] No need for any version prioritization when building errors

    We just need to filter versions belonging to the range, but don't need
    anything else.

    https://github.com/rubygems/rubygems/commit/8355a225d7

commit caaafbc35e05b11b597d297e67142e27eab9a012
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 02:19:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:26 +0900

    [rubygems/rubygems] Make it look more like BasicPackageSource

    https://github.com/rubygems/rubygems/commit/bb5727934c

commit d69ef1cc52b34d3242376ea5b4893b1b55e71517
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 01:55:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:25 +0900

    [rubygems/rubygems] Let GemVersionPromoter sort in preferred order directly

    So that we don't need to reverse the Array.

    https://github.com/rubygems/rubygems/commit/aeea5e2e00

commit 2b82b7d192d26b1153186187dbe3bef84de7ed3f
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 01:27:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:25 +0900

    [rubygems/rubygems] Update docs

    https://github.com/rubygems/rubygems/commit/ac24a68486

commit 0a1e36964dfa634bfd3088da5362093b89103a33
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 01:20:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:25 +0900

    [rubygems/rubygems] Remove unnecessary filtering

    We do that when first caching versions, and then it's no longer
    necessary.

    https://github.com/rubygems/rubygems/commit/ede15847db

commit acbd91e47ff36216459bbba4368b04e6a3079b2a
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 00:55:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:24 +0900

    [rubygems/rubygems] No need to sort twice when filling versions

    https://github.com/rubygems/rubygems/commit/13294528c4

commit d342937e01935ea543cc1f6ac46022715c40db7d
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 00:02:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:24 +0900

    [rubygems/rubygems] Rename method for clarity

    And also so that it matches the method used by main PubGrub sample
    resolver class.

    https://github.com/rubygems/rubygems/commit/0e612361b8

commit 3ca0683529a540bf651d5dc94289dc1db79c3338
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 00:01:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:23 +0900

    [rubygems/rubygems] Fix typo

    https://github.com/rubygems/rubygems/commit/0ddf25e5aa

commit e26ac3ab7106ce6ca5911e34cbd099841c8d6da1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-29 04:30:25 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-01 23:26:16 +0900

    Test finalizer is ran in bootstraptest

commit 1232975398a96af3070463292ec0c01e09a06c50
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-04-01 12:10:34 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-04-01 16:55:02 +0900

    add CI matrix for clang-19

commit b50c4dc30a1e2db18e62b4dab3d8faabc62e29e3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-01 16:51:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-01 16:51:28 +0900

    Rename the variable

    It is not an empty gzipped data, a gzipped empty dump data.

commit 70645a5acdaa6028a897b828ceacd57efb9cf257
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-01 16:03:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-01 16:03:57 +0900

    Write gzipped data as binary

    Be careful when writing binary data on Windows.

    ```
    $ ruby -e 's = Gem::Util.gzip("\x04\x08[\x05".b); p s.index("\n"); puts IO::Buffer.for(s).hexdump'
    6
    0x00000000  1f 8b 08 00 6c 3d 0a 66 00 03 63 e1 88 66 05 00 ....l=.f..c..f..
    0x00000010  e3 69 10 89 04 00 00 00                         .i......
    ```

commit acfef7c4f06696bf5f6d0ade06ddc32683a2f7bb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-01 13:16:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-01 15:32:31 +0900

    Use dummy data generated by RubyGems

commit 0774232bf3c1eab0f6a414578988b051c9dda3cf
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-03-27 00:47:36 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-01 12:05:16 +0900

    Remove unnecessary macros and functions for Universal Parser

commit e07178d52613cb7090e6c5d8e8e57e8e1f938527
  Author:     Joshua Young <djry1999@gmail.com>
  AuthorDate: 2024-04-01 10:06:10 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-01 10:06:10 +0900

    [DOC] Fix scope resolution operator typo in `Process#wait` docs

commit 80bda107c84187d90eeff9497d465e086364b420
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-04-01 08:50:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-01 08:57:00 +0900

    [ruby/resolv] Add an explicit with_udp_and_tcp helper to test_dns.rb

    This helper tries to bind UDP and TCP sockets to the same port, by
    retrying the bind if the randomly-assinged UDP port is already taken in
    TCP. This fixes a flaky test.

    [Bug #20403]

    https://github.com/ruby/resolv/commit/3d135f99d9

commit e02a06fbf25001f0adc56e2e798b25d16ba84f54
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-03-31 18:41:22 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-31 19:12:31 +0900

    Document how to run the tests under ASAN now that they pass!

commit 9d0a5148ae062a0481a4a18fbeb9cfd01dc10428
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-03-30 10:58:01 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-31 18:33:38 +0900

    Add missing RB_GC_GUARDs related to DATA_PTR

    I discovered the problem in `compile.c` from a failing
    TestIseqLoad#test_stressful_roundtrip test with ASAN enabled. The other
    two changes in array.c and string.c I found by auditing similar usages
    of DATA_PTR in the codebase.

    [Bug #20402]

commit 174b67169975160aa682d9b2c6ac5ccde2652105
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-03-31 10:07:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-31 11:37:13 +0900

    [rubygems/rubygems] [commands/rebuild] Remove unused DATE_FORMAT constant.

    https://github.com/rubygems/rubygems/commit/3c4e3fadc9

commit 9579cf45d59f313e70a6a8dab2e9173743513e91
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-03-31 09:29:09 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-03-31 11:24:36 +0900

    If we have a shape cache we should use it

    If there is a shape cache, then we should believe the results instead of
    doing a linear search for non-existent items

    This fixes a case where checking the index of an undefined ivar would
    result in an O(n) search. Now we get O(log n).

    Benchmark is as follows:

    ```ruby
    N = ARGV[0].to_i

    class ManyIVs
      class_eval "def initialize;" +
        N.times.map { "@a#{_1} = #{_1}" }.join("\n") +
        "end"

      def check
        defined?(@not)
      end
    end

    class Subclass < ManyIVs
      def initialize
        super
        @foo = 123
      end
    end

    def t
      s = Process.clock_gettime Process::CLOCK_MONOTONIC
      yield
      Process.clock_gettime(Process::CLOCK_MONOTONIC) - s
    end

    def test
      a = ManyIVs.new
      b = Subclass.new
      t { 200000.times { a.check; b.check } }
    end

    puts "#{N},#{test}"
    ```

    On the master branch:

    ```
    $ for i in (seq 1 3 32); ./miniruby test.rb $i; end
    1,0.015619999991031364
    4,0.013061000005109236
    7,0.013365999999223277
    10,0.015474999992875382
    13,0.017674999980954453
    16,0.020055999979376793
    19,0.02260500000556931
    22,0.0254080000158865
    25,0.02806599999894388
    28,0.031244999991031364
    31,0.034568000002764165
    ```

    On this branch:

    ```
    $ for i in (seq 1 3 32); ./miniruby test.rb $i; end
    1,0.015848999988520518
    4,0.013225000002421439
    7,0.013049000001046807
    10,0.010697999998228624
    13,0.010902000009082258
    16,0.011448000004747882
    19,0.01151199999731034
    22,0.011539999977685511
    25,0.01173300002119504
    28,0.011900000012246892
    31,0.012278999987756833
    ```

commit 376ae22235dd50fee32ab7660c17137b7f3a245e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-30 18:34:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-31 00:54:38 +0900

    Manage required baseruby version in one place

    Add a Ruby script mode to `tool/missing-baseruby.bat` that checks if
    `RUBY_VERSION` meets the required version.  This will enable similar
    checks on mswin as well.

commit f697d3242feeb18dae3b9f5e9addebb11e5442ff
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-30 18:34:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-30 18:34:45 +0900

    Manage required baseruby version in one place

commit a6d8837d2b1c0f71a397804a0f7ecbc27bc687ea
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-03-30 15:58:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-30 15:58:50 +0900

    Update bundled gems list as of 2024-03-29

commit cdb8d208c919bbc72b3b07d24c118d3a4af95d11
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-30 07:25:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-30 08:32:23 +0900

    [PRISM] Fix error message for duplicate parameter name

commit d7d59ea172384cac5eae63b39b61c3f09c1f43e3
  Author:     Alex Robbin <alex.robbin@huntclub.com>
  AuthorDate: 2024-03-30 01:23:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-30 04:27:28 +0900

    [rubygems/rubygems] add test case to ensure updating with multiple sources + caching maintains the right lockfile

    https://github.com/rubygems/rubygems/commit/65839757e6

commit f57c7fef6b260ca7d04458efd2f9e9fd784c9d89
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-30 00:16:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-30 01:28:54 +0900

    [PRISM] Have RubyVM::InstructionSequence.compile respect --parser=prism

commit 729a39685b68a53a9f91ca972e6c7c393aed1b52
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-30 00:33:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-30 00:44:02 +0900

    [ruby/prism] Fix calloc argument order

    https://github.com/ruby/prism/commit/9947ab13c0

commit 718c7d4a378f41695a634adc87be30b1ab05a27d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-30 00:30:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-30 00:43:55 +0900

    [ruby/prism] Handle NULL byte terminators for strings, regexps, and lists

    https://github.com/ruby/prism/commit/79a75258a4

commit 8191735b73eac4486eebac6530bd92080ee23b9a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-29 03:15:26 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 21:51:04 +0900

    [PRISM] Fix BEGIN{} execution order

commit 38331c8981cd692669392f3d02b09e15b8f892b1
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-03-01 08:47:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:41 +0900

    [rubygems/rubygems] [gemspec_helpers] Fix Rubocop warning.

    https://github.com/rubygems/rubygems/commit/4ebf6ee5ac

commit d19744fbd6e8ede579eb73109e6b2ec936a6ab43
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-03-01 08:38:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:40 +0900

    [rubygems/rubygems] [build, rebuild] Split common find_gemspec() out to GemspecHelpers.

    https://github.com/rubygems/rubygems/commit/2f80a595c4

commit d916dbcb849b816b15717c64ea0c0ce756c15fb5
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-02-28 09:48:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:40 +0900

    [rubygems/rubygems] Improve formatting of "gem rebuild --help" output.

    https://github.com/rubygems/rubygems/commit/701550f9dd

commit 54d90e1355180587bf7dda8f56d5d59600a7da23
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-02-28 09:38:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:39 +0900

    [rubygems/rubygems] [rebuild] If --diff is not passed and a rebuild fails, suggest passing --diff.

    https://github.com/rubygems/rubygems/commit/7caadd182c

commit dfe83df03e1a9a056070ef37999f150bcf5a6fc0
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-02-01 03:07:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:39 +0900

    [rubygems/rubygems] [rebuild_command] Bail early if the RubyGems version doesn't match.

    https://github.com/rubygems/rubygems/commit/a691170dc7

commit 88d7be46b5be03a77686f507ec3e8d11a9dafe60
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-02-01 02:34:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:39 +0900

    [rubygems/rubygems] [rebuild_command] Use Gem.* helpers.

    https://github.com/rubygems/rubygems/commit/8644ce7193

commit fe096f64e881cd3426e766eb999740ed0fbfa4ba
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-01-31 13:18:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:38 +0900

    [rubygems/rubygems] [rebuild_command] Clean up help text.

    https://github.com/rubygems/rubygems/commit/4446389f2e

commit 54e0b8073b1236689ac0a2506b62b8b80535cf73
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-01-31 13:12:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:38 +0900

    [rubygems/rubygems] [rebuild_command] Use temporary directory instead of the working directory.

    https://github.com/rubygems/rubygems/commit/f2e4e5b56f

commit a28087affc5cef24376643507f7cb17c5f9c0110
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-01-31 12:05:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:38 +0900

    [rubygems/rubygems] [rebuild_command] Add --diff flag to try using diffoscope.

    https://github.com/rubygems/rubygems/commit/3e9545193a

commit cd12dfd38888cc3d3f4696146d154da15412bc93
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-01-31 08:31:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:37 +0900

    [rubygems/rubygems] [rebuild_command] Avoid leaking files.

    https://github.com/rubygems/rubygems/commit/3b88553d0d

commit e5def27fbfaca4f08ff3a9bcf4c27742371a1da9
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2021-09-12 06:15:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:37 +0900

    [rubygems/rubygems] Add "gem rebuild" command.

    https://github.com/rubygems/rubygems/commit/6d661573f0

commit 02d40b6c171db2e6ae0c3f259b470c873f746d70
  Author:     Daisuke Fujimura (fd0) <booleanlabel@gmail.com>
  AuthorDate: 2023-12-26 10:27:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-29 08:13:25 +0900

    Use ubf list on cygwin

commit f3c35749feb559db5aa3597a1c91a30c2550e85c
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-03-29 04:46:08 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-03-29 06:41:01 +0900

    YJIT: Optimize putobject+opt_ltlt for integers

    In `jit_rb_int_lshift()`, we guard against the right hand side changing
    since we want to avoid generating variable length shifts. When control
    reaches a `putobject` and `opt_ltlt` pair, though, we know that the right
    hand side never changes.

    This commit detects this situation and substitutes an implementation
    that does not guard against the right hand side changing, saving that
    work.

    Deleted some `putobject` Rust tests since they aren't that valuable and
    cause linking issues.

    Nice boost to `optcarrot` and `protoboeuf`:

    ```
    ----------  ------------------
    bench       yjit-pre/yjit-post
    optcarrot   1.09
    protoboeuf  1.12
    ----------  ------------------
    ```

commit 817eecf685cf2408ff468ba9c3b814e3c6389ce7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-29 06:35:54 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 06:35:54 +0900

    [PRISM] Enable passing regexp test

commit a8ec347ca2511bec811908e70923f96b4ddcda21
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-29 04:48:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 05:39:03 +0900

    [ruby/prism] Allow writing to keywords with named captures if they are already locals

    https://github.com/ruby/prism/commit/418318e1c8

commit 8780059c38319aa91452e726ca428ca1610e2d88
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-29 04:16:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 04:30:38 +0900

    [ruby/prism] Reject invalid capture groups (keywords)

    https://github.com/ruby/prism/commit/bb78d83e88

commit bb3cbdfe2fcbfc2b6c7ee8699d35fde838615c26
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-03-29 04:21:09 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-29 04:21:09 +0900

    YJIT: add iseq_alloc_count to stats (#10398)

    * YJIT: add iseq_alloc_count to stats

    * Remove an empty line

    ---------

    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

commit a8f902ea8ef4051e0dd761bbb220fd721550a4ff
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-29 03:43:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 04:17:29 +0900

    [PRISM] Add debug info for frozen strings

commit 3e9c6842363303d01770413a3f8c28adc1d43848
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-29 01:28:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 02:02:06 +0900

    [PRISM] Allow space before encoding comment

commit 86e0d83a32508f2aa42ec301238e0892caf980c0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-29 00:05:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 01:04:35 +0900

    [PRISM] Simplify raising load errors

commit d583616f32795de61ecd4efd60346c278873da7f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 23:47:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 01:04:35 +0900

    [ruby/prism] Ensure deserialization works with errors+warnings>256

    https://github.com/ruby/prism/commit/f540e830b5

commit 35ff302893dfb1efd03ea17e76b9a09e2d3377a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 23:30:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 01:04:35 +0900

    [ruby/prism] Various cleanup with new -x option

    https://github.com/ruby/prism/commit/020756fb11

commit f7c5e11d894c6c6a965a9fa98ff9519635b6db2b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 23:07:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 01:04:35 +0900

    [PRISM] Use new -x prism API

commit fcc06fa82ab6f3916d8d9202c47db4fae48137dd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 22:51:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 01:04:35 +0900

    [ruby/prism] CLI -x flag

    https://github.com/ruby/prism/commit/2068e3c30a

commit 97b2cc34359968459a6eba2ac166f3650adf47be
  Author:     Jake Zimmerman <zimmerman.jake@gmail.com>
  AuthorDate: 2024-03-26 07:53:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 00:54:33 +0900

    Allow FormatError to take either String or Gem for source

    Most of the calls to `FormatError.new` pass `@gem` for the second argument, which has a `path` method.

    But in one case—on package.rb:691 in `verify_gz`, the `source` argument is a `String`.

    So if there's ever a GZip decode error when attempting to read the contents of the `data.tar.gz` file, instead of reporting the underlying GZip error (which might be something like "unexpected end of file"), we would report instead a NoMethodError coming from package.rb

    ```
    Exception while verifying sorbet-0.5.11301.gem
    ERROR:  While executing gem ... (NoMethodError)
        undefined method `path' for "data.tar.gz":String

            @path = source.path
                          ^^^^^
    ```

    There are two ways to fix this:

    1. Make `FormatError#initialize` aware of the fact that `source` might sometimes be a `String`
    2. Make the call to `FormatError.new` in `verify_gz` pass `@gem` instead of `entry.full_name`.

    I've chosen 1 because I think it's more useful to see "unexpected end of file in data.tar.gz" instead of "unexpected end of file in sorbet-0.5.11301.gem." The end of file **is actually** in data.tar.gz, not in the gem file itself, which was decoded successfully.

commit fa0a62413ab9bdf72855a6614835174f50f29474
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-28 00:16:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-29 00:54:16 +0900

    Don't check for dynamic symbol when reference updating

    All symbols in the GC are dynamic symbols, so we don't need to check it.

commit 7055dcf9156e5951b0539577379356f02356ea05
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-03-28 23:12:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-28 23:48:20 +0900

    [ruby/prism] Improve description for InterpolatedStringNodeFlags

    https://github.com/ruby/prism/commit/caa576d63f

commit 4fa8fefd9ca298096d4d3a52a29542d5e6d045d6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-28 23:19:39 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-28 23:19:39 +0900

    Suppress warning at literal string

commit 2ab9fb1c2e659f1f819ed63796171b2129255185
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-28 22:28:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-28 22:28:37 +0900

    [Bug #20398] Terminate token buffer at invalid octal number

commit 7630a89a4bf352e1310b5323e3e2ee976eecddca
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-28 09:45:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-28 11:44:45 +0900

    Use www.rfc-editor.org for RFC text.

    We use the following site for that now:

    * https://tools.ietf.org/ or http
    * https://datatracker.ietf.org or http

    Today, IETF said the official site of RFC is www.rfc-editor.org.

    FYI: https://authors.ietf.org/en/references-in-rfcxml

    I replaced them to www.rfc-editor.org.

commit 67bdb7aabaef106ee377dd7757365db1ce46d531
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-28 11:18:31 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-28 11:18:31 +0900

    [DOC] Use `rdoc-ref:@` shorthands for `rdoc-label:` tags

commit 7293cef0a84026ff53c37926839b5bc0a154bf57
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-28 10:55:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-28 10:55:19 +0900

    [DOC] molinillo has been moved

commit 84236132760fbc09c511b17fd1a49c6320f95b74
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-03-26 12:47:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-28 10:15:27 +0900

    Launchable: Configure OS correctly in macos.yaml

commit dc9d2455b6bddb2bea21fe983de7be6b78924c1b
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-03-12 16:24:07 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-28 07:49:10 +0900

    Add a missing asan_unpoisoning_p in gc_set_candidate_object_i

    It walks the heap, and checks for T_NONE and T_ZOMBIE objects, so it
    needs to unpoison these slots before accessing them when ASAN is
    enabled.

commit 75234beb2456ce0a1f059e06bc5125cd18b683ab
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-03-12 18:55:44 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-28 07:48:53 +0900

    Make TestParallel#test_retry_workers consider RUBY_TEST_TIMEOUT_SCALE

    This test currently fails if RUBY_TEST_TIMEOUT_SCALE is set, because the
    worker timeout is scaled out but the duration of the sleep does not;
    thus, the test-test-case does not timeout when it should.

commit 7bdd742c0241435001efe641332b2088536bd074
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-03-12 16:24:56 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-28 07:48:37 +0900

    Set ASAN_OPTIONS=disable_coredump=0 for test_execopts_rlimit test

    By default, ASAN sets RLIMIT_CORE to zero, "to avoid dumping a 16T+ core
    file" on 64 bit systems. These tests are just asserting on the expected
    value of RLIMIT_CORE, not actually dumping core files, so it's fine to
    disable that behaviour of ASAN for this test.

commit 8c7b9bd0eb15356ac47407f7692869ad147c7954
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-17 15:50:16 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-28 07:48:16 +0900

    Disable ASAN handle_segv in test_rubyoptions.rb

    ASAN registers a sigsegv handler and causes extra output to be emitted
    that these tests are not expecting.

commit 7e12b03c5a179c1c738fec5ac1ad06dfdc879b1b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 04:04:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-28 06:19:24 +0900

    [PRISM] Set path on syntax error

commit 010286c767df393740872c8331408b42875ba64a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 03:59:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-28 03:59:03 +0900

    [PRISM] Enable passing test for hash duplicated keys

commit 9b97f1f3e8c50742c25de46469389bb06ca873a7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 03:50:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-28 03:57:35 +0900

    [ruby/prism] Compare duplicates keys/whens for __FILE__

    https://github.com/ruby/prism/commit/85263ade63

commit 9f9c0425c314ea814c60035ddbcd41d3404a0366
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 03:31:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-28 03:31:11 +0900

    [PRISM] Turn on passing test

commit 4361727d28da2e3e58cc1e52c20cf86dd9cd28c9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 03:20:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-28 03:28:58 +0900

    [ruby/prism] Warn on static literal arrays in predicate writes

    https://github.com/ruby/prism/commit/faadd05693

commit 39606f36e3c82c38cc17c9179d4f6e8f6c51adee
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 02:46:00 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-28 03:19:58 +0900

    [PRISM] Implicitly change encoding when a UTF-8 BOM is found

commit ab2ee308aa5f26bd28b6d9de4dc3a24483ff333a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 02:40:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-28 03:19:58 +0900

    [PRISM] Match style for invalid encoding error

commit eb995a64108d18fb809f02fa90e085f843ae4309
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 02:37:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-28 03:19:58 +0900

    [PRISM] Include file and line in error message

commit 51e6becd391eac03fd3842e1db9b6907999d64ba
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-28 02:30:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-28 02:41:38 +0900

    [ruby/stringio] Extract `readonly_string_p`

    https://github.com/ruby/stringio/commit/0da5b725c8

commit 0f5ab4ad5289d6385b74e800a73de005a48737b6
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-03-28 01:57:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-28 02:27:19 +0900

    [ruby/stringio] Eagerly defrost chilled strings

    [Feature #20390]

    https://github.com/ruby/stringio/commit/17ee957f34

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

commit db5686a8ba7f6157deb2b49f3e16196f1506fa83
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-28 02:27:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-28 02:27:08 +0900

    Read as binary regardless locale

commit a69f0047cb489c136001937442c1d2ffd8ea1dd7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 01:23:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-28 02:03:11 +0900

    [PRISM] Use new error formatting API

commit 9b816e674a4ecadde047212827e3bbe87cd61345
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 01:04:15 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-28 02:03:11 +0900

    [ruby/prism] Add option for inlining messages for error formatting

    https://github.com/ruby/prism/commit/af0204a8ab

commit c50b6425b4b5b42f1177b2c4eb6fd61d9d95b4d4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-27 02:59:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-28 00:41:08 +0900

    Remove st_lookup when updating object ID

commit 4566843b3e9daf68984e8b051c7b11023099e788
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-27 02:54:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-28 00:41:08 +0900

    Check FL_SEEN_OBJ_ID before looking up in table

    This is an optimization for compaction so that we only lookup in the
    obj_to_id_tbl table only when FL_SEEN_OBJ_ID is set.

commit e4d6479730fa87fc420cfe9ae6b83206737b0db5
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-03-23 05:53:35 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-27 23:12:35 +0900

    Add array/hash implicit allocation tests

    These are designed to prevent allocation regressions (commits that
    increase the number of implicitly allocated arrays and hashes). We
    have already had three commits in the last couple weeks to fix
    allocation regressions:

    * 15dc3aaa311b32203d8ffb414bcf9b8e55ce5691
    * aceee71c35e0b387691836e756b4e008efd84cf1
    * c38878494377c94f2425a81e598260ea944ef7f3

    This test suite should hopefully allow us to find such regressions
    in CI before commit, to avoid committing future allocation regressions.

    This uses assert_separately around each set of tests.  Doing it for
    each individual check was too slow.  Failures are gathered and
    reported at the end of the the suite as a single assertion, with
    the message describing all failures.

commit aa794cc5a237bf4b7aa8f1917fa4ed86949d71c6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-27 03:25:41 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-27 22:39:23 +0900

    Turn GC off at boot on Windows

    This is to stop crashes like:

        .\miniruby.exe: [BUG] Segmentation fault
        ruby 3.4.0dev (2024-03-26T15:38:26Z pull/10370/merge 040ea2ae2f) [x64-mswin64_140]

        -- Control frame information -----------------------------------------------
        c:0001 p:0000 s:0003 E:000d00 DUMMY  [FINISH]

        -- Threading information ---------------------------------------------------
        Total ractor count: 1
        Ruby thread count for this ractor: 1

        -- C level backtrace information -------------------------------------------
        C:\Windows\SYSTEM32\ntdll.dll(NtWaitForSingleObject+0x14) [0x00007FFA091AFC74]
        C:\Windows\System32\KERNELBASE.dll(WaitForSingleObjectEx+0x93) [0x00007FFA05BB4513]
        D:\a\ruby\ruby\build\miniruby.exe(rb_print_backtrace+0x3e) [0x00007FF64E536EFE] d:\a\ruby\ruby\src\vm_dump.c:844
        D:\a\ruby\ruby\build\miniruby.exe(rb_vm_bugreport+0x1ae) [0x00007FF64E5370B2] d:\a\ruby\ruby\src\vm_dump.c:1154
        D:\a\ruby\ruby\build\miniruby.exe(rb_bug_for_fatal_signal+0x77) [0x00007FF64E3FF357] d:\a\ruby\ruby\src\error.c:1087
        D:\a\ruby\ruby\build\miniruby.exe(sigsegv+0x71) [0x00007FF64E4C79E5] d:\a\ruby\ruby\src\signal.c:926
        C:\Windows\System32\ucrtbase.dll(seh_filter_exe+0x233) [0x00007FFA0521CE03]
        D:\a\ruby\ruby\build\miniruby.exe(`__scrt_common_main_seh'::`1'::filt$0+0x16) [0x00007FF64E594DA0] f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:269
        C:\Windows\SYSTEM32\VCRUNTIME140.dll(_C_specific_handler+0x9f) [0x00007FF9E54AF73F]
        C:\Windows\SYSTEM32\ntdll.dll(_chkstk+0x11f) [0x00007FFA091B4C2F]
        C:\Windows\SYSTEM32\ntdll.dll(RtlWalkFrameChain+0x14bf) [0x00007FFA09114CEF]
        C:\Windows\SYSTEM32\ntdll.dll(KiUserExceptionDispatcher+0x2e) [0x00007FFA091B399E]
        D:\a\ruby\ruby\build\miniruby.exe(newobj_of+0x6d) [0x00007FF64E418615] d:\a\ruby\ruby\src\gc.c:2949
        D:\a\ruby\ruby\build\miniruby.exe(rb_wb_protected_newobj_of+0x32) [0x00007FF64E41C7DA] d:\a\ruby\ruby\src\gc.c:2974
        D:\a\ruby\ruby\build\miniruby.exe(str_new0+0x64) [0x00007FF64E4E7F48] d:\a\ruby\ruby\src\string.c:887
        D:\a\ruby\ruby\build\miniruby.exe(rb_enc_str_new+0x40) [0x00007FF64E4D89B8] d:\a\ruby\ruby\src\string.c:945
        D:\a\ruby\ruby\build\miniruby.exe(iseq_compile_each0+0xdd7) [0x00007FF64E3B4A23] d:\a\ruby\ruby\src\compile.c:10368
        D:\a\ruby\ruby\build\miniruby.exe(iseq_compile_each+0x74) [0x00007FF64E3B3C40] d:\a\ruby\ruby\src\compile.c:9971

commit 19916bac968fa79437649821932a6b8869414002
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-27 00:37:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-27 22:39:23 +0900

    Revert "skip `test_gc_stress_at_startup`"

    This reverts commit 3680981c7b71df8c3a426164787ccefe5296bb25.

commit f14e52c8c45f1288537ff38c153096d095b5ad20
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-27 00:37:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-27 22:39:23 +0900

    Fix setting GC stress at boot when objspace not available

commit 1d99fe430aff34a90544d23edbd707f6f240dafe
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-27 00:35:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-27 22:39:23 +0900

    Register classpath of FrozenCore before converting to ICLASS

    Since ICLASS do not mark the classpath, we need to register it as a
    global object before we convert RubyVM::FrozenCore as a ICLASS.

commit 9ad175c1ee7137321310c4e87d8ce952b95abc8f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-27 00:34:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-27 22:39:23 +0900

    Register rb_fix_to_s_static as global right after creating

    If a GC runs right during creating a rb_fix_to_s_static, it may cause
    the previous ones to become swept by the GC because they have not been
    registered by rb_vm_register_global_object.

commit 2505c27fdfa67c3191f9b5902a30ab3139a8ab6f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-27 04:45:43 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 21:48:32 +0900

    [PRISM] Fix up some error formatting edge cases

commit 42d1cd8f7fa62b585283e566d4be9a390631c43d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-27 04:32:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 21:34:42 +0900

    [PRISM] Pass --enable-frozen-string-literal through to evals

commit a1ae29e87dd6d68da99df68420cd451b63b2211d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-27 04:14:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 21:34:42 +0900

    [PRISM] Enable other passing specs

commit 843c760a0ff7857d9ded3352877ca7d22f69e065
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-27 03:57:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 21:34:42 +0900

    [PRISM] Enable passing syntax tests

commit 8b2fc859703fe3be0408f05b8734cc7624017f96
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-27 03:56:17 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 21:34:42 +0900

    [PRISM] Enable passing frozen string in array test

commit 6f8a252e96715a72f5aef20e081a0efe7d66a850
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-27 03:55:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 21:34:42 +0900

    [PRISM] Enable passing heredoc test

commit e4b210906564cb5e922e8331a6b3724624377fdb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-27 03:54:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 21:34:42 +0900

    [PRISM] Fix ASCII-compatible check for eval encoding

commit 44b5c912daae6d4e6dba6e40f13a2840c144cfa8
  Author:     Cody Cutrer <cody@instructure.com>
  AuthorDate: 2023-09-15 02:35:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-27 20:34:46 +0900

    [rubygems/rubygems] Allow installing plugins from path via CLI

    Also bring the man page up to date.

    https://github.com/rubygems/rubygems/commit/a849bd6947

commit cbc11bcb63ccebd8fc3f12362b8d6dbcf06d7fdd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-27 15:48:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-27 16:18:14 +0900

    Ignore errors on prerelease gems

commit 6498c4399511ddf4b953be4c0745d5395406ed01
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-03-27 15:59:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-27 15:59:42 +0900

    Update bundled gems list as of 2024-03-26

commit 66a0e8b008acb07c7eb2f31d65100bac1f361ff9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-27 11:07:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-27 14:00:13 +0900

    d9234ba87b7e48381c8c44ef4a302ef368ee0ee7 is done to fix at related gems

commit 16c18eafb579cf2263c7e0057c4c81358fe62075
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-27 12:53:43 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-27 13:26:22 +0900

    Revert "Mark iseq structs with rb_gc_mark_movable"

    This reverts commit a31ca3500d995b6706f94ff72166d699c5faeb27 which
    broke debug inspector API.

commit 0c114dfcc79cb4690705ec88ebf9147e5c03702d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-27 11:45:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-27 13:26:22 +0900

    Check existing ISeq wrapper

commit e51435177e88fc845528dff7cf2bc2b75dd36144
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-19 11:37:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-27 12:17:58 +0900

    Update vendored resolv to 0.4.0

commit 8fa6c364925bff4e704d4c0fd73555fb33aa7029
  Author:     Andrii Konchyn <andry.konchin@gmail.com>
  AuthorDate: 2024-03-27 09:39:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-27 12:17:01 +0900

    [ruby/strscan] Omit tests for `#scan_byte` and `#peek_byte` on
    TruffleRuby temporary
    (https://github.com/ruby/strscan/pull/91)

    The methods were added in #89 but they aren't implemented in TruffleRuby
    yet. So let's omit them for now to have CI green.

    https://github.com/ruby/strscan/commit/844d963b56

commit 8896ac0289dcd7a6c9c4a7fd6ccd4cc2dae30507
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-03-13 01:12:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-27 12:16:11 +0900

    [ruby/openssl] Fix test_pkey_dsa.rb in FIPS.

    Note that I created the `dsa2048.pem` and signature text
    (`signature_encoded.txt`), that is used as a text to create the `signature0` in
    the `test_sign_verify` by the following steps with the `openssl` CLI on FIPS
    module.

    ```
    $ OPENSSL_DIR="${HOME}/.local/openssl-3.3.0-dev-fips-debug-1f03d33ef5"
    $ export OPENSSL_CONF="${OPENSSL_DIR}/ssl/openssl_fips.cnf"

    $ "${OPENSSL_DIR}/bin/openssl" dsaparam -out dsaparam2048.pem 2048
    $ "${OPENSSL_DIR}/bin/openssl" gendsa -out dsa2048.pem dsaparam2048.pem

    $ echo -n "Sign me!" > data.txt
    $ "${OPENSSL_DIR}/bin/openssl" dgst -sha256 -sign dsa2048.pem data.txt > signature.txt
    $ cat signature.txt | base64 > signature_encoded.txt
    ```

    Skip the `test_DSAPrivateKey_encrypted` on FIPS because AES-128-CBC, the
    password based encryption used in the PEM format uses MD5 for deriving the
    encryption key from the password, and MD5 is not FIPS-approved.
    See also the comment on the `test/openssl/utils.rb#omit_on_fips`.

    https://github.com/ruby/openssl/commit/4bdcb419a9

commit 6e34386794db69949b13f055fa338431527910eb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-22 01:17:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-27 08:24:28 +0900

    [flori/json] Fix memory leak when exception is raised during JSON generation

    If an exception is raised the FBuffer is leaked.

    For example, the following script leaks memory:

        o = Object.new
        def o.to_json(a) = raise

        10.times do
          100_000.times do
            begin
              JSON(o)
            rescue
            end
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        31824
        35696
        40240
        44304
        47424
        50944
        54000
        58384
        62416
        65296

    After:

        24416
        24640
        24640
        24736
        24736
        24736
        24736
        24736
        24736
        24736

    https://github.com/flori/json/commit/44df509dc2

commit b2b665eba59e3fc9ad9656d9c74509a975db6fe8
  Author:     crazeteam <lilujing@outlook.com>
  AuthorDate: 2024-03-27 01:15:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-27 07:52:18 +0900

    [DOC] remove repetitive words in comments

    Signed-off-by: crazeteam <lilujing@outlook.com>

commit a7ff264477105b5dc0ade6facad4176a1b73df0b
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-03-27 06:10:07 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-27 06:10:07 +0900

    Don't clear pending interrupts in the parent process. (#10365)

commit 0c62eb25b5c7a2ce6764e81bf98ac39a804a3721
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-27 03:40:34 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 04:32:09 +0900

    [PRISM] Use correct encoding for regular expression literals

commit 4a78d75213b1aee3bf0422fefaef204d06a459ac
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-22 02:22:20 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 03:41:27 +0900

    [ruby/prism] Fix an incorrect range of `Prism::Location` when `PM_ERR_RETURN_INVALID`

    This PR fixes the following incorrect range of `Prism::Location` when `PM_ERR_RETURN_INVALID`.

    It may be hard to tell from the text, but this Ruby error highlights `return`:

    ```console
    $ ruby -e 'class Foo return end'
    -e:1: Invalid return in class/module body
    class Foo return end
    -e: compile error (SyntaxError)
    ```

    Previously, the error's `Prism::Location` pointed to `end`:

    ```console
    $ bundle exec ruby -Ilib -rprism -ve 'p Prism.parse("class Foo return end").errors'
    ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseError @type=:return_invalid @message="invalid `return` in a class or module body"
    @location=#<Prism::Location @start_offset=17 @length=3 start_line=1> @level=:fatal>]

    After this fix, it will indicate `return`.

    ```console
    $ bundle exec ruby -Ilib -rprism -ve 'p Prism.parse("class Foo return end").errors'
    ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseError @type=:return_invalid @message="invalid `return` in a class or module body"
    @location=#<Prism::Location @start_offset=10 @length=6 start_line=1> @level=:fatal>]
    ```

    For reference, here are the before and after of `Prism::Translation::Parser`.

    Before:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve 'p Prism::Translation::Parser33.parse("class Foo return end")'
    ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
    (string):1:18: error: invalid `return` in a class or module body
    (string):1: class Foo return end
    (string):1:                  ^~~
    /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/diagnostic/engine.rb:72:in `process':
    invalid `return` in a class or module body (Parser::SyntaxError)
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:220:in `block in unwrap'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:218:in `each'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:218:in `unwrap'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:49:in `parse'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/base.rb:33:in `parse'
            from -e:1:in `<main>'
    ```

    After:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve 'p Prism::Translation::Parser33.parse("class Foo return end")'
    ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
    (string):1:11: error: invalid `return` in a class or module body
    (string):1: class Foo return end
    (string):1:           ^~~~~~
    /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/diagnostic/engine.rb:72:in `process':
    invalid `return` in a class or module body (Parser::SyntaxError)
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:220:in `block in unwrap'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:218:in `each'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:218:in `unwrap'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:49:in `parse'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/base.rb:33:in `parse'
            from -e:1:in `<main>'
    ```

    This PR ensures that the originally intended `return` is highlighted as it should be.

    https://github.com/ruby/prism/commit/1f9af4d2ad

commit 696b2716e0ab7c7df983856216d65bb5f06bf956
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-27 03:32:09 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-27 03:33:02 +0900

    Return stdbool from recursive_check()

    The return value is used as a boolean value in C. Since it's not used as
    a Ruby object, it just seems confusing that it returns a VALUE.

commit e16086b7f25d334c8049bd0e237191bdb3300d88
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-03-26 02:53:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-27 03:29:36 +0900

    Refactor init_copy gc attributes

    This PR moves `rb_copy_wb_protected_attribute` and
    `rb_gc_copy_finalizer` into a single function called
    `rb_gc_copy_attributes` to be called by `init_copy`. This reduces the
    surface area of the GC API.

    Co-authored-by: Peter Zhu <peter@peterzhu.ca>

commit 16cf9047c63aad5483bebe2068cdaa832447ba77
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-27 03:24:40 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-27 03:24:44 +0900

    [DOC] Fix a couple other descriptions

    similarly to 332f4938cf3adbff8f15b647767dc660583a5bef

commit 332f4938cf3adbff8f15b647767dc660583a5bef
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-27 03:21:31 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-27 03:21:32 +0900

    [DOC] Fix a description about rb_exec_recursive_outer

    It gives true/TRUE (int) instead of Qtrue (VALUE).

commit 3e0eea644f31b0a80da143c18149c750712d833d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-24 01:08:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-27 02:53:00 +0900

    Don't set RUBY_TYPED_EMBEDDABLE flag on backtrace

commit 4bdb79618b33422551e96723827e50ab20e9abb1
  Author:     Gannon McGibbon <gannon.mcgibbon@gmail.com>
  AuthorDate: 2024-03-23 05:40:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-27 02:53:00 +0900

    Mark frame info structs with rb_gc_mark_movable

    Using rb_gc_mark_movable and a reference update function, we can make
    frame infos movable in memory, and avoid pinning frame info backtraces.

    ```
    require "objspace"
    exceptions = []
    GC.disable
    50_000.times do
      begin
        raise "some exception"
      rescue => exception
        exception.backtrace_locations
        exceptions << exception
      end
    end
    GC.enable
    GC.compact
    p ObjectSpace.dump_all(output: :string).lines.grep(/"pinned":true/).count
    ```

    Co-authored-by: Peter Zhu <peter@peterzhu.ca>

commit 4300c42a7eb12a0aa81e4ec79891cdba1cfdf3aa
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-26 22:58:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 01:11:09 +0900

    [PRISM] Better handle interpolated* nodes with inner frozen parts

commit 8ec7c3ce3069177a9e8eb9ca93cced9aa0533085
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-26 23:31:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 01:11:09 +0900

    [ruby/prism] Properly handle freeing ephemeral node lists

    https://github.com/ruby/prism/commit/f49261a9b9

commit 2a3601d64ead632fb9f0709ac6986a44da76efe3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-26 22:33:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 01:11:09 +0900

    [ruby/prism] Handle regexp split between heredocs

    https://github.com/ruby/prism/commit/c1400d8aed

commit 240fb3957b02cb9a1cc0d1e01ae40db803390bed
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-26 04:32:54 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 01:11:09 +0900

    [ruby/prism] Freeze internal parts, again

    https://github.com/ruby/prism/commit/50372fee5c

commit 19752cf4aa227106212be129507ac1bf339b26c0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-22 05:22:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-26 23:02:17 +0900

    Use macro SET_WHEN_UINT

commit e9152bc9da39ad864b755e7bcc682610f8035a98
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-02-19 19:58:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-26 22:49:18 +0900

    [ruby/prism] Enable ParametersSignatureTest on TruffleRuby

    https://github.com/ruby/prism/commit/c7a7af1eac

commit 2b08406cd0db0042520fb0346544660e10a4d93c
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-03-25 19:18:26 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-26 20:54:54 +0900

    Expose rb_str_chilled_p

    Some extensions (like stringio) may need to differentiate between
    chilled strings and frozen strings.

    They can now use rb_str_chilled_p but must check for its presence since
    the function will be removed when chilled strings are removed.

    [Bug #20389]

    [Feature #20205]

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

commit 8cfa8e87b2705fb356bbbb9ef719b5c5a54f9862
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-26 20:30:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-26 20:30:33 +0900

    [ruby/irb] Fix a typo (https://github.com/ruby/irb/pull/912)

    https://github.com/ruby/irb/commit/2057248e40

commit 52cf6ec46b744a2ac34d9f6531520bf2aee017f5
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-24 20:06:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-26 19:51:12 +0900

    [ruby/prism] Fix typos

    After finding the "if if" typo, some additional typos identified by running `codespell` are also being corrected:
    https://github.com/codespell-project/codespell

    https://github.com/ruby/prism/commit/e6a34cfeeb

commit a850cd1a87bef738c40d9c550fb8823699083f2e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-26 10:04:54 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-26 17:37:47 +0900

    [Bug #20392] Block arguments duplication check at `super`

commit 3680981c7b71df8c3a426164787ccefe5296bb25
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-03-26 16:43:14 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-03-26 17:18:43 +0900

    skip `test_gc_stress_at_startup`

    (maybe) from 9cf754b the test fails on some environments:

    https://rubyci.s3.amazonaws.com/icc-x64/ruby-master/log/20240325T200004Z.fail.html.gz

    ```
      1) Failure:
    TestGc#test_gc_stress_at_startup [/home/chkbuild/chkbuild/tmp/build/20240325T200004Z/ruby/test/ruby/test_gc.rb:771]:
    [Bug #15784]
    pid 1087168 killed by SIGSEGV (signal 11) (core dumped).

    1. [3/3] Assertion for "success?"
       | Expected #<Process::Status: pid 1087168 SIGSEGV (signal 11) (core dumped)> to be success?.
    ```

    https://rubyci.s3.amazonaws.com/freebsd14/ruby-master/log/20240325T203002Z.fail.html.gz
    https://rubyci.s3.amazonaws.com/osx1200arm-no-yjit/ruby-master/log/20240325T195003Z.fail.html.gz
    https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20240325T210003Z.fail.html.gz
    ...

    so just skipt it until it works.

commit b39057f32cdcf15d8586bd1629d5fc78038320b7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-26 11:10:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-26 11:10:20 +0900

    Fix extension installer for out-of-place build

    https://github.com/ruby/ruby/pull/9673#issuecomment-2019028293

commit de742b425fde96283e6a5ac60da8cbdb12291bb9
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-03-26 04:34:26 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-03-26 06:50:40 +0900

    YJIT: Inline simple getlocal+leave iseqs

    This mainly targets things like `T.unsafe()` from Sorbet, which is just an
    identity function at runtime and only a hint for the static checker.
    Only deal with simple caller and callees (no keywords and splat etc.).

    Co-authored-by: Takashi Kokubun (k0kubun) <takashikkbn@gmail.com>

commit aa90013829d9394fa92a423a818fb0d6e2ab89cb
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2024-03-01 10:05:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-26 04:45:52 +0900

    [rubygems/rubygems] Fix: vendor_gem takes a block

    https://github.com/rubygems/rubygems/commit/50cda56fc3

commit 06d5d4f1d0f58bdf73a0978221fe13e17f36712e
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-26 02:02:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-26 04:45:51 +0900

    [rubygems/rubygems] Fix resolver bug where ActivationRequest objects were not properly compared

    They were delegating their `#hash` value to a class not overriding that
    method, and so were returning inconsistent results.

    https://github.com/rubygems/rubygems/commit/723e4ee0fc

commit 453de8c2bc1392be86058510630fab1a55c2a265
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-26 04:08:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-26 04:08:46 +0900

    [ruby/prism] Revert "Frozen parts"

    https://github.com/ruby/prism/commit/48f2e8c169

commit ff8f98f5c26febea9ca61278f167ad6582381855
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-26 02:21:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-26 02:36:13 +0900

    [ruby/prism] Mark interpolated nodes as static literal

    https://github.com/ruby/prism/commit/d00977a9bd

commit eef272f1548b92ca53867c94f7cc38b1f35ef656
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-26 02:18:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-26 02:36:12 +0900

    [ruby/prism] Mark inner parts of interpolated* nodes as frozen

    https://github.com/ruby/prism/commit/58a127cd5d

commit 9cf754b648bc04f0c1e8f9274e6047ff25c1b3e3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-22 23:48:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-26 02:07:39 +0900

    Fix --debug=gc_stress flag

    ruby_env_debug_option gets called after Init_gc_stress, so the
    --debug=gc_stress flag never works.

commit 46bf6ae886dc14d5e3a76d53eb4f97375f7c03c5
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-26 01:06:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-26 01:06:47 +0900

    YJIT: Propagate Array, Hash, and String classes (#10323)

commit a08954569f197312db4d6b217f1b8ba3441fc078
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-25 23:08:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-26 00:54:20 +0900

    [ruby/prism] Fix up minimal build setting

    https://github.com/ruby/prism/commit/98c85c4acb

commit 53cc2723877f7794807684e31a530daca1a72ed6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-25 22:27:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-26 00:52:13 +0900

    [ruby/prism] Handle CRLF in regexp

    https://github.com/ruby/prism/commit/b96bada9ae

commit 86077fbcde05f4abd6b306ad0fcc88ee891f8e8b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-25 22:24:35 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-26 00:52:12 +0900

    [ruby/prism] Refactor regexp lexing to make it easier to support CRLF

    https://github.com/ruby/prism/commit/60805d85ca

commit 0bc764b7298fe79ded630841f0781979a9d0d806
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-25 21:41:57 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-26 00:52:10 +0900

    [ruby/prism] Handle CRLF inside string contents

    https://github.com/ruby/prism/commit/aac606301e

commit 14ab698967cdaedc0a922a2bdf30dfc69bdba7eb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-25 21:32:58 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-26 00:52:09 +0900

    [ruby/prism] Handle CRLF inside heredoc contents

    https://github.com/ruby/prism/commit/1fbac72485

commit a31ca3500d995b6706f94ff72166d699c5faeb27
  Author:     Gannon McGibbon <gannon.mcgibbon@gmail.com>
  AuthorDate: 2024-03-23 05:38:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-25 23:43:12 +0900

    Mark iseq structs with rb_gc_mark_movable

    Using rb_gc_mark_movable and a reference update function, we can make
    instruction sequences movable in memory, and avoid pinning compiled iseqs.

    ```
    require "objspace"
    iseqs = []
    GC.disable
    50_000.times do
      iseqs << RubyVM::InstructionSequence.compile("")
    end
    GC.enable
    GC.compact
    p ObjectSpace.dump_all(output: :string).lines.grep(/"pinned":true/).count
    ```

    Co-authored-by: Peter Zhu <peter@peterzhu.ca>

commit 552647175e8319aa7cc117d418f35ed761fdb822
  Author:     Cody Cutrer <cody@instructure.com>
  AuthorDate: 2023-10-10 02:24:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 23:25:46 +0900

    [rubygems/rubygems] Improve validation of `bundle plugin install` options

    Ensure only one source type is specified, and ensure options that
    are only relevant to git sources are only specified with git.

    https://github.com/rubygems/rubygems/commit/58b043215e

commit 65264b0dfb73a4162b638fa2c9cc0e99c66360e2
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-25 22:23:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 23:11:07 +0900

    [ruby/prism] Fix build error for C99 and C23 CI matrix

    This PR fixes the following build error for C99 and C23 Ruby's CI matrix:

    ```console
    ../src/prism/prism.c:1241:19: error: initializing 'char *' with an expression of
    type 'const char *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
    1241 |             char *word = unknown_flags_length >= 2 ? "options" : "option";
         |                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    assembling ../src/coroutine/amd64/Context.S
    ```

    - c99 ... https://github.com/ruby/ruby/actions/runs/8419905079/job/23053543994#step:10:249
    - c23 ... https://github.com/ruby/ruby/actions/runs/8419905079/job/23053544274#step:10:257

    This is an incorrect code introduced in https://github.com/ruby/prism/pull/2618.

    https://github.com/ruby/prism/commit/4d9d73fcb9

commit 3b4dacf2ede0dafbcf942ac696439237f8b31dc6
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-25 19:09:14 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-25 22:13:05 +0900

    Let the docs of base_label and label be similar

commit dadaa1142fc89d9752e9454f99b0b4d32068ef41
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-25 18:21:07 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-25 22:13:05 +0900

    Update vm_backtrace.c

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit 4235bc295b1a0952fd610afb4d333dd03b162bea
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-25 18:09:56 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-25 22:13:05 +0900

    Add an example to base_label API

commit 54428c2bf10c15663de084bbac20783395f2d8fd
  Author:     Franck Trouillez <francktrouillez99@gmail.com>
  AuthorDate: 2024-03-25 18:13:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 21:16:46 +0900

    [ruby/prism] Add missing symbol in comment for binding powers for `||=`

    This adds in the descriptive comment the `||=` operator corresponding to `PM_TOKEN_PIPE_PIPE_EQUAL` for pm_binding_powers[PM_TOKEN_MAXIMUM] in prism.c

    https://github.com/ruby/prism/commit/315ca16e23

commit d05135727f51236fd6ec121a8265167a857681e8
  Author:     Franck Trouillez <francktrouillez99@gmail.com>
  AuthorDate: 2024-03-25 18:13:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 21:16:45 +0900

    [ruby/prism] Fix comment typos in prism.c

    This fixes some comment typos in English in the prism.c file. It fixes some typos and follows the current conventions:
    - Sentences in comments end with `.`
    - Use infinitive instead of 3rd person present simple to describe functions

    https://github.com/ruby/prism/commit/01324e89db

commit 56a2fad2a4578987a371f7a5563812b52ed8e9c6
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-21 01:46:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 21:16:32 +0900

    [ruby/prism] Fix incorrect paring when using invalid regexp options

    Fixes https://github.com/ruby/prism/pull/2617.

    There was an issue with the lexer as follows.
    The following are valid regexp options:

    ```console
    $ bundle exec ruby -Ilib -rprism -ve 'p Prism.lex("/x/io").value.map {|token| token[0].type }'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [:REGEXP_BEGIN, :STRING_CONTENT, :REGEXP_END, :EOF]
    ```

    The following are invalid regexp options. Unnecessary the `IDENTIFIER` token is appearing:

    ```console
    $ bundle exec ruby -Ilib -rprism -ve 'p Prism.lex("/x/az").value.map {|token| token[0].type }'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [:REGEXP_BEGIN, :STRING_CONTENT, :REGEXP_END, :IDENTIFIER, :EOF]
    ```

    As a behavior of Ruby, when given `A` to `Z` and `a` to `z`, they act as invalid regexp options. e.g.,

    ```console
    $ ruby -e '/regexp/az'
    -e:1: unknown regexp options - az
    /regexp/az
    -e: compile error (SyntaxError)
    ```

    Thus, it should probably not be construed as `IDENTIFIER` token.

    Therefore, `pm_byte_table` has been adapted to accept those invalid regexp option values.
    Whether it is a valid regexp option or not is checked by `pm_regular_expression_flags_create`.
    For invalid regexp options, `PM_ERR_REGEXP_UNKNOWN_OPTIONS` is added to diagnostics.

    https://github.com/ruby/prism/commit/d2a6096fcf

commit f5a2f55aca5f229bb2a9dac62d96d85fc14ae718
  Author:     Justin Collins <justin@presidentbeef.com>
  AuthorDate: 2024-03-24 07:20:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 21:13:52 +0900

    [ruby/prism] Use Sexp#line_max not Sexp#max_line

    for RubyParser translation

    https://github.com/ruby/prism/commit/a37169621a

commit daf1d7bfefa89a0473af9b304a3798ba1e67166a
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-03-25 21:13:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 21:13:31 +0900

    [ruby/reline] Bump version to v0.5.0
    (https://github.com/ruby/reline/pull/664)

    https://github.com/ruby/reline/commit/1d6569600c

commit f53209f02370b3590662de76fe63ec2818633139
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-25 20:48:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 20:48:11 +0900

    [ruby/irb] Cache RDoc::RI::Driver.new
    (https://github.com/ruby/irb/pull/911)

    * Cache RDoc::RI::Driver.new to improve performance and to avoid flaky test

    * Insert sleep to fix flaky rendering test that renders document dialog

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

commit 5f334b67d23f1397b71931646c96fb6b8aa96e08
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-03-25 20:06:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 20:06:39 +0900

    [ruby/reline] Remove useless tests
    (https://github.com/ruby/reline/pull/665)

    The pasting tests hadn't been working since as early as v0.2.0. Since
    what it tried to cover is already gone for such a long time, I think it's
    better to write new ones if needed then to keep them around.

    And since these tests are gone, the helper methods for just them are also gone.

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

commit 219d7cc1aa14e3f0afaf84f9c127bd6125cb8481
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-25 16:45:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 18:17:09 +0900

    lib/bundled_gems.rb: dynamically ignore Kernel.require decorators

    Followup: https://github.com/ruby/ruby/pull/10347

    This avoid directly referencing bootsnap and zeitwerk, and also
    handle other gems that may decorate `require`.

commit e70ccc91e56b44ec523cb66323d486631ea1409b
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-25 17:31:59 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-25 18:04:20 +0900

    Update minitest and power_assert bundled gems

    They were pointing to branches to be chilled string compatible.
    Both patches have been merged now.

commit 152192c96f30b66f3257faafeb7b34043506ae8f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-25 17:12:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 17:37:13 +0900

    Use load_gemspec instead of Gem::Specification.load.

    We need to purge `git ls-files` from gemspec in default gems.

commit bd85fd6db9c6e065c65c82ba590b1a16a07791a5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-25 15:16:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 15:16:22 +0900

    Guard makefile target at cross-build

    http://rubyci.s3.amazonaws.com/crossruby/crossruby-master-aarch64/log/20240325T041917Z.fail.html.gz

commit 990e11b60eae06d7e8205405fc99320267b5843b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-25 13:31:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 14:33:03 +0900

    Bootsnap and Zeitwerk are working correctly now

commit 6b1691ebe8d8134c963f99b059beb449a8ec450b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-25 13:29:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 14:33:03 +0900

    Remove rubylibdir from bootsnap

commit d6e9367edb940ea26a51e56b2be1032a97eea4c2
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-14 06:52:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 14:33:03 +0900

    Skip Bootsnap and Zeitwerk in bundled gems warning

commit 02a4bdd6076b84da35d4a5d1aa749f1e9683ad1b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-25 13:22:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 14:33:03 +0900

    Add newline each test script

commit 9db300219f75db5951b7e2f61683b1241e7afcf0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-25 12:45:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 14:33:03 +0900

    Added test script for bundled_gems.rb with zeitwerk

commit 69579ed57a2aa1c3ad739417db70564d570bf2c1
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-28 12:37:25 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-25 12:57:04 +0900

    Mark fiber stacks in rb_execution_context_mark

    Currently, fiber stacks are marked separately from the rest of the
    execution context. The fiber code deliberately does _NOT_ set
    ec->machine.stack_end on the saved EC, so that the code in
    `rb_execution_context_mark` does not mark it; instead, the stack marking
    is done in `cont_mark`.

    Instead, we can set ec->machine.stack_end, and skip out on doing the
    stack marking separately in `cont_mark`; that way, all machine stack
    marking shares the same code (which does the nescessary ASAN things).

    [Bug #20310]

commit 2535a09e85dd68249d9f390db32313ddd482480e
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-24 17:32:17 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-25 12:57:04 +0900

    Check ASAN fake stacks when marking non-current threads

    Currently, we check the values on the machine stack & register state to
    see if they're actually a pointer to an ASAN fake stack, and mark the
    values on the fake stack too if required. However, we are only doing
    that for the _current_ thread (the one actually running the GC), not for
    any other thread in the program.

    Make rb_gc_mark_machine_context (which is called for marking non-current
    threads) perform the same ASAN fake stack handling that
    mark_current_machine_context performs.

    [Bug #20310]

commit 48d3bdddbaeabed5fb6a97bfbe65e250d1383a9c
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-24 17:31:27 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-25 12:57:04 +0900

    Move asan_fake_stack_handle to EC, not thread

    It's really a property of the EC; each fiber (which has its own EC) also
    has its own asan_fake_stack_handle.

    [Bug #20310]

commit ea31228d0c46763a62abef047d37d66709bdaf87
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-21 01:18:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 11:55:08 +0900

    Consider extensions in gems outside of ext/

commit 2dd2204d8cac9ffb25cbd415fabaf315e0c7e839
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-21 01:17:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 11:55:08 +0900

    Extract `root` helper

    It holds the root directory for each type of default gem (ext/ or lib/).

commit 083e7080d19a5f6489cae5a060c533ea1932de75
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-19 04:58:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 11:55:08 +0900

    Consider `target_prefix` in extension Makefiles

commit 2b703eed46237d28ca71f3ed24f77bf53cf81720
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-24 18:22:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 11:55:08 +0900

    Consistently put requirable features in default gemspecs file list

commit bece07e6c3716f93c0f2b98159430aa5df51c0a0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-24 18:16:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 11:55:08 +0900

    Fix gemspec file list for extension gems

    So that it also includes requirable features provided by extensions.

commit 1e6117d66547b11b26f4e7dc50612ff26e03b634
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-21 01:10:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 11:55:08 +0900

    Simplify FileCollector interface

commit 348d8bdb0edeb4df2ef40379ab579dfc15afc327
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-21 00:43:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 11:55:08 +0900

    Use `$ext_build_dir` consistently

    Instead of hardcoded "ext".

commit fdd7ffb70ca6e9f7d790aadde86dbc8172e19f4d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-25 09:24:21 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-25 10:26:56 +0900

    [Bug #20389] Chilled string cannot be a shared root

commit e86a6191660c613e7879e62b564502eaf5456495
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-03-24 14:33:04 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-03-25 08:34:30 +0900

    Lrama v0.6.5

commit 5e4b4d667441461f6384b2afb47df855c06d2e20
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-24 20:23:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 00:27:00 +0900

    [rubygems/rubygems] Remove typo name

    It is more 2 years since #5109, probably enough time to warn.

    https://github.com/rubygems/rubygems/commit/1e9433e77f

commit 74593613ea399518d6f72cb9ca330efbfcf719cb
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-24 22:04:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-24 22:04:33 +0900

    [ruby/reline] Disable dialog proc if TERM=dumb
    (https://github.com/ruby/reline/pull/663)

    https://github.com/ruby/reline/commit/4928e06a24

commit 82f4cff1f39d5f2c762f8cf61f079e318066e44e
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-24 21:54:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-24 21:54:40 +0900

    [ruby/irb] Fix indent test for new reline
    (https://github.com/ruby/irb/pull/908)

    https://github.com/ruby/irb/commit/7c16ce033e

commit b0eda83ee0c34d265277635a1e13591d6367bd01
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-24 19:47:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-24 19:47:22 +0900

    [ruby/reline] Add mode_string to prompt calculation dependencies
    (https://github.com/ruby/reline/pull/658)

    * Add mode_string to prompt calculation dependencies

    * Update vi show-mode-in-prompt test

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

commit b03705dbaf80ae445ab9fa38b52e7f7ac0b6829a
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-24 19:45:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-24 19:45:32 +0900

    [ruby/reline] Refactor key actor test
    (https://github.com/ruby/reline/pull/645)

    * Add assertion assert_cursor_line to test helper

    * Autofix key_actor test to use assert_cursor_line

    * Rename the assertion to assert_line_around_cursor and remove other assertions for line and cursor

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

commit 3adaba0e81c1df4827dce86c19643b48d288a56b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-24 08:00:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-24 08:00:21 +0900

    [ruby/reline] Do not send color reset sequence when GeneralIO is
    used
    (https://github.com/ruby/reline/pull/661)

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

commit f46b77596d9b88e603765c0980667a86c62e2b04
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-03-24 07:50:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-24 07:50:57 +0900

    [ruby/reline] Make mutated string in yamatanooroti explicitly
    mutable
    (https://github.com/ruby/reline/pull/662)

    This avoids the frozen literal warning in Ruby 3.4.

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

commit 8265a7531fba008eac777682124c2fb1b55e724c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-24 01:40:17 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-24 01:40:17 +0900

    Use dedicated methods to abort

    When `RUBY_DEBUG` is set, accessing a class in an invalid object will
    cause a breakpoint trap instead of a segfault on some implementations.

commit 678cb80033511cbb46df2bdddd42d29d70bc7f7d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-24 01:09:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-24 01:09:29 +0900

    Move `-test-/fatal/rb_fatal` to `-test-/fatal`

commit 5a77397489268f27a5d803441d723736a12f59fc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-23 23:58:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-23 23:58:40 +0900

    Ignore method chains succeeding `git ls-files`

commit c505bb0ca0fd61c7ae931d26451f11122a2644e9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-23 22:43:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-23 22:43:05 +0900

    Ignore method chains succeeding `git ls-files`

commit 43fe89d921862373bde017e96fbd692a24534eca
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-23 21:53:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-23 22:06:40 +0900

    [ruby/win32ole] Refine pathspecs for `spec.files`

    https://github.com/ruby/win32ole/commit/8d443417a9

commit 14fba5a78499a3a797ec5f27fe697ffa763955f5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-23 18:22:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-23 19:34:57 +0900

    [ruby/win32ole] Exclude unused files from packages

    https://github.com/ruby/win32ole/commit/f4aff99dda

commit a8075caa4e7681ca274d474cdc15fbeee9ad9d2a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-23 19:07:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-23 19:34:35 +0900

    [ruby/win32ole] Test constants for the backward compatibility

    https://github.com/ruby/win32ole/commit/22facf50fd

commit 401251979b74d6c04241da593499bc829f5173ba
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-23 17:19:30 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-23 17:19:30 +0900

    [DOC] Small edits in rbasic.h

commit a15b2443a51a606a61afa2c23f3469d215798797
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-03-23 15:59:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-23 15:59:22 +0900

    Update bundled gems list as of 2024-03-22

commit 2dbcc123f4f605b51a3698d38ccd53ba6ef482ac
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-03-23 07:29:13 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-03-23 08:54:07 +0900

    Do not apply anon_rest optimization when passed array uses keyword-flagged hash

    The optimization sets args->rest_dupped to avoid allocating an array,
    but this is not safe if the splat array ends in a keyword flagged
    hash.  Unset args->rest_dupped in this case.

    Fixes [Bug #20388]

commit a2ac28d8ab9814922af6ec9cd00014b972385299
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-03-23 06:06:55 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-03-23 06:42:58 +0900

    .travis.yml: Add lscpu command to see the details of the CPU.

commit 8ef923dc35515e438ebd9ad135c80e4309956214
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-18 21:26:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-22 22:15:15 +0900

    [rubygems/rubygems] Respect global umask when writing regular files

    https://github.com/rubygems/rubygems/commit/fd5cb7396f

commit 7b3ef370f84cd0a2e7a8d3ce8717ae6dfa49319e
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-16 03:10:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-22 22:14:42 +0900

    [rubygems/rubygems] Fix incorrect `bundle update --bundler` message

    https://github.com/rubygems/rubygems/commit/146de56353

commit d85c24058dd4c3824f45691ad319c717d4570537
  Author:     Artur <22315378+artur-intech@users.noreply.github.com>
  AuthorDate: 2024-03-22 20:34:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-22 20:34:51 +0900

    [ruby/irb] Remove misleading documentation
    (https://github.com/ruby/irb/pull/906)

    https://github.com/ruby/irb/issues/904

    https://github.com/ruby/irb/commit/89bca01bba

commit 74995a1a772903c5247886da1105caa27a4afa2d
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-03-22 04:49:50 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-03-22 20:30:15 +0900

    [Feature #20275] Remove extra backtrace entries for rescue and ensure

commit e2a9b87126d59e4766479a7aa12cf7a648f46506
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-22 18:53:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-22 18:53:44 +0900

    `rb_thread_sched_destroy` is not used now at all

commit 127d7a35df10ee2bc99f44b888972b2c5361d84f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-22 18:20:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-22 18:20:13 +0900

    Some functions are not used when `THREAD_MODEL=none`

commit 055613fd868a8c94e43893f8c58a00cdd2a81f6d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-22 18:18:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-22 18:18:35 +0900

    Fix pointer incompatiblity

    Since the subsecond part is discarded, WIDEVAL to VALUE conversion is
    needed.

commit 2c4170ea217f6ff8034d8467311c0810f7c5186e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-22 17:17:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-22 17:17:29 +0900

    Extension in gems cannot be statically linked

    A gem is meant to be added later, so an extension within it cannot be
    statically linked.

commit af88ca4c076cde9a23ee68281994e1b443cf4e9b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-22 14:09:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-22 14:09:12 +0900

    Match `--with/--without` options against gem names

    The simple names in `default_exclude_exts` do not match extension
    paths under gems.

    Extract each gem name from the gemspec file at the top level of each
    gem directory.  For example, if `ext` is `syslog-0.1.2/ext/syslog/`,
    find out `syslog-0.1.2/syslog.gemspec` and take the base name `syslog`
    without the suffix `.gemspec`.

commit 235aa7ad63d8cf77043a2f62f3c3e30fd6af6c05
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-22 14:06:55 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-22 14:06:55 +0900

    Pass blocks to blocks as block parameters

commit c5045830b7ed3bf664633871ca21fcfe03a42aa7
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-03-22 08:17:51 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-03-22 11:53:15 +0900

    Lrama v0.6.4

commit b4d73e9f80aa5fe72c39f42a88727fed0abb261b
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-03-22 10:56:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-22 10:56:02 +0900

    Revert "Hide public implementation of `rb_io`. (#9568)" (#10283)

    This reverts commit 9ab1fa3bf570bf19b0d6808adf12e965aacc6d83.

commit 49eddad77efdc1d77fc035989591cbe56fc66a1e
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-22 08:44:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-22 08:44:56 +0900

    Declare all jobs in matrix.include (#10327)

    Declare all jobs using matrix.include

commit 75d9019e6f7bc6ed5bc48dbffdde22b4bc58fac5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-22 03:14:25 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-22 03:14:25 +0900

    [DOC] Fix link in NEWS.md

commit 0546764c30057fc04c1314c5545e793d5edadfd2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-22 03:12:06 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-22 03:12:55 +0900

    [DOC] Add link in NEWS.md

commit 15dc3aaa311b32203d8ffb414bcf9b8e55ce5691
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-03-21 05:21:04 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-03-22 02:20:32 +0900

    Remove excess allocation for kwsplat to kw call

    Previously, calls like the following duplicated the kwsplat hash
    unnecessarily:

    ```ruby
    def foo(a:) = a
    hash = {a: 10}
    foo(**hash)
    ```

    This is due to the fix in ca204a20231. Since it targets when the callee
    has no keyword parameters, skip duplicating when the method takes
    keywords.

commit 806edd295653a64901b49928b5b14d6c815f8e74
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-21 00:17:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-21 23:43:07 +0900

    Pass objspace into heap_check_moved_i

commit 9a6a6b4ba68d8f2bed4b8d57aca42d5b609dfb11
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-21 00:16:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-21 23:43:07 +0900

    Pass objspace into root_obj_check_moved_i

commit 060a71d4e75e3329b5cae7cd416addba7c5bd263
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-03-20 00:26:54 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-03-21 18:10:02 +0900

    Fix Ripper memory allocation size when enabled Universal Parser

    The size of `struct parser_params` is 8 bytes difference in `ripper_s_allocate` and `rb_ruby_parser_allocate` when the universal parser is
    enabled.
    This causes a situation where `*r->p` is not fully initialized in `ripper_s_allocate` as shown below.

    ```console
    (gdb) p *r->p
    $2 = {heap = 0x0, lval = 0x0, yylloc = 0x0, lex = {strterm = 0x0, gets = 0x0, input = 0, string_buffer = {head = 0x0, last = 0x0}, lastlin
    e = 0x0,
        nextline = 0x0, pbeg = 0x0, pcur = 0x0, pend = 0x0, ptok = 0x0, gets_ = {ptr = 0, call = 0x0}, state = EXPR_NONE, paren_nest = 0, lpar
    _seen = 0,
        debug = 0, has_shebang = 0, token_seen = 0, token_info_enabled = 0, error_p = 0, cr_seen = 0, value = 0, result = 0, parsing_thread = 0, s_value = 0,
        s_lvalue = 0, s_value_stack = 2097}
    ````

    This seems to cause `double free or corruption (!prev)` and SEGV.
    So, fixing this by introduce `rb_ripper_parser_params_allocate` and `rb_ruby_parser_config` functions for Ripper, and `struct parser_params` same size is returned.

commit 9e3077a7a6a59512aea5538adf173a33bbc5db3f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-21 16:15:53 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-21 16:15:53 +0900

    Move old OS versions to `include:` and simplify test matrices

commit c5ac18bbf4e67a30471cf9add5696cc57cf59c12
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-21 13:20:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-21 13:38:21 +0900

    [ruby/rdoc] Bump up 6.6.3.1

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

commit 385c31e770566b2f07f3222464f08886fcedc31e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-21 13:18:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-21 13:18:26 +0900

    [ruby/rdoc] Fix NoMethodError for start_with

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

commit ee1ad009f355c32a75bcc67bb79abb9519b2772f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-19 22:10:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-21 13:04:40 +0900

    [ruby/rdoc] Bump up 6.6.3

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

commit 3d353afeb0ecaf1e64c8fa8f58622bebebfca352
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-03-28 18:27:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-21 13:04:40 +0900

    [ruby/rdoc] Filter marshaled objets

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

commit 8ba4d7d75fd231b61727eb0561eb686c1d67bfd4
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-03-19 18:17:46 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-03-21 11:29:09 +0900

    Fix unexpected node bug for `shareable_constant_value: literal`

    [Bug #20339]
    [Bug #20341]

    `const_decl_path` changes the value of `NODE **dest`, LHS of an assignment,
    with `NODE_LIT` created by `const_decl_path`. `shareable_literal_constant` calls
    `const_decl_path` via `ensure_shareable_node` multiple times if RHS of an assignment
    is array or hash. This means `NODE **dest` argument of `const_decl_path` can be `NODE_LIT`
    from the second time then causes `[BUG] unexpected node: NODE_LIT` in
    `rb_node_const_decl_val`.
    This commit change to not update `NODE **dest` in `const_decl_path` to
    fix the issue.

commit 6650b3aecf6bd3f4bce10a9f1a615683020af186
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-21 10:23:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-21 10:23:11 +0900

    Point to the correct hash for gacts/run-and-post-run-1.4.0

commit af7bf9e0d8fd5e542781ca7ac9550e3011913924
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-20 23:08:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-21 06:32:03 +0900

    [ruby/prism] Provide options for reducing size

    https://github.com/ruby/prism/commit/592128de4d

commit 0e8b6c62a44cb674dbda2e79cf027bcc7c324ad8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-19 01:09:09 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-21 03:28:13 +0900

    [PRISM] Enable specs in CI

commit 4238615432894804e8dc4dfc751d2b8c0d60ea0f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-21 00:29:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-21 00:29:27 +0900

    YJIT: Get rid of Type::TProc (#10287)

commit e07441f05fa05300c2578d4fb4158ff144dc1159
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-20 06:15:41 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-20 23:27:41 +0900

    Make rb_aligned_malloc private

    It is not used anywhere else.

commit 6ecee4ec311424e88cd6b6d77e67d709cfcf8421
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2023-12-01 21:46:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-20 20:44:13 +0900

    [ruby/openssl] Revert "Always respect the openssl prefix chosen by truffle/openssl-prefix on TruffleRuby"

    * This reverts commit https://github.com/ruby/openssl/commit/ca738e7e1357.
    * No longer needed since https://github.com/oracle/truffleruby/issues/3170 was fixed.

    https://github.com/ruby/openssl/commit/1f641a5604

commit a008c568262b7ea968755b5dfd3f09dc17f952a0
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-19 20:00:26 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-20 20:20:02 +0900

    Avoid deprecation warnings in TestString

commit aa2cdaa2637853892bb4839dfd66f35913c36123
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-20 10:39:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-20 10:39:12 +0900

    [ruby/reline] Change rendered_screen.lines to non-nil
    (https://github.com/ruby/reline/pull/650)

    https://github.com/ruby/reline/commit/9685db55f1

commit 0a1070274754d89a35c48deb6e65ea44f4fb118d
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-19 13:06:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-20 03:14:58 +0900

    [ruby/prism] Fix a diagnostic incompatibility

    This PR fixes a diagnostic incompatibility when using no anonymous keyword rest parameter:

    ```ruby
    foo(**)
    ```

    Note, although the actual update applies only to the `foo(**)` case, for reference,
    `foo(*)` and `foo(&) are also mentioned below.

    ## Ruby (Expected)

    ```console
    $ ruby -cve 'foo(*)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    -e:1: no anonymous rest parameter
    -e: compile error (SyntaxError)

    $ ruby -cve 'foo(**)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    -e:1: no anonymous keyword rest parameter
    -e: compile error (SyntaxError)

    $ ruby -cve 'foo(&)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    -e:1: no anonymous block parameter
    -e: compile error (SyntaxError)
    ```

    ## Prism (Actual)

    Before:

    ```console
    $ bundle exec ruby -Ilib -rprism -wve 'p Prism.parse("foo(*)").errors'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseError @type=:argument_no_forwarding_star @message="unexpected `*` when the parent method is not forwarding"
    @location=#<Prism::Location @start_offset=4 @length=1 start_line=1> @level=:fatal>]

    $ bundle exec ruby -Ilib -rprism -wve 'p Prism.parse("foo(**)").errors'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseError @type=:expect_expression_after_splat_hash @message="expected an expression after `**` in a hash"
    @location=#<Prism::Location @start_offset=4 @length=2 start_line=1> @level=:fatal>]

    $ bundle exec ruby -Ilib -rprism -wve 'p Prism.parse("foo(&)").errors'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseError @type=:argument_no_forwarding_amp @message="unexpected `&` when the parent method is not forwarding"
    @location=#<Prism::Location @start_offset=4 @length=1 start_line=1> @level=:fatal>]
    ```

    After:

    ```console
    $ bundle exec ruby -Ilib -rprism -wve 'p Prism.parse("foo(*)").errors'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseError @type=:argument_no_forwarding_star @message="unexpected `*` when the parent method is not forwarding"
    @location=#<Prism::Location @start_offset=4 @length=1 start_line=1> @level=:fatal>]

    $ bundle exec ruby -Ilib -rprism -wve 'p Prism.parse("foo(**)").errors'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseError @type=:argument_no_forwarding_star_star @message="unexpected `**` when the parent method is not forwarding"
    @location=#<Prism::Location @start_offset=4 @length=2 start_line=1> @level=:fatal>]

    $ bundle exec ruby -Ilib -rprism -wve 'p Prism.parse("foo(&)").errors'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseError @type=:argument_no_forwarding_amp @message="unexpected `&` when the parent method is not forwarding"
    @location=#<Prism::Location @start_offset=4 @length=1 start_line=1> @level=:fatal>]
    ```

    https://github.com/ruby/prism/commit/633c9d9fd4

commit 72a613bc6a7ac389e359fa9f0926ebfe395a9390
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-19 01:56:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-20 03:13:57 +0900

    [ruby/prism] Fix a diagnostic incompatibility for `Prism::Translation::Parser`

    This PR fixes a diagnostic incompatibility for `Prism::Translation::Parser` when using constant argument:

    ```ruby
    def foo(A)
    end
    ```

    ## Parser gem (Expected)

    Displays `formal argument cannot be a constant (Parser::SyntaxError)`:

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve 'p Parser::Ruby33.parse("def foo(A) end")'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    (string):1:9: error: formal argument cannot be a constant
    (string):1: def foo(A) end
    (string):1:         ^
    /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/diagnostic/engine.rb:72:
    in `process': formal argument cannot be a constant (Parser::SyntaxError)
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/base.rb:274:in `diagnostic'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/ruby33.rb:12177:in `_reduce_663'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/racc-1.7.3/lib/racc/parser.rb:267:in `_racc_do_parse_c'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/racc-1.7.3/lib/racc/parser.rb:267:in `do_parse'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/base.rb:190:in `parse'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/base.rb:33:in `parse'
            from -e:1:in `<main>'
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the error messages displayed by the Parser gem were different.

    Before:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve 'Prism::Translation::Parser33.parse("def foo(A) end")'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    (string):1:9: error:
    (string):1: def foo(A) end
    (string):1:         ^
    /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/diagnostic/engine.rb:72:
    in `process': Parser::SyntaxError (Parser::SyntaxError)
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:218:in `block in unwrap'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:216:in `each'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:216:in `unwrap'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:49:in `parse'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/base.rb:33:in `parse'
            from -e:1:in `<main>'
    ```

    After:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve 'Prism::Translation::Parser33.parse("def foo(A) end")'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    (string):1:9: error: formal argument cannot be a constant
    (string):1: def foo(A) end
    (string):1:         ^
    /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/diagnostic/engine.rb:72:
    in `process': formal argument cannot be a constant (Parser::SyntaxError)
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:218:in `block in unwrap'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:216:in `each'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:216:in `unwrap'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:49:in `parse'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/base.rb:33:in `parse'
            from -e:1:in `<main>'
    ```

    https://github.com/ruby/prism/commit/4f2af88520

commit cbcb2d46fc6d0971084b41df987480d2d9355328
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-20 02:59:25 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-20 02:59:25 +0900

    [DOC] Unify Doxygen formats (#10285)

commit d7bc6f0effa1531a12b5c6b6286805854ed9d094
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-19 23:17:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-19 23:17:26 +0900

    [ruby/reline] Reline 0.5.0.pre
    (https://github.com/ruby/reline/pull/614)

    * Re-architecture LineEditor's internal state and rendering

    * Fix test related to LineEditor re-architecture

    * Bump to 0.5.0.pre.1

    * Hide cursor only when updating screen. Frequent hide&show makes cursor flickering.

    * Simplify rerender call from reline.rb

    * Simplify handle_cleared

    It only need to clear screen. line_editor.rerender will be called later.

    * Add description of updating pasting_state inserts continuous_insertion_buffer

    * Use meaningful block parameter

    Co-authored-by: Stan Lo <stan001212@gmail.com>

    * Fix use of `@cursor_y`

    Fix bug updating `@cursor_y`. Do not use `@cursor_y` while updating dialog because it is not current cursor position but cursor position at last rendered time.

    * Remove useless instance_variable_set in test

    These instance variables are already removed from LineEditor

    * Always initialize instance variables to avoid ruby 2.7 warning, remove unused instance variable

    * Call update_dialogs from reline.rb before first render

    * Combine state representing rendered screen information into `@rendered_screen`

    * Rename editor_cursor_ to wrapped_cursor

    It represents cursor position of word wrapped whole content

    * Remove unused code, tweak, add comment

    ---------

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

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit e127289632396f268099c9815a59bc7e7f13b3ec
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-03-19 21:49:05 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-19 21:49:05 +0900

    [Bug #20279] [DOC] Update for `BasicObject`

    The current implementation raises on the call to super

commit 12be40ae6be78ac41e8e3f3c313cc6f63e7fa6c4
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2023-12-01 19:33:00 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-19 17:26:49 +0900

    Implement chilled strings

    [Feature #20205]

    As a path toward enabling frozen string literals by default in the future,
    this commit introduce "chilled strings". From a user perspective chilled
    strings pretend to be frozen, but on the first attempt to mutate them,
    they lose their frozen status and emit a warning rather than to raise a
    `FrozenError`.

    Implementation wise, `rb_compile_option_struct.frozen_string_literal` is
    no longer a boolean but a tri-state of `enabled/disabled/unset`.

    When code is compiled with frozen string literals neither explictly enabled
    or disabled, string literals are compiled with a new `putchilledstring`
    instruction. This instruction is identical to `putstring` except it marks
    the String with the `STR_CHILLED (FL_USER3)` and `FL_FREEZE` flags.

    Chilled strings have the `FL_FREEZE` flag as to minimize the need to check
    for chilled strings across the codebase, and to improve compatibility with
    C extensions.

    Notes:
      - `String#freeze`: clears the chilled flag.
      - `String#-@`: acts as if the string was mutable.
      - `String#+@`: acts as if the string was mutable.
      - `String#clone`: copies the chilled flag.

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

commit 0985e587901a9039ee0f523d285ed3834a6e9729
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-19 11:16:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-19 11:16:51 +0900

    [ruby/resolv] Bump up 0.4.0

    https://github.com/ruby/resolv/commit/44ae1e8531

commit ef0e08f327aa06cd66c0e57bc50681f4375149f3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-19 10:54:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-19 10:54:52 +0900

    Don't replace doc url for vendored files

commit ce544f8dbddf3a41bea28b15b6432b0e3fd516f3
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-03-19 10:01:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-19 10:30:38 +0900

    [ruby/prism] [Compatibility] Improve printf format

    For better compatibility, this patch suggests using __MINGW_PRINTF_FORMAT that GCC provides for MINGW environment.

    https://github.com/ruby/prism/commit/a3a792b64f

commit 6c1e8029d0e8598d075e478ac557091495bc9ffa
  Author:     Yuki Nishijima <yuki@xpillars.software>
  AuthorDate: 2024-03-19 10:25:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-19 10:27:32 +0900

    [ruby/did_you_mean] Do not use #inspect to avoid unexpected performance degradation

    closes https://github.com/ruby/did_you_mean/pull/100

    https://github.com/ruby/did_you_mean/commit/bd11eefd6c

commit 3f5f04afa779622ba02b7ad4b69b15b136c249a0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-19 03:53:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-19 05:39:04 +0900

    Remove duplicated function prototype rb_gc_disable_no_rest

commit 0b34b75ba1d1a18551cc918cdc89183fcddcf2ca
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-19 03:18:53 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-19 03:18:53 +0900

    [PRISM] Remove unnecessary dependencies in common.mk

commit 548203eaf2101d800ac51efd4bb61adbecaef40c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-19 01:20:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-19 02:00:07 +0900

    [ruby/prism] Warn on frozen_string_literal after tokens

    https://github.com/ruby/prism/commit/edece87801

commit 8514785e946dc14e5acaa74fc127303c805688d4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-19 01:15:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-19 01:59:58 +0900

    [ruby/prism] CRuby error message for lonely else

    https://github.com/ruby/prism/commit/1219a709e4

commit 7a1a572428ed7a5cac416735f1b50273d51bdf75
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-17 02:16:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-19 01:12:49 +0900

    [ruby/prism] Use `require_relative` in the Prism codebase

    If there are many searches in the `$LOAD_PATH` in the user environment,
    require will perform unnecessary searches that are not needed.
    In contrast, `require_relative` is efficient because it uses a relative path.

    https://github.com/ruby/prism/commit/438ccc67bd

commit 802e857ae6553bdc441d11892af0259a400f504e
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-03-19 01:02:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-19 01:02:22 +0900

    YJIT: Support arity=-2 cfuncs (#10268)

    This type of cfuncs shows up as consume a lot of cycles in profiles of
    the lobsters benchmark, even though in the stats they don't happen that
    frequently. Might be a bug in the profiling, but these calls are not
    too bad to support, so might as well do it.

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>

commit 97810cbbf2bf3346c6ad7bd67b38808f0eb11d61
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-18 23:58:54 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-19 00:55:43 +0900

    [PRISM] Process encoding on CLI for -K

commit b7ca4b1e2dd2e72a783668e547d8c73f9b588f2d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-18 23:16:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-19 00:55:43 +0900

    [PRISM] Fix up frozen checks for aref

commit f5497203b693afa2cf5d10ef57467f7eed008735
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-03 00:39:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-18 23:29:54 +0900

    Highlight messages in fetch-bundled_gems

commit 6ccc04cf456de9572dd2fd40c47cc614942b68a0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-06 16:29:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-18 23:29:53 +0900

    Add more abstract decorations for messaging

commit 4469729558c815954a64cd0b309e73749096284f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-16 04:36:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-18 23:19:11 +0900

    Remove rb_raw_obj_info_basic

    It's not used outside of gc.c.

commit c73dd96fe495f21a7f47a8386b926dd55302e04e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-18 22:58:53 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-18 22:58:53 +0900

    [PRISM] Resync

commit cb029fa4e8d2e8778f7a7b911bc7f0a0bd675524
  Author:     Cody Cutrer <cody@instructure.com>
  AuthorDate: 2023-10-10 02:38:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-18 20:42:37 +0900

    [rubygems/rubygems] Deprecate `bundle plugin install --local-git=`

    It's the exact same implementation as --git

    https://github.com/rubygems/rubygems/commit/18eb2418c6

commit 8a8df4917488ff1c8034119a94216f1b04ed3bfc
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-14 23:50:19 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-18 16:55:46 +0900

    Update set_backtrace documentation

    Followup: https://github.com/ruby/ruby/pull/10017

    [Feature #13557]

commit 454b939d7c9223ca04aa06a79939187ee6f3396c
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-03-11 13:21:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-18 16:49:33 +0900

    Launchable: Remove unused codes

commit 0ff2c7fe6fbd663ebffdbbd09c44b810cdf492d2
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-17 23:03:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-18 13:52:27 +0900

    Faster Integer.sqrt for large bignum

    Integer.sqrt uses Newton's method.
    This pull request reduces the precision which was unnecessarily high in each calculation step.

commit dcfbe36cb552ca70df82b3aeb346045733ade62e
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-03-18 12:32:53 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-18 12:32:53 +0900

    Update unmerged RBS to debug `EBADF` error (#10275)

    Update bundled_gems

commit e6487a9263a6d4a738cdb0ff780601ca866fc362
  Author:     OKURA Masafumi <masafumi.o1988@gmail.com>
  AuthorDate: 2024-03-18 11:37:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-18 11:37:42 +0900

    [ruby/irb] docs(help): Add latest options to ja help message
    (https://github.com/ruby/irb/pull/903)

    https://github.com/ruby/irb/commit/3c6d452495

commit dc06375c4fd471ed75da74e28154357a22c2d862
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-14 00:29:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-18 07:55:16 +0900

    [rubygems/rubygems] Ignore commented out keys in config file

    https://github.com/rubygems/rubygems/commit/c4a8d2a930

commit 5fd6b461c777654493c32c03c19f0b75362b966f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-17 19:09:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-17 19:09:37 +0900

    Refactor encdb and transdb templates

    - Simplify globbed file names.
    - Prefer `File.open` over `Kernel#open`.
    - Swallow initializer blocks instead of line by line with flip-flop.
    - Re-structure converter list.

commit e670892497f2eed07983617104ea8d38da2706b1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-17 18:47:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-17 18:47:18 +0900

    Remove no longer needed matching

commit 9e470ebdcd59bc2655d78a61e2a8e8bf6a4e0521
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-17 18:28:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-17 18:28:28 +0900

    Revert "Remove flip-flop usages from build scripts"

    This reverts commit 301fa452f7a9cdea922103e9c50d85a2d5652d0d.

commit 28a2105a554d875cc5c6fc2b5ac20e0e6c04966e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-08-08 00:32:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-17 15:57:19 +0900

    Prefer `enum ruby_tag_type` over `int`

commit a91800c4a05cc573a0ed1607210fc360a5c16b57
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-08-08 00:28:36 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-17 15:57:19 +0900

    Validate tag type to jump

commit e69708e5ef69dc7e7ff08881f16f6b10f65fafd0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-17 13:37:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-17 13:37:02 +0900

    [DOC] Mention about disallowed arguments in index

    [Bug #19918]
    [Bug #20218]

commit 0d5b16599a4ad606619228623299b931c48b597b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-20 11:59:36 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-17 13:20:23 +0900

    [Bug #20218] Reject keyword arguments in index

commit df5ef282337764508a1e1d93459d7a280e46647c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-18 19:27:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-17 13:18:37 +0900

    [Bug #19918] Reject block passing in index

commit 3605d6076dab516c7b483a8be6038d5b6da1845a
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-16 15:21:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-17 02:55:38 +0900

    [ruby/prism] Fix token incompatibility for `Prism::Translation::Parser::Lexer`

    This PR fixes token incompatibility for `Prism::Translation::Parser::Lexer` when using backquoted heredoc indetiner:

    ```ruby
    <<-`  FOO`
    a
    b
         FOO
    ```

    ## Parser gem (Expected)

    Returns `tXSTRING_BEG` as the first token:

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Parser::Ruby33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:xstr,
      s(:str, "a\n"),
      s(:str, "b\n")), [], [[:tXSTRING_BEG, ["<<`", #<Parser::Source::Range example.rb 0...10>]],
    [:tSTRING_CONTENT, ["a\n", #<Parser::Source::Range example.rb 11...13>]],
    [:tSTRING_CONTENT, ["b\n", #<Parser::Source::Range example.rb 13...15>]],
    [:tSTRING_END, ["  FOO", #<Parser::Source::Range example.rb 15...23>]], [:tNL, [nil, #<Parser::Source::Range example.rb 10...11>]]]]
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the tokens returned by the Parser gem were different. The escaped backslash does not match in the `tSTRING_BEG` token and
    value of `tSTRING_END` token.

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Prism::Translation::Parser33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:xstr,
      s(:str, "a\n"),
      s(:str, "b\n")), [], [[:tSTRING_BEG, ["<<\"", #<Parser::Source::Range example.rb 0...10>]],
    [:tSTRING_CONTENT, ["a\n", #<Parser::Source::Range example.rb 11...13>]],
    [:tSTRING_CONTENT, ["b\n", #<Parser::Source::Range example.rb 13...15>]],
    [:tSTRING_END, ["`  FOO`", #<Parser::Source::Range example.rb 15...23>]], [:tNL, [nil, #<Parser::Source::Range example.rb 10...11>]]]]
    ```

    After this correction, the AST and tokens returned by the Parser gem are the same:

    ```console
    $ bunlde exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Prism::Translation::Parser33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:xstr,
      s(:str, "a\n"),
      s(:str, "b\n")), [], [[:tXSTRING_BEG, ["<<`", #<Parser::Source::Range example.rb 0...10>]],
    [:tSTRING_CONTENT, ["a\n", #<Parser::Source::Range example.rb 11...13>]],
    [:tSTRING_CONTENT, ["b\n", #<Parser::Source::Range example.rb 13...15>]],
    [:tSTRING_END, ["  FOO", #<Parser::Source::Range example.rb 15...23>]], [:tNL, [nil, #<Parser::Source::Range example.rb 10...11>]]]]
    ```

    https://github.com/ruby/prism/commit/308f8d85a1

commit 815c7e197cfa193fc83844f2b988e26d0a56464d
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-03-15 07:10:07 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-17 01:27:32 +0900

    Avoid caller-side hash allocation for f(*a, kw: 1) and f(*a, kw: 1, &block)

    Previously, this used:

    ```
    splatarray false
    duphash
    getlocal/getblockparamproxy # in the block passing case
    send ARGS_SPLAT|KW_SPLAT|KW_SPLAT_MUT
    ```

    This changes the duphash to putobject, with putobject using
    a frozen version of the hash, and removing the keyword mutability:

    ```
    splatarray false
    putobject
    getlocal/getblockparamproxy # in the block passing case
    send ARGS_SPLAT|KW_SPLAT
    ```

commit bda5b099375d91274a5314aad2608f8e5b37e891
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-17 00:19:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-17 00:20:03 +0900

    [ruby/irb] Fix irb_history saved to current directory
    (https://github.com/ruby/irb/pull/901)

    * Always save irb_history in HOME or XDG_CONFIG_HOME

    Also split irbrc search logic from irb_history search logic as a refactor

    * Remove IRB.conf[:RC_NAME_GENERATOR] because it's not configurable

    This conf is used to specify which irbrc to load. Need to configure before irbrc is loaded, so it's actually not configurable.
    This conf is also used for history file search, but it is configurable by conf[:HISTORY_FILE].

    * remove rc_file_test because it is tested with rc_files, remove useless test setup

    * Make internal irbrc searching method private

    https://github.com/ruby/irb/commit/11d03a6ff7

commit aae9f5628c5af6a5eb8027e9f21b44fa80162d35
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-16 23:44:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-16 23:44:07 +0900

    Prefer the simple read/write `File` singleton methods

commit d4a53b465a6f77765e29f019d6ea4e6508c39f17
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-16 23:29:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-16 23:29:06 +0900

    Prefer the simple read/write `File` singleton methods

commit 137b52a88192b0d44e218b0433aa0e16cfbeb091
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-03-16 22:51:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-16 22:51:07 +0900

    [ruby/irb] Use markdown format for docs
    (https://github.com/ruby/irb/pull/890)

    * Convert irb.rb's document into markdown format

    * Hide should-be-private top-level methods from docs

    * Skip xmp.rb's docs

    * Declare lib/irb.rb's markup do it works in ruby/ruby too

    * Ignore docs folder

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

commit f1682407c528bb6f063639102404844df15a9583
  Author:     Mau Magnaguagno <maumagnaguagno@gmail.com>
  AuthorDate: 2024-03-11 02:48:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-16 18:51:09 +0900

    [ruby/did_you_mean] Avoid division for small length2

    https://github.com/ruby/did_you_mean/commit/cb518e251a

commit affbc79a10f21eecb4291a9a5906e2b9ef6771f6
  Author:     Mau Magnaguagno <maumagnaguagno@gmail.com>
  AuthorDate: 2023-01-26 07:51:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-16 18:51:09 +0900

    [ruby/did_you_mean] Remove Integer floor and prefix index from Jaro distance

    The variable ``length2`` is an Integer, call to floor returns self.
    The variables ``i`` and ``prefix_bonus`` are equally incremented, no need to keep the ``i`` variable.

    https://github.com/ruby/did_you_mean/commit/4408802289

commit def7023ee4a3fc6eeba9d3a34c31a5bcff315fac
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-03-16 06:00:24 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-03-16 08:15:58 +0900

    Initialize VM stack if VM_CHECK_MODE

    Lately there has been a few flaky YJIT CI failures where a new Ruby
    thread is finding the canary on the VM stack. For example:

    https://github.com/ruby/ruby/actions/runs/8287357784/job/22679508482#step:14:109

    After checking a local rr recording, it's clear that the canary was
    written there when YJIT was using a temporary malloc region, and then
    later handed to the new Ruby thread. Previously, the VM stack was
    uninitialized, so it can have stale values in it, like the canary.

    Though unlikely, this can happen without YJIT too. Initialize the stack
    if we're spawning canaries.

commit 185112f4ff901ba05ee3e7fe64caaff0fffb317e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-16 04:26:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-16 05:03:26 +0900

    Remove unused macro TF

commit e3a82d79fd727c90638ef697cb1b5ad73c7e62c0
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-16 01:20:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-16 03:08:39 +0900

    [ruby/prism] Fix token incompatibility for `Prism::Translation::Parser::Lexer`

    This PR fixes token incompatibility for `Prism::Translation::Parser::Lexer`
    when using escaped backslash in string literal:

    ```ruby
    "\\ foo \\ bar"
    ```

    ## Parser gem (Expected)

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Parser::Ruby33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:str, "\\ foo \\ bar"), [], [[:tSTRING, ["\\ foo \\ bar", #<Parser::Source::Range example.rb 0...15>]],
    [:tNL, [nil, #<Parser::Source::Range example.rb 15...16>]]]]
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the tokens returned by the Parser gem were different. The escaped backslash does not match in the `tSTRING` token:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Prism::Translation::Parser33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:str, "\\ foo \\ bar"), [], [[:tSTRING, ["\\\\ foo \\\\ bar", #<Parser::Source::Range example.rb 0...15>]],
    [:tNL, [nil, #<Parser::Source::Range example.rb 15...16>]]]]
    ```

    After this correction, the AST and tokens returned by the Parser gem are the same:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Prism::Translation::Parser33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:str, "\\ foo \\ bar"), [], [[:tSTRING, ["\\ foo \\ bar", #<Parser::Source::Range example.rb 0...15>]],
    [:tNL, [nil, #<Parser::Source::Range example.rb 15...16>]]]]
    ```

    The reproduction test is based on the following strings.txt and exists:
    https://github.com/ruby/prism/blob/v0.24.0/test/prism/fixtures/strings.txt#L79

    But, the restoration has not yet been performed due to remaining other issues in strings.txt.

    https://github.com/ruby/prism/commit/2c44e7e307

commit c9da8d67fdb9fab82f76d583239f5b9761f60350
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-16 00:30:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-16 03:07:59 +0900

    [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser::Lexer`

    This PR fixes a token incompatibility between Parser gem and `Prism::Translation::Parser`
    for the heredocs_leading_whitespace.txt test.

    https://github.com/ruby/prism/commit/7d45fb1eed

commit aceee71c35e0b387691836e756b4e008efd84cf1
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-03-01 03:57:25 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-16 00:23:41 +0900

    Avoid a hash allocation when calling def f(kw: 1) with keyword splat

    c20e819e8b04e84a4103ca9a036022543459c213 made calling a method
    that accepts specific keywords but not a keyword splat with a keyword
    splat allocating a hash when it previously did not.

    Instead of duplicating the hash and removing hash entries,
    lookup in the provided hash without duplicating the hash, and
    track to make sure all hash entries in the hash were looked up
    (extra hash entries would be errors).

commit a83703af79dca708736a00d45917f19a3dd698bb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-16 00:09:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-16 00:09:29 +0900

    Skip warnings for duplicate keys

commit 91bf7eb274e0b6e431b4f89a6dc814701a4d8739
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-15 20:38:39 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-15 23:52:33 +0900

    Refactor frozen_string_literal check during compilation

    In preparation for https://bugs.ruby-lang.org/issues/20205.

    The `frozen_string_literal` compilation option will no longer
    be a boolean but a tri-state: `on/off/default`.

commit b4f3f3c1031cc9ef5c6741042236db497be6602b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-15 22:47:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-15 22:47:49 +0900

    [PRISM] Fix up source file when not frozen

commit 043c90e16194e21006e185084199332059574da5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-15 22:42:44 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-15 22:42:44 +0900

    Fix compiling shareable constant nodes

commit f2e96d4bd90595b0818f02559a53905174496e34
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-03-15 21:24:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 22:31:02 +0900

    [ruby/prism] Add PM_STRING_FLAGS_FROZEN / PM_STRING_FLAGS_MUTABLE on PM_SOURCE_FILE_NODE

    For all intent and purposes, `__FILE__` is a string literal subject
    to the `# frozen_string_literal: true/false` comment and to the
    global `--enable-frozen-string-literal / --disable-frozen-string-literal`
    CLI flags.

    https://github.com/ruby/prism/commit/7e33c92afd

commit ec4333c9703939109588af87936ee43ad48f9dcc
  Author:     Pierre Merlin <pimpin@users.noreply.github.com>
  AuthorDate: 2024-03-15 22:23:50 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-15 22:23:50 +0900

    [DOC] exceptions.rdoc : Add heads up about ensure not returning implicitly

    There is a weird gotcha I already forgot twice.... and regret not to have found in doc.
    See https://dev.to/okuramasafumi/be-sure-ensure-doesn-t-return-value-implicitly-8gp

commit 077ac25ed8c699724467f209cf8df84b4abf9768
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-09 22:00:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 22:21:43 +0900

    Iterate the documentation of Module.const_missing

commit 9284fe123ef583ec4ba09097bcc795a54b1f5cf7
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-09 21:59:24 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 22:21:43 +0900

    Remove unnecessary else branch

    This matches the existing style in the rest of the file.

commit a26e3bf360ed1044d3b3079402df2e2956921c16
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-09 21:58:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 22:21:43 +0900

    Minor edits to variable.c

commit 0dbe3af417a0333b03dc1ebe81f228f366e80c23
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-09 21:58:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 22:21:43 +0900

    Fix the signature of Module#name in the API docs

commit 40ecad0ad796f1515c654c127ae498854c9a6120
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-03-15 22:14:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-15 22:14:57 +0900

    [Universal parser] Fix -Wsuggest-attribute=format warnings

    Under a configuration including `cppflags=-DUNIVERSAL_PARSER`, warnings listed below show in build time:

    ```
    node.c:396:30: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
      396 |     bug_report_func rb_bug = ast->node_buffer->config->bug;
          |                              ^~~
    ```

    ```
    ruby_parser.c:655:21: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
      655 |     .compile_warn = rb_compile_warn,
          |                     ^~~~~~~~~~~~~~~
    ruby_parser.c:656:24: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
      656 |     .compile_warning = rb_compile_warning,
          |                        ^~~~~~~~~~~~~~~~~~
    ruby_parser.c:657:12: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
      657 |     .bug = rb_bug,
          |            ^~~~~~
    ruby_parser.c:658:14: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
      658 |     .fatal = rb_fatal,
          |              ^~~~~~~~
    ```

    To fix, this patch suggests adding `__attribute__((format(printf, n, m)))` to those function declarations.

commit 1d91a1ad2db353aad37894a3e4a3756d5dd51413
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-15 18:32:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 21:54:55 +0900

    Cover all warning categories by using `Warning.categories`

commit 03e7b266a7be342e22c00725040266c1abbcba59
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-15 18:31:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 21:54:55 +0900

    Test deprecation warning with `$;`

commit c0b8dee95a5412f395486a9bcb4959f93509cecb
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-15 01:22:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 21:31:40 +0900

    [ruby/prism] Fix an AST and token incompatibility for `Prism::Translation::Parser`

    This PR fixes an AST and token incompatibility between Parser gem and `Prism::Translation::Parser`
    for dstring literal:

    ```ruby
    "foo
      #{bar}"
    ```

    ## Parser gem (Expected)

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Parser::Ruby33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:dstr,
      s(:str, "foo\n"),
      s(:str, "  "),
      s(:begin,
        s(:send, nil, :bar))), [], [[:tSTRING_BEG, ["\"", #<Parser::Source::Range example.rb 0...1>]],
    [:tSTRING_CONTENT, ["foo\n", #<Parser::Source::Range example.rb 1...5>]],
    [:tSTRING_CONTENT, ["  ", #<Parser::Source::Range example.rb 5...7>]],
    [:tSTRING_DBEG, ["\#{", #<Parser::Source::Range example.rb 7...9>]],
    [:tIDENTIFIER, ["bar", #<Parser::Source::Range example.rb 9...12>]],
    [:tSTRING_DEND, ["}", #<Parser::Source::Range example.rb 12...13>]],
    [:tSTRING_END, ["\"", #<Parser::Source::Range example.rb 13...14>]], [:tNL, [nil, #<Parser::Source::Range example.rb 14...15>]]]]
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the AST and tokens returned by the Parser gem were different. In this case, `dstr` node should not be nested:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Prism::Translation::Parser33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:dstr,
      s(:dstr,
        s(:str, "foo\n"),
        s(:str, "  ")),
      s(:begin,
        s(:send, nil, :bar))), [], [[:tSTRING_BEG, ["\"", #<Parser::Source::Range example.rb 0...1>]],
    [:tSTRING_CONTENT, ["foo\n", #<Parser::Source::Range example.rb 1...5>]],
    [:tSTRING_CONTENT, ["  ", #<Parser::Source::Range example.rb 5...7>]],
    [:tSTRING_DBEG, ["\#{", #<Parser::Source::Range example.rb 7...9>]],
    [:tIDENTIFIER, ["bar", #<Parser::Source::Range example.rb 9...12>]],
    [:tSTRING_DEND, ["}", #<Parser::Source::Range example.rb 12...13>]],
    [:tSTRING_END, ["\"", #<Parser::Source::Range example.rb 13...14>]], [:tNL, [nil, #<Parser::Source::Range example.rb 14...15>]]]]
    ```

    After this correction, the AST and tokens returned by the Parser gem are the same:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Prism::Translation::Parser33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:dstr,
      s(:str, "foo\n"),
      s(:str, "  "),
      s(:begin,
        s(:send, nil, :bar))), [], [[:tSTRING_BEG, ["\"", #<Parser::Source::Range example.rb 0...1>]],
    [:tSTRING_CONTENT, ["foo\n", #<Parser::Source::Range example.rb 1...5>]],
    [:tSTRING_CONTENT, ["  ", #<Parser::Source::Range example.rb 5...7>]],
    [:tSTRING_DBEG, ["\#{", #<Parser::Source::Range example.rb 7...9>]],
    [:tIDENTIFIER, ["bar", #<Parser::Source::Range example.rb 9...12>]],
    [:tSTRING_DEND, ["}", #<Parser::Source::Range example.rb 12...13>]],
    [:tSTRING_END, ["\"", #<Parser::Source::Range example.rb 13...14>]], [:tNL, [nil, #<Parser::Source::Range example.rb 14...15>]]]]
    ```

    https://github.com/ruby/prism/commit/c1652a9ee7

commit c45ad17fa1269aa882ed170760a5603a814d7c36
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-15 10:37:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 21:31:26 +0900

    [ruby/prism] Shareable constant nodes

    https://github.com/ruby/prism/commit/473cfed6d0

commit 59785680ddda63d2f5a9ab02f35d3c4b43fc3013
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-15 03:07:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 15:44:05 +0900

    Remove unused macro GC_NOTIFY in gc.c

commit 99024a1602011ae9c1dd46c94237a48b879a00b5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-15 15:04:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-15 15:36:38 +0900

    Use tag version of minitest-5.22.3

commit 823727538e0b32fc7e7b74c05299991fd587bf32
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-15 14:12:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 14:12:08 +0900

    Deprecate `--dryrun` options in favor of `--dry-run`

commit eceb36c7b9c71d7d230c104a486c3ba1a5afd8f9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-15 14:11:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 14:11:16 +0900

    downloader.rb: Add `--help` option

commit f0826057350555f802d5e27a26b6b91510182ccb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-15 13:55:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 13:55:47 +0900

    outdate-bundled-gems.rb: Add `--help` option

commit a1ced60692022184d40bdbb980131705e6be4fda
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-07-01 00:57:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 13:34:14 +0900

    [ruby/stringio] NULL StringIO by `StringIO.new(nil)`

    https://github.com/ruby/stringio/commit/779f71359d

commit 1e7c0fcc9ad9f6212752b0fce54d502a5eb6459c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-15 09:53:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-15 10:59:26 +0900

    [PRISM] Fix float in case dispatch

commit 3fcab3cddf2e796a3e3b9fd8b308fd351126e305
  Author:     Adam Daniels <adam@mediadrive.ca>
  AuthorDate: 2022-01-14 00:06:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 09:27:01 +0900

    [ruby/rdoc] Use readline history when ri is interactive

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

commit 193ebc3c3a7fc03724dedba31a38ca9196869c00
  Author:     toshimaru <me@toshimaru.net>
  AuthorDate: 2023-12-14 04:46:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 09:10:14 +0900

    [ruby/rdoc] test: Add tests for RDoc::TokenStream#add_tokens, add_token ,collect_tokens and pop_token

    https://github.com/ruby/rdoc/commit/9ed530b8f9

commit c38878494377c94f2425a81e598260ea944ef7f3
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-03-15 06:45:13 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-15 08:11:35 +0900

    Fix array allocation optimization for f(*a, kw: 1)

    This was broken during the refactoring in 22e488464a412afa58f201c49e54773aa8011320.

commit ed2f68525302413a676d81821b949a21d46407e9
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-03-15 05:44:53 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-03-15 05:44:53 +0900

    Update to ruby/spec@89175b2

commit 1d9f99144bb5239de303c51b86ccde3a33782e8d
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-03-15 05:44:52 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-03-15 05:44:52 +0900

    Update to ruby/mspec@b8f8f4e

commit c2170e5c2b0f644dcaefc7793430423b51865227
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-15 02:52:20 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-15 02:52:20 +0900

    Fix typo from gloabl_object_list to global_object_list

commit 4559a161af5cc57c129e3b2806ae7c0cd989b8b7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-14 02:58:03 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-15 02:29:59 +0900

    Move gloabl_object_list from objspace to VM

    This is to be consistent with the mark_object_ary that is in the VM.

commit b0be2961f7ca18c14509a24e37139f35aac626d5
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-15 02:08:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-15 02:08:23 +0900

    YJIT: Let yjit_perf.py support perf with Python disabled (#10246)

    * YJIT: Let yjit_perf.py support perf with Python disabled

    * Update yjit.md about perf

    * Recommend the extra interface by default

commit 09d8c99cdcb04fb6c6c8e61c9dea28927a3a0b46
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-13 20:50:11 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-15 01:56:15 +0900

    Ensure test suite is compatible with --frozen-string-literal

    As preparation for https://bugs.ruby-lang.org/issues/20205
    making sure the test suite is compatible with frozen string
    literals is making things easier.

commit 4e03d56e21e3df98a828c8efb7011b01db1a8d52
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-14 21:39:04 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-15 01:53:04 +0900

    [Feature #20265] Update NEWS.md

commit ff51dc56540c3ba574a4b3f606bafd57788f620f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-15 02:04:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-15 01:53:04 +0900

    [Feature #20265] Remove rb_newobj_of and RB_NEWOBJ_OF

commit 8e1831406ffd385213f67baba0d1fe6d44e9e0ea
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-15 00:52:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-15 01:53:04 +0900

    [Feature #20265] Remove rb_newobj and RB_NEWOBJ

commit 161545d55d894f42535fa5de7ac19cfb57122a2d
  Author:     Jean byroot Boussier <jean.boussier+github@shopify.com>
  AuthorDate: 2024-03-15 01:09:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 01:09:12 +0900

    [ruby/reline] Ensure compatibility with frozen string literals
    (https://github.com/ruby/reline/pull/643)

    Ref: https://bugs.ruby-lang.org/issues/20205

    Ruby is moving forward with enabling frozen string literals
    in the future.

    Reline being part of the ruby-core test suite should work when
    ruby is ran with `--enable-frozen-string-literal`.

    https://github.com/ruby/reline/commit/7e2de64cf0

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit d10afe03575446fa8d561fdc21ca3bed90df6e94
  Author:     Go <monkeywzr@gmail.com>
  AuthorDate: 2024-03-15 00:40:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 00:41:03 +0900

    [ruby/irb] Rescue from exceptions raised by #name
    (https://github.com/ruby/irb/pull/899)

    * Rescue from exceptions raised by #name

    Irb might terminate if the class overwrites `name` and raise errors. This commit rescue irb from termination.

    * fix for other unknown patterns

    https://github.com/ruby/irb/commit/35b87cf893

commit 3822ca9884e38bae0def0dc440df080ad16069ad
  Author:     hogelog <konbu.komuro@gmail.com>
  AuthorDate: 2024-03-15 00:40:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 00:40:27 +0900

    [ruby/irb] Add disable_irb command to disable debug of binding.irb
    (https://github.com/ruby/irb/pull/898)

    * Add disable_irb command to disable debug of binding.irb

    * disable_irb doesn't override Kernel.exit

    Kernel.exit call is removed because disable_irb does not override Kernel.exit
    and workaround to https://bugs.ruby-lang.org/issues/18234 is not needed.

    https://github.com/ruby/irb/commit/29901e4f21

commit 83618f2cfa004accdd1514de7dcbba291aa7e831
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 05:07:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-14 21:33:30 +0900

    [Feature #20306] Implement ruby_free_at_exit_p

    ruby_free_at_exit_p is a way for extensions to determine whether they
    should free all memory at shutdown.

commit 315bde5a0f95562f58405a43456ec6715ef20d32
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-02-19 19:30:26 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-14 19:38:40 +0900

    `Exception#set_backtrace` accept arrays of `Backtrace::Location`

    [Feature #13557]

    Setting the backtrace with an array of strings is lossy. The resulting
    exception will return nil on `#backtrace_locations`.

    By accepting an array of `Backtrace::Location` instance, we can rebuild
    a `Backtrace` instance and have a fully functioning Exception.

    Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>

commit 5326337d4f15ccf33128b3cf5a8896ba7f91fcc4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-15 10:56:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 18:33:28 +0900

    [Feature #20244] Issue a single `Warning.warn` call

    Make the entire series of message lines a multiline string so that the
    `Warning.warn` hook can receive them in a single call.

commit 67fe047821d08781f783476c4060f017cd27541f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-14 17:56:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 18:33:28 +0900

    [Feature #20244] Register global variable for another thread

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

commit 4bb8f8582fe347315f8c9dce87c9bdf4cd8f9027
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-07 19:51:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 18:33:28 +0900

    [Feature #20244] Show the conflicting another chdir block

commit 8fe86feecdcd0318c9ec88c10d2698beb9878bee
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-07 19:43:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 18:33:28 +0900

    [Feature #20244] Extract `chdir_lock` and its stuffs

commit 1ad366134ded1667745dd9fa70919051869f8d6c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 22:25:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 17:56:55 +0900

    [Feature #20293] Add `Warning.categories`

commit f36a71e26995b69ff72bc132bbcf40ad89571414
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-27 01:38:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 17:49:37 +0900

    [Bug #20307] Fix `Hash#update` to make frozen copy of string keys

commit cd774f4ab916290128924a3eb121b9e56fb587d2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-27 01:22:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 17:49:37 +0900

    Extract `RHASH_STRING_KEY_P`

commit c1279a3da53d2869181cbc232213213b8bd99db7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-26 23:47:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 17:49:37 +0900

    Extract `RHASH_IDENTHASH_P`

commit fdf1fa5f5f85277c55854a96744973366f4bc4b5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-14 17:41:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-14 17:41:24 +0900

    Revert "Warn ostruct for Ruby 3.5"

    This reverts commit 1acbdc76d6ee73bc2a4d490f8809bd128abafc1f.

    I need to remove ostruct from Rake or fix bundler example.

    https://github.com/ruby/ruby/actions/runs/8277371220/job/22647605911#step:11:3428

commit 1acbdc76d6ee73bc2a4d490f8809bd128abafc1f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-14 16:54:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-14 17:07:23 +0900

    Warn ostruct for Ruby 3.5

commit 04fc9f87be8dd352e7d892b0d6b08565ef752111
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-14 16:27:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-14 16:27:37 +0900

    Use released version of bigdecimal

commit 1cffaf1c25ada37001fb198d5565805be1a62447
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-14 15:12:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-14 15:12:03 +0900

    minitest-5.22.3 tag is not available yet

commit 07b40044ada7f98f67b3807dddeda76fff12b223
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-14 14:21:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-14 14:21:50 +0900

    Use released version of minitest

commit 578f96afb53c43ef4298c26ba158334fab56c702
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-14 01:00:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 13:30:28 +0900

    [ruby/stringio] [DOC] Package rdoc files

    https://github.com/ruby/stringio/commit/8522c90e4b

commit c913f3347c9669f2efc854cad7e0e444fac0ae6a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-14 01:01:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 13:30:28 +0900

    [ruby/stringio] [DOC] Add missing documents

    https://github.com/ruby/stringio/commit/9cc1dfa19c

commit 35706c608c236b5d02a2975567bd1cdfda9cf4d6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-05-06 12:38:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 13:30:27 +0900

    [ruby/stringio] [DOC] Add rdoc task

    https://github.com/ruby/stringio/commit/5dd52d4aec

commit b01d319ec82150e7f938a0c7bf79eae11e199931
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-14 13:19:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 13:19:46 +0900

    [ruby/fcntl] [DOC] Package files for RDoc

    https://github.com/ruby/fcntl/commit/b946e505f1

commit e394f5539e036efabf46346fbb9699777cc1f2d3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-14 13:01:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 13:01:24 +0900

    [ruby/fcntl] [DOC] Package document files

    https://github.com/ruby/fcntl/commit/ed2d725505

commit 4ae67b1ab5e63280bfb7ae7cc80250a6c1495801
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-14 12:40:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 12:49:40 +0900

    [ruby/fcntl] [DOC] Add missing documents

    https://github.com/ruby/fcntl/commit/a201ed6682

commit 085daf4840aa09aa3774ed3237d7a017be4ca157
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-14 12:39:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 12:49:40 +0900

    [ruby/fcntl] [DOC] Add task and files for RDoc

    https://github.com/ruby/fcntl/commit/1c7c70fa5d

commit 5fe1853e9b483c4ad4d55063727299b9659c137b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-14 12:38:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 12:49:38 +0900

    [ruby/fcntl] Reduce duplicate `O_ACCMODE` definitions

    https://github.com/ruby/fcntl/commit/6a6442a7f8

commit d49b41566b5fea30e954d1661855ba702206ac56
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-14 12:37:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 12:49:37 +0900

    [ruby/fcntl] [DOC] Remove redundant directives

    https://github.com/ruby/fcntl/commit/a99909a90f

commit 00c32f606adfa30552fdd1a1be3e301dde00963b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 04:47:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-14 08:01:43 +0900

    [PRISM] Do not send numbered parameters into eval

commit 2f8cbd6431016cf3498b0f26e56d3d5b214b58b0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 04:38:44 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-14 08:01:33 +0900

    [PRISM] Handle ambiguous_param0 for it and numbered parameters

commit 7c9e6eab89c76bdb78268bdd574ae4c362ea2c11
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 04:24:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-14 08:01:21 +0900

    Handle nth ref too big

commit 42bfbe9aa6fe1463921c6d86fd61e5c89e962ac2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-13 02:56:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-14 03:50:44 +0900

    Remove unused size_pool_edge_names

commit 76f9cfd0b912785b65ccd1b9bf1abefc388aaaca
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-03-14 03:50:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-14 03:50:18 +0900

    [DOC] Array doc (#10199)

commit 2cfcebb2a8f62bcc7b595b551db85abd93efaaa2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 03:22:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 03:35:18 +0900

    [ruby/prism] Warn for maximum number variables

    https://github.com/ruby/prism/commit/2cdbf81c95

commit f0b5d0ad5460a9bba717ba08fe027a738b7201b2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 01:23:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-14 03:25:03 +0900

    [PRISM] Turn on more tests

commit fa009e392c1059c7bd56c8e69dccba17ad7cb353
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 02:49:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-14 03:24:53 +0900

    [PRISM] Static literal strings should be fstrings

commit e6a1baad48f437cee5b9a57c8cc13a8e0e98bc36
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 02:34:44 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-14 03:13:19 +0900

    [PRISM] Fix compiling duplicated keywords

commit a5ac27e9e9d704af16ca615ee7eeae38d54c11cf
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-14 02:06:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 02:35:31 +0900

    [ruby/prism] Turn on heredocs nested test for `Prism::Translation::Parser`

    This PR enables the heredocs_nested.txt that was previously skipped testing.

    https://github.com/ruby/prism/commit/9c54f7f10b

commit c17f33aa4240e38cefdb2af04a078409c2645a5a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 01:50:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 02:00:03 +0900

    [ruby/prism] Only use e suffix for floats if followed by +, -, or digit

    https://github.com/ruby/prism/commit/164de502c9

commit bf17093a425a95f046f895d91ba79b3d54add1f8
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-14 01:25:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 01:51:37 +0900

    [ruby/prism] Fix diagnostic incompatibility for `Prism::Translation::Parser`

    In the case of the `**` and `&` ambiguous prefixes, incompatibilities
    remained among https://github.com/ruby/prism/issues/2513.

    https://github.com/ruby/prism/commit/3b8b231aae

commit 207b00239297ce8284fec6ace4cac2cdf733d6a7
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-14 01:22:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-14 01:22:35 +0900

    YJIT: Fallback cfunc varg splat for ruby2_keywords (#10226)

commit c843afbf6f841bfb18afef3e7c87e48591fd4689
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-13 12:00:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 01:19:57 +0900

    Chomp last punctuations from descriptions for `-h`

    The following parts will not be shown for `-h` option.  And not to
    reach 80 columns.  Some terminal emulators (Windows command prompt at
    least) wrap the cursor to the next line when reaching the rightmost
    column, before exceeding.

commit a05dfbd405fda4acef8c56561ab15e41e56c6abd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 01:06:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-14 01:06:48 +0900

    [PRISM] Remove ssize_t definition from prism

commit 4dd9602c6f9e3e9512ff94dbcd5d14870c828ca8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 00:58:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 01:06:13 +0900

    [ruby/prism] Remove ssize_t usage

    https://github.com/ruby/prism/commit/64c4f1268b

commit 572e79156738c20e0c09fd70080d4410fd83dea4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 01:05:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 01:05:46 +0900

    [ruby/prism] FSL follow-up

    https://github.com/ruby/prism/commit/097fd2a54f

commit 53a77d9b90da7b49054ab88b057fdcc8ce82d608
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-03-12 20:17:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 01:03:24 +0900

    [ruby/prism] Change `frozen_string_literal` to be a tri-state

    An explicit `false` is not equivalent to the comment being missing,
    because the default can be switched with a runtime flag:

    ```bash
    $ ruby --enable-frozen-string-literal -e 'p "foo".frozen?'
    true
    ```

    https://github.com/ruby/prism/commit/4660f58775

commit 0f076fa520999a42d88a081d7674495db2f65b3f
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-14 00:37:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 01:02:10 +0900

    [ruby/prism] Fix an AST and token incompatibility for `Prism::Translation::Parser`

    This PR fixes an AST and token incompatibility between Parser gem and `Prism::Translation::Parser`
    for empty xstring literal.

    ## Parser gem (Expected)

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("/tmp/s.rb"); buf.source = "``"; p Parser::Ruby33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:xstr), [], [[:tXSTRING_BEG, ["`", #<Parser::Source::Range /tmp/s.rb 0...1>]],
    [:tSTRING_END, ["`", #<Parser::Source::Range /tmp/s.rb 1...2>]]]]
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the AST and tokens returned by the Parser gem were different:

    ```console
    $ bunele exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("/tmp/s.rb"); buf.source = "``"; p Prism::Translation::Parser33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:xstr, s(:str, "")), [], [[:tBACK_REF2, ["`", #<Parser::Source::Range /tmp/s.rb 0...1>]],
    [:tSTRING_END, ["`", #<Parser::Source::Range /tmp/s.rb 1...2>]]]]
    ```

    After this correction, the AST and tokens returned by the Parser gem are the same:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("/tmp/s.rb"); buf.source = "``"; p Prism::Translation::Parser33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:xstr), [], [[:tXSTRING_BEG, ["`", #<Parser::Source::Range /tmp/s.rb 0...1>]],
    [:tSTRING_END, ["`", #<Parser::Source::Range /tmp/s.rb 1...2>]]]]
    ```

    https://github.com/ruby/prism/commit/4ac89dcbb5

commit eb4082284aace391a16a389a70eeaf1e7db5c542
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-02-09 02:53:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 00:47:27 +0900

    [ruby/openssl] test_provider.rb: Make a legacy provider test optional.

    In some cases such as OpenSSL package in FreeBSD[1], the legacy provider is not
    installed intentionally. So, we omit a test depending the legacy provider if the
    legacy provider is not loadable.

    For the test_openssl_provider_names test, we use base provider[2] instead of
    legacy provider, because we would expect the base provider is always loadable
    in OpenSSL 3 for now.

    * [1] https://www.freshports.org/security/openssl/
    * [2] https://wiki.openssl.org/index.php/OpenSSL_3.0#Providers

    https://github.com/ruby/openssl/commit/7223da7730

commit 171791426b748ec5109f579d8aaa9b450a6fd02a
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-02-21 18:37:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 00:47:26 +0900

    [ruby/openssl] Revert "omit tests related legacy provider"

    This reverts commit https://github.com/ruby/openssl/commit/9b7543d58869.

    The case not providing the legacy provider can happen not only in FreeBSD but
    also in other platforms. The fix is addressed in the next commit.

    https://github.com/ruby/openssl/commit/8c26fc26a1

commit dd5e625d7bcb7dc849fdbc2ad8053f9c2724efb4
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-03-12 22:39:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 00:19:40 +0900

    [ruby/openssl] test_asn1.rb: Remove the assertions of the time string format without second.

    This commit fixes the following errors in the tests.
    Because the OpenSSL project changed the code to make the time string format
    without second invalid. So, we drop the assertions.

    ```
    1) Error: test_generalizedtime(OpenSSL::TestASN1): OpenSSL::ASN1::ASN1Error: generalizedtime is too short
    /home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:698:in `decode'
    /home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:698:in `decode_test'
    /home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:433:in `test_generalizedtime'
         430:       OpenSSL::ASN1::GeneralizedTime.new(Time.utc(9999, 9, 8, 23, 43, 39))
         431:     # LibreSSL 3.6.0 requires the seconds element
         432:     return if libressl?
      => 433:     decode_test B(%w{ 18 0D }) + "201612081934Z".b,
         434:       OpenSSL::ASN1::GeneralizedTime.new(Time.utc(2016, 12, 8, 19, 34, 0))
         435:     # not implemented
         436:     # decode_test B(%w{ 18 13 }) + "https://github.com/ruby/openssl/commit/201612081934+0930".b,

    2) Error: test_utctime(OpenSSL::TestASN1): OpenSSL::ASN1::ASN1Error: utctime is too short
    /home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:698:in `decode'
    /home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:698:in `decode_test'
    /home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:411:in `test_utctime'
         408:     end
         409:     # Seconds is omitted. LibreSSL 3.6.0 requires it
         410:     return if libressl?
      => 411:     decode_test B(%w{ 17 0B }) + "1609082343Z".b,
         412:       OpenSSL::ASN1::UTCTime.new(Time.utc(2016, 9, 8, 23, 43, 0))
         413:     # not implemented
         414:     # decode_test B(%w{ 17 11 }) + "https://github.com/ruby/openssl/commit/500908234339+0930".b,
    ```

    https://github.com/ruby/openssl/commit/2e826d5715

commit 22217e70c27dcd1a6d6dc75c78a3a2288dda8985
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 23:06:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-13 23:06:19 +0900

    [PRISM] Handle parentheses in patterns in prism

commit c6089b56547daa61e0d20763bae3066fe311e91b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-13 06:34:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-13 22:55:52 +0900

    Don't allow SHAPE_T_OBJECT in rb_shape_alloc_new_child

commit 88373fe2e85061f95532751bf311e33ab43cbcef
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-13 03:55:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-13 22:55:52 +0900

    Update cruby_bindings.inc.rs

commit 3896f9940e7f663dd4db8162c071d72e2539addf
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-13 03:34:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-13 22:55:52 +0900

    Make special const and too complex shapes before T_OBJECT shapes

commit 6b0434c0f721a62d617b26986565985598c7b8c9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-13 03:27:34 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-13 22:55:52 +0900

    Don't create per size pool shapes for non-T_OBJECT

commit 6ad347a1055902abfd5a7f5233dd8d18e1f1360b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-13 02:50:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-13 22:55:52 +0900

    Don't directly read the SIZE_POOL_COUNT in shapes

    This removes the assumption about SIZE_POOL_COUNT for shapes.

commit d1eaa97ec3cdbe38605379fc87a55987d6802dc7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 21:47:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 22:52:13 +0900

    [ruby/prism] Track parentheses in patterns

    https://github.com/ruby/prism/commit/62db99f156

commit 3f8ef7ff7c09e67a48eff33804060803b9f11119
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-13 19:13:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 22:20:23 +0900

    [ruby/stringio] Define `StringIO::MAX_LENGTH`

    https://github.com/ruby/stringio/commit/0205bd1c86

commit 2fc551e34e3d1310986e0e2727aadcd39ba06925
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-12 21:52:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-13 22:05:52 +0900

    Simplify NEWOBJ_OF macro

commit 5fa28ce015a595ba8042be58a951b2f2a83eef10
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-13 10:46:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 21:38:45 +0900

    [ruby/prism] Warn `&` interpreted as argument prefix

    This PR makes `Prism` warn `&` interpreted as argument prefix.
    This carries a similar meaning to the following Ruby warning:

    ```console
    $ ruby -cwe "foo &bar"
    -e:1: warning: `&' interpreted as argument prefix
    Syntax OK
    ```

    Previously, it did not issue a warning:

    ```console
    $ bundle exec ruby -rprism -ve "p Prism.parse('foo &bar').warnings"
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    []
    ```

    From now on, it will issue a warning similar to Ruby's:

    ```console
    $ bundle exec ruby -rprism -ve "p Prism.parse('foo &bar').warnings"
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseWarning @type=:ambiguous_prefix_amp @message="ambiguous `&` has been interpreted as an argument prefix"
    @location=#<Prism::Location @start_offset=4 @length=1 start_line=1> @level=:verbose>]
    ```

    https://github.com/ruby/prism/commit/312f99cd1e

commit 824e3e6c3d2a172a7dbffbff0b29c0e25e022e13
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-13 09:47:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 21:38:44 +0900

    [ruby/prism] Warn `**` interpreted as argument prefix

    This PR makes Prism warn `**` interpreted as argument prefix.
    This carries a similar meaning to the following Ruby warning:

    ```console
    $ ruby -cwe "foo **bar"
    -e:1: warning: `**' interpreted as argument prefix
    Syntax OK
    ```

    Previously, it did not issue a warning:

    ```console
    $ bundle exec ruby -rprism -ve "p Prism.parse('foo **bar').warnings"
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    []
    ```

    From now on, it will issue a warning similar to Ruby's:

    ```console
    $ bundle exec ruby -rprism -ve "p Prism.parse('foo **bar').warnings"
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseWarning @type=:ambiguous_prefix_star_star @message="ambiguous `**` has been interpreted as an argument prefix"
    @location=#<Prism::Location @start_offset=4 @length=2 start_line=1> @level=:verbose>]
    ```

    https://github.com/ruby/prism/commit/f6cb5c314c

commit 7eea268b70b0a401bc8b8094b4ecbaf34aac9fa8
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-13 02:40:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 20:34:17 +0900

    [ruby/prism] Fix an AST incompatibility for `Prism::Translation::Parser`

    Fixes ruby/prism#2480.

    This PR fixes an AST incompatibility between Parser gem and `Prism::Translation::Parser`
    for xstring literal with line breaks.

    The following case in ruby/prism#2480 has already been addressed in ruby/prism#2576:

    ```ruby
    "foo
    bar"
    ```

    https://github.com/ruby/prism/commit/cf85e72c55

commit a5c5f83b24a1b7024d4e7fe3bbce091634da53b2
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-01-16 17:33:16 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-13 17:39:09 +0900

    Make `const_source_location` return the real constant as soon as defined

    [Bug #20188]

    Ref: https://github.com/fxn/zeitwerk/issues/281#issuecomment-1893228355

    Previously, it would only return the real constant location once the
    autoload was fully completed.

commit 0b7487b44ecc0f95dcc8bfa0fdf7d5915dcc0f8f
  Author:     Charles Oliver Nutter <headius@headius.com>
  AuthorDate: 2024-03-13 13:46:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 13:46:54 +0900

    [ruby/stringio] Various cleanup for JRuby ext
    (https://github.com/ruby/stringio/pull/85)

    * Fix compile warnings on latest Java.
    * Adjust one test for JRuby erroring on bad pos= value.
    * Replace hard JVM synchronization with a spin lock.
    * Avoid duplicate reads of state fields where possible.
    * Remove long-deprecated codepoints, chars, bytes, lines methods.
    * Mark fcntl as not implemented
    * Split most of the remaining variable-arity methods.

    https://github.com/ruby/stringio/commit/31a9d42e6c

commit 7de60d6b89699143248874aa858168fb813c88c5
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-03-13 11:53:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-13 12:36:38 +0900

    Do not fail launchable verify command

commit dec2a8191c2e6e1fcc33343bf9a42ba7758f7087
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-13 11:28:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-13 11:28:50 +0900

    `--dump=prism_parsetree` is no longer provided

    Since it did not make sense without `--parser=prism` option, just a
    duplication.  Now it is `--parser=prism --dump=parsetree`.

commit a6582ac94aa9a885d348756115edc822438a6241
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 10:29:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 10:40:28 +0900

    [ruby/prism] Allow newline before block locals

    https://github.com/ruby/prism/commit/1d4df7d874

commit 248cf0e40a902d1f050c68f2ae4f5065db547cf8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 03:55:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 07:29:54 +0900

    [ruby/prism] Move index tracking into a call node flag

    https://github.com/ruby/prism/commit/2a2e216558

commit e914fa0d1025b840c80e7291d18a8c9cf204e91b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 03:46:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 07:29:54 +0900

    [ruby/prism] Add warning for chained comparisons

    https://github.com/ruby/prism/commit/f9f3620d44

commit 157733b1b744e416ea224064b015a0f09cd55658
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 03:20:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 07:29:53 +0900

    [ruby/prism] Add whitespace warnings

    https://github.com/ruby/prism/commit/01d137a0cb

commit 5c848505918b897b11a30a9456a5b5af79607d48
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 03:01:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 07:29:53 +0900

    [ruby/prism] Warnings for incorrect character literal syntax

    https://github.com/ruby/prism/commit/909508296e

commit 22708be0d71ab5ed5d28d7951fcf670da38c366f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-13 05:44:47 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-13 05:44:48 +0900

    Revisions for #10198

    This fixes some inconsistencies introduced by that PR.

commit 19da3b4ecfb81d937a1bf80e023ebe757111bcb7
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-03-13 04:14:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-13 04:14:56 +0900

    Revisions for help text (#10198)

commit 97b5f35ac4fe3f0d0a2665d8c90ef64feae02c70
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-13 03:06:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-13 03:06:06 +0900

    Do not fail CI when Launchable fails

    It seems to randomly fail:

    ```
    + launchable verify
    Organization: 'ruby'
    Workspace: 'ruby'
    Proxy: None
    Platform: 'macOS-12.7.3-x86_64-i386-64bit'
    Python version: '3.12.2'
    Java command: 'java'
    launchable version: '1.83.0'
    Authentication failed. Please set the LAUNCHABLE_TOKEN. If you intend to use tokenless authentication, kindly reach out to our support team for further assistance.
    ```

    https://github.com/ruby/ruby/actions/runs/8253299142/job/22574800261

    Such failures should not impact the CI result.

commit c3915a0741f3fc502df2bae48ef2d2029543c18c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-13 02:58:45 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-13 03:02:35 +0900

    Skip a flaky GC.compact test for YJIT

    This test has failed without YJIT too:
    https://rubyci.s3.amazonaws.com/debian11/ruby-master/log/20240301T063003Z.fail.html.gz

    However, it somehow fails more often on "YJIT Ubuntu / check RUSTC='rustc +1.58.0'" job.

    Nobody is actively looking into this issue, and it's most likely not a
    YJIT-specific issue, so let me silence this false positive until we
    start working on this.

commit a9eb0400c2cbec8283427d1974df5b37202de67f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-13 03:01:30 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-13 03:02:35 +0900

    Check what actually needs to be checked

    RubyVM::YJIT is conditionally defined, depending on --enable-yjit.
    However, RubyVM::YJIT.enabled? is always defined as long as RubyVM::YJIT
    is defined, so it seems weird to check RubyVM::YJIT.enabled? instead of
    RubyVM::YJIT.

commit 5d71880df63aad0bcb08844816698b7ce884b87b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-12 22:57:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-13 02:34:12 +0900

    Embed manifest with VS2013 or later

    Since VS2013, `link.exe` supports `-manifest:embed` option.
    [`/MANIFEST` (Create side-by-side assembly manifest)](https://learn.microsoft.com/en-us/cpp/build/reference/manifest-create-side-by-side-assembly-manifest?view=msvc-170&viewFallbackFrom=msvc-120)

commit f8cab4ef8e214dc05efe8a0d4178864bce3b790a
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-13 02:05:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 02:33:14 +0900

    [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser::Lexer`

    In practice, the `BACKTICK` is mapped either as `:tXSTRING_BEG` or `:tBACK_REF2`.
    The former is used in xstrings like `` `foo` ``, while the latter is utilized as
    a back reference in contexts like `` A::` ``.
    This PR will make corrections to differentiate the use of `BACKTICK`.

    This mistake was discovered through the investigation of xstring.txt file.
    The PR will run tests from xstring.txt file except for `` `f\oo` ``, which will still fail,
    hence it will be separated into xstring_with_backslash.txt file.
    This separation will facilitate addressing the correction at a different time.

    https://github.com/ruby/prism/commit/49ad8df40a

commit 83790e5fe1e254c315552a6927891ed697da590a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 00:42:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 02:32:06 +0900

    [ruby/prism] Consolidate warnings for conditional predicates

    * Also add warnings for literals in predicates
    * Also create flip-flops in while/until

    https://github.com/ruby/prism/commit/a6b5c523c2

commit a17a33b38e994564268d0fc0642cd8b569dd65ce
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-13 00:25:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 02:20:41 +0900

    [ruby/prism] Follow ruby/prism#2581

    Due to ruby/prism#2581, the test case for non_alphanumeric_methods.txt has also been restored.
    It also solved issues with `def self.`' not limited to constants for `tBACK_REF2` token.

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "def self.`; end"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [[:kDEF, ["def", #<Parser::Source::Range example.rb 0...3>]], [:kSELF, ["self", #<Parser::Source::Range example.rb 4...8>]],
    [:tDOT, [".", #<Parser::Source::Range example.rb 8...9>]], [:tBACK_REF2, ["`", #<Parser::Source::Range example.rb 9...10>]],
    [:tSEMI, [";", #<Parser::Source::Range example.rb 10...11>]], [:kEND, ["end", #<Parser::Source::Range example.rb 12...15>]]]
    ```

    https://github.com/ruby/prism/commit/f814db8ada

commit 1e886c040aeb225978b139a5b31da178dadd799c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 00:26:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 00:32:25 +0900

    [ruby/prism] Fix some whitequark/parser lexer compatibilities

    https://github.com/ruby/prism/commit/34e521d071

commit 149a449964d3a1f7498c185e85f8721b59225a7f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-12 23:58:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-13 00:28:28 +0900

    Remove unused function in parse.y

        parse.y:2624:1: warning: unused function 'rb_parser_ary_new'

commit c637f53edd0c3f285d29d8679903d3b8bfcfbe75
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-13 00:00:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 00:17:20 +0900

    [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser::Lexer`

    This PR fixes a token incompatibility between Parser gem and `Prism::Translation::Parser` for `tBACK_REF2`:

    ## Parser gem (Expected)

    Returns `tBACK_REF2` token:

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "A::`"; p Parser::Ruby33.new.tokenize(buf)[2]'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [[:tCONSTANT, ["A", #<Parser::Source::Range example.rb 0...1>]], [:tCOLON2, ["::", #<Parser::Source::Range example.rb 1...3>]],
    [:tBACK_REF2, ["`", #<Parser::Source::Range example.rb 3...4>]]]
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the parser returned `tXSTRING_BEG` token when parsing the following:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "A::`"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [[:tCONSTANT, ["A", #<Parser::Source::Range example.rb 0...1>]], [:tCOLON2, ["::", #<Parser::Source::Range example.rb 1...3>]],
    [:tXSTRING_BEG, ["`", #<Parser::Source::Range example.rb 3...4>]]]
    ```

    After the update, the parser now returns `tBACK_REF2` token for the same input:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "A::`"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [[:tCONSTANT, ["A", #<Parser::Source::Range example.rb 0...1>]], [:tCOLON2, ["::", #<Parser::Source::Range example.rb 1...3>]],
    [:tBACK_REF2, ["`", #<Parser::Source::Range example.rb 3...4>]]]
    ```

    This correction enables the restoration of `constants.txt` as a test case.

    https://github.com/ruby/prism/commit/7f63b28f98

commit a41649bff4611a6004471e89cac31e6535e2cff8
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-12 23:35:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 23:48:39 +0900

    [ruby/prism] Follow #2579

    Due to #2579, the test case for range_begin_open_inclusive.txt has also been restored.

    https://github.com/ruby/prism/commit/da173526a1

commit 1ed6b7b40d7d1f459e37160a7bcd1e79420229c9
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-12 20:57:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 23:15:52 +0900

    [ruby/prism] Restore some skipped heredoc tests for `Prism::Translation::Parser`

    This PR restores some heredoc tests that have already passed
    for `Prism::Translation::Parser`.

    https://github.com/ruby/prism/commit/297b9e2380

commit 72a57076e272e1c36304eb5fe1a54091a2136cd7
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-12 23:02:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 23:15:34 +0900

    [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser::Lexer`

    This PR fixes a token incompatibility between Parser gem and `Prism::Translation::Parser` for
    beginless range:

    ## Parser gem (Expected)

    Returns `tBDOT2` token:

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "..42"; p Parser::Ruby33.new.tokenize(buf)[2]'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [[:tBDOT2, ["..", #<Parser::Source::Range example.rb 0...2>]], [:tINTEGER, [42, #<Parser::Source::Range example.rb 2...4>]]]
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the parser returned `tDOT2` token when parsing the following:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "..42"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [[:tDOT2, ["..", #<Parser::Source::Range example.rb 0...2>]], [:tINTEGER, [42, #<Parser::Source::Range example.rb 2...4>]]]
    ```

    After the update, the parser now returns `tBDOT2` token for the same input:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "..42"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [[:tBDOT2, ["..", #<Parser::Source::Range example.rb 0...2>]], [:tINTEGER, [42, #<Parser::Source::Range example.rb 2...4>]]]
    ```

    This correction enables the restoration of `endless_range_in_conditional.txt` as a test case.

    https://github.com/ruby/prism/commit/f624b99ab0

commit 1e7ee871cbf10375ca149a32d71a29e5e60eed6c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-08 06:47:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-12 22:43:49 +0900

    Disregard si_addr for fatal signals sent from other processes

    Previously, when another process sends a fatal signals such as SIGBUS
    to Ruby, we could mis-interpret it as a stack overflow Ruby itself
    generated. When the si_pid field is set on the signal, we shouldn't
    check the si_addr field to check for stack overflow.

    > Signals sent with kill(2) and sigqueue(3) fill in si_pid and si_uid.

    Co-authored-by: Alan Wu <alanwu@ruby-lang.org>

commit ad2aa6d72703f4ec9f7a1769cc3c51b1fc9f7586
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-12 20:03:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-12 20:03:05 +0900

    Use `assert_crash_report` in `test_crash_report_pipe`

    Instead of using `assert_in_out_err` directly.

commit 2af6bc26c593951fc591a9d77461d092fab728d8
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-02 00:43:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 19:45:56 +0900

    [ruby/prism] Fix an AST and token incompatibility for `Prism::Translation::Parser`

    Fixes https://github.com/ruby/prism/pull/2515.

    This PR fixes an AST and token incompatibility between Parser gem and `Prism::Translation::Parser`
    for string literal with line breaks.

    https://github.com/ruby/prism/commit/c58466e5bf

commit 76bd586330d98b8a0023ff35c7fa6014ba3a4715
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-12 18:46:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-12 18:46:04 +0900

    [Bug #20277] Remove stale `String` test conditionals

    These instance variables for conditional execution have remained
    unchanged for nearly twenty years, since YARV merger.

commit 9a19cfd4cd1a16528cc997e3a510c3046b83cdec
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-02-16 17:45:22 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-03-12 17:17:52 +0900

    [Universal Parser] Reduce dependence on RArray in parse.y

    - Introduce `rb_parser_ary_t` structure to partly eliminate RArray from parse.y
      - In this patch, `parser_params->tokens` and `parser_params->ast->node_buffer->tokens` are now `rb_parser_ary_t *`
      - Instead, `ast_node_all_tokens()` internally creates a Ruby Array object from the `rb_parser_ary_t`
      - Also, delete `rb_ast_tokens()` and `rb_ast_set_tokens()` in node.c

    - Implement `rb_parser_str_escape()`
      - This is a port of the `rb_str_escape()` function in string.c
      - `rb_parser_str_escape()` does not depend on `VALUE` (RString)
      - Instead, it uses `rb_parser_stirng_t *`
      - This function works when --dump=y option passed

    - Because WIP of the universal parser, similar functions like `rb_parser_tokens_free()` exist in both node.c and parse.y. Refactoring them may be needed in some way in the future

    - Although we considered redesigning the structure: `ast->node_buffer->tokens` into `ast->tokens`, we leave it as it is because `rb_ast_t` is an imemo. (We will address it in the future)

commit f42164e03700469a7000b4f00148a8ca01d75044
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-12 14:49:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-12 14:49:25 +0900

    Define `ssize_t` on mswin build

commit 21ea290b34e310371b5a8c2569c161a67467981c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-12 01:13:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 12:30:50 +0900

    [ruby/prism] Static literals inspect

    https://github.com/ruby/prism/commit/4913d112da

commit cb4bc4d03ca41bf367d1fe1ae47865a8b80092ed
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-03-11 15:30:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-12 11:00:25 +0900

    Pass TESTS environment variable

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 4c0c29e2846c3d52e6e396111dd978d262333874
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-03-11 14:30:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-12 11:00:25 +0900

    Expand Launchable into yjit-macos and yjit-ubuntu

commit 2c349cf4b6e4dc72a54544a3b3b9e29ca397bf0f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-12 04:13:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-12 08:30:09 +0900

    Use NEWOBJ_OF_ec in NEWOBJ_OF_0

commit 132df4d1d48d91ad35a358e4085fa00f4092f8f5
  Author:     matthew healy <matthew-healy@users.noreply.github.com>
  AuthorDate: 2024-03-12 04:46:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 04:46:29 +0900

    [ruby/prism] Document `InstanceVariableWriteNode` fields
    (https://github.com/ruby/prism/pull/2161)

    * Document InstanceVariableWriteNode fields

    * Reference lexing docs in name field documentation

    * Update config.yml

    ---------

    https://github.com/ruby/prism/commit/015b3a857e

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit e407e3f497eaefb15311833c274b83ded5d17e21
  Author:     matthew healy <matthew-healy@users.noreply.github.com>
  AuthorDate: 2024-03-12 04:45:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 04:45:58 +0900

    [ruby/prism] Document `ClassVariableWriteNode` fields
    (https://github.com/ruby/prism/pull/2162)

    * Make ClassVariableWriteNode operator_loc non-nullable

    * Document ClassVariableWriteNode fields

    * Update config.yml

    ---------

    https://github.com/ruby/prism/commit/659b133888

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit a6dac9bb4f05530aec8c3f117d2cbe38bade99f2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-12 00:05:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-12 01:51:32 +0900

    [PRISM] Parse stdin on CLI with prism

commit 6242a82c8f4cc6b68ba16d86aa22fd770e8ad195
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-12 00:12:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 00:12:14 +0900

    [ruby/prism] Provide more documentation for pm_integer_parse_digit_values

    https://github.com/ruby/prism/commit/c3fcb5031f

commit 2dfa95a27207e58e06ffa88b7c99bf3af95c6c46
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-12 00:11:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 00:11:42 +0900

    [ruby/prism] Stop crashing on invalid integers

    https://github.com/ruby/prism/commit/afac2d6646

commit e12bc5c5725b13766e7739796507bdb8c9c0d250
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-02 04:35:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-12 00:04:20 +0900

    Remove dead function rb_obj_rgengc_promoted_p

commit 2ab75bc44486b3afcd7ccb060120e12c2fa17217
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-11 23:09:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-11 23:49:23 +0900

    [ruby/prism] Support offset

    https://github.com/ruby/prism/commit/665f533373

commit a295eeba9d013ab3863a3e5e339e170332e9be9f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-11 23:41:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-11 23:41:42 +0900

    Pass `RUN_OPTS` in YJIT macos test (#10214)

    `RUN_OPTS` environment variable is set but not passed to the test
    task, unlike yjit-ubuntu.yml.

commit 9f31577987f0f83581a8283c3fc677fae225ee4f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-02 06:45:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-11 22:30:15 +0900

    Reuse rb_gc_writebarrier_unprotect in rb_copy_wb_protected_attribute

commit 08961ce8e31487b31d19d4f66c6ef1aba5c7cd30
  Author:     Hartley McGuire <skipkayhil@gmail.com>
  AuthorDate: 2024-03-07 10:22:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-11 20:00:51 +0900

    [ruby/rdoc] Allow rich definition list labels for Markdown

    Previously, any sort of "rich" markup for a definition list's label
    would cause the Markdown parser to not recognize a definition list:

    ```ruby
    md = <<~md
    `one`
    :    This is a definition
    md

    doc = RDoc::Markdown.parse(md)
    doc # => [doc: [para: "<code>one</code>\n: This is a definition"]]
    ```

    This commit tweaks the grammar for Markdown definition lists so that
    labels can include "rich" markup such as bold (`**`), code (```), etc:

    ```ruby
    md = <<~md
    `one`
    :    This is a definition
    md

    doc = RDoc::Markdown.parse(md)
    doc # => [doc: [list: NOTE [item: ["<code>one</code>"]; [para: "This is a definition"]]]]
    ```

    The [PHP Markdown Extra][1] Spec does not seem to specify whether or not
    this should be allowed, but it is allowed in the RDoc format:

    ```ruby
    rdoc = <<~rdoc
    +code+::
        This is a definition
    rdoc

    doc = RDoc::Markup.parse(rdoc)
    doc # => [doc: [list: NOTE [item: ["+code+"]; [para: "This is a definition"]]]]
    ```

    so accepting this change increases the parity of the two formats.

    [1]: https://michelf.ca/projects/php-markdown/extra/#def-list

    https://github.com/ruby/rdoc/commit/8f943bbba4

commit 7a398adc2f7c9a912c542d19169b73aed4a544d0
  Author:     Andrea Brancaleoni <miwaxe@gmail.com>
  AuthorDate: 2024-03-11 16:26:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-11 16:26:14 +0900

    [DOC] security.rdoc: fix YAML security documentation

    Since https://github.com/ruby/ruby/commit/fbb4e3f96c10de2240f2d87eac19cf6f62f65fea
    `YAML` does not unmarshal arbitrary ruby objects.

commit 5c32b31aeeaa253f87dabd2c777d457787ab8fc0
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-03-11 14:03:06 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-11 14:03:06 +0900

    Bundle unmerged rbs for testing (#10211)

commit 2552984a86d3c5274154826f239a583b20b166ca
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-11 12:29:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-11 12:29:13 +0900

    Skip documentation changes

    Many contributors just include the word `documentation` in titles, but
    not utilize `[DOC]` tag or `Documentation` label.

commit d0be77fb2df8a5a472a3dafee77f2b448cc064a6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-11 01:04:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-11 01:24:46 +0900

    Pre-build commands to clean

commit 9f60fd9d893a8440edc8cffc3662f9087ecfbf8a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-08 22:21:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-11 00:46:15 +0900

    Ignore failures on removing ext sub directories

    When multiple libraries exist in a subdirectory under `ext`, `rmdir
    -p` may fail, because other directories have not been removed yet or
    the parent directory has been removed by other `distclean`.  `rmdir`
    in GNU coreutils has `--ignore-fail-on-non-empty` option for the
    former case but others may not, and the latter race condition is not
    avoidable anyway.

commit 51f4f1414f3648637271612aff0ffb51dd95f699
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-08 19:34:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-11 00:46:15 +0900

    Clean up the build directory if `clean` is set to true

commit 22459a8f6da6a52553373201934fc7e6bcba88e7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-08 19:34:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-11 00:08:32 +0900

    Clean up dummy files

commit fb00d002e669373e17b974cf66b1e839d19c93f5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-08 19:31:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-10 22:18:03 +0900

    Clean up ext/Setup file

commit 0fb39ab1b9a6df8e668196c721440556938a7641
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-09 01:44:54 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-10 22:12:00 +0900

    Clean intermediate files and debug info for each target

    By replacing `ALLOBJS` suffix with intermediate file suffixes instead
    of roughly removing by wildcards.  Made `cleanlibs` append `.dSYM`
    suffix for each word in `TARGET_SO`, not the end of the entire list.

commit 8e3cb69a83fea488d7fa279a872fba73326d2ed2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-10 21:32:50 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-10 21:32:50 +0900

    Report to Launchable at post-run

    Instead of separate two actions, register the post run at setup.

    Co-authored-by: Naoto Ono <onoto1998@gmail.com>

commit 2976d91aff4b6dd47d24df92ace6758593b00a3f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-09 19:34:36 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-09 19:34:36 +0900

    Include default gems directories in installed list

commit e9f77da54e777129f294afa0923027aa6bf653b8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-09 19:17:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-09 19:17:38 +0900

    Reorder and move `install?` blocks after method definitions

commit 6bfb6e604549401d7b61bb0edd63ce557dff3acb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-09 18:45:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-09 18:45:00 +0900

    Merged intermediate class `GemInstaller` to `UnpackedInstaller`

commit ced648f96f4003e915a309a945d1b2ea47454ef9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-09 18:04:42 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-09 18:04:42 +0900

    Shorten too long message at uninstalling

commit a69910211b161487b6d240e9d068aa19644214db
  Author:     Petrik de Heus <petrik@deheus.net>
  AuthorDate: 2024-03-09 14:46:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 14:46:49 +0900

    [ruby/rdoc] [DOC] Improve documentation of include directive file search

    Searching the file in the "current directory" could be read as the
    directory from which RDoc is run. This is incorrect, as the file is
    first searched in the directory containing the current documented file.

    Also this directory is searched before the `--include` directories.

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

commit 5ac6194c2b13856edd7e7bcaaa69a15519fd993e
  Author:     Hartley McGuire <skipkayhil@gmail.com>
  AuthorDate: 2024-03-06 10:13:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 12:50:09 +0900

    [ruby/rdoc] Fix ToRdoc generating incorrect {label,name}-lists

    Previously, trying to round-trip label-list and name-lists with the
    ToRdoc converter was not possible:

    ```ruby
    doc = <<~RDOC
    foo ::
    bar ::
      hi
    RDOC

    markup = RDoc::Markup.parse(doc)
    markup # => [doc: [list: NOTE [item: ["foo ", "bar"]; [para: "hi"]]]]

    rt = RDoc::Markup::ToRdoc.new.convert(markup)
    rt # => "foo\nbar:\n  hi\n\n"

    rt_markup = RDoc::Markup.parse(rt)
    rt_markup # => [doc: [para: "foo ", "bar:"], [verb: "hi\n"]]
    ```

    This commit addresses the issue by fixing ToRdoc to generate output that
    can be properly reparsed by RDoc. ToRdoc tests additionally needed to be
    updated for the new output.

    The old implementation of `accept_list_item_start` was copied to ToBs
    because those tests did not pass with the new changes and I am
    unfamiliar with the `backspace` format.

    After:

    ```ruby
    doc = <<~RDOC
    foo ::
    bar ::
      hi
    RDOC

    markup = RDoc::Markup.parse(doc)
    markup # => [doc: [list: NOTE [item: ["foo ", "bar"]; [para: "hi"]]]]

    rt = RDoc::Markup::ToRdoc.new.convert(markup)
    rt # => "foo::\nbar::\n  hi\n\n"

    rt_markup = RDoc::Markup.parse(rt)
    rt_markup # => [doc: [list: NOTE [item: ["foo", "bar"]; [para: "hi"], blankline]]]
    ```

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

commit 35c20cda7008cc6433ae2e1802c6e3d8f1d40d73
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-09 04:05:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 04:18:42 +0900

    [ruby/prism] Simplify the regular expression ASCII-only check

    https://github.com/ruby/prism/commit/b7851f4c2d

commit cfcbbbd87c16e9501eebbfb2bd2d714e3c90596c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-09 03:49:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 04:18:42 +0900

    [ruby/prism] Simplify the ASCII-only check in regexp

    https://github.com/ruby/prism/commit/b0935be727

commit dd24d88473d432f166894bd6d187a6db2c27bfc5
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-08 00:22:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 04:07:53 +0900

    [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser`

    Fixes https://github.com/ruby/prism/pull/2512.

    This PR fixes a token incompatibility between Parser gem and `Prism::Translation::Parser`
    for `HEREDOC_END` with a newline.

    https://github.com/ruby/prism/commit/b67d1e0c6f

commit 609bbad15da6fe91904bdcd139f9e24e3cf61d4b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-09 00:12:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 03:48:55 +0900

    [ruby/prism] Fix up regexp memory leaks

    https://github.com/ruby/prism/commit/4dc58a533a

commit a564f30fb8a16d7d32803eb11630ef8d6d762c53
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-08 09:14:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 03:48:55 +0900

    [ruby/prism] Extract out pm_regexp_token_buffer_t

    https://github.com/ruby/prism/commit/7bbe4224a3

commit 4e1d19c4579f67c66b2ce4f6cc816b53294306cb
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-02-16 11:27:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 03:48:54 +0900

    [ruby/prism] Add initial implementation of `Regexp` validation.

    https://github.com/ruby/prism/commit/6bf1b8edf0

commit d473256abe51dee41ae5b3c877c5773a9b65ee86
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-02-13 15:25:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 03:48:54 +0900

    [ruby/prism] Extract a magic value to a named constant.

    https://github.com/ruby/prism/commit/54d14a35a9

commit 82fb6a90d5cf5081df11ebed6cfc623159f72676
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-02-09 06:27:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 03:48:53 +0900

    [ruby/prism] Track both the unescaped bytes and source string for a regular expression so we can accurately set its encoding flags.

    https://github.com/ruby/prism/commit/dc6dd3a926

commit 2d80b6093f3b0c21c89db72eebacfef4a535b149
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-07 06:43:00 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-08 22:13:14 +0900

    Retire RUBY_MARK_UNLESS_NULL

    Marking `Qnil` or `Qfalse` works fine, having
    an extra macro to avoid it isn't needed.

commit af8a4205bfaebac3be8ad260ca5d044052384f4d
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-08 18:11:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-08 21:33:02 +0900

    Fix an error for `Prism::Translation::Parser::Lexer`

    This PR fixes the following error for `Prism::Translation::Parser::Lexer` on the main branch:

    ```console
    $ cat example.rb
    'a' # aあ
    "
    #{x}
    "

    $ bundle exec rubocop
    Parser::Source::Range: end_pos must not be less than begin_pos
    /Users/koic/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/parser-3.3.0.5/lib/parser/source/range.rb:39:in `initialize'
    /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser/lexer.rb:299:in `new'
    /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser/lexer.rb:299:in `block in to_a'
    /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser/lexer.rb:297:in `map'
    /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser/lexer.rb:297:in `to_a'
    /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:263:in `build_tokens'
    /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:92:in `tokenize'
    ```

    This change was made in https://github.com/ruby/prism/pull/2557, and it seems there was
    an inconsistency in Range due to forgetting to apply `offset_cache` to `start_offset`.

commit 4756eaf5aae46f9fcba7079d891d7a5c59df3cd4
  Author:     Hartley McGuire <skipkayhil@gmail.com>
  AuthorDate: 2024-03-07 09:09:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-08 19:13:04 +0900

    [ruby/rdoc] Fix ToMarkdown missing newlines for label-lists

    Previously, using ToMarkdown on a label-list would generate output that
    could not be reparsed by the RDoc::Markdown parser:

    ```
    md = <<~MD
    apple
    : a red fruit

    banana
    : a yellow fruit
    MD

    doc = RDoc::Markdown.parse(md)
    doc # => [doc: [list: NOTE [item: ["apple"]; [para: "a red fruit"]], [item: ["banana"]; [para: "a yellow fruit"]]]]

    new_md = doc.accept(RDoc::Markup::ToMarkdown.new)
    new_md # => "apple\n:   a red fruit\nbanana\n:   a yellow fruit\n\n"

    new_doc = RDoc::Markdown.parse(new_md)
    new_doc # => [doc: [list: NOTE [item: ["apple"]; [para: "a red fruit\nbanana\n: a yellow fruit"]]]]
    ```

    The issue is that the [PHP Markdown Extra spec][1] requires a newline
    after each definition list item, but ToMarkdown was not putting newlines
    between label-list items.

    This commit fixes the issue by properly appending a newline after each
    label-list item so that the output of ToMarkdown can be reparsed by
    RDoc::Markdown:

    ```
    md = <<~MD
    apple
    : a red fruit

    banana
    : a yellow fruit
    MD

    doc = RDoc::Markdown.parse(mdoc)
    doc # => [doc: [list: NOTE [item: ["apple"]; [para: "a red fruit"]], [item: ["banana"]; [para: "a yellow fruit"]]]]

    new_md = doc.accept(RDoc::Markup::ToMarkdown.new)
    new_md # => "apple\n:   a red fruit\n\nbanana\n:   a yellow fruit\n\n"

    new_doc = RDoc::Markdown.parse(new_md)
    new_doc # => [doc: [list: NOTE [item: ["apple"]; [para: "a red fruit"]], [item: ["banana"]; [para: "a yellow fruit"]]]]
    ```

    [1]: https://michelf.ca/projects/php-markdown/extra/#def-list

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

commit e8f796e954a7007620825f8d15796e458d1493bb
  Author:     alpaca-tc <alpaca-tc@alpaca.tc>
  AuthorDate: 2024-03-08 18:23:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-08 18:23:40 +0900

    [ruby/irb] rdoc version lock is required
    (https://github.com/ruby/irb/pull/897)

    Some features of irb do not work properly when using the old rdoc.
    I have compared several major versions and found that it works as intended from 4.0.0.

    This problem occurs when there is a Gemfile.lock is installed with the old rdoc.
    I don't know why this Gemfile.lock installs an older rdoc than the ruby bundled rdoc,
    but specifying the version in the gemspec will at least prevent the problem.

    NOTE: ruby/irb#704 problem does not occur with this change.

    The following is test code.

    ```
     ### Usage: ruby __FILE__.rb
     # # input RDoc and Tab
     # >> RDoc<Tab>
     #
     ### Expect: Display document of RDoc
     ### Actual: <internal:marshal>:34:in `load': instance of RDoc::Constant needs to have method `marshal_load' (TypeError)
    require "bundler/inline"

    gemfile(true) do
      source "https://rubygems.org"

      git_source(:github) { |repo| "https://github.com/#{repo}.git" }
      gem 'irb'
      # gem 'rdoc', '~> 4.0.0'
      gem 'rdoc', '~> 3.12.0'
    end

    require 'rdoc'
    require 'irb'

    IRB.start
    ```

    https://github.com/ruby/irb/commit/1a1fbba020

commit 69cfcd46c20a1b89254327cd0227ae8cc0d0d850
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-08 11:58:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-08 11:58:41 +0900

    Remove duplicate dependency line

commit 52a2bc4a3436c15cb6c5f0bdab754c1efc51c7dc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-08 08:59:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-08 10:15:56 +0900

    Try to run CI with Ubuntu 22.04

commit 7e1183200a8201e6f76139b55b11bb8aee9868ce
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-08 06:40:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-08 08:13:41 +0900

    [ruby/prism] Fix up test suite

    https://github.com/ruby/prism/commit/2929c35630

commit 811296b4afd0b5a65f30dbf572413c5be407b4c4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-08 06:11:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-08 08:02:33 +0900

    [PRISM] Use new integer logic

commit f5294ebbdb706fc3344ea5ef4d9c759775002582
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-08 03:53:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-08 08:02:33 +0900

    [ruby/prism] Shared integer parsing logic

    https://github.com/ruby/prism/commit/a2594a23c1

commit c1462250b86519f48a03a2de98bb5222bb0ef169
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-08 01:02:00 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-08 08:02:33 +0900

    [ruby/prism] Style and allocation functions

    https://github.com/ruby/prism/commit/97f838c323

commit 81f02eb6ba6104899035378f1f93b11448d44505
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-29 01:36:14 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-08 08:02:33 +0900

    [ruby/prism] Change pm_integer_t structure

    https://github.com/ruby/prism/commit/588acf823f

commit 5113d6b0591fe2c80cace33654e9088d1330277c
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-26 22:05:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-08 08:02:33 +0900

    [ruby/prism] Faster pm_integer_parse pm_integer_string using karatsuba algorithm

    https://github.com/ruby/prism/commit/ae4fb6b988

commit 4186609d8871fb99eefa871c258658c86600ae3c
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-26 20:43:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-08 08:02:33 +0900

    [ruby/prism] Add bignum parse test

    https://github.com/ruby/prism/commit/503a0ea6cd

commit 05526a444c28c4efcf6d846d13da17d990848abd
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-25 00:35:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-08 08:02:33 +0900

    [ruby/prism] Make pm_integer -> Integer faster

    https://github.com/ruby/prism/commit/47601e7928

commit 977012bae8100524a691f5850a462728b20e219d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-08 06:23:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-08 06:23:18 +0900

    [ruby/prism] Remove restrict to fix windows 2015

    https://github.com/ruby/prism/commit/f0a2ce1c0e

commit ec159fc8ba17cb70e34a5b62c1ef804e393b7b2f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-08 05:24:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-08 05:40:39 +0900

    [ruby/prism] Support parsing streams

    https://github.com/ruby/prism/commit/efdc2b7222

commit 76e11595e28e258f4a4187a6d3eaccc9ca752e10
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-08 04:45:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-08 05:25:24 +0900

    [ruby/prism] Fix up tilde heredoc line continuations

    https://github.com/ruby/prism/commit/15e74b2f65

commit 18ee7c9a108bf3424814565377c8796e5e455cf7
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-02-20 11:53:13 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-03-08 03:06:48 +0900

    Clear all refined CCs on reopening refinement mod

    In cfd7729ce7a31c8b6ec5dd0e99c67b2932de4732 we started using inline
    caches for refinements. However, we weren't clearing inline caches when
    defined on a reopened refinement module.

    Fixes [Bug #20246]

commit 4a4e5dd9c97f46ad3e5f463129d5340647702368
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-08 01:10:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-08 01:10:32 +0900

    Setup ruby before setup directories

    When `makeup: true`, setup/directories also prepare auto generated
    source files, and requires baseruby.

commit 0e4bfd08e548e90faf5d91bddccf418dc9a62a42
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-03 21:25:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 23:05:20 +0900

    [ruby/prism] Fix an AST and token incompatibility for `Prism::Translation::Parser`

    Fixes https://github.com/ruby/prism/pull/2506.

    This PR fixes an AST and token incompatibility between Parser gem and `Prism::Translation::Parser`
    for symbols quoted with line breaks.

    https://github.com/ruby/prism/commit/06ab4df8cd

commit d3279a0c11ca45ca85027e7eb74dc4aac52c478b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-07 13:08:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-07 13:08:37 +0900

    [Bug #20327] Do not count subsecond to calculate UTC offset

    Assume that there will never be any time zones with UTC offsets that
    are subseconds.  Historically, UTC offset has only been used down to
    the second.

commit e13fd48f55030cae8128efde3d49e23244b1823a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 06:43:41 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-07 11:42:54 +0900

    [PRISM] Update dependencies for prism diagnostics

commit 5141643a27bd1f2ad874a2dbf95f9457966962a5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 06:49:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-07 11:42:54 +0900

    [ruby/prism] Fix rebase templates

    https://github.com/ruby/prism/commit/31b8c6142f

commit d266b714672734a9604f19c55d291d12c20718a3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 04:49:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-07 11:42:54 +0900

    [ruby/prism] Use the diagnostic types in the parser translation layer

    https://github.com/ruby/prism/commit/1a8a0063dc

commit 48ca2ce5fc6a7ed8f8fd0e5ead40c160369e2a4c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 03:55:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-07 11:42:54 +0900

    [ruby/prism] Dispatch on_tlambda and on_tlambeg

    https://github.com/ruby/prism/commit/1ca58e0121

commit 56026edabaec6002069084bc41fa89fa1b0b1d96
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 03:50:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-07 11:42:54 +0900

    [ruby/prism] Use the diagnostic types in the ripper translation layer

    https://github.com/ruby/prism/commit/a7ab3a41c8

commit 38c2774420674fd1c6ef1f12dc641f5cfc6140aa
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 03:18:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-07 11:42:54 +0900

    [ruby/prism] Expose types on diagnostics

    https://github.com/ruby/prism/commit/a735c2262f

commit 9fcb2bd5c0ddf5356287d23f7c33b89616f909f2
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-03-07 11:14:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 11:14:44 +0900

    [ruby/irb] Bump version to v1.12.0
    (https://github.com/ruby/irb/pull/895)

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

commit 2bc4575ac02222e3029467de3cc7a337544583ae
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-07 09:35:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-07 10:05:53 +0900

    Removed unused fixtures at time examples

commit cc757f4a61ee0e8c42d17cc674e4ac593495d7b6
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-03-07 06:13:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-07 06:42:29 +0900

    Add 'In brief' for Array#[]

commit 06fca8dbcae62b673279f0088ae8d327df28904a
  Author:     Ufuk Kayserilioglu <ufuk.kayserilioglu@shopify.com>
  AuthorDate: 2024-03-07 05:17:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:55 +0900

    [ruby/prism] Fix parsing errors for `:!@` and `:~@` in Sorbet

    https://github.com/ruby/prism/commit/dc070b44bc

commit de411ef0b611b171b4055a5f469637fdb77487a6
  Author:     Ufuk Kayserilioglu <ufuk.kayserilioglu@shopify.com>
  AuthorDate: 2024-03-07 04:52:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:54 +0900

    [ruby/prism] Small changes to make type-checking pass

    https://github.com/ruby/prism/commit/5b2970e75b

commit 8d191a9f57fa6ff86f63c98e99be68ed86f3052c
  Author:     Ufuk Kayserilioglu <ufuk.kayserilioglu@shopify.com>
  AuthorDate: 2024-03-07 04:36:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:53 +0900

    [ruby/prism] Move polyfill to separate file to type-check it independently.

    https://github.com/ruby/prism/commit/2a583b041b

commit 3ad17b3beceb143a3e9fd5374c2e2532f42bf566
  Author:     Ufuk Kayserilioglu <ufuk.kayserilioglu@shopify.com>
  AuthorDate: 2024-03-07 04:36:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:53 +0900

    [ruby/prism] `Prism::Compiler` should be a subclass of `Prism::Visitor`

    https://github.com/ruby/prism/commit/a01d6a4e32

commit 8dfe0c7c28fcaff1d52ab7f2751188f2e89b2347
  Author:     Ufuk Kayserilioglu <ufuk.kayserilioglu@shopify.com>
  AuthorDate: 2024-03-07 04:34:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:52 +0900

    [ruby/prism] Fix some type-checking errors by using different method calls

    For example, use `.fetch` or `.dig` instead of `[]`, and use `===` instead of `is_a?` for checking types of objects.

    https://github.com/ruby/prism/commit/548b54915f

commit ddc81ee3f996308482bc566c3048c5965f608ad0
  Author:     Ufuk Kayserilioglu <ufuk.kayserilioglu@shopify.com>
  AuthorDate: 2024-03-07 04:32:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:51 +0900

    [ruby/prism] Fix some missing methods/signatures in RBIs

    https://github.com/ruby/prism/commit/1d87b8c46c

commit 2e1d735dced20edc675654983ada09382f0d00f0
  Author:     Ufuk Kayserilioglu <ufuk.kayserilioglu@shopify.com>
  AuthorDate: 2024-03-07 04:18:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:49 +0900

    [ruby/prism] Move template related methods/classes under `Prism::Template` namespace

    https://github.com/ruby/prism/commit/0e4dbcd3e4

commit 4c64d2aeac6ee14d554e951783289835708cf0fc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 02:07:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:40 +0900

    [ruby/prism] Update ripper documentation

    https://github.com/ruby/prism/commit/34ba70c4f9

commit 4b5fc916172b167970e5af6cdec5d1541ca26b41
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 05:59:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:26 +0900

    [ruby/prism] Fix implicit local variables in hashes

    https://github.com/ruby/prism/commit/05e0c6792c

commit 38a4b5c1fad4790c8170112e9a97bf165b48cdbd
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-03-07 05:56:30 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-07 05:56:30 +0900

    YJIT: String#getbyte codegen (#10188)

    * WIP getbyte implementation

    * WIP String#getbyte implementation

    * Fix whitespace in stats.rs

    * fix?

    * Fix whitespace, add comment

    ---------

    Co-authored-by: Aaron Patterson <aaron.patterson@shopify.com>

commit d4f3dcf4dff80ded472ba3061e62c6c676ffab8c
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-03 18:46:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-07 05:33:43 +0900

    Refactor VM root modules

    This `st_table` is used to both mark and pin classes
    defined from the C API. But `vm->mark_object_ary` already
    does both much more efficiently.

    Currently a Ruby process starts with 252 rooted classes,
    which uses `7224B` in an `st_table` or `2016B` in an `RArray`.

    So a baseline of 5kB saved, but since `mark_object_ary` is
    preallocated with `1024` slots but only use `405` of them,
    it's a net `7kB` save.

    `vm->mark_object_ary` is also being refactored.

    Prior to this changes, `mark_object_ary` was a regular `RArray`, but
    since this allows for references to be moved, it was marked a second
    time from `rb_vm_mark()` to pin these objects.

    This has the detrimental effect of marking these references on every
    minors even though it's a mostly append only list.

    But using a custom TypedData we can save from having to mark
    all the references on minor GC runs.

    Addtionally, immediate values are now ignored and not appended
    to `vm->mark_object_ary` as it's just wasted space.

commit 16ec54ec4177f959b6912745460fd6a96d906d82
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-03-07 05:10:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-07 05:10:24 +0900

    [DOC] Ruby command-line options (#10138)

commit b4a69351ec7d6f0a5e34e3bb586053814be352c0
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-07 01:04:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-07 03:11:41 +0900

    Move FL_SINGLETON to FL_USER1

    This frees FL_USER0 on both T_MODULE and T_CLASS.

    Note: prior to this, FL_SINGLETON was never set on T_MODULE,
    so checking for `FL_SINGLETON` without first checking that
    `FL_TYPE` was `T_CLASS` was valid. That's no longer the case.

commit b88973165a9e970793eb187a4223d7521031ebc3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-02 04:45:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 02:45:56 +0900

    [ruby/prism] Parse files from Ruby API using fread, not mmap

    https://github.com/ruby/prism/commit/62d4376a53

commit 6ea01d204ec4cc100378caf7993f4c353a19152f
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-03-07 02:10:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-07 02:10:00 +0900

    Fix dump of hidden local variable indexes

    This fixes test failures when running tests with
    RUBY_ISEQ_DUMP_DEBUG=to_binary, which started after
    5899f6aa55a02f211545d9cdaef4d86fa0b49528 was committed.

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 532ddc1745a3a9aaee4a1bdf3b6c81e5a3df0c81
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 01:34:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:06 +0900

    [ruby/prism] Fix up linting in ripper translation

    https://github.com/ruby/prism/commit/5cf5f15ee7

commit 1966b5c8c607325bce251ceca016db720b643a10
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 00:43:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:05 +0900

    [ruby/prism] Only run ripper tests on 3.3+

    https://github.com/ruby/prism/commit/f8b973e8cd

commit bafe89735188d76af0565da16ae2972529ebb0c2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 00:31:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:05 +0900

    [ruby/prism] Emit bounds for heredocs and words_sep in ripper translation

    https://github.com/ruby/prism/commit/e23eae8266

commit 72f01bddb6b8f3a527c7e4435ded7bab545e62d3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 22:43:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:04 +0900

    [ruby/prism] Better factoring for heredocs in ripper translation

    https://github.com/ruby/prism/commit/5030917eb0

commit 630ee386184beb8dec086e612231a459a2f0e7a3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 22:24:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:04 +0900

    [ruby/prism] More closely mirror on_heredoc_dedent API for ripper translation

    https://github.com/ruby/prism/commit/97a031e1d3

commit ab31cfad26f1e553bc76e4a67b69db1bd050a001
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 22:14:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:04 +0900

    [ruby/prism] Stop relying on ripper entirely in ripper translation

    https://github.com/ruby/prism/commit/7f7840d318

commit f6d9057b31c5365ee2f2598a2f4871ad554f1713
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 21:45:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:03 +0900

    [ruby/prism] More closely match the ripper API for ripper translation

    https://github.com/ruby/prism/commit/716ee0e91a

commit 294fe8490b475febc2e562d12bf4441d1ac4659e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 21:04:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:03 +0900

    [ruby/prism] Simplify ripper tests in ripper translation

    https://github.com/ruby/prism/commit/a66d066162

commit 2574e783f4452a57ac03a1ca4a70ec49815f0774
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:48:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:03 +0900

    [ruby/prism] Stop looking at generated tree in ripper translation

    https://github.com/ruby/prism/commit/3f59d07388

commit 507ffc9686a2fbf796fb5401323f613ba373a3f6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:40:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:02 +0900

    [ruby/prism] Better handle splats in MRHS in rescues in ripper translation

    https://github.com/ruby/prism/commit/36a0b2e45a

commit 8528e765b7c62dc3e7f10f1a9df319bda37ac509
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:35:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:02 +0900

    [ruby/prism] Handle single splat in rescue in ripper translation

    https://github.com/ruby/prism/commit/76cf29e68d

commit d23ebdfa6d3061b50ae726e6f494b14bc6019f8d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:30:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:02 +0900

    [ruby/prism] Support elsif in ripper translation

    https://github.com/ruby/prism/commit/0c008fcf34

commit 06d36f7d6d3386aecaa0e971123ae1c24c438e6e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:28:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:01 +0900

    [ruby/prism] Correctly detect void stmts in classes and modules in ripper translation

    https://github.com/ruby/prism/commit/1729e8aec0

commit 8c04d7e33cdc7dd96561b4d0fe1b4d69b641552d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:18:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:01 +0900

    [ruby/prism] Handle empty programs in ripper translation

    https://github.com/ruby/prism/commit/b607e3a98d

commit fa1db73335b0e82db914528cba5360ea41ad3514
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:12:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:01 +0900

    [ruby/prism] Fix up blocks for index nodes in ripper translation

    https://github.com/ruby/prism/commit/a35eadce47

commit 554ad9dc1c46be7a7fa0429d18804c1e171daa33
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:08:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:00 +0900

    [ruby/prism] Allow rescue modifier after MRHS in ripper translation

    https://github.com/ruby/prism/commit/37db4d8c2d

commit 46e9f71a9194162d610e908b10afe3a1446d1490
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:01:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:00 +0900

    [ruby/prism] Handle empty parentheses in lambda in ripper translation

    https://github.com/ruby/prism/commit/e0a836ebc2

commit 059f28eaace11054b1d3dad6f77c99906537bf89
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:58:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:00 +0900

    [ruby/prism] Handle empty embedded expressions in ripper translation

    https://github.com/ruby/prism/commit/99eca8b1d2

commit 1dae34f1c6fce7d86ad047af2e121c32d1287887
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:55:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:59 +0900

    [ruby/prism] Implement string concat for ripper translation

    https://github.com/ruby/prism/commit/6019342278

commit 3c95848770573f6904a4983a5ff9e9bf530b864f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:49:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:59 +0900

    [ruby/prism] Share argument logic with calls and keywords in ripper translation

    https://github.com/ruby/prism/commit/240bb08c2c

commit f75aa767f75a0ed8c10af31d07f2db875d26d420
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:46:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:59 +0900

    [ruby/prism] Better handle splat in MRHS

    https://github.com/ruby/prism/commit/8331874218

commit cdb47b1b3a641cc86092c2a60070752e10e873e8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:41:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:58 +0900

    [ruby/prism] Handle numbered parameters in ripper translation

    https://github.com/ruby/prism/commit/cf21c08c0b

commit f96ce41ac88267a6dce2d13f6f0400f2265476a9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:38:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:58 +0900

    [ruby/prism] Disallow keywords as method names in ripper translation

    https://github.com/ruby/prism/commit/dc74428e2e

commit 14877e737bcf38477d783a7d5f0dda29becc0a5b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:34:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:58 +0900

    [ruby/prism] Split up multi target visits for methods in ripper translation

    https://github.com/ruby/prism/commit/4e7733491f

commit 9018e46cc274dfe8b3a4c4e58b35f1bb84a26460
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:12:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:57 +0900

    [ruby/prism] Better split between fcall and command for ripper translation

    https://github.com/ruby/prism/commit/972fe60aea

commit 409a49c832fce971cf506228b46d8ca1af35f81d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:08:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:57 +0900

    [ruby/prism] Handle trailing commas in method calls for ripper translation

    https://github.com/ruby/prism/commit/fe10b5f49f

commit dad21783ac1bb7de4138bc18f93507abc64b2a0b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:58:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:57 +0900

    [ruby/prism] Better handle hash pattern in ripper translation

    https://github.com/ruby/prism/commit/4639803277

commit 2a051b0140e538b20b38b2e23222de22dd588c05
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:49:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:57 +0900

    [ruby/prism] Share argument handling in super nodes in ripper translation

    https://github.com/ruby/prism/commit/f315bdb45d

commit 4304f5b6fb12a8888e7cd672105f564502f18c84
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:44:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:56 +0900

    [ruby/prism] Fix up method naming in ripper translation

    https://github.com/ruby/prism/commit/06a89c3540

commit d38894c156f65a1c31c9b73b9943edc0f7904f16
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:42:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:56 +0900

    [ruby/prism] Fix up symbols that look like cvar/ivar/gvar in ripper translation

    https://github.com/ruby/prism/commit/64e8190da0

commit 7d3f3ac983ef844b856c6c7071d7be235da0cf96
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:39:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:56 +0900

    [ruby/prism] Handle MRHS in ripper translation

    https://github.com/ruby/prism/commit/6088ca1152

commit ae3f385c5f0a3a9272f53cc64525c78f4a7ae410
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:29:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:55 +0900

    [ruby/prism] Fix up block arguments node for ripper translation

    https://github.com/ruby/prism/commit/81feef447a

commit be5d99f7a22b8917fbae080f7ceeae94206f765a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:21:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:55 +0900

    [ruby/prism] Fix up MLHS posts in ripper translation

    https://github.com/ruby/prism/commit/1f16df1f9e

commit 712e841a4e4c968ed9984323b059fe7b8f825cff
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:10:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:54 +0900

    [ruby/prism] Better void stmt detection for comments in ripper translation

    https://github.com/ruby/prism/commit/36bae94f06

commit c6299dda3dbe4dfb1caf78e1920c744dbcf334d5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:04:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:54 +0900

    [ruby/prism] Fix up begin node clause semicolon detection in ripper translation

    https://github.com/ruby/prism/commit/117c7418af

commit ff9df28955b519746762faed16fa8471ba85a0d7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:00:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:54 +0900

    [ruby/prism] Fix up case consequent in ripper translation

    https://github.com/ruby/prism/commit/9c298f294d

commit f4d1a36ab3e7adfedb9011c1ee1758f1f2e62620
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 12:49:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:53 +0900

    [ruby/prism] Fix up void stmt generation in ripper translation

    https://github.com/ruby/prism/commit/27a427bc22

commit 66356577d98b4e0f887d4593cdfaa135a83e972c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 12:36:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:53 +0900

    [ruby/prism] Consolidate symbol key handling in ripper translation

    https://github.com/ruby/prism/commit/f4f7f8fc87

commit 6361e37f3f69343450636864d4f529ee2427fee8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 12:32:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:53 +0900

    [ruby/prism] Tilde heredocs for ripper translation

    https://github.com/ruby/prism/commit/de9e55dd43

commit 75e24a74d984598aabccff6a6dabc35a3e67cd5a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:52:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:52 +0900

    [ruby/prism] Implement call shorthand for ripper translation

    https://github.com/ruby/prism/commit/4d08736bd5

commit 8b721fcd06e10313b3faa4645cf2ec6b5d8bcbba
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:51:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:52 +0900

    [ruby/prism] Fix up multi write parentheses in ripper translation

    https://github.com/ruby/prism/commit/41c84df423

commit d8cce33f07bbccb1eb87ee2db3e7cb9657bdf317
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:49:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:52 +0900

    [ruby/prism] Fix up body semicolon finding in ripper translation

    https://github.com/ruby/prism/commit/8fa476d9a1

commit 434e7bc56ed133838fca81489119d0a3c0c37e44
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:39:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:51 +0900

    [ruby/prism] Fix up backtick events on ripper translation

    https://github.com/ruby/prism/commit/87538f1a12

commit 6539258dccc6e2fa2983ebe5f0381edd013306dd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:37:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:51 +0900

    [ruby/prism] Implement ternaries in ripper translation

    https://github.com/ruby/prism/commit/8b14a85a4c

commit debb5e01f1d387661e6e98642d5092d4c0450c53
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:34:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:51 +0900

    [ruby/prism] Implement character literals for ripper translation

    https://github.com/ruby/prism/commit/3c28994a24

commit 782f49db5b5f48f9d37c9c562442907aef410e2e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:32:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:50 +0900

    [ruby/prism] Fix empty strings for ripper translation

    https://github.com/ruby/prism/commit/836adb0aaa

commit 6b76a765abcb328be1e89a6380df71d2b09f4eff
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:29:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:50 +0900

    [ruby/prism] Fix up yield arguments in ripper translation

    https://github.com/ruby/prism/commit/22b9f3ccd9

commit 31ef2f43a77c515371fbfb921a6935bd67ac74a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:26:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:50 +0900

    [ruby/prism] Consolidate semicolon checking in ripper translation

    https://github.com/ruby/prism/commit/798517da1a

commit de610745140f51923d31f7c708ee582cc989c9e0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:22:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:49 +0900

    [ruby/prism] Fix up else in implicit begin for ripper translation

    https://github.com/ruby/prism/commit/4344b70ed5

commit 4ce0395d869aa87badf87089841f40008964f471
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:08:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:49 +0900

    [ruby/prism] Fix up return node for ripper translation

    https://github.com/ruby/prism/commit/c00902af23

commit 7ee404a24a2a74a1e78666c31cffc2f18607e51f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:06:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:49 +0900

    [ruby/prism] Implement special array literals for ripper translation

    https://github.com/ruby/prism/commit/a5c3d634ef

commit 7273c4dd60aa8e61e29053042d085cabc3246e23
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 10:55:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:48 +0900

    [ruby/prism] Fix up lambda ripper translation

    https://github.com/ruby/prism/commit/a3156e60cc

commit db53705acda9b733be7fdf71996143caf7c8ae7a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 10:43:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:48 +0900

    [ruby/prism] Implement singleton methods for ripper translation

    https://github.com/ruby/prism/commit/b7cd5c8e74

commit 3a7beffd1bcf2262d6a6db7356ad0f249a33e4d9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 10:36:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:48 +0900

    [ruby/prism] Consolidate body node visiting in ripper translation

    https://github.com/ruby/prism/commit/8feb073fe4

commit 8f7db7e64c7bd34e75fdac5794e7a4e32a2f2df1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 10:16:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:47 +0900

    [ruby/prism] Fix up forwarding arguments for ripper translation

    https://github.com/ruby/prism/commit/9dbad71aa3

commit e97b364adb0e4447c1c361c438dacc25ca757c95
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 10:11:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:47 +0900

    [ruby/prism] Unary not for ripper translation

    https://github.com/ruby/prism/commit/149d01f2c9

commit 78fe61c95fecf8e7964337a067908976d9d4bfca
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 07:43:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:47 +0900

    [ruby/prism] Implement fields for ripper translation

    https://github.com/ruby/prism/commit/90f8b33fad

commit c2d6bcc81a827786c2cffefbac0840cc1c9b42d5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 07:37:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:46 +0900

    [ruby/prism] Revisit call nodes for ripper translation

    https://github.com/ruby/prism/commit/372200f970

commit a0674a5755f0429ce435432ae2bad7bf696b7314
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 06:58:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:46 +0900

    [ruby/prism] Fix implementation of [] and []= for ripper translation

    https://github.com/ruby/prism/commit/d31cf63d45

commit cb116420816163bd7b271313b7b4a18d3d5b0638
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 06:46:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:46 +0900

    [ruby/prism] Refactor symbol ripper translation

    https://github.com/ruby/prism/commit/356c97c736

commit 47daf71ac0c321072083b2bfd64b851cbe0d1d71
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 06:38:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:45 +0900

    [ruby/prism] Implement super for ripper translation

    https://github.com/ruby/prism/commit/18dea6ce64

commit 53efae0d632480d420f85dabfdc6ea5293536ef5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 02:38:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:45 +0900

    [ruby/prism] Implement other call nodes for ripper translation

    https://github.com/ruby/prism/commit/a76744be47

commit b0ee9c8f28249b3de644383901bb637b8eb7275b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 23:43:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:45 +0900

    [ruby/prism] Implement index nodes for ripper translation

    https://github.com/ruby/prism/commit/3fd962f2d3

commit 7bcca7177d6c42891004899d63e13ef47d78a337
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:51:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:44 +0900

    [ruby/prism] Implement hash patterns for ripper translation

    https://github.com/ruby/prism/commit/6bd7ae2ed2

commit 2cb75b8f1760a9aefb2221c4a6fab9304bdb3da2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:42:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:44 +0900

    [ruby/prism] Implement multi target nodes for ripper translation

    https://github.com/ruby/prism/commit/ceb5a5cf62

commit fabece2507c12f131c67d2324c1aee27ab8a5f7d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:35:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:44 +0900

    [ruby/prism] Implement lambdas for ripper translation

    https://github.com/ruby/prism/commit/602d3d2ccb

commit d719814d82f63774272f0009d1d019a56a87ba9b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:29:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:43 +0900

    [ruby/prism] Implement target nodes for ripper translation

    https://github.com/ruby/prism/commit/c5c8299485

commit 1d5f05bd53e72e9fe8259407eabd125925bfe7fc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:15:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:43 +0900

    [ruby/prism] Implement for loop for ripper translation

    https://github.com/ruby/prism/commit/2d635ce46b

commit 17111084d4f01840db3d0c76c250ff4430be73bf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:14:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:43 +0900

    [ruby/prism] Implement endless methods for ripper translation

    https://github.com/ruby/prism/commit/6611820b7b

commit 524e93b84e1a08e5f8dabaad123cecd6b85cf82a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:10:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:42 +0900

    [ruby/prism] Implement find pattern for ripper translation

    https://github.com/ruby/prism/commit/ef9dca2a4c

commit 3bdb0fecd103a5901a7ee1ab7ff6105a4e916fe5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:08:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:42 +0900

    [ruby/prism] Implement case/in for ripper translation

    https://github.com/ruby/prism/commit/7f5a09f40e

commit c4388e8409bbf653b45044e4b04b703e09b47fca
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:01:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:42 +0900

    [ruby/prism] Add constant path ripper translation

    https://github.com/ruby/prism/commit/5e47d8eb67

commit c21a50e59656cf36a95e1d7ac8f3c86398e88aae
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:56:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:42 +0900

    [ruby/prism] Implement def for ripper translation

    https://github.com/ruby/prism/commit/a3c8c27c20

commit 5422b584571c7715b77cc3083d73e49536e06b1a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:51:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:41 +0900

    [ruby/prism] Implement if/unless for ripper translation

    https://github.com/ruby/prism/commit/57c1dd4859

commit d815d68cbb420243d0f2e3fc866350761154dd82
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:43:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:41 +0900

    [ruby/prism] Implement regular expressions for ripper translation

    https://github.com/ruby/prism/commit/788cf7c528

commit bfa2a08444f073b2a0a5d759f463a04fb8a3c1f2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:31:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:41 +0900

    [ruby/prism] Start tracking failing fixtures in ripper translation

    https://github.com/ruby/prism/commit/6285e31ccc

commit 139fe4fc63d8488fe44f3794d4fcd0bc5e0f862a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:21:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:40 +0900

    [ruby/prism] Implement case/when for ripper translation

    https://github.com/ruby/prism/commit/dfa499d2e9

commit 70764bd0bef3cb95f12779e0237a45751d9f57ee
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:15:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:40 +0900

    [ruby/prism] Implement sclass for ripper translation

    https://github.com/ruby/prism/commit/e6e17778f8

commit c947852fa884bbbe26a50b50aa36a4342261fbb2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:13:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:39 +0900

    [ruby/prism] Implement next for ripper translation

    https://github.com/ruby/prism/commit/107ffb64a3

commit a47d0f03dba40fa2e7f1d564151810058dafbcc1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:13:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:39 +0900

    [ruby/prism] Implement module for ripper translation

    https://github.com/ruby/prism/commit/93d06436f7

commit 751b4d34bc4b3e652eeef247ea76bf3c7f309896
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:09:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:39 +0900

    [ruby/prism] Implement remaining interpolated nodes in ripper translation

    https://github.com/ruby/prism/commit/129ed94cb5

commit 32c22a71e8e5ee14361690489fc6ab5d1cd11cba
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:03:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:38 +0900

    [ruby/prism] Implement classes for ripper translation

    https://github.com/ruby/prism/commit/b2dc35d902

commit f44671b094566f159e61c381b2eabb150340f1c8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 20:42:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:38 +0900

    [ruby/prism] Implement local variable targets in ripper translation

    https://github.com/ruby/prism/commit/4e64b9fc53

commit 862a188826d0967efd3d4dad397f786c00c43dc0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 20:34:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:38 +0900

    [ruby/prism] Implement hashes for ripper translation

    https://github.com/ruby/prism/commit/57f991a6a6

commit a035f63daa06b52c2eaae14e1b546ede1fc00411
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 15:00:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:37 +0900

    [ruby/prism] Implement even more ripper visitor methods

    https://github.com/ruby/prism/commit/9a883a474a

commit 069568dbfcff5bc13551b14e864c0a4b2bd90811
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 14:50:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:37 +0900

    [ruby/prism] Implement so many ripper visitor methods

    https://github.com/ruby/prism/commit/336bd7249a

commit b797085c384e7443698e29bd97b2b32806cd9792
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 14:34:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:37 +0900

    [ruby/prism] Implement pre and post execution nodes for ripper

    https://github.com/ruby/prism/commit/b6927ac714

commit be5376e422252850b5ee8c41dff81e7d61604f62
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 14:31:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:36 +0900

    [ruby/prism] Implement even more ripper visitor methods

    https://github.com/ruby/prism/commit/88b8185075

commit 3b7d5efd050ff349ba4e61520a270ce4c838f381
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 11:52:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:36 +0900

    [ruby/prism] Implement many more visitor methods for ripper

    https://github.com/ruby/prism/commit/b9d762c76a

commit bbaee0b7e42f9d81bcb0e0472729520079711d49
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 11:27:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:36 +0900

    [ruby/prism] Add stubs for remaining ripper visit methods

    https://github.com/ruby/prism/commit/4ba9abf664

commit d56e80f07f78d5714b233b8ea5d5eeb55a6d1154
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 10:06:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:36 +0900

    [ruby/prism] Reconsolidate ripper files

    https://github.com/ruby/prism/commit/7a277be5fb

commit 4d04e1bbef617cdee6bf15fc3c87b42da7080aea
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-07 00:20:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:11:07 +0900

    [ruby/prism] Deprecate `TargetRubyVersion: 80_82_73_83_77.xx`

    Prism has been directly supported as a parser engine since RuboCop 1.62:
    https://github.com/rubocop/rubocop/releases/tag/v1.62.0

    This makes specifying `TargetRubyVersion` with special values like `80_82_73_83_77.33`
    using the `prism/translation/parser/rubocop` file unnecessary.
    As a result, it would be possible to deprecate this approach.

    OTOH, early users might be surprised if `prism/translation/parser/rubocop` were to be suddenly removed.
    Therefore, this PR deprecates the parameters related to `prism/translation/parser/rubocop`.

    ```console
    $ bundle exec ruby -rrubocop -rprism/translation/parser/rubocop -e "RuboCop::AST::ProcessedSource.new('42', 80_82_73_83_77.33).ast"
    WARN: Prism is directly supported since RuboCop 1.62. The `prism/translation/parser/rubocop` file is deprecated.
    WARN: Setting `TargetRubyVersion: 80_82_73_83_77.33` is deprecated. Set to `ParserEngine: parser_prism` and `TargetRubyVersion: 3.3` instead.

    $ bundle exec ruby -rrubocop -rprism/translation/parser/rubocop -e "RuboCop::AST::ProcessedSource.new('42', 80_82_73_83_77.34).ast"
    WARN: Prism is directly supported since RuboCop 1.62. The `prism/translation/parser/rubocop` file is deprecated.
    WARN: Setting `TargetRubyVersion: 80_82_73_83_77.34` is deprecated. Set to `ParserEngine: parser_prism` and `TargetRubyVersion: 3.4` instead.
    ```

    Eventually, it will be possible to remove it at some point.

    Regarding documentation, it has been updated to not show the old, discouraged usage but rather
    the new way of specifying it in RuboCop.

    https://github.com/ruby/prism/commit/0e4bc31463

commit 7d3304ec5faed961c9e9e1f08451a2169703f056
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-07 00:34:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 00:47:31 +0900

    [ruby/time] Exclude unnecessary files from package

    https://github.com/ruby/time/commit/4abeaec776

commit 476cd2b2518644a2918b10b257739dd1977c6084
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-07 00:37:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-07 00:37:57 +0900

    [DOC] Add comment about RUBY_FL_SINGLETON

commit 7e4444077439e83772fd628a9121dcf54c6989cc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-07 00:36:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-07 00:36:46 +0900

    [DOC] Fix indentation in comment in class.c

commit 29323505a6aed4bfd6ca594b220f04c09a2cd429
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-03-06 23:35:16 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-03-07 00:10:59 +0900

    Revert ".travis.yml: Allow failures for arm64 and arm32 cases temporarily."

    This reverts commit 23dc7aa2c5a104e73563134a595124804379f049.

    It seems that the planned maintenance was finished.
    https://bugs.ruby-lang.org/issues/20013#note-28

commit 29d3d13a1fecc63fccf04039b88b0975c1d84515
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-06 20:16:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-06 20:44:09 +0900

    Run `binding.irb` in cleaner environment and clean the history file

commit b543a4e9dae2678722f579f768ac6b41541abf71
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-06 20:17:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-06 20:17:44 +0900

    Remove `-f` option for `codesign`

    Recent `codesign` seems to emit a "replacing existing signature"
    warning even if it was an adhoc signature added by the linker.  Since
    "adhoc" signatures do not cause a failure when replaced, it is just
    unnecessary and noisy.

commit 0c2e97689495c545b81c142f30d5f7b81b78a184
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-06 17:28:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-06 17:28:16 +0900

    [ruby/irb] Clear temporary directories
    (https://github.com/ruby/irb/pull/894)

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

commit 9ab1fa3bf570bf19b0d6808adf12e965aacc6d83
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-03-06 15:47:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-06 15:47:38 +0900

    Hide public implementation of `rb_io`. (#9568)

    Remove `struct rb_io {...}`.

commit 97d32bb2fcc6d53ec17c96ea6d826f1f7698aa29
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-03-06 13:12:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-06 13:12:49 +0900

    [ruby/irb] Prevent `irb_history`'s creation during HistoryTest
    (https://github.com/ruby/irb/pull/893)

    Some cases of it currently create `~/.irb_history` files unintentionally
    while others don't. This is caused by the varying levels of setup/cleanup between
    them. This commit fixes the issue by wrapping every single test inside a
    consistent test setup and teardown callbacks.

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

commit 51965399df6c46fabc8ffb8ddbfbb583019d7381
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-06 10:09:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-06 10:38:25 +0900

    Use include instead of equal assertion.

    irb will load multiple rc files now. If developer have their rcfile on
    home directory or etc, equal assertion will fail with custom prompt.

commit 23dc7aa2c5a104e73563134a595124804379f049
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-03-06 05:48:23 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-03-06 06:19:07 +0900

    .travis.yml: Allow failures for arm64 and arm32 cases temporarily.

    It's to avoid the failures by the infra issues in the term of the following
    maintenance.

    There is a planned maintenance on March 6th 2024 between 8:00 and 12:00 UTC+0.
    The Travis service may be temporarily unavailable.
    https://bugs.ruby-lang.org/issues/20013#note-28

commit 8f6113a91e6786aaf131942b35ab5b7465f756a0
  Author:     Haroon Ahmed <haroon.ahmed25@gmail.com>
  AuthorDate: 2024-03-06 01:07:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-06 01:07:45 +0900

    [ruby/irb] Add the ability to fetch and load multiple irb files.
    (https://github.com/ruby/irb/pull/859)

    This allows hierarchy when loading rc files for example both files below
    are loaded;

    project/.irbrc
    ~/.irbrc

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

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 226a889dc7688cbd0c96cce1005adbda69b03ec4
  Author:     cui fliter <imcusg@gmail.com>
  AuthorDate: 2024-03-05 18:50:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-05 18:50:47 +0900

    [DOC] fix some comments

    Signed-off-by: cui fliter <imcusg@gmail.com>

commit 8e27c01fbb36d5020bb465e17a19a3bad35144ef
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-05 16:32:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-05 17:03:30 +0900

    Reapply "mkmf.rb: Define missing `POSTLINK` variable in generated Makefile"

    This reverts commit 0ae0a0c1c3bb01d118c5a924d731a2b3e9774105.

commit b582e5a6e99c3e88076fc8eea794d0b3a23e8740
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-05 15:02:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 16:13:39 +0900

    [rubygems/rubygems] Clear generated files recursively

    On macOS, `dsymutil` utility splits debug info into .dSYM directory.
    Glob list of `.bundle/cache/extensions/**/*binary_c*` includes that
    directory but `FileUtils.rm` fails to unlink a directory.

    https://github.com/ruby/ruby/actions/runs/8149918901/job/22275331688#step:11:3000
    ```
           Operation not permitted @ apply2files - /Users/runner/work/ruby/ruby/src/tmp/2/home/.bundle/cache/extensions/arm64-darwin-22/ruby/3.4.0+0/3b02a1011c53518f911ab3a9e8c6c608/very_simple_binary-1.0/very_simple_binary_c.bundle.dSYM
         # ./lib/fileutils.rb:2332:in 'File.unlink'
         # ./lib/fileutils.rb:2332:in 'block in FileUtils::Entry_#remove_file'
         # ./lib/fileutils.rb:2337:in 'FileUtils::Entry_#platform_support'
         # ./lib/fileutils.rb:2331:in 'FileUtils::Entry_#remove_file'
         # ./lib/fileutils.rb:1475:in 'FileUtils.remove_file'
         # ./lib/fileutils.rb:1223:in 'block in FileUtils.rm'
         # ./lib/fileutils.rb:1222:in 'FileUtils.rm'
         # ./spec/bundler/install/global_cache_spec.rb:235:in 'block (3 levels) in <top (required)>'
    ```

    https://github.com/rubygems/rubygems/commit/375c127684

commit e1026000afe02b57a765c40151641d480fc34e05
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-25 14:39:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 15:53:20 +0900

    [rubygems/rubygems] Use `IO.popen` to list files

    - Redirect stderr `git ls-files` to null without shelling out.

    - When building by `gem`, `__FILE__` is the path name given in the
      command line, or the gemspec file name in the current directory.  In
      that case, comparison it and expanded path never equal.  Compare
      listed file names with the base name of `__FILE__` instead.

    https://github.com/rubygems/rubygems/commit/5583433dbb

commit 0ae0a0c1c3bb01d118c5a924d731a2b3e9774105
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-05 11:38:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-05 12:08:42 +0900

    Revert "mkmf.rb: Define missing `POSTLINK` variable in generated Makefile"

    This reverts commit 71d511615b8dac459d6f88f5896b9859f99c999e.

commit 899ce129f1881f860f21602613911d1caaf83b84
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-05 11:00:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-05 12:08:42 +0900

    Run test-bundler-parallel again

commit 50e9a6b7c5a5cd8ec0658f0fa51ffce4072ec63a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 04:59:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 05:24:20 +0900

    [ruby/prism] Provide API for visiting in C

    https://github.com/ruby/prism/commit/537947aa5c

commit 20123008da1b75796c93c156a066055fe0abdbe9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-03 00:55:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 05:06:53 +0900

    [ruby/prism] Drop support for old ERB

    https://github.com/ruby/prism/commit/acdff3aae3

commit e78a705f01c027a4ee32d9c8600c3218c65957f9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 02:34:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 03:09:48 +0900

    [ruby/prism] Warnings for tokens at EOL

    https://github.com/ruby/prism/commit/d0dbf01bef

commit 5899f6aa55a02f211545d9cdaef4d86fa0b49528
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-13 01:58:39 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-05 02:49:55 +0900

    Keep hidden local variables when dumping and loading iseqs

    Fixes [Bug #19975]

commit f7adee34a33c825eef40cf803ebb83f46ff8fc77
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 01:49:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:49:14 +0900

    [ruby/prism] Only define xallocator when not defined

    https://github.com/ruby/prism/commit/919d682379

commit 6ad0f89d5aa2466cdfcd1a056ce9b28b39245033
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-03-02 05:30:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:41:16 +0900

    [ruby/prism] Use a more efficient StringIO on TruffleRuby

    * The stdlib StringIO is synchronized and this occurs a high overhead.
    * This is about twice as fast on TruffleRuby but surprisingly it is slower on JRuby.
      I am not sure why but probably @ivar access and integer arithmetic
      is much slower than Java field access/arithmetic on JRuby.
    * On CRuby interpreter it is slower, which is expected as the GVL already protects StringIO.
    * So we enable this only on TruffleRuby to not slow down other Rubies.
    * PRISM_FFI_BACKEND=true ruby -v -Ilib -rprism -rbenchmark -e '300.times { p Benchmark.realtime { Dir.glob("lib/**/*.rb") { |f| Prism.parse_file(f) } } }'
      ruby 3.3.0:         0.215 => 0.251 (cext: 0.062)
      ruby 3.3.0 YJIT:    0.118 => 0.113 (cext: 0.053)
      truffleruby JVM:    0.101 => 0.054
      jruby 9.4.6.0:      0.162 => 0.219
      jruby 9.4.6.0 indy: 0.078 => 0.086
    * For the record here are the numbers for using the String directly, without a StringIO-like object:
      ruby 3.3.0:         0.215 => 0.234 (cext: 0.062)
      ruby 3.3.0 YJIT:    0.118 => 0.111 (cext: 0.053)
      truffleruby native: 0.101 => 0.053
      jruby 9.4.6.0:      0.162 => 0.195
      jruby 9.4.6.0 indy: 0.078 => 0.082
      As we can see, that extra object adds a non-trivial overhead on CRuby interpreter and JRuby.
      But we need to make it possible to use StringIO and SimpleStringIO interchangeably.

    https://github.com/ruby/prism/commit/938677cbd2

commit 03a73fdc3d5b612bba9a428b6680967b9189ee2d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-04 23:39:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:40:37 +0900

    [ruby/prism] Add then keyword loc to when nodes

    https://github.com/ruby/prism/commit/e1e613df16

commit c0a34a6c8c01a278156ab10c8628a95a3248e6e9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 01:34:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:40:24 +0900

    [ruby/prism] Document xallocator functions

    https://github.com/ruby/prism/commit/ee1a4acacd

commit b95e2cdca7355539f5d03f859290e4bc6ec19feb
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-03-03 10:35:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:40:24 +0900

    [ruby/prism] Additional fix of adding `x` prefix after rebase with main branch

    https://github.com/ruby/prism/commit/08733438bd

commit 54f27549e2cd7cdbd83d3e6a2079108fe225c0b5
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-03-03 09:52:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:40:23 +0900

    [ruby/prism] Chage some names

    - PRISM_CUSTOM_ALLOCATOR -> PRISM_XALLOCATOR
    - prism_custom_allocator.h -> prism_xallocator.h

    https://github.com/ruby/prism/commit/83b4071e5b

commit c4bd6da2988ecdf3e6d00be78e58a4eba6192bed
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-02-27 14:25:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:40:23 +0900

    [ruby/prism] Make alloc interface replaceable

    - Add `x` prefix to malloc, calloc, realloc, and free
      (eg: malloc -> xmalloc)
    - By default, they are replaced with stdlib's functions at build
    - You can use custom functions by defining `PRISM_CUSTOM_ALLOCATOR` macro

    https://github.com/ruby/prism/commit/7a878af619

commit 61ea202f8b10060e000f79a936e5e608eacb50ee
  Author:     Lazarus Lazaridis <9477868+iridakos@users.noreply.github.com>
  AuthorDate: 2024-03-05 01:35:51 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-05 01:35:51 +0900

    [DOC] Fix invalid documentation for `reachable_objects_from` (#10172)

    Previous documentation is stating the opposite (that the method won't
    work for CRuby).

commit 85fe8b6b9c1a04561527609cf78b8484b3f501e4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 01:20:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:26:47 +0900

    [ruby/prism] Update lib/prism/translation/parser/compiler.rb

    https://github.com/ruby/prism/commit/dccfd83bc4

commit a03f92923b61a64098ea9313f4e70ac3a4553414
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-04 21:10:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:26:46 +0900

    [ruby/prism] Fix incompatibility AST for regexp match in `Prism::Translation::Parser`

    This PR fixes the following incompatibility AST for regexp match between Parser gem and Prism:

    ## Parser gem

    Returns an `match_with_lvasgn` node:

    ```console
    $ bundle exec ruby -rparser/ruby33 -ve 'p Parser::Ruby33.parse("/foo/ =~ bar")'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    s(:match_with_lvasgn,
      s(:regexp,
        s(:str, "foo"),
        s(:regopt)),
      s(:send, nil, :bar))
    ```

    ## Prism (`Prism::Translation::Parser`)

    ### Before

    Returns an `send` node:

    ```console
    $ bundle exec ruby -rprism -rprism/translation/parser33 -ve 'p Prism::Translation::Parser33.parse("/foo/ =~ bar")'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    s(:send,
      s(:regexp,
        s(:str, "foo"),
        s(:regopt)), :=~,
      s(:send, nil, :bar))
    ```

    ### After

    Returns an `match_with_lvasgn` node:

    ```console
    $ bundle exec ruby -rprism -rprism/translation/parser33 -ve 'p Prism::Translation::Parser33.parse("/foo/ =~ bar")'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    s(:match_with_lvasgn,
      s(:regexp,
        s(:str, "foo"),
        s(:regopt)),
      s(:send, nil, :bar))
    ```

    ## Background

    Found due to incompatibility with RuboCop's `Performance/EndWith`, `Performance/StringInclude,
    and `Performance/StartWith` cops.

    ## Note

    This is the incompatibility when the receiver is a regular expression literal and `=~` is used.
    Based on the node name `:match_with_lvasgn`, it appears that Prism's AST becomes more accurate
    in cases like `visit_match_write_node` only.

    However, as shown in the background, the current behavior of Parser gem is not like this.
    Considering compatibility with the published AST of Parser gem, the AST incompatibility will be addressed.

    This lvar-injecting feature appears to have not been supported by Parser gem for a long time:
    https://github.com/whitequark/parser/issues/69#issuecomment-19506391

    There seems to be no indication that it will be supported.

    This PR prioritizes AST compatibility between the Parser gem and Prism.
    However, it is unclear whether this is the best approach.

    https://github.com/ruby/prism/commit/dff4abb170

commit 26507b92e069e999f1ef965516e8f901c7ce2479
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 01:15:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:26:36 +0900

    [ruby/prism] Include BSDmakefile

    https://github.com/ruby/prism/commit/1fe507fe3d

commit 5856ea3fd16437279cb0a2e137e4a2b58fc655cb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-04 23:27:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-04 23:39:52 +0900

    [ruby/prism] Fix up some minor parser incompatibilities

    https://github.com/ruby/prism/commit/c6c771d1fa

commit 2c787bf90ff4176970f6dea331401e8246fdde95
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-04 23:25:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-04 23:25:51 +0900

    Run POSTLINK for rubyspec CAPIEXT objects

commit b176315827d1082f43628013a7d89fda02724d33
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-04 21:02:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-04 21:02:08 +0900

    [Bug #20324] Uncomparable ranges are not overlapping

commit ef5af32799b04da61bbd1bdaf464012a755c4936
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-03-04 14:15:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-04 15:36:29 +0900

    [rubygems/rubygems] Clear `RUBY_CODESIGN` env var while running tests

    The `RUBY_CODESIGN` environment variable is used by mkmf-generated
    Makefile to sign extension bundles on macOS. The variable specifies a
    key identifier to use for signing given by the user. However, the key
    is usually stored in `$HOME/Library/Keychains` directory, and the test
    suite creates a fake `$HOME` directory. This causes the test suite to
    try to find the specified key from the fake home directory, which
    results in a failure.

    https://github.com/rubygems/rubygems/commit/ddcfc65bf7

commit 2d8788e90cd535933c0f444112d465cffc4c71b1
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-02-01 19:50:40 +0900
  Commit:     Kazuki Tsujimoto <kazuki@callcc.net>
  CommitDate: 2024-03-04 12:33:00 +0900

    Support NODE_ONCE for pattern matching

commit 5621d794a2fa9293d1da489d6b0ee0e7c73c9128
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-17 15:30:34 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-04 11:07:26 +0900

    Disable callcc when ASAN is enabled

    callcc's implementation is fundamentally incompatible with ASAN. Since
    callcc is deprecated and almost never used, it's probably OK to disable
    callcc when ruby is compiled with ASAN.

    [Bug #20273]

commit 0d9a681eff867b569a31ab4f85a43ce53712a9cd
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-03-04 00:02:00 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-03-04 00:57:57 +0900

    enc: Expand substitution variables in Makefile.in by default

    This change makes `make_encmake.rb` expand all substitution variables
    when replacing them in `enc/Makefile.in` to avoid propagating all
    possibly referenced variables to the generated Makefile. The old
    behavior, which don't expand make variables when generating Makefile,
    was useful to temporarily override inherited variables like `cflags` in
    `CFLAGS` at make-time. However, it's not a common use case and it
    requires to propagate all possibly referenced variables properly
    considering key name duplication between `enc/Makefile.in` and
    `RbConfig::CONFIG`.

commit 072761bb3f794d8176c1f1815d10f1c0ca8eccda
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-03-02 21:04:12 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-03-04 00:57:57 +0900

    enc: Define missing `POSTLINK` variable in enc.mk

    This is a follow up change to 71d511615b8dac459d6f88f5896b9859f99c999e

commit 7e4b1f8e1935a10df3c41ee60ca0987d73281126
  Author:     Thomas Marshall <thomas@thomasmarshall.com>
  AuthorDate: 2024-03-03 19:43:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-03 19:43:35 +0900

    [Bug #20322] Fix rb_enc_interned_str_cstr null encoding

    The documentation for `rb_enc_interned_str_cstr` notes that `enc` can be
    a null pointer, but this currently causes a segmentation fault when
    trying to autoload the encoding. This commit fixes the issue by checking
    for NULL before calling `rb_enc_autoload`.

commit 93556d46203545bc2364b1c0dd1281ba098f3cc9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-03 00:55:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-03 01:40:16 +0900

    [ruby/etc] Drop support for old ERB

    https://github.com/ruby/etc/commit/11677318ac

commit e9a7801a938a6e4e0d071dec05e1ecdb99606bbf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-03 00:55:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-03 00:55:45 +0900

    Drop support for old ERB

commit 71d511615b8dac459d6f88f5896b9859f99c999e
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-03-01 15:08:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-02 17:07:37 +0900

    mkmf.rb: Define missing `POSTLINK` variable in generated Makefile

    The `POSTLINK` variable had been used in the `LINK_SO` variable, which
    is used to link shared extension libraries. However, the `POSTLINK`
    variable had not been defined in the generated Makefile, so extension
    libraries were not properly post-processed. It was not a critical issue
    for the existing `POSTLINK` usage for darwin platforms, but it would be
    a problem for Wasm/WASI platform, which requires *mandatory*
    post-processing for shared extension libraries.

commit b000e7bb749e8f688220f967360fc58dd70a8ade
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-03-01 14:47:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-02 17:07:37 +0900

    configure.ac: Append `POSTLINK` to `LINK_SO` for all platforms

    The `POSTLINK` variable had been used only for darwin platforms, but
    it's now used for WebAssembly/WASI as well. To make shared extension
    libraries properly post-processed, we need to append `POSTLINK` to
    `LINK_SO` but it was done only for darwin platforms. This commit
    generalizes the appending to all platforms.

commit 5a4cd732f013e752e26456c74a1276794942b8ea
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-02 13:51:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-02 14:37:57 +0900

    Make `File#chown` unblocking

commit 061c68408479a1cd7e1a1d6bbde215433f287302
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-01 23:58:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-02 14:37:53 +0900

    Make `File#chmod` unblocking

commit 607b86ed1fa6656480bdea4e7f7f385a544de5b8
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-02 08:10:19 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-02 08:10:26 +0900

    Update a stubbed type for RJIT

    cfunc.func is actually used by RJIT

commit 317163c79cc46580ba73e94d3cc2a5e9dc3217b8
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-02 08:07:40 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-02 08:07:41 +0900

    Update bindgen for YJIT and RJIT

commit 61fbd29e14c0bd06ca4c063ff34332b272874a13
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-02 08:01:20 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-02 08:02:28 +0900

    Skip a redundant check for the rb_obj_hash case

    Also, refactor the cfunc struct to use a new rb_cfunc_t.

commit 5a3ae06a09d183bf1b7752ddd9f5e800a033f7ae
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-02 04:41:07 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-02 05:41:16 +0900

    Remove dead function rb_obj_rgengc_writebarrier_protected_p

commit 99384bac28e10895623ecbc73fc09fd7d41fc897
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-02-02 05:28:32 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-02 05:36:19 +0900

    Correctly set anon_kwrest flag for def f(b: 1, **)

    In cases where a method accepts both keywords and an anonymous
    keyword splat, the method was not marked as taking an anonymous
    keyword splat.  Fix that in the compiler.

    Doing that broke handling of nil keyword splats in yjit, so
    update yjit to handle that.

    Add a test to check that calling a method that accepts both
    a keyword argument and an anonymous keyword splat does not
    modify a passed keyword splat hash.

    Move the anon_kwrest check from setup_parameters_complex to
    ignore_keyword_hash_p, and only use it if the keyword hash
    is already a hash. This should speed things up slightly as
    it avoids a check previously used for all callers of
    setup_parameters_complex.

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 6da8f04e01fd85e54a641c6ec4816153b9557095
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-02 04:51:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-02 04:57:11 +0900

    [ruby/irb] Escape closing square brackets in regexp

    Fixes the following warning:

        test/irb/test_command.rb:546: warning: regular expression has ']' without escape

    https://github.com/ruby/irb/commit/7efadc243b

commit 70de3b170bc87aa8ea924602dcea3bb58b4fe439
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-02 04:16:31 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-02 04:16:31 +0900

    Optimize Hash methods with Kernel#hash (#10160)

commit 6f31dd495cb0eb8fd69e4a15885de28cb2dab2e8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-02 03:38:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-02 03:38:49 +0900

    Don't check_rvalue_consistency in is_markable_object

    is_markable_object is called by rb_objspace_markable_object_p, which
    may pass a T_NONE object. check_rvalue_consistency will fail if a T_NONE
    object is passed in.

commit 661f9e6d03d04667b5488ec202c0e1ec6f97c080
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-02 03:03:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-02 03:03:00 +0900

    YJIT: Support opt_invokebuiltin_delegate for leaf builtin (#10152)

commit 88050ec179b2327d4b99d08fc0d825fc8898f5a7
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-03-01 10:53:48 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-03-02 02:54:34 +0900

    YJIT: No need to set cfp->sp when setting escaped locals

    While writing to the env object can add it to the remember set,
    it shouldn't trigger a GC run.

commit 57ca5960ad207beb0c4f2788df0e74f8cc6b7cac
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-03-02 00:51:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-02 00:51:29 +0900

    [ruby/irb] Restructure workspace management
    (https://github.com/ruby/irb/pull/888)

    * Remove dead irb_level method

    * Restructure workspace management

    Currently, workspace is an attribute of IRB::Context in most use cases.
    But when some workspace commands are used, like `pushws` or `popws`, a
    workspace will be created and used along side with the original workspace
    attribute.

    This complexity is not necessary and will prevent us from expanding
    multi-workspace support in the future.

    So this commit introduces a @workspace_stack ivar to IRB::Context so IRB
    can have a more natural way to manage workspaces.

    * Fix pushws without args

    * Always display workspace stack after related commands are used

    https://github.com/ruby/irb/commit/61560b99b3

commit 162e13c884a1764e6cf6e62407e607d18f29eecc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-28 04:50:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-02 00:39:51 +0900

    Remove pointer check in vm_ccs_free

    We don't need to check that the object is pointer to the GC heap in
    vm_ccs_free because it is called during sweeping, which does not free
    pages so it can never point to an object that is not on the GC heap.

commit f3af5ae7e6c1c096bbfe46d69de825a02b1696cf
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-01 23:07:57 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-02 00:33:09 +0900

    Make Struct memory leak test faster

    [Bug #20311]

    It times out on some platform, so we can reduce iterations.
    On my machine it completes in 250ms and RSS grows 8X.

commit 334e4c65b39f8a26a16af776fbccd2b97590211b
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-28 04:45:30 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-02 00:10:25 +0900

    Fix a couple issues noticed by nobu

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit f446d68ba6f85b08109f258e9153baaa209522a4
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-26 07:44:11 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-02 00:10:25 +0900

    Add benchmarks for super and zsuper calls of different types

    These show gains from the recent optimization commits:

    ```
                            arg_splat
                miniruby:   7346039.9 i/s
         miniruby-before:   4692240.8 i/s - 1.57x  slower

                      arg_splat_block
                miniruby:   6539749.6 i/s
         miniruby-before:   4358063.6 i/s - 1.50x  slower

                       splat_kw_splat
                miniruby:   5433641.5 i/s
         miniruby-before:   3851048.6 i/s - 1.41x  slower

                 splat_kw_splat_block
                miniruby:   4916137.1 i/s
         miniruby-before:   3477090.1 i/s - 1.41x  slower

                       splat_kw_block
                miniruby:   2912829.5 i/s
         miniruby-before:   2465611.7 i/s - 1.18x  slower

                       arg_splat_post
                miniruby:   2195208.2 i/s
         miniruby-before:   1860204.3 i/s - 1.18x  slower
    ```

    zsuper only speeds up in the post argument case, because
    it was already set to use splatarray false in cases where
    there were no post arguments.

commit 73371450c31ed6341858c6520b3cd2d3d451806e
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-26 05:25:42 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-02 00:10:25 +0900

    Avoid 1-2 array allocations for zsuper calls with post arguments

    These previously resulted in 2 array allocations, one for newarray
    and one for concatarray.  This replaces newarray and concatarray
    with pushtoarray, and changes splatarray false to splatarray true,
    which reduces it to 1 array allocation, in splatarray true.

    This also sets VM_CALL_ARGS_SPLAT_MUT, so if the super method
    accepts a positional splat, this will avoid an additional array
    allocation on the callee side.

commit 32c58753afa763c5be64684876ee4e6aed550ad7
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-26 03:13:28 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-02 00:10:25 +0900

    Fix splatarray false peephole optimization for f(*ary, **kw, &block)

    This optimization stopped being using when the splatkw VM instruction
    was added.  This change allows the optimization to apply again. This
    also optimizes the following cases:

      super(*ary, **kw, &block)
      f(...)
      super(...)

commit e484ffaf2016ae3261ce5810658f4634b434720e
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-26 03:00:09 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-02 00:10:25 +0900

    Perform splatarray false peephole optimization for invokesuper in addition to send

    This optimizes cases such as:

      super(arg, *ary)
      super(arg, *ary, &block)
      super(*ary, **kw)
      super(*ary, kw: 1)
      super(*ary, kw: 1, &block)

    The super(*ary, **kw, &block) case does not use the splatarray false
    optimization.  This is also true of the send case, since the
    introduction of the splatkw VM instruction.  That will be fixed in
    a later commit.

commit 54d26221b4c4cfc46048f30892c626db69ce9244
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-03-01 20:42:00 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-03-01 21:14:16 +0900

    .travis.yml: Allow failures for ppc64le and s390x.

    Because Travis ppc64le/s390x are unstable.

    ppc64le:
    * https://app.travis-ci.com/github/ruby/ruby/builds/269211469
    * https://app.travis-ci.com/github/ruby/ruby/builds/269204073

    s390x:
    * https://app.travis-ci.com/github/ruby/ruby/builds/269201221

commit c09e5ad17debdddfad872d0b2a7237dba83dff17
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-01 01:15:06 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-01 16:24:16 +0900

    Clarify C API documentation about pinned classes

    They are not only pinned, but also immortal. Even if the
    constant referencing them is removed, they will remain alive.

    It's a precision worth noting.

commit e626da82eae3d437b84d4f9ead0164d436b08e1a
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-02-29 21:17:22 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-01 16:23:38 +0900

    Don't pin named structs defined in Ruby

    [Bug #20311]

    `rb_define_class_under` assumes it's called from C and that the
    reference might be held in a C global variable, so it adds the
    class to the VM root.

    In the case of `Struct.new('Name')` it's wasteful and make
    the struct immortal.

commit 5d76fe6b2a413c71374c9f799c7a1023e2002457
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-01 01:24:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-01 16:10:08 +0900

    [ruby/optparse] Invoke pager for `--help`

    https://github.com/ruby/optparse/commit/77dccce37c

commit 9b75e5f08561437e42887dc19742ab186c52cc43
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-01 02:34:39 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-01 13:56:52 +0900

    Add an example for fallback to sh

commit 5baee82c766308294d21e8167af43dc01346eb76
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-01 02:27:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-01 13:11:29 +0900

    [DOC] Mention about executable file and fallback to sh

commit 1a9a20cebda38994d1df1d8394206cac587098eb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-01 02:24:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-01 13:11:29 +0900

    Turn `rb_sys_fail_on_write` into a function

commit 452d51ffe16c52456c3366d95ce68e5af1875ec9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-01 02:24:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-01 13:11:29 +0900

    Use `File.open` and `File.write` instead of `Kernel#open`

commit 874e9fc34d728f8e2444d15aa6759befd217c464
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-01 12:02:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-01 12:32:40 +0900

    Don't need to remove ruby2_keywords dependency from drb

commit 1952c799af513b81c3a5329a39d14f1bc412f9e0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-01 12:01:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-01 12:32:40 +0900

    Bump up drb-2.2.1

commit 2508a7969977d1156a1e4772e80595b3fef2b559
  Author:     Kasumi Hanazuki <kasumi@rollingapple.net>
  AuthorDate: 2024-02-28 15:48:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-01 05:55:26 +0900

    [ruby/resolv] Implement CAA resource record

    This patch implements handling of CAA resource records defined by [RFC8659].

    - There are no known deployment of CAA records outside of IN (Internet),
      but the RFC does not state that CAA records are class-specific.
      Thus `CAA` class is defined as a class-independent RRType.
    - `CAA` class stores `flags` field (a 1-octet bitset) as an Integer.
      In this way it's easier to ensure the encoded RR is in the valid wire format.

    [RFC8659]: https://datatracker.ietf.org/doc/html/rfc8659

    https://github.com/ruby/resolv/commit/cfc4de75e3

    Co-authored-by: aeris <aeris@imirhil.fr>

commit d3ae5808bbeaba529449c0e0270658436e8699fd
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-01 03:37:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-01 04:26:31 +0900

    Remove each_machine_stack_value

    The function is only used by rb_gc_mark_machine_stack.

commit d5ae7965b75ff98e8425f39043171ad4df0a0106
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-03-01 01:50:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-01 04:24:04 +0900

    [ruby/prism] Lazily create Location objects in Prism::Serialize::Loader#load_location

    * Following the changes in #2428.
    * PRISM_FFI_BACKEND=true ruby -v -Ilib -rprism -rbenchmark -e '10.times { p Benchmark.realtime { Dir.glob("lib/**/*.rb") { |f| Prism.parse_file(f) } } }'
      ruby 3.3.0:      0.255 => 0.210
      ruby 3.3.0 YJIT: 0.150 => 0.120

    https://github.com/ruby/prism/commit/fabf809bbf

commit 6075f67ae65939d4dccc7fba9b053830e5bb2c26
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-03-01 01:38:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-01 04:24:04 +0900

    [ruby/prism] Tweak wording for Prism::BACKEND

    * TruffleRuby does support C extensions but FFI is faster there.

    https://github.com/ruby/prism/commit/d211a87691

commit 1a588922ae38a28e989d26f3ce76c8620a84b6e2
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-01 03:30:38 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-01 03:30:38 +0900

    Load iseq name later than other ISEQ references

    previous_insn_index() is crashing:
    https://github.com/ruby/ruby/actions/runs/8100712618/job/22139323673
    https://github.com/ruby/ruby/actions/runs/8099334388/job/22134848249

    but it's probably not the fault of previous_insn_index() itself. I'm
    guessing the top-most frame is a C frame, and so iseq is just 0.

    To confirm that, I'd like to try calling other functions on an ISEQ
    first.

commit 3d61477900df2659781d7f377967ad6af30f85f8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-01 01:29:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-01 03:23:50 +0900

    Remove unused gc_mark_stack_values

commit 6665ec26db39d35a2cb71597685956784b830b72
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-01 01:27:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-01 03:23:50 +0900

    Remove check for is_markable_object in gc_mark_stack_values

    gc_mark_and_pin already checks for is_markable_object.

commit 6e2880b388880e0f4de3c8aaa7b1e5fa0e228766
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2023-12-19 02:59:52 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-03-01 03:16:59 +0900

    [wasm-pic] Add `LDSHARED` definition for WASI platform

    We are going to add dynamic linking support for WASI platform. The
    `LDSHARED` definition is used to link shared libraries for building ruby
    binaries and extensions.

commit 57f014b2fae3f62b26e17a57de761a61908537c4
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-02-06 02:38:05 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-03-01 03:16:23 +0900

    Use configured `LD` for linking enc and ext libraries

    "AR" was well propagated to the enc.mk and mkmf, but "LD" was not. This
    caused the dynamic libraries to be linked with a linker found in the PATH,
    which could be different from the one used in the Ruby build process.
    This is especially important for cross-compilation, where the host
    linker may not be compatible with the target system. (e.g. WebAssembly)

commit 1c0c490aa0141100d1dece9a7b5e83dc03ca0e13
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-01 02:08:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-01 02:32:37 +0900

    [ruby/prism] Warn on integers in flip-flops

    https://github.com/ruby/prism/commit/500099e896

commit f9d5c604c88e063a8c05dec42fbe1d8115780dfe
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-01 01:01:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-01 02:05:19 +0900

    [PRISM] Use new command line option flags

commit 50e999c56d21b2c1b899cb40d1f43c664b9e94ee
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-29 03:56:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-01 02:05:19 +0900

    [ruby/prism] Command line options as a bitset

    https://github.com/ruby/prism/commit/369ffbd57e

commit cd8d1018bbca086427f66bdba646bb4f387c32b4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-29 05:48:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-01 01:29:16 +0900

    [ruby/prism] Resync RBI and test it in CI

    https://github.com/ruby/prism/commit/4ef4032774

commit 5891c70b3839238433a47aa7c9b984a630b4b0db
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-01 01:08:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-01 01:08:57 +0900

    YJIT: Support inlining putself (#10137)

commit 4c0f0b90a4f4b33d1c1af7b7415c27ad105e6264
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-01 01:07:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-01 01:07:53 +0900

    Assume that FL_FINALIZE is in finalizer_table

    If FL_FINALIZE is set but not in finalizer_table, then rb_bug.

commit f8dd2342bf99738e2a8d7a4fa9e31bff186e0d5a
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-02-29 22:31:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-01 01:06:40 +0900

    [ruby/prism] Fix an incorrect parsing for `Prism::Translation::Parser`

    This PR fixes an incorrect parsing for `Prism::Translation::Parser`
    when one-line pattern mathing with Ruby 2.7 runtime.

    ## Expected

    Parsing should be done based on the specified Ruby parsing version,
    independent of the Ruby runtime version. When parsing for Ruby 3.3,
    it should return `:match_pattern_p` node:

    ```console
    $ ruby -rprism -rprism/translation/parser33 -ve 'p Prism::Translation::Parser33.parse("foo in bar")'
    ruby 3.0.6p216 (2023-03-30 revision https://github.com/ruby/prism/commit/23a532679b) [x86_64-darwin19]
    s(:match_pattern_p,
    s(:send, nil, :foo),
      s(:match_var, :bar))
    ```

    ## Actual

    When parsing with Ruby 2.7 runtime, `match_pattern` node is returned,
    even though it is expected to parse for Ruby 3.3:

    ```console
    $ ruby -rprism -rprism/translation/parser33 -ve 'p Prism::Translation::Parser33.parse("foo in bar")'
    ruby 2.7.8p225 (2023-03-30 revision https://github.com/ruby/prism/commit/1f4d455848) [x86_64-darwin19]
    s(:match_pattern,
    s(:send, nil, :foo),
      s(:match_var, :bar))
    ```

    The cause was the use of `RUBY_VERSION` for condition logic,
    which made it dependent on runtime Ruby version.
    `Prism::Translation::Parser` supports parsing for Ruby 3.3+.
    Therefore, the condition for parsing Ruby 2.7, which is not supported, is being removed.

    ## Background

    Found due to incompatibility with RuboCop's `Layout/SpaceAroundKeyword` and `Style/TernaryParentheses` cops.

    https://github.com/ruby/prism/commit/e752e251d2

commit 8a918b456c6fe7449dbffc8bfdc321a2969aea58
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-29 06:29:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-01 00:57:24 +0900

    Add gc_each_object for walking the heap

commit cb784082bc38299a1669d2d593f7a796411d752b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-29 23:39:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 23:53:42 +0900

    [ruby/prism] Better hashing between positive/negative integers

    https://github.com/ruby/prism/commit/68ddf08634

commit 950c60623b83fb778df6b928ccbe46b2e54b18b6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-29 23:36:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-29 23:38:13 +0900

    Delete from finalizer_table before running finalizer

    The finalizer could trigger a GC, which would cause FL_FINALIZE to be
    out of sync with the finalizer table.

commit d5bca0668c6006e0e155d6d293ec3d9b9b2c386b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-29 23:32:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-29 23:37:38 +0900

    Unset FL_FINALIZE before running the finalizer

    The finalizer could trigger a GC, so FL_FINALIZE could get out of sync
    with the finalizer table.

commit 1a6a7c699c4f66396d3f314423fee515ab8b4b19
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-02-29 21:32:16 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-29 21:32:16 +0900

    Update RBS (#10121)

    Use an unreleased version of RBS to see if the new commit fixes the `EBADF` error.

commit 3f633e57ac31492ea84ca0d4afa5189a264a828a
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2023-12-19 02:55:00 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-02-29 19:57:49 +0900

    [wasm-pic] Remove --pass-arg=asyncify-ignore-imports from POSTLINK

    Before PIC era, we could assume that the stack is not unwound by
    imported functions since all imported functions are WASI syscalls and
    they don't use Asyncify at all. However, PIC binary can import functions
    from other modules and we cannot guarantee that they won't unwind
    the stack.

commit 114c0b71be05848e4f1dafcaa3321e09f103bdaa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-29 18:05:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-29 18:05:00 +0900

    Inform failures in parallel tests before retrying

    Displays for each failure which test it actually occurred in.  The
    output destination follows the --{stdout,stderr}-on-failure option.

commit 51e32523c2de49b15e66dfa612d316fba7999497
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-02-26 18:47:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-29 09:57:30 +0900

    Resolve a warning in `launchable record build` command

commit f05ad373d84909da7541bd6d6ace38b48eaf24a1
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-29 06:21:11 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-29 08:00:22 +0900

    YJIT: Squash canary before falling back

    Recent flaky canary-related CI failures have all happened while trying
    to fall back. It's unclear what is leaving the canary on the stack and
    causing gen_send_dynamic() to falsely assume that it should be leaf,
    and this patch isn't going to help us find the source. One source I
    found is Array#<< with a frozen array, but it's unclear if that's what's
    causing the CI failures. I'm somewhat afraid to add a canary check to
    rb_longjmp() since that might introduce more flaky failures, and maybe
    ones unrelated to YJIT.

    See: https://github.com/ruby/ruby/actions/runs/8083502532/job/22086714152
    See: https://github.com/ruby/ruby/actions/runs/8066858522/job/22035963315

commit 558b58d330783f663d1cfb37c4af7dc330d490b3
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-29 04:27:16 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-29 05:00:26 +0900

    YJIT: Reject keywords hash in -1 arity cfunc splat support

    `test_keyword.rb` caught this issue. Just need to run with `threshold=1`

commit 4b92b60f0be3ac4c442f489727310e97741d6bda
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-29 04:54:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-29 04:54:21 +0900

    Use array initialization rather than for loop

commit c5b568bab6a1401df385331e4b6ed6209fe4071d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-29 03:45:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-29 03:45:24 +0900

    Migrate auto_request_review back to CODEOWNERS (#10133)

commit 5481dbef07dc0ba66d4b9c5703066aaa14252c8b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-29 01:15:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-29 03:45:19 +0900

    Make rb_define_finalizer_no_check private

commit a5bfc251079e39db85e5e127a5ec914455de8bcd
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-29 03:16:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 03:30:44 +0900

    [ruby/prism] Rewrite logic for CHECK_FIELD_KIND to improve readability

    https://github.com/ruby/prism/commit/f731edcc26

commit 71673464616fdd2bf80da082a90004a3da381b1c
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-29 02:55:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 03:30:44 +0900

    [ruby/prism] More precise types for NodeListField in prism.rbi

    https://github.com/ruby/prism/commit/b7959295e9

commit 2143789a3311f70f28dbbd6921ca9a42f47bea80
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-29 02:51:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 03:30:44 +0900

    [ruby/prism] Make NodeKindField subclass NodeKindField

    * To avoid duplication.

    https://github.com/ruby/prism/commit/12e5aae0b4

commit 1b0a5bcb0a63f9e0f2473ab7bccdeae9fc52bb6c
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-25 21:48:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 03:30:43 +0900

    [ruby/prism] Add a simple way to check field kinds are correct by setting $CHECK_FIELD_KIND

    https://github.com/ruby/prism/commit/33e987ba3c

commit ea2cb002501425fe9a76859ac30e83dcf2fff46b
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-25 21:04:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 03:30:43 +0900

    [ruby/prism] Give a kind to all node[] fields which can have one more specific than "any Node"

    * Fixes https://github.com/ruby/prism/issues/2058

    https://github.com/ruby/prism/commit/f3e3310b5e

commit 567d4ee79e7f9847c8a5c3ee53d382f80480fe89
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-25 20:22:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 03:30:42 +0900

    [ruby/prism] Set proper types for node[] in Java-generated code

    https://github.com/ruby/prism/commit/322eaea500

commit a29c0e827f519f097bddfc3ddad5279d89131a7e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-29 02:38:17 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-29 03:26:00 +0900

    [PRISM] Handle implicit flip-flop bounds checking against $.

commit 16c7144cd5a838ae59a494a02c6917b60a50f5f3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-27 23:20:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-29 02:44:24 +0900

    [PRISM] Only look up encoding once per file

commit f8355e88d60a02c215551ddfc0952dc6beb3bdf9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-29 02:12:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-29 02:42:57 +0900

    [PRISM] Do not load -r until we check if main script can be read

commit dcc976add9cb92d0dae75f85428a7751e7b40bef
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-29 00:59:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-29 02:21:38 +0900

    Remove unused rb_gc_id2ref_obj_tbl

commit 49aa8d655ed8a21cac36f560e883f934ef0bd1ce
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-29 01:02:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-29 01:42:49 +0900

    [PRISM] Fix version spec to account for prism

commit 1cef366319ed6f30276de5534f226cac4bd9047e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-29 00:38:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-29 01:09:43 +0900

    [PRISM] Factor in CLI options for prism

commit 742abbf7705d69314373c6255784af02bbe72882
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-27 22:31:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-29 00:58:04 +0900

    Switch {prism: true} to {parser: :prism} in ISeq.to_a

commit 7b69563b365317fb9c70e4bed996b5871ef7889a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 01:50:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-29 00:41:11 +0900

    Add check for finalizer in verify_internal_constency

    This adds a check in GC.verify_internal_constency that FL_FINALIZE flags
    is set if, and only if it is in finalizer_table.

commit 48f433fd408f5f493aa0ac4638ee9ab773b8d10c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 01:50:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-29 00:41:11 +0900

    Change T_ZOMBIE flag check from an assertion

    Assertions are only enable on debug builds, so it will now check for
    flags of T_ZOMBIE objects on all builds in GC.verify_internal_consistency.

commit c990cc706c959e280ad9ea10d47672ad6227a810
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-28 23:58:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 00:36:16 +0900

    [ruby/prism] Switch static literals to use a hash

    https://github.com/ruby/prism/commit/82e6f36e8f

commit 8b556d39d279c871469f6de665191dfbd502d564
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-28 23:32:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 00:36:15 +0900

    [ruby/prism] Refactor static literals into hash

    https://github.com/ruby/prism/commit/62382d3967

commit eb6eb1d4e8572fffd7bce6789eb8e87669293eef
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-28 17:53:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-28 17:53:02 +0900

    Fix crash report path test on Windows

commit 8316cb213c2a32fbb7cb7314e2595730568181ad
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-28 16:08:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-28 16:09:07 +0900

    Fix to use `assert_crash_report` results

commit 05387b590b5ac3b3f72b902292d18e1475db7fb6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-28 12:57:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-28 13:30:16 +0900

    Update regex patterns with rbinstall.rb

commit 75a4aa2052d5b34c1e6bb8085426e50ee627d89a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-28 12:49:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-28 13:30:16 +0900

    Support file listing with IO.popen style

commit fe0b704df5553bdd59e90650ffbbfac785a2e48a
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-24 12:45:05 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-02-28 12:41:03 +0900

    Skip assert_no_memory_leak when ASAN is enabled

    ASAN greatly increases the memory footprint of Ruby, so these static
    thresholds are not appropriate. There's no real need to run these tests
    under ASAN.

    [Bug #20274]

commit 47b46fd98c71732400d53805f63ab988b28fa651
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-28 11:14:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-28 11:14:48 +0900

    Use dummy command for IO.popen

commit e8e2415bb32c7e9f2a55d218a97cb5f9474b2898
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-28 05:09:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-28 11:11:11 +0900

    Use RB_SPECIAL_CONST_P instead of rb_special_const_p

    rb_special_const_p returns a VALUE (Qtrue or Qfalse), so we shouldn't
    assume that Qfalse is 0. We should instead use RB_SPECIAL_CONST_P.

commit 95e55e9ae4a446a62db21e2ea91c54d20fbdcbdc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-28 11:08:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-28 11:08:49 +0900

    Also ignore git ls-files command with IO.popen style for tmpdir.gemspec and tempfile.gemspec

commit 3668118572c8d1f8faa95034883b52aa9d05c5c4
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-28 07:02:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-28 07:02:24 +0900

    [DOC] Stop discouraging the use of Array#each (#10119)

commit edc7b73fc4755bb91ea16d1513993fbce5a6e244
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-28 04:36:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-28 05:49:04 +0900

    Remove pointer check in moved_or_living_object_strictly_p

    We don't need to check that the object is pointer to the GC heap in
    moved_or_living_object_strictly_p because it is called during reference
    updating, which does not free pages so it can never point to an object
    that is not on the GC heap.

commit 7c4bf61a35a89a10ff2ef9214a27bd478241027e
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-02-25 16:16:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-28 05:09:42 +0900

    [ruby/prism] Follow RuboCop's parser engine support

    With the introduction of `Prism::Translation::Parser` to RuboCop (RuboCop AST),
    the number of arguments for `RuboCop::AST::ProcessedSource#parser_class` internal API will be changed:
    https://github.com/rubocop/rubocop-ast/pull/277

    ## Before

    As a result, the following error will occur starting from the next release of RuboCop AST (< 1.30.0) :

    ```console
    $ bundle exec ruby -rrubocop/ast -rprism -rprism/translation/parser/rubocop -ve \
    "p RuboCop::AST::ProcessedSource.new('42', 80_82_73_83_77.33).ast"
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser/rubocop.rb:25:in `parser_class':
    wrong number of arguments (given 2, expected 1) (ArgumentError)
            from /Users/koic/src/github.com/rubocop/rubocop-ast/lib/rubocop/ast/processed_source.rb:309:in `create_parser'
            from /Users/koic/src/github.com/rubocop/rubocop-ast/lib/rubocop/ast/processed_source.rb:219:in `parse'
            from /Users/koic/src/github.com/rubocop/rubocop-ast/lib/rubocop/ast/processed_source.rb:47:in `initialize'
            from -e:1:in `new'
            from -e:1:in `<main>'
    ```

    ## After

    This PR prevents the above error by updating the monkey patch to support the new argument:

    ```console
    $ bundle exec ruby -rrubocop/ast -rprism -rprism/translation/parser/rubocop -ve \
    "p RuboCop::AST::ProcessedSource.new('42', 80_82_73_83_77.33).ast"
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    s(:int, 42)
    ```

    Moreover, to ensure compatibility with the existing RuboCop AST, conditional logic
    has been implemented to maintain backward compatibility.

    https://github.com/ruby/prism/commit/8a6909f4d5

commit 08731182b8b1533e3a98e107fdd98ec7dc3194eb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-28 02:28:26 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-28 04:52:02 +0900

    Change is_garbage_object to return a bool

commit 3c44f6da6c8dab09b7724e5456eaad0d1e3cb12e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-28 02:27:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-28 04:52:02 +0900

    Simplify is_garbage_object

commit e14a68a1bf2fa1350deae169eb9a90e95f839b3c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-28 02:42:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-28 03:00:43 +0900

    [ruby/prism] Disallow it implicit in eval

    https://github.com/ruby/prism/commit/6fcb8fc974

commit 11f121364ab0b113bcc721ed375a321148e0e8f5
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-28 02:50:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-28 02:50:38 +0900

    YJIT: Support splat with C methods with -1 arity

    Usually we deal with splats by speculating that they're of a specific
    size. In this case, the C method takes a pointer and a length, so
    we can support changing sizes just fine.

commit 1f740cd1115fd96d5da7e7c08223de5396e8b5f1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 05:47:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-28 02:10:48 +0900

    Remove is_swept_object

    The name is misleading, as it seems like the function checks whether the
    object is swept or not. But the function only checks whether the page is
    before or after sweeping.

commit f67c9d001aefef26584b2d64c913240f0459f90b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-28 00:52:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-28 01:05:03 +0900

    [ruby/prism] Switch invalid _1 targeting even on syntax error

    https://github.com/ruby/prism/commit/40dec909b7

commit fc36882713c7f86dcbec84c996b09a9c79a2d71f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-27 23:44:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-28 01:05:02 +0900

    [ruby/prism] Ensure symbol nodes not in interpolated symbol

    https://github.com/ruby/prism/commit/e1a9a1d478

commit 2396b7a62fc12ef70933872667020b3784cb9e2e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 05:34:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-28 00:03:42 +0900

    Change is_live_object to return a bool

commit 9ba53cb6886fcecf288d9313720987df389aa46c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 05:33:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-28 00:03:42 +0900

    Simplify is_live_object

commit 5efe386c89537d86d5a267843ac5da83083baaf5
  Author:     Alexander Ross <ross@standout.se>
  AuthorDate: 2024-02-27 20:19:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-27 20:19:02 +0900

    [DOC] Fix typo in GC documentation

    The documentation for GC.start was incorrect. It said that the
    `immediate_sweep` keyword argument would defer sweeping when set to
    `true`, but it should have said that it would defer sweeping when set to
    `false`.

    The commit will also fix the typo "immedate_sweep" to "immediate_sweep".

commit d7730d3a0bd683b4d1c6f85763de7f0db7b0acf8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-27 19:40:39 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-27 19:40:39 +0900

    Constify `literal_type` unless universal parser

commit d50f9ca2dd416d92152cd958b5f39496088481b0
  Author:     Shugo Maeda <shugo@ruby-lang.org>
  AuthorDate: 2024-02-27 14:19:15 +0900
  Commit:     Shugo Maeda <shugo.maeda@gmail.com>
  CommitDate: 2024-02-27 14:51:04 +0900

    [Bug #20302] Multiple refinements cannot be applied to the same module

    In the following code, the iclass tree of refinements in cref should be <iclass of Kernel@M2> -> <iclass of Kernel@M1> -> Kernel.

    However, the iclass tree was broken because of code for included modules of refinements in rb_using_refinement().
    Refinement#include is now removed, so this commit removes such unnecessary code.

    ```ruby
    module M1
      refine(Kernel) do
        def f1 = :f1
      end
    end

    module M2
      refine(Kernel) do
        def f2 = :f2
      end
    end

    class Foo
      using M1
      using M2

      def test
        p f2 #=> :f2

        p f1 # expected => :f1
             # actual => undefined local variable or method 'f1' for an instance of Foo
      end
    end

    Foo.new.test
    ```

commit 3a04ea2d0379dd8c6623c2d5563e6b4e23986fae
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-27 12:20:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-27 13:58:03 +0900

    [Bug #20305] Fix matching against an incomplete character

    When matching against an incomplete character, some `enclen` calls are
    expected not to exceed the limit, and some are expected to return the
    required length and then the results are checked if it exceeds.

commit 7b56353d97d38719c8dfa0255c9ca46dacd7ffad
  Author:     Fable Phippen <fable@stripe.com>
  AuthorDate: 2024-02-27 04:24:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-27 13:58:03 +0900

    Add a failing test for https://bugs.ruby-lang.org/issues/20305.

    This bug demonstrates the issue I reported. It passes on commit
    https://github.com/ruby/ruby/commit/114e71d06280f9c57b9859ee4405ae89a989ddb6
    but does not pass on commit (the immediate child of the above commit)
    https://github.com/ruby/ruby/commit/1d2d25dcadda0764f303183ac091d0c87b432566

commit 3ca8b4aee0bf99b34c392b4b449541db82781284
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-27 12:11:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 13:22:39 +0900

    [ruby/prism] Support -p, -n, -a, and -l command line options

    https://github.com/ruby/prism/commit/959eb506ca

commit bfb2dc8acfd7d7c825b7ba0f1eb50ec92631362c
  Author:     Josef Šimánek <josef.simanek@gmail.com>
  AuthorDate: 2021-10-25 09:47:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-27 12:33:45 +0900

    [rubygems/rubygems] Warn on empty or open required_ruby_version specification attribute.

    https://github.com/rubygems/rubygems/commit/e4bb33747a

commit 316d1e1014e99b750d6ac5d5245b1e0fee3662c3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-27 10:17:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 10:31:50 +0900

    [ruby/tmpdir] Fix for environment without git

    https://github.com/ruby/tmpdir/commit/3f1f2260eb

commit cbbb98ba5e856c4413dcb27460b32be8865683ab
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-27 10:18:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 10:31:12 +0900

    [ruby/tempfile] Fix for environment without git

    https://github.com/ruby/tempfile/commit/f224164979

commit 54a5b829442eb7ed1f4a2794ebb26696cf784e64
  Author:     Kenta Murata <mrkn@mrkn.jp>
  AuthorDate: 2024-02-27 09:37:03 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-27 09:37:03 +0900

    Handle zero-like imaginary part as zero in to_r (#9581)

    Fixes [Bug #5179]

commit 89f0c0ceb5e5e20c56e63498521966c499b361a5
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-02-22 19:48:41 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-27 07:50:42 +0900

    Use `'\n'?` instead of `opt_nl`

commit 78ae6dbb11c1c6881ac599c3b91edaf0df4d7938
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 01:21:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-27 07:05:34 +0900

    Remove rb_objspace_marked_object_p

    rb_objspace_marked_object_p is no longer used in the objspace module, so
    we can remove it.

commit 7538703d1b69e5f3be04240f387dfbcb1f4e2d91
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 01:20:59 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-27 07:05:34 +0900

    Make rb_objspace_data_type_memsize private

    rb_objspace_data_type_memsize is not used in the objspace module, so we
    can make it private.

commit 81dded1044d0d045af10c916eaed9429a8509ae3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-26 19:43:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 07:04:08 +0900

    [rubygems/rubygems] Skip to load vendored libraries if it's already loaded

    https://github.com/rubygems/rubygems/commit/3f5093fac9

commit c3427265687d008612179410009868b5ec10b116
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 18:46:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 07:04:08 +0900

    [rubygems/rubygems] Keep compatiblity for RG 3.5

    https://github.com/rubygems/rubygems/commit/d004e36c44

commit 8b22198ee9baed58c4c7b578fb4cf133a8235ab8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 17:56:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 07:04:07 +0900

    [rubygems/rubygems] Use wrapper file for vendored tsort

    https://github.com/rubygems/rubygems/commit/93514afa28

commit d220d273aa31672d46ebcc29df17260fb7c7f91b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-31 14:08:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 07:04:05 +0900

    [rubygems/rubygems] Use renamed file on bundler

    https://github.com/rubygems/rubygems/commit/d198ec36f2

commit d2da774f870ecf51f465dd4081a7349812efaac4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-31 13:49:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 07:04:04 +0900

    [rubygems/rubygems] Rename wrapper files for vendored libraries with 'vendored_' prefix

    https://github.com/rubygems/rubygems/commit/cfc908c8c1

commit b8572c3f16f1633b25d3a2e9bf98d3454f881a57
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-02-27 05:09:34 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-02-27 07:03:49 +0900

    BASERUBY is now >= 3.0

commit c9b6cd4223ec21e8eea65babd2543c6fbca57890
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 01:13:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-27 04:34:24 +0900

    Remove unused rb_objspace_each_objects_without_setup

commit 34bad6d69f7a7fa10a4e5aa48a6895afc9aebf1e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-27 02:45:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 03:29:00 +0900

    [ruby/prism] Triple-check prism encodings

    https://github.com/ruby/prism/commit/ab7f261354

commit 27e3e44390cf83f1c11f33c0f73c5034a675ccea
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 01:38:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-27 01:38:44 +0900

    Fix verify_internal_consistency_i for zombie objects

    FL_FINALIZE is now kept for zombie objects.

commit 1ce3d9acbf59415f18a2d0ddf4a846cedf17a375
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-26 23:35:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-26 23:48:17 +0900

    [ruby/prism] Fix xstring heredoc parser translator

    https://github.com/ruby/prism/commit/4e0f703975

commit 99d0f687fc4928e06196a695e553acb029d17b61
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-26 23:26:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-26 23:35:00 +0900

    [ruby/prism] Fix parser translator for pinned expression

    https://github.com/ruby/prism/commit/eeae07193b

commit af3145bb2446f27f895e78cfab49eea23fad8865
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-26 23:18:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-26 23:26:53 +0900

    [ruby/prism] Handle negated numeric in parser translation

    https://github.com/ruby/prism/commit/5877a95be4

commit 83e676e5f9049168047c36d1bbd75ac342e6fed6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-24 03:50:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-26 23:20:05 +0900

    Don't lookup finalizers if FL_FINALIZE flag not set

    The FL_FINALIZE flag is set when there are finalizers for the object. We
    can improver performance by not looking up in the table if the flag is
    not set.

    Using the following C extension:

        #include "ruby/ruby.h"

        static void data_free(void *_ptr) {}

        static const rb_data_type_t data_type = {
            "my_type",
            {
                NULL,
                data_free,
            },
            0, 0, 0
        };

        static VALUE data_alloc(VALUE klass) {
            return TypedData_Wrap_Struct(klass, &data_type, (void *)1);
        }

        void Init_myext(void) {
            VALUE my_klass = rb_define_class("MyClass", rb_cObject);
            rb_define_alloc_func(my_klass, data_alloc);
        }

    And the following benchmark:

        require "benchmark"

        final_objs = 1_000_000.times.map do
          o = Object.new
          ObjectSpace.define_finalizer(o, proc {})
          o
        end

        puts(Benchmark.measure do
          100_000_000.times do
            MyClass.new
          end
        end)

    Before:

        10.974190   0.355037  11.329227 ( 11.416772)

    After:

        7.664310   0.347598   8.011908 (  8.268969)

commit 1a57fee7af872a4efa94ba0e8f350c6ee6617f80
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-26 22:46:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-26 22:58:57 +0900

    [ruby/prism] Fix multi write with modifier rescue

    https://github.com/ruby/prism/commit/8ea7a3270f

commit 815db5c0289f5bbea2af275933ba6a4bf60a6967
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-26 22:45:30 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-26 22:45:30 +0900

    Update to ruby/spec@3a510bb

commit 40c9a3dad5bc18213eb9b5ad21aa00580c12c77b
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-26 22:45:28 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-26 22:45:28 +0900

    Update to ruby/mspec@36e8ed8

commit 1ca3482e0a7a6a528a648ce285dc344b0f6eef14
  Author:     Pierrick Bouvier <pierrick.bouvier@linaro.org>
  AuthorDate: 2024-02-26 16:03:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-26 20:45:48 +0900

    Fix compilation for platforms without pthread

    Found when compiling ruby for windows-arm64 using msys2

    Missing return type for function Init_lock_native_thread
    lock_native_thread.c:45:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
       45 | Init_lock_native_thread(void)
          | ^
          | int

commit dddf62426b7a384715dd558773723ecbdfa37a11
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-25 17:14:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-26 15:56:28 +0900

    [ruby/tempfile] Use `IO.popen` to list files

    - Redirect `git ls-files` without shelling out.

    - When building by `gem`, `__FILE__` is the path name given in the
      command line, or the gemspec file name in the current directory.  In
      that case, comparison it and expanded path never equal.  Compare
      listed file names with the base name of `__FILE__` instead.

    https://github.com/ruby/tempfile/commit/ac5bab8c7a

commit 38e3ad267569f38336458d461791b4a1cd79b5d1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-25 17:03:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-26 15:55:17 +0900

    Update gemspec according to the recent bundler template

commit 164e464b042239cdbd14d3751a7f907754d580ce
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-02-26 09:45:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-26 15:54:54 +0900

    [ruby/strscan] Add a method for peeking and reading bytes as
    integers
    (https://github.com/ruby/strscan/pull/89)

    This commit adds `scan_byte` and `peek_byte`. `scan_byte` will scan the
    current byte, return it as an integer, and advance the cursor.
    `peek_byte` will return the current byte as an integer without advancing
    the cursor.

    Currently `StringScanner#get_byte` returns a string, but I want to get
    the current byte without allocating a string. I think this will help
    with writing high performance lexers.

    ---------

    https://github.com/ruby/strscan/commit/873aba2e5d

    Co-authored-by: Sutou Kouhei <kou@clear-code.com>

commit 7176c186d0d794bf89eac0645205c3f3d2d40f2d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-23 01:51:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-26 15:27:38 +0900

    [rubygems/rubygems] Fix `Fiddle::Handle` leaks

    Windows disallows to unlink opened files.

    https://github.com/rubygems/rubygems/commit/e0b63754bf

commit 7dd4b30b77241965fe94f173c382d0f8766d1fd3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-23 01:46:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-26 15:27:37 +0900

    [rubygems/rubygems] The temporary directory must been removed

    On Windows, open files cannot be removed and `FileUtils.rm_rf` just
    silently fails.  This means also handle leaks, not only temporary file
    leaks.

    https://github.com/rubygems/rubygems/commit/80a9c3ec08

commit 65f40967d5c2ee2df1755f8a9159553df15e6295
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-21 22:35:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-26 15:27:37 +0900

    [rubygems/rubygems] Get rid of too long paths

    This is a fix-up of #7483.

    Test method names in Rubygems are often very long, and the path under
    the temporary directory generated from them can easily exceed system
    limits.

    Even without including the method name in the path name, by saving the
    method and path name pair, it is possible to find the method from the
    remaining path name.

    https://github.com/rubygems/rubygems/commit/de55064a3d

commit 91ec1fc4e79d0070a029e6bd006afe04cdf26c9f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-26 15:27:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-26 15:27:26 +0900

    Revert "Revert rubygems tempdir check"

    This reverts commit 6aa5067ab970e70693529cde5102fab587158f7f.

commit 459198999e57652e32817b566ad47443f4bbcedc
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-02-24 10:09:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-26 13:20:29 +0900

    Expand Launchable into ubuntu workflow

commit d4e24021d39e1f80f0055b55d91f8d5f22e15084
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-26 13:12:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-26 13:12:05 +0900

    Revise 9ec342e07df6aa5e2c2e9003517753a2f1b508fd

commit a0f7de814ae5c299d6ce99bed5fb308a05d50ba0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-26 12:29:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-26 12:29:23 +0900

    [Bug #20296] Fix the default assertion message

commit 9ec342e07df6aa5e2c2e9003517753a2f1b508fd
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-02-26 12:14:11 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-26 12:14:11 +0900

    Introduction of Happy Eyeballs Version 2 (RFC8305) in Socket.tcp (#9374)

    * Introduction of Happy Eyeballs Version 2 (RFC8305) in Socket.tcp

    This is an implementation of Happy Eyeballs version 2 (RFC 8305) in Socket.tcp.

    [Background]
    Currently, `Socket.tcp` synchronously resolves names and makes connection attempts with `Addrinfo::foreach.`
    This implementation has the following two problems.

    1. In name resolution, the program stops until the DNS server responds to all DNS queries.
    2. In a connection attempt, while an IP address is trying to connect to the destination host and is taking time, the program stops, and other resolved IP addresses cannot try to connect.

    [Proposal]
    "Happy Eyeballs" ([RFC 8305](https://datatracker.ietf.org/doc/html/rfc8305)) is an algorithm to solve this kind of problem. It avoids delays to the user whenever possible and also uses IPv6 preferentially.

    I implemented it into `Socket.tcp` by using `Addrinfo.getaddrinfo` in each thread spawned per address family to resolve the hostname asynchronously, and using `Socket::connect_nonblock` to try to connect with multiple addrinfo in parallel.

    [Outcome]

    This change eliminates a fatal defect in the following cases.

    Case 1. One of the A or AAAA DNS queries does not return

    ---
    require 'socket'

    class Addrinfo
      class << self
        # Current Socket.tcp depends on foreach
        def foreach(nodename, service, family=nil, socktype=nil, protocol=nil, flags=nil, timeout: nil, &block)
          getaddrinfo(nodename, service, Socket::AF_INET6, socktype, protocol, flags, timeout: timeout)
            .concat(getaddrinfo(nodename, service, Socket::AF_INET, socktype, protocol, flags, timeout: timeout))
            .each(&block)
        end

        def getaddrinfo(_, _, family, *_)
          case family
          when Socket::AF_INET6 then sleep
          when Socket::AF_INET then [Addrinfo.tcp("127.0.0.1", 4567)]
          end
        end
      end
    end

    Socket.tcp("localhost", 4567)
    ---

    Because the current `Socket.tcp` cannot resolve IPv6 names, the program stops in this case. It cannot start to connect with IPv4 address.
    Though `Socket.tcp` with HEv2 can promptly start a connection attempt with IPv4 address in this case.

     Case 2. Server does not promptly return ack for syn of either IPv4 / IPv6 address family

    ---
    require 'socket'

    fork do
      socket = Socket.new(Socket::AF_INET6, :STREAM)
      socket.setsockopt(:SOCKET, :REUSEADDR, true)
      socket.bind(Socket.pack_sockaddr_in(4567, '::1'))
      sleep
      socket.listen(1)
      connection, _ = socket.accept
      connection.close
      socket.close
    end

    fork do
      socket = Socket.new(Socket::AF_INET, :STREAM)
      socket.setsockopt(:SOCKET, :REUSEADDR, true)
      socket.bind(Socket.pack_sockaddr_in(4567, '127.0.0.1'))
      socket.listen(1)
      connection, _ = socket.accept
      connection.close
      socket.close
    end

    Socket.tcp("localhost", 4567)
    ---

    The current `Socket.tcp` tries to connect serially, so when its first name resolves an IPv6 address and initiates a connection to an IPv6 server, this server does not return an ACK, and the program stops.
    Though `Socket.tcp` with HEv2 starts to connect sequentially and in parallel so a connection can be established promptly at the socket that attempted to connect to the IPv4 server.

    In exchange, the performance of `Socket.tcp` with HEv2 will be degraded.

    ---
    100.times { Socket.tcp("www.ruby-lang.org", 80) }
    ---

    This is due to the addition of the creation of IO objects, Thread objects, etc., and calls to `IO::select` in the implementation.

    * Avoid NameError of Socket::EAI_ADDRFAMILY in MinGW

    * Support Windows with SO_CONNECT_TIME

    * Improve performance

    I have additionally implemented the following patterns:

    - If the host is single-stack, name resolution is performed in the main thread. This reduces the cost of creating threads.
    - If an IP address is specified, name resolution is performed in the main thread. This also reduces the cost of creating threads.
    - If only one IP address is resolved, connect is executed in blocking mode. This reduces the cost of calling IO::select.

    Also, I have added a fast_fallback option for users who wish not to use HE.
    Here are the results of each performance test.

    ```ruby
    require 'socket'
    require 'benchmark'

    HOSTNAME = "www.ruby-lang.org"
    PORT = 80

    ai = Addrinfo.tcp(HOSTNAME, PORT)

    Benchmark.bmbm do |x|
      x.report("Domain name") do
        30.times { Socket.tcp(HOSTNAME, PORT).close }
      end

      x.report("IP Address") do
        30.times { Socket.tcp(ai.ip_address, PORT).close }
      end

      x.report("fast_fallback: false") do
        30.times { Socket.tcp(HOSTNAME, PORT, fast_fallback: false).close }
      end
    end
    ```

    ```
                               user     system      total        real
    Domain name            0.015567   0.032511   0.048078 (  0.325284)
    IP Address             0.004458   0.014219   0.018677 (  0.284361)
    fast_fallback: false   0.005869   0.021511   0.027380 (  0.321891)
    ````

    And this is the measurement result when executed in a single stack environment.

    ```
                               user     system      total        real
    Domain name            0.007062   0.019276   0.026338 (  1.905775)
    IP Address             0.004527   0.012176   0.016703 (  3.051192)
    fast_fallback: false   0.005546   0.019426   0.024972 (  1.775798)
    ```

    The following is the result of the run on Ruby 3.3.0.

    (on Dual stack environment)

    ```
                     user     system      total        real
    Ruby 3.3.0   0.007271   0.027410   0.034681 (  0.472510)
    ```

    (on Single stack environment)

    ```
                     user     system      total        real
    Ruby 3.3.0  0.005353   0.018898   0.024251 (  1.774535)
    ```

    * Do not cache `Socket.ip_address_list`

    As mentioned in the comment at https://github.com/ruby/ruby/pull/9374#discussion_r1482269186, caching Socket.ip_address_list does not follow changes in network configuration.
    But if we stop caching, it becomes necessary to check every time `Socket.tcp` is called whether it's a single stack or not, which could further degrade performance in the case of a dual stack.
    From this, I've changed the approach so that when a domain name is passed, it doesn't check whether it's a single stack or not and resolves names in parallel each time.

    The performance measurement results are as follows.

    require 'socket'
    require 'benchmark'

    HOSTNAME = "www.ruby-lang.org"
    PORT = 80

    ai = Addrinfo.tcp(HOSTNAME, PORT)

    Benchmark.bmbm do |x|
      x.report("Domain name") do
        30.times { Socket.tcp(HOSTNAME, PORT).close }
      end

      x.report("IP Address") do
        30.times { Socket.tcp(ai.ip_address, PORT).close }
      end

      x.report("fast_fallback: false") do
        30.times { Socket.tcp(HOSTNAME, PORT, fast_fallback: false).close }
      end
    end

                               user     system      total        real
    Domain name            0.004085   0.011873   0.015958 (  0.330097)
    IP Address             0.000993   0.004400   0.005393 (  0.257286)
    fast_fallback: false   0.001348   0.008266   0.009614 (  0.298626)

    * Wait forever if fallback addresses are unresolved, unless resolv_timeout

    Changed from waiting only 3 seconds for name resolution when there is no fallback address available, to waiting as long as there is no resolv_timeout.
    This is in accordance with the current `Socket.tcp` specification.

    * Use exact pattern to match IPv6 address format for specify address family

commit f23d5028059078a346efc977287b669d494a5a3f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-26 11:30:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-26 11:56:38 +0900

    [Bug #20296] Refine the test

commit dc146babf47a84bbd1f176d766637d4a40327019
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-26 10:48:54 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-26 11:56:38 +0900

    [Bug #20296] Clear errinfo when `exception: false`

commit c976cb52a2594e9eb147df126617d430766c9d18
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-26 00:22:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-26 00:22:33 +0900

    [ruby/irb] Add help messages to `show_source` and `show_doc`
    commands
    (https://github.com/ruby/irb/pull/887)

    * Add help message to the show_source command

    * Add help message to the show_doc command

    https://github.com/ruby/irb/commit/06f43aadb3

commit 898f30f8bd064c9803625c98a3e46bd3434ff1bb
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-26 00:20:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-26 00:21:00 +0900

    [ruby/irb] Refactor IRB::Context#prompting
    (https://github.com/ruby/irb/pull/889)

    https://github.com/ruby/irb/commit/7b323ee514

commit c16b507563b72b33277e9b9745cb1e41e1bcf93f
  Author:     Adam Daniels <adam@mediadrive.ca>
  AuthorDate: 2024-02-25 17:36:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-25 17:36:42 +0900

    [ruby/tmpdir] [DOC] `require` inside each method on Dir

    (https://github.com/ruby/tmpdir/pull/31)

    https://github.com/ruby/tmpdir/commit/a1ec977923

commit c0c56d1714b44d30d69b51127f9c97df21322d58
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-25 17:14:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-25 17:32:09 +0900

    [ruby/tmpdir] Use `IO.popen` to list files

    - Redirect `git ls-files` without shelling out.

    - When building by `gem`, `__FILE__` is the path name given in the
      command line, or the gemspec file name in the current directory.  In
      that case, comparison it and expanded path never equal.  Compare
      listed file names with the base name of `__FILE__` instead.

    https://github.com/ruby/tmpdir/commit/f505e3f7cb

commit 2c1b7bc51c335d85da994c87dfb37c0e3c894eb9
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-25 17:07:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-25 17:07:07 +0900

    [ruby/reline] Bump version to v0.4.3
    (https://github.com/ruby/reline/pull/642)

    https://github.com/ruby/reline/commit/5137a3f3af

commit 2721a64e4192fee250442cd6157c5a85908a20d4
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-25 16:08:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-25 16:08:34 +0900

    [ruby/reline] Use gray and white as the default dialog theme
    (https://github.com/ruby/reline/pull/637)

    I think this has a few benefits:

    1. Most terminal themes generally don't change or pick similar colors
       for their black and white colors, so it's more likely to be consistent
        across terminals/themes.
    2. They don't have the potential color-blind issues that other color options
       may have.
    3. We won't need additional changes for no color mode.

    https://github.com/ruby/reline/commit/6579a0a737

commit 7356067b73f9f1a4c8a06546611ec242af1fa192
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-25 14:03:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-25 14:04:12 +0900

    [ruby/tmpdir] Update gemspec according to the recent bundler template

    https://github.com/ruby/tmpdir/commit/4ef7bc4f2a

commit 012a0b91252da7b3b23e679dd50a1571a59f5a21
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-25 13:06:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-25 13:39:22 +0900

    [ruby/resolv] Simplify adding new entries

    https://github.com/ruby/resolv/commit/081b8df705

commit 30b99868f999f58ab856a2a3d69c8b068b9b5803
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-04-28 21:59:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-25 13:39:22 +0900

    [ruby/resolv] Treat hostname as same as aliases

    https://github.com/ruby/resolv/commit/fa812d6454

commit 2c0cf6837cc22d2d240f743d54a93f4dbe5acf5c
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-02-24 17:53:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-25 12:50:42 +0900

    Launchable: Fix the warning of pip

commit e9e752c7efe95e7166c7bb59277b6e3afe11851c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-24 13:18:41 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-24 13:19:37 +0900

    Assert running_iseq before using it

    When running_iseq happens to be 0, it's better to fail on the assertion
    rather than referencing the null pointer.

commit 804b2a3787e17ccc4537b4c525d4f81adc27ab7c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 12:21:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:29 +0900

    [ruby/prism] Rebase against main

    https://github.com/ruby/prism/commit/813e20d449

commit aa8841405bd48ac61b3c1397dd864ed2db3b3b2a
  Author:     Gopal Patel <gopal@qualified.com>
  AuthorDate: 2024-02-23 03:38:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:28 +0900

    [ruby/prism] Less code modifications. More steep:ignore for now

    https://github.com/ruby/prism/commit/7905bdbf83

commit dfee03374632f4da40587cf62858b92da5022a9a
  Author:     Gopal Patel <gopal@qualified.com>
  AuthorDate: 2024-02-21 06:48:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:28 +0900

    [ruby/prism] Replace awkward code changes with steep:ignore

    Also remove RBS for currently ignored files. Will follow-up when those
    check fully in later PRs.

    https://github.com/ruby/prism/commit/2cae58f86d

commit 66565e36eae8a3dff53f86b3d04bf749e0b07a94
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2024-01-10 14:20:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:26 +0900

    [ruby/prism] Add documentation for Location#source!

    https://github.com/ruby/prism/commit/467e1cc2c4

commit 8fa18435234335afbf17bda88324a620e15a4323
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2024-01-10 14:13:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:26 +0900

    [ruby/prism] Relax Location#source to be optional

    https://github.com/ruby/prism/commit/9f00fe7510

commit bfbaafbd9cd24cb1a7f9d653a75c883480c6078f
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2024-01-09 17:39:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:26 +0900

    [ruby/prism] Make rake check_annotations verify public RBS

    https://github.com/ruby/prism/commit/db78eef6a2

commit ca8a6265862b2990a14f6a6dabc27228e9d5a995
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2024-01-09 15:25:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:25 +0900

    [ruby/prism] Fix my RipperCompat logic mistake from expansion for steep flow analysis

    https://github.com/ruby/prism/commit/f71a390c12

commit 935d4fab62eb2c578508d8d3cfcd0f726b965db6
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2024-01-09 08:28:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:23 +0900

    [ruby/prism] Remove Ripper from public RBS, type-assert remaining issues

    https://github.com/ruby/prism/commit/5fda7a0760

commit 7556fd937cfedbee9775b92124fcdce5c416dd50
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2024-01-09 03:31:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:22 +0900

    [ruby/prism] Split private types

    https://github.com/ruby/prism/commit/0209d093ec

commit e03e9c3644c3c5a8713e1fed547da0c0becf36de
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2023-12-21 13:41:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:20 +0900

    [ruby/prism] wip: node unions

    https://github.com/ruby/prism/commit/99a71675d4

commit 46fe3dc799e937fcd369f6c22a038c9fc35a7328
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2023-12-21 13:44:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:20 +0900

    [ruby/prism] Fix IgnoredNewlineToken comparison of Ripper::Lexer::State

    https://github.com/ruby/prism/commit/8c9502f61b

commit b9b0712556980a3af91c976c3fee8ba0e21c39a0
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2023-12-19 07:22:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:19 +0900

    [ruby/prism] Use steep to type check RBS and Ruby files

    https://github.com/ruby/prism/commit/eabed9f4fd

commit fc656acee9d17f72d9f7b09630d7f03e981beef3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 11:56:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-24 11:56:56 +0900

    [PRISM] Sync to latest prism

commit e439419baaf298b562cfbf7d98d3ce1cf608ab08
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-24 09:21:33 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-24 09:21:36 +0900

    [DOC] Fix a typo

commit a255b43ff11ed06519ba0224cc6cbb2626969666
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-24 07:17:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-24 07:17:12 +0900

    Update common.mk

commit 96907f94953d0fac3ca518f755b54ea5098ae5eb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 04:15:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 06:54:01 +0900

    [ruby/prism] Convert pm_integer_t to strings

    https://github.com/ruby/prism/commit/fa9a30ad91

commit e45849419427963a353b2580d9ae4c4faaf2f3ba
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-02-24 05:53:39 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-24 05:53:39 +0900

    [DOC] Doc for command line options (#10059)

commit ec6532b458b34e907a2474bab70642414bbb0d05
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 04:43:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 05:02:19 +0900

    [ruby/prism] Add some encoding debugging to make testing easier

    https://github.com/ruby/prism/commit/0c042561c6

commit ce8531fed4c7295aee94d24124914441db578136
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-24 01:05:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-24 04:08:29 +0900

    Stop using rb_str_locktmp_ensure publicly

    rb_str_locktmp_ensure is a private API.

commit 8a6740c70edf39cdf6230659d191240c43dc6d22
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-24 04:08:09 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-24 04:08:09 +0900

    YJIT: Lazily push a frame for specialized C funcs (#10080)

    * YJIT: Lazily push a frame for specialized C funcs

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>

    * Fix a comment on pc_to_cfunc

    * Rename rb_yjit_check_pc to rb_yjit_lazy_push_frame

    * Rename it to jit_prepare_lazy_frame_call

    * Fix a typo

    * Optimize String#getbyte as well

    * Optimize String#byteslice as well

    ---------

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>

commit 50ace992c75724aac6765b944f9017e21901e276
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-02-13 03:16:25 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-24 03:59:10 +0900

    [Bug #20234] Fix segv when parsing begin statement in method definition

    In a method definition, the `begin` may not have an `nd_body`. When that
    happens we get a null expr back from `last_expr_node` which causes a
    segv for the following examples:

    ```ruby
    def (begin;end).foo; end
    def (begin;else;end).foo; end
    def (begin;ensure;else;end).foo; end
    ```

    In addition, I've added tests for other cases that weren't causing a
    segv but appeared untested.`

    Fixes https://bugs.ruby-lang.org/issues/20234

commit 510404f2def62918849797e742642254700e3608
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-23 06:14:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-24 03:33:46 +0900

    Stop using rb_fstring publicly

    rb_fstring is a private API, so we should use rb_str_to_interned_str
    instead, which is a public API.

commit 01f9b2ae4142f0c0d3d2dec9ea141572265d05b2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-23 06:30:59 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-24 03:33:46 +0900

    Use rb_str_to_interned_str in parse.y

    This commit changes rb_fstring to rb_str_to_interned_str in parse.y.
    rb_fstring is private so it shouldn't be used by ripper.

commit 9a09e27a73898221656f9bd67a2edf1dc0475d60
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 02:39:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-24 03:25:31 +0900

    [PRISM] Use new static literal comparisons

commit 02b531a813a6d68eea8b93aaf33fac57837ad90c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 02:39:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-24 03:25:31 +0900

    [ruby/prism] Factor in sign to integer comparison

    https://github.com/ruby/prism/commit/377666a5df

commit b9202788f8a1098994082aee5bcb9f6d0cc73eb0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 01:44:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-24 03:25:31 +0900

    [ruby/prism] Refactor pm_node_list_insert to use a binary search

    https://github.com/ruby/prism/commit/a060b21e1d

commit a38cc177d29e13cf8116f7c08b408717a4edced1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 01:05:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-24 03:25:31 +0900

    [ruby/prism] Duplicated when clauses

    https://github.com/ruby/prism/commit/865b0d5fbe

commit d1ce989829927a4215952983babadfd1df1b505f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 00:36:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-24 03:25:31 +0900

    [ruby/prism] Duplicated hash keys

    https://github.com/ruby/prism/commit/3e10c46c14

commit 73dd3ce03e3a0a58a157607385418d7a3724752c
  Author:     Akira Matsuda <ronnie@dio.jp>
  AuthorDate: 2023-01-07 04:10:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 02:56:08 +0900

    [ruby/ipaddr] Prefer String#start_with? over Regexp.match

    https://github.com/ruby/ipaddr/commit/054fe12ec4

commit 6ad52e336d1733a0740186b7ee4df60c6e79030a
  Author:     Akira Matsuda <ronnie@dio.jp>
  AuthorDate: 2023-01-07 04:23:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 02:55:33 +0900

    [ruby/ipaddr] String#split seems to be faster than capturing digits with Regexp

    https://github.com/ruby/ipaddr/commit/e0feb0708b

commit 32f8ed7afd3234bc3c81936e5633cbf454723c49
  Author:     Mike Shaver <mike.shaver@shopify.com>
  AuthorDate: 2024-02-24 01:18:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-24 02:54:31 +0900

    Typo fix.

commit 8b2c421a1741efc6f1aec6d9b7f0cd69bac097f4
  Author:     Marek Küthe <m.k@mk16.de>
  AuthorDate: 2024-02-13 03:09:18 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-24 02:47:09 +0900

    Add option for mtu discovery flag

    Signed-off-by: Marek Küthe <m.k@mk16.de>

commit 4bb432722832b6451a289d906b08db322de6bad7
  Author:     Marek Küthe <m.k@mk16.de>
  AuthorDate: 2024-02-13 01:41:14 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-24 02:47:09 +0900

    Fixes [Bug #20258]

    Signed-off-by: Marek Küthe <m.k@mk16.de>

commit df5b8ea4dbcc9a84969c4b941ffd0a5f468fd0fa
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-23 06:02:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-24 00:24:21 +0900

    Remove unneeded RUBY_FUNC_EXPORTED

commit 386a00663092fc5eff0770dcb4b4ce5d6797dd74
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-23 08:03:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-24 00:24:21 +0900

    Use rb_hash_foreach in objspace.c

    Using RHASH_TBL_RAW is a private API, so we should use rb_hash_foreach
    rather than RHASH_TBL_RAW with st_foreach.

commit 6bd3e8fbb2b0645f535858b3bd3bcb7242a6a438
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-23 07:02:36 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-24 00:24:21 +0900

    Use rb_hash_foreach in coverage

    Using RHASH_TBL_RAW is a private API, so we should use rb_hash_foreach
    rather than RHASH_TBL_RAW with st_foreach.

commit ea2fb7460e8bb15d420cbcc50c2722eb3c302815
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-23 22:11:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-23 22:11:20 +0900

    [ruby/irb] Remove useless loaded file check
    (https://github.com/ruby/irb/pull/885)

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

commit 3371936b6f863ab0aae0ad5a106cad03b377b88e
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-01-31 16:45:11 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-02-23 22:10:01 +0900

    Add Launchable into CI

commit 7da3f8dcd34a58ce806cf2d8b22edb3261dea131
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-23 21:49:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-23 21:50:08 +0900

    [ruby/optparse] [DOC] About return value of OptionParser#new

    https://github.com/ruby/optparse/commit/59b9fd7ddc

commit f0172fc7ee9f0c27cb543f52deae477c9ada4c79
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-23 21:32:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-23 21:32:59 +0900

    [ruby/irb] Remove workaround for empty lines in dynamic_prompt
    (https://github.com/ruby/irb/pull/884)

    https://github.com/ruby/irb/commit/820b9e8dd6

commit 598b03648f3277d65ab12a8cfb63222474788037
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-23 21:32:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-23 21:32:50 +0900

    [ruby/irb] Remove remaining `frozen_string_literal: false` in lib/
    (https://github.com/ruby/irb/pull/883)

    https://github.com/ruby/irb/commit/4bfdb23ae6

commit 41c0fb699139f82c92414638a7b31565d9841f1c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-21 13:42:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-23 21:16:59 +0900

    [ruby/optparse] Add `exact:` keyword argument

    https://github.com/ruby/optparse/commit/07e83673a8

commit 4831bb5babb0743dce7aa6db6c2258d62ff962af
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-23 19:53:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-23 19:53:53 +0900

    [ruby/irb] Turn on frozen literal in files
    (https://github.com/ruby/irb/pull/881)

    https://github.com/ruby/irb/commit/83d90550c2

commit 37dde6e2f82304848636015c0ce032cbdb5cd2a9
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-23 19:02:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-23 19:02:19 +0900

    [ruby/irb] Unroll extension method generation
    (https://github.com/ruby/irb/pull/882)

    * Unroll extension method generation

    Given we only have 2 remaining extension setter methods, both of which
    only take 1 argument and don't have any alias, the current method generation
    logic is overly complicated.

    This commit simplifies the method generation logic by simply defining
    the methods directly in the `IRB::Context` class.

    * Fix use_loader extension

    https://github.com/ruby/irb/commit/67eba5401b

commit f403660805bafd86d4ff8c56094af8d48f58a24d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-23 13:55:31 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-23 13:55:43 +0900

    Fallback more macos-arm-oss jobs to macos-14

    A follow-up on https://github.com/ruby/ruby/pull/10074

commit a154ea0c91b64cd7fb4d56e7ea6840488a68cb1d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-23 11:22:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-23 12:42:44 +0900

    [ruby/prism] Ignore other ERANGE errors for floats

    https://github.com/ruby/prism/commit/4267161ca7

commit 40165354045613441adfab40bcec61b358cdae78
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-23 10:22:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-23 12:42:44 +0900

    [PRISM] Integrate new number parsing

commit 5e0589cf52113e012b48044e7e8773a2ab3ee58d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-23 05:53:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-23 12:42:44 +0900

    [ruby/prism] Parse float values

    https://github.com/ruby/prism/commit/9137226a52

commit 3b3def5db7c27e985c12d8d2cf0f77ef3eb63744
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-23 00:55:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-23 12:42:44 +0900

    [ruby/prism] Regenerate snapshots using integer values

commit af0a6ea1d5253379bd634b41ed95d8e9feed8b44
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-23 00:55:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-23 12:42:44 +0900

    [ruby/prism] Add an IntegerField for parsing integer values

    https://github.com/ruby/prism/commit/120d8c0479

commit ff6ebba9deccd4d7514d416ea4910de7717194cd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2023-12-16 04:20:58 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-23 12:42:44 +0900

    [ruby/prism] Parse numeric values

    https://github.com/ruby/prism/commit/a6a552411c

commit 3ca6da24e397e550d589a69791be7697c0cb73c6
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-23 09:30:14 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-23 11:12:08 +0900

    [Bug #20295] Fix SEGV when parsing invalid regexp

commit d5080f6e8b77364483ff6727b1065e45e180f05d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-23 09:11:24 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-23 09:11:30 +0900

    Fix -Wsign-compare on String#initialize

    ../string.c:1886:57: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘long int’ [-Wsign-compare]
     1886 |                 if (STR_EMBED_P(str)) RUBY_ASSERT(osize <= str_embed_capa(str));
          |                                                         ^~

commit 38bf622cdc9d2b338156e3bfe75858e26acd9e49
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-23 08:28:46 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-23 08:28:46 +0900

    Fix -Wmaybe-uninitialized on Complex#** (#10075)

commit cdca94208f18b0921340906a1cb43f88737539e2
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-23 08:15:03 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-23 08:15:03 +0900

    Fallback every macos-arm-oss usage to macos-14 (#10074)

commit bccf4b30fa251dd4394d4ad477bad53c624d2aba
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-23 07:34:19 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-23 07:34:19 +0900

    Skip under_gc_compact_stress on s390x (#10073)

commit 2b0bc447e5b4057253f7cb8480fc6338f6528858
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-23 07:32:52 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-23 07:32:52 +0900

    Remove unused matrix.configure from macos.yml

commit 3c61222d68e192e3c3908f45749aacfb591a169a
  Author:     Philip Mueller <mail@philip.in-aachen.net>
  AuthorDate: 2024-02-23 04:10:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-23 06:43:02 +0900

    [ruby/prism] all constant nodes should have full_name and full_name_parts methods

    https://github.com/ruby/prism/commit/792265ae0b

commit 9d8d029e327ef3fc0d45b68f51d78c28a3ae7dad
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-23 05:52:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-23 05:52:57 +0900

    Remove unused variable in imemo.c

    The variable klass is only used in debug builds and generates a warning
    on non-debug builds.

commit a16fefcff5b8e95ae2ae7154625b3903d0bcd54d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-23 03:33:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-23 03:33:42 +0900

    YJIT: Optimize attr_writer (#9986)

    * YJIT: Optimize attr_writer

    * Comment about StackOpnd vs SelfOpnd

commit e65315a7253c58ad2d3bbf5482723976ff3d6640
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-22 05:48:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-23 01:35:09 +0900

    Extract imemo functions from gc.c into imemo.c

commit e04146129ec6898dd6a9739dad2983c6e9b68056
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 22:46:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-22 22:46:18 +0900

    [Bug #20292] Truncate embedded string to new capacity

commit 88431c47baccff2b5b5e12d059f0cb1f12ef29d1
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-22 22:16:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 22:16:46 +0900

    [ruby/irb] Delete IRB::NotImplementedError
    (https://github.com/ruby/irb/pull/878)

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

commit 183c574d54c000e77004b5873ba2c492e4819853
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 22:05:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-22 22:05:04 +0900

    Save the performance warning flag

commit d597335c6d92bf1e4744618c183af0c4c7c39623
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 20:18:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-22 20:18:49 +0900

    Remove unused variable

    It was used only in old `SAVE_ROOT_JMPBUF`, and the warning was
    suppressed by this macro.

commit 6478514502ddf0461412c5a6df2f36a13af6a928
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-02-21 01:29:33 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-02-22 20:05:54 +0900

    CI: Refactor a logic for skipped tests.

    * Make the make's TESTS argument update easily by updating TESTS env with added steps.
    * Use the `$(...)` rather than backquotes.
      See <https://www.shellcheck.net/wiki/SC2006>.
    * Use double-quotes for the make's argument `TESTS="$(...)"` to support
      space-separated skipped tests such as
      `skipped_tests: 'TestGem#test_.* TestMkmf.*'`.
    * Replace the `matrix.skipped_tests != ''` with `matrix.skipped_tests`.
      I think that these expressions are equivalent.
      See <https://docs.github.com/en/actions/learn-github-actions/expressions#functions>
      for details.
      > Type - Result
      > Null - ''

commit 133d774382351edf21d1b73f2310b71c0af9a156
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 19:02:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-22 19:45:38 +0900

    Cover all warning category options

commit 7d112b04c722862716486c6bda3bbd2f9aa9dc0f
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-21 13:43:17 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-22 19:08:20 +0900

    Use `rb_encoding *` as literal hash of NODE_ENCODING

    This reduces dependency on VALUE.

commit 6a0b05f413931cf24c149c29cc317d2b9c623885
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-02-22 18:35:54 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-22 18:35:54 +0900

    Remove `SAVE_ROOT_JMPBUF` as it no longer has any effect. (#10066)

commit b7f5c8003639b86cea50389fac541e2565e7e694
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-02-21 22:12:47 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-22 18:22:01 +0900

    Use `terms?` instead of `opt_terms`

commit e1c684e4711eacdb3520c55d11415217026dd892
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 14:50:46 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-22 15:43:46 +0900

    Refactor to use `struct string_part`

commit 97a39ccc2cada2eb5d25ec74169d6a513356ff38
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 13:24:42 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-22 15:43:46 +0900

    Split `init_funcname`

    Extract `build_funcname` that takes the prefix as an argument, and
    `concat_funcname` that concats the parts.

commit 9f8f32bf9f3758ba67dd2afe7e07d9eccb68bbc7
  Author:     Martin Emde <martin.emde@gmail.com>
  AuthorDate: 2023-12-22 07:11:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 15:42:06 +0900

    [ruby/zlib] In Zlib::GzipReader#eof? check if we're actually at eof

    Only consider it eof if we read ahead and something fills the buf.
    If not, we may only have empty blocks and the footer.

    Fixes https://github.com/ruby/zlib/pull/56

    https://github.com/ruby/zlib/commit/437bea8003

commit 35f68e7dff0dc67386f07c6d1ad48719c713c690
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-22 08:09:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-22 08:09:17 +0900

    YJIT: Assert Opnd::Stack's SP expectation (#10061)

commit 5f00b2dcb66ba398aeaa6e2db67d1cfcb7f3ffb2
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-22 08:05:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-22 08:05:40 +0900

    Fix the insn position shown by rb_vm_check_canary (#10062)

commit be96dc9f8c0af531a0d0f5f880e081a9140456e3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-22 07:25:20 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 07:55:11 +0900

    [PRISM] Support it local variable

commit 31735d77c5ed72afe4b0d8125681fde335d9dcd0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-22 05:34:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 07:55:11 +0900

    [ruby/prism] Update for Ruby 3.4 errors

    https://github.com/ruby/prism/commit/20fea2cf2b

commit 90c5393f9f7086e59ba5461ba7153bbed925402f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-22 04:11:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 07:55:11 +0900

    [ruby/prism] Support ItParametersNode

    So that compilers know they need to add to add an anonymous
    variable to the local table.

    https://github.com/ruby/prism/commit/7f1aadd057

commit 0be09967fee9eda531260e027094d619e034c425
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-22 07:42:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-22 07:42:23 +0900

    YJIT: Grab stack operands after SP change in String#byteslice (#10060)

    Previously, `StackOperand`s caching `sp_offset` was held across a
    jit_prepare_call_with_gc(), which invalidates the offsets. With the
    right register allocation state, the canary overlapped with the old
    address of the receiver and YJIT clobbered the receiver writing the
    canary.

commit 551f64745fa0ba0ea70812f63495f2fa7dd5afe4
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-22 06:11:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 07:38:48 +0900

    [ruby/prism] Allow skipping warnings as needed, and pass a reason through to Parser::Diagnostic

    https://github.com/ruby/prism/commit/6a84a3c9fb

commit 45ae69e37e1dac60ea8f6d682ff7b947cb8057d0
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-22 05:55:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 07:38:48 +0900

    [ruby/prism] Update lib/prism/translation/parser.rb

    https://github.com/ruby/prism/commit/c3cc282343

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit e3b9eec3498df88ef130098c4db5377ec156988b
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-22 02:17:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 07:38:47 +0900

    [ruby/prism] Translation::Parser should process warnings, not just errors

    https://github.com/ruby/prism/commit/ea7e400f85

commit 80ffa3006c050fe15f92f9b5b1676f3fba3a6c28
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-22 05:27:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 07:25:55 +0900

    [PRISM] Eval frames should not have an absolute path

commit fce780473c10bc06422f00c4a2b41c516f494a02
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-02-22 05:42:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-22 05:42:23 +0900

    [DOC] Doc for field processing (#10008)

commit 577d07cfc67bd6cf1ce5db43cbca4518842e0be8
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-22 05:24:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-22 05:24:18 +0900

    YJIT: Allow non-leaf calls on opt_* insns (#10033)

    * YJIT: Allow non-leaf calls on opt_* insns

    * s/on_send_insn/is_sendish/

    * Repeat known_cfunc_codegen

commit 5c02d9778036f58c92801fb782dd5d6530904c01
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-21 01:47:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 04:14:21 +0900

    [PRISM] Remove more dummy line usage

    * or
    * optional parameter
    * parentheses
    * pre execution
    * post execution
    * range
    * rational
    * redo

commit e19fde52cced81c268e938a29597ab7d52332f07
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-21 01:37:54 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 04:14:21 +0900

    [PRISM] Remove more dummy line usage

    * if
    * unless

commit e1f6b477e054dded1f471b3d0e1fef5616897715
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-21 01:29:33 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 04:14:21 +0900

    [PRISM] Remove more dummy line usage

    * regular expressions
    * rescue
    * rescue modifier

commit e7d480df5da955c021158efd1accfb2c44d64464
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-21 01:23:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 04:14:21 +0900

    [PRISM] Remove more dummy line usage

    * returns
    * retry
    * self
    * singleton class

commit 61c5936da378bacada4500979737bcd9c44256b7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-21 01:11:12 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 04:14:21 +0900

    [PRISM] Remove more dummy line usage

    * source files
    * source encodings
    * source lines

commit 220ced7486403109ec5b4e7bb42a9b5739796079
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-21 01:08:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 04:14:21 +0900

    [PRISM] Remove more dummy line usage

    * yields
    * xstrings
    * while
    * until
    * undef
    * true
    * symbol
    * super
    * string
    * statements
    * splat

commit 8bc51a393acfb5af4e446799e51f73e61b0cfc8e
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-02-21 04:03:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 02:45:01 +0900

    [rubygems/rubygems] Check for correct exception on older psych versions

    https://github.com/rubygems/rubygems/commit/52de6eccf5

commit 997470b7b697d267109571d81081453acc73a2f9
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-02-14 17:50:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 02:45:00 +0900

    [rubygems/rubygems] Commit missing new method

    https://github.com/rubygems/rubygems/commit/5265b4ce3d

commit 466ed0e1ace6ebf069d444d666f0db3f9224a4b9
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-02-11 12:52:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 02:45:00 +0900

    [rubygems/rubygems] Add a test for safe yaml

    https://github.com/rubygems/rubygems/commit/148deade0a

commit 5dcc7a03267216feaa587017ef5d6d075b62f75b
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-02-10 03:15:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 02:45:00 +0900

    [rubygems/rubygems] Use a writer method on the module instead of a constant

    https://github.com/rubygems/rubygems/commit/240d84eea3

commit c2812fb616a9a0f31bbc3906a8ec9bad9faec498
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-02-08 05:26:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 02:44:59 +0900

    [rubygems/rubygems] Control whether YAML aliases are enabled in Gem::SafeYAML.safe_load via a constant

    https://github.com/rubygems/rubygems/commit/6bedb1cb79

commit 5ab6b3181f6c1af46a6ebd92801a464ad370c520
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 01:52:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 01:57:30 +0900

    [ruby/fileutils] [DOC] FileUtils::VERSION

    https://github.com/ruby/fileutils/commit/48742e2921

commit 2edc14be692d57f16b9ff4aca57586ff17741603
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-06 10:37:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 01:57:30 +0900

    [ruby/fileutils] [DOC] nodoc for private methods and module

    https://github.com/ruby/fileutils/commit/75c6010aab

commit 6e704311bbb7c499f191d9b7d29dac0e37feabde
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2021-09-05 22:19:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 01:45:01 +0900

    [ruby/pp] Extract pp_hash_pair

    The method which prints single pair of a hash, to make extending
    pretty printing Hash easier, apart from Hash construct itself.

    https://github.com/ruby/pp/commit/3fcf2d1142

commit 37b8fc7477b1cbeb4f3a21ad4b22971170709cfa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2021-09-05 21:51:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 01:45:00 +0900

    [ruby/pp] Get rid of hardcoded class name

    So that the `pp` method can work in inherited classes with that
    class.

    https://github.com/ruby/pp/commit/f204df3aad

commit 82a4c3af1629298524024494fd065d51ff6ad5c6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-15 00:58:20 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 01:44:40 +0900

    Add error for iseqs compiled by prism

commit 0f1ca9492c63bc2e59b61c4d9b7e253e31af494d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 04:40:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 01:44:40 +0900

    [PRISM] Provide runtime flag for prism in iseq

commit d9ebb65b7958551dcc73b80815ea639e6187b62d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 01:35:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 01:39:17 +0900

    [ruby/pp] Fix compatibility with 3.3 or earlier

    https://github.com/ruby/pp/commit/f5cee21a1e

commit 330830dd1a44b6e497250a14d93efae6fa363f82
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-21 05:58:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-22 01:33:05 +0900

    Add IMEMO_NEW

    Rather than exposing that an imemo has a flag and four fields, this
    changes the implementation to only expose one field (the klass) and
    fills the rest with 0. The type will have to fill in the values themselves.

commit 2e6f8554f8c4ec12f620f31d4a110066ee76bfbe
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-30 01:27:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 01:04:52 +0900

    [ruby/date] Remove the unintentional ability to parse `Symbol`

    It's been 2 years since ruby/date#49, so it's okay.

    https://github.com/ruby/date/commit/435dfec6c8

commit 96f21e9dd11aaaba27ea3346eb81541a288c0033
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-22 00:26:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 00:58:40 +0900

    Re-enable test now that dump is all ASCII

commit 2b2e61e6f98f4dde3547a097241a950cb1300b86
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-22 00:28:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 00:47:05 +0900

    [ruby/prism] Only call encoding_changed callback on change

    https://github.com/ruby/prism/commit/7d0bea3ce0

commit bf680af7b2ef41339481ab013c15934d84dec5dd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-22 00:12:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 00:22:41 +0900

    [ruby/prism] Remove non-ASCII characters from --dump=parsetree

    https://github.com/ruby/prism/commit/6d4cd21e98

commit 402690c3b60b61dce3a251acb46bfe9a615a25bb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-21 07:18:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-22 00:13:36 +0900

    Fix incomplete switch statement in imemo_memsize

    The switch statement is not exhaustive, meaning the "unreachable"
    comment was not correct. This commit fixes it by making the list
    exhaustive and adding an rb_bug in the default case.

commit 01c7e16c0ce66cfa745d49cd4f18d43c23dbe225
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-21 19:26:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-21 23:37:20 +0900

    Separate miniruby from dmyext.c

commit 04729fe68dceddab045be7324e26c2bb15aa62c7
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-02-21 20:33:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-21 20:33:18 +0900

    Fix exception handling in `rb_fiber_scheduler_set`. (#10042)

commit 78d9fe69479d32214a52ad7291c3973f1b6b7f6f
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-02-21 20:32:59 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-21 20:32:59 +0900

    Ensure that exiting thread invokes end-of-life behaviour. (#10039)

commit fd913546287ac1ec0eb0eb2a4ac38b2a4920b1d4
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-02-21 19:17:13 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-02-21 19:37:06 +0900

    [DOC] Comment about logic to care about static/dynamic hetero build

    The condition is rarely met in usual cases, so it's worth to note about
    the situation and the reason why we care about it.

commit 6aa5067ab970e70693529cde5102fab587158f7f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-21 19:28:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-21 19:28:23 +0900

    Revert rubygems tempdir check

    This check was added to check if other tests still remain tempdir, and these tests do on Windows.

    * `TestGemCommandsSetupCommand#test_destdir_flag_does_not_try_to_write_to_the_default_gem_home`
    * `TestGemInstaller#test_install_build_root_when_gem_home_not_writable_does_not_fallback_to_user_install_inside_build_root`

    Also some tests fail due to too long path names.

commit b1431ce427eb193f45fe536f1fdfdf22bbe02e3d
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-21 17:14:49 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-21 17:57:48 +0900

    Add comments to dmydln.c, dmyenc.c, and dmyext.c

    They are used conditionally in miniruby, dynamically-linked ruby, and
    statically-linked ruby (--with-static-linked-ext).
    I asked @nobu about the conditions. and I leave comments because the
    conditions are insanely difficult.

commit 6ecb14df2cda223e2280891150b3f41c1eb2edf0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-21 02:32:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-21 17:14:34 +0900

    [rubygems/rubygems] Reset `Gem.state_file` along with `Gem.state_home`

    As `Gem.state_file` is placed under `Gem.state_home` directory, when
    the latter is reset, also the former should be reset.
    If left unreset, the file for a previously run test will be re-created
    and will not be deleted.

    https://github.com/rubygems/rubygems/commit/1378d07afd

commit 1fa4d15ca732f64616161739a50f57c287e17402
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-21 15:45:53 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-21 15:45:53 +0900

    Add `Test::Unit::TestCase#method_name`

    For the compatibility with test-unit gem.

commit fc1a7a46dc9814d8600d4b22f5929cbc8248cab0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-21 14:27:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-21 15:39:37 +0900

    [rubygems/rubygems] Use Hash#compact

    https://github.com/rubygems/rubygems/commit/9d4ff6ff30

    Co-authored-by: Samuel Giddins <segiddins@segiddins.me>

commit c8fb4f308bc24c75c2713129a0972ffcd8742b3f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-11-01 23:45:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-21 15:39:36 +0900

    [rubygems/rubygems] Skip nil-value keys to make metadata reproducible

    Nil-value keys in a mapping end with a space or not depending on
    libyaml versions, and result metadata are different per platforms.
    This commit makes to skip such keys to make metadata reproducible
    accross platforms.

    https://github.com/rubygems/rubygems/commit/74b4db8d30

commit d578684989fd2d75f086a259719e3eb0fe57ccb2
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-02-20 19:09:23 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-02-21 15:38:29 +0900

    `rb_thread_lock_native_thread()`

    Introduce `rb_thread_lock_native_thread()` to allocate dedicated
    native thread to the current Ruby thread for M:N threads.
    This C API is similar to Go's `runtime.LockOSThread()`.

    Accepted at https://github.com/ruby/dev-meeting-log/blob/master/2023/DevMeeting-2023-08-24.md
    (and missed to implement on Ruby 3.3.0)

commit 91cb30353178004ba57acacf1c39d9c02beff86e
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-18 18:33:29 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-21 13:36:45 +0900

    Remove not used universal parser macros and functions

commit d0786cde3f70e023332d97e629ea273c6e4d56c6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-20 19:12:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-21 12:30:23 +0900

    [rubygems/rubygems] rake man:build

    https://github.com/rubygems/rubygems/commit/e0ef515732

commit 08753f203707247d4172be147bc47dc1dd241053
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-20 16:47:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-21 12:30:22 +0900

    [rubygems/rubygems] Use https instead of http

    https://github.com/rubygems/rubygems/commit/bcbe6f7b7a

commit a605234bfa5567b72052c538730c4846e9028f5d
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-20 16:16:28 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-20 16:17:20 +0900

    NEWS.md: Add a note for [Feature #16495] and [Feature #19117]

commit 081ee3d35509110f383cb7dd8d1205def0cdd1e8
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-02-16 08:32:01 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-02-21 11:55:00 +0900

    Add memory leak test for eval kwargs

commit 1c97abaabae6844c861705fd07f532292dcffa74
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-02-12 14:43:38 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-02-21 11:55:00 +0900

    De-dup identical callinfo objects

    Previously every call to vm_ci_new (when the CI was not packable) would
    result in a different callinfo being returned this meant that every
    kwarg callsite had its own CI.

    When calling, different CIs result in different CCs. These CIs and CCs
    both end up persisted on the T_CLASS inside cc_tbl. So in an eval loop
    this resulted in a memory leak of both types of object. This also likely
    resulted in extra memory used, and extra time searching, in non-eval
    cases.

    For simplicity in this commit I always allocate a CI object inside
    rb_vm_ci_lookup, but ideally we would lazily allocate it only when
    needed. I hope to do that as a follow up in the future.

commit 2a6917b463fa4065f26aea44802e2e24cc494e4c
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-21 06:45:59 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-21 11:00:54 +0900

    Fix string value in hash literal being forced frozen

    We should pass `false` for `hash_key` for value nodes. Credits to
    `@kddnewton` for noticing and bisecting.

commit 5fb574ae4e35bdb3688c1c89128c74d24a4c5d23
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-19 07:55:21 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-21 10:57:32 +0900

    `rb_parser_warn_duplicate_keys` doesn't need to take care of NODE_LIT anymore

    NODE_LIT is created only for `shareable_constant_value`.
    This means hash key node is never NODE_LIT.

commit ce4142bcb70cc345507f4479702ad3069e60565b
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-21 10:23:08 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-21 10:23:08 +0900

    YJIT: rb_str_concat_literals is not leaf (#10035)

commit 776dbbba7287a44ea789385ef41d59261459031b
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-20 23:52:23 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-21 09:16:09 +0900

    Remove hack for ripper.y generation

    Before Rearchitect Ripper (89cfc15), parser and ripper used different
    semantic value data type for same symbols.
    "ext/ripper/tools/preproc.rb" replaced these types when it generated
    ripper.y. Starting the line with other than `%token` suppressed
    the type replacement.
    However, after Rearchitect Ripper, both parser and ripper use
    same semantic value data type. Therefore these comments are not needed
    anymore.

commit e7ab5d891c3272e72caef6879e90ad8ae4e13dea
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-10 10:05:18 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-21 08:06:48 +0900

    Introduce NODE_REGX to manage regexp literal

commit 97d4363d3b4125d30120ab07cb69d3fc34b44bfc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-17 05:12:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-21 07:39:46 +0900

    [DOC] Improve docs for GC.latest_compact_info

commit 35fdf1a6242906117da05ec66ae0e30827ab7199
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-21 06:21:32 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-21 06:53:36 +0900

    YJIT: Remove duplicate test

commit 8e1090487e340747737ca20b78146bd92faac7b6
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-21 06:20:02 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-21 06:53:36 +0900

    YJIT: Fix calling leaf builtins with empty splat and kw_splat

    These don't pass anything and just need to be popped off the stack.

    https://github.com/ruby/ruby/actions/runs/7977363890/job/21780095289#step:13:104

commit 9216a2ac43a6e8a22efad582c4460c51cab72674
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-21 06:42:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-21 06:42:29 +0900

    YJIT: Verify the assumption of leaf C calls (#10002)

commit d4b4b53bc02c7bc12f3cba75c8390a8ab27e9306
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-02-21 06:10:52 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-21 06:10:52 +0900

    [DOC] Fix links in doc (#9970)

commit b3c13de858d0dbe4e3965485d47da58b6960cb64
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-02-20 15:31:24 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-02-21 03:59:19 +0900

    skip a test on non-UTF-8 locale

    `ruby --parser=prism -W:no-experimental --dump=parsetree -e :hi` prints
    non-ASCII char(s) so the following test with non UTF-8 locale fails.

    ```
    $ LANG=C make test-all TESTS='-n /parser/ ruby/rubyoptions' -o encs -o exts
    Run options:
      --seed=32323
      "--ruby=./miniruby -I/home/ko1/ruby/src/master/lib -I. -I.ext/common  /home/ko1/ruby/src/master/tool/runruby.rb --extout=.ext  -- --disable-gems"
      --excludes-dir=/home/ko1/ruby/src/master/test/.excludes
      --name=!/memory_leak/
      -n
      /parser/

    [1/1] TestRubyOptions#test_parser_flag = 0.04 s
      1) Failure:
    TestRubyOptions#test_parser_flag [/home/ko1/ruby/src/master/test/ruby/test_rubyoptions.rb:300]:
    pid 135869 exit 0.

    1. [1/2] Assertion for "stdout"
       | invalid byte sequence in US-ASCII.

    Finished tests in 0.044362s, 22.5416 tests/s, 225.4157 assertions/s.
    1 tests, 10 assertions, 1 failures, 0 errors, 0 skips

    ruby -v: ruby 3.4.0dev (2024-02-20T17:13:36Z master c0e5de9567) [x86_64-linux]
    make: *** [uncommon.mk:945: yes-test-all] Error 1
    ```

    Now simply skip the test if the locale is not UTF-8.
    (I'm not familiar with encodings so please fix it if needed)

commit 77c1233f79a0f96a081b70da533fbbde4f3037fa
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-31 03:31:27 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-02-21 03:47:44 +0900

    Add pushtoarraykwsplat instruction to avoid unnecessary array allocation

    This is designed to replace the newarraykwsplat instruction, which is
    no longer used in the parse.y compiler after this commit.  This avoids
    an unnecessary array allocation in the case where ARGSCAT is followed
    by LIST with keyword:

    ```ruby
    a = []
    kw = {}
    [*a, 1, **kw]
    ```

    Previous Instructions:

    ```
    0000 newarray                               0                         (   1)[Li]
    0002 setlocal_WC_0                          a@0
    0004 newhash                                0                         (   2)[Li]
    0006 setlocal_WC_0                          kw@1
    0008 getlocal_WC_0                          a@0                       (   3)[Li]
    0010 splatarray                             true
    0012 putobject_INT2FIX_1_
    0013 putspecialobject                       1
    0015 newhash                                0
    0017 getlocal_WC_0                          kw@1
    0019 opt_send_without_block                 <calldata!mid:core#hash_merge_kwd, argc:2, ARGS_SIMPLE>
    0021 newarraykwsplat                        2
    0023 concattoarray
    0024 leave
    ```

    New Instructions:

    ```
    0000 newarray                               0                         (   1)[Li]
    0002 setlocal_WC_0                          a@0
    0004 newhash                                0                         (   2)[Li]
    0006 setlocal_WC_0                          kw@1
    0008 getlocal_WC_0                          a@0                       (   3)[Li]
    0010 splatarray                             true
    0012 putobject_INT2FIX_1_
    0013 pushtoarray                            1
    0015 putspecialobject                       1
    0017 newhash                                0
    0019 getlocal_WC_0                          kw@1
    0021 opt_send_without_block                 <calldata!mid:core#hash_merge_kwd, argc:2, ARGS_SIMPLE>
    0023 pushtoarraykwsplat
    0024 leave
    ```

    pushtoarraykwsplat is designed to be simpler than newarraykwsplat.
    It does not take a variable number of arguments from the stack, it
    pops the top of the stack, and appends it to the second from the top,
    unless the top of the stack is an empty hash.

    During this work, I found the ARGSPUSH followed by HASH with keyword
    did not compile correctly, as it pushed the generated hash to the
    array even if the hash was empty.  This fixes the behavior, to use
    pushtoarraykwsplat instead of pushtoarray in that case:

    ```ruby
    a = []
    kw = {}
    [*a, **kw]

    [{}] # Before

    [] # After
    ```

    This does not remove the newarraykwsplat instruction, as it is still
    referenced in the prism compiler (which should be updated similar
    to this), YJIT (only in the bindings, it does not appear to be
    implemented), and RJIT (in a couple comments).  After those are
    updated, the newarraykwsplat instruction should be removed.

commit 2e2e3d89af7d16e466a12a42ef6cd6554e700f50
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-21 03:29:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-21 03:29:02 +0900

    YJIT: Support `**nil` for cfuncs

    Similar to the iseq call support. Fairly straight forward.

commit c0e5de956717f206840658c07e1c1b5f31b50f98
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-21 02:13:36 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-21 02:13:36 +0900

    Fix the version in missing-baseruby

commit c184aa8740fc871cdfb8647cbde261686d0f6ca7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-17 03:35:33 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-21 00:39:30 +0900

    Use rb_gc_mark_and_move for imemo

commit 20f03100d568ae5a32b63dbd7abdbc5fdcef769d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-21 00:24:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-21 00:36:35 +0900

    [ruby/prism] Fix eval encoding switching to UTF-8

    https://github.com/ruby/prism/commit/24e3ff5d6d

commit 835fa98a62ca10f06861dc7bde9cd1a5bc0d1612
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-20 23:03:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-20 23:56:07 +0900

    Update warning flags before dump

commit bcfcdae58e439eb960ef02cc03f894f34712862d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-20 23:30:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 23:31:03 +0900

    [ruby/prism] Fix windows build checking for _POSIX_MAPPED_FILES

    https://github.com/ruby/prism/commit/acf603603f

commit f0a46c63341336c19a9c8237c65c762ebef99b04
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-02-16 14:40:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 23:21:17 +0900

    [ruby/prism] Include unistd.h before checking _POSIX_MAPPED_FILES

    https://github.com/ruby/prism/commit/84b3c294f0

commit 15b53e901c15225bdb2d67abb6f2aabf2e93cc4e
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-01-22 15:17:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 23:21:16 +0900

    [ruby/prism] Use `_POSIX_MAPPED_FILES` and `_WIN32` to know if memory map interface is available in the target platform

    https://github.com/ruby/prism/commit/88e2ff52d4

commit c22cb960cf5333e4789489be16db42dc805395b0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-20 20:52:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-20 20:52:09 +0900

    Use commit with Ruby 3.4 support

commit 386b956ad8fb6883512d17646d6eddd02e6e0d6a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-20 20:08:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-20 20:14:37 +0900

    Remove never used method

commit e3917fc7da2c4dfbf0144ad988ec1047fd290642
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-20 20:07:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-20 20:14:37 +0900

    Remove no longer used methods

    `find_object_in_recycled_slot` and `memory_location` have not been
    used since commit:b99833baec2e567e38758f4fd017c90c7ce57d75.

commit 7cb8fd780011a43eebf33a5aa6da1262a5c52307
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-18 18:14:42 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-20 19:19:31 +0900

    Move ripper_validate_object to ripper_init.c.tmpl

commit fa3d6aafb70aa06f8afa198c463bf6fac84ce0dd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-20 16:57:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 19:13:30 +0900

    [ruby/uri] Use https instead of http

    https://github.com/ruby/uri/commit/ad2591f0d1

commit 474f41880fd4fdffaad03fc73b76354886dab015
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-19 18:07:04 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-20 19:07:40 +0900

    Suppress unused function warning for UNIVERSAL_PARSER build

    Suppress the warning:

    ```
    parse.y:2221:1: warning: unused function 'rb_parser_str_hash' [-Wunused-function]
     2221 | rb_parser_str_hash(rb_parser_string_t *str)
          | ^~~~~~~~~~~~~~~~~~
    ```

commit fba647087b1d61a890537cf9294e4d2074f7572b
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-02-04 09:05:33 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-20 19:02:24 +0900

    Remove uneeded Universal Parser properties

commit 2a4b6ed37cbb7acb622703be4db770457c2b72cc
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-16 17:33:39 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-20 17:33:58 +0900

    Workaround for `Prism::ParseTest#test_filepath` for "unparser/corpus/literal/def.txt"

    See the discussion on https://github.com/ruby/ruby/pull/9923

commit 20dbc7a5f4098ec7612192c2b65bdc970eab6055
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-05 13:14:56 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-20 17:33:58 +0900

    Skip `test_filepath` of "unparser/corpus/literal/def.txt"

    The previous commit changes Ripper lex state behavior of `tLABEL`.
    For example, Ripper lex state for the second `bar` was changed
    by the previous commit.

    ```
    def foo(bar: bar())
    end
    ```

    Before the commit, Ripper didn’t add label `bar` id to `vtable`
    because `formal_argument` function for Ripper didn’t return id
    but returned `VALUE lhs`.
    Therefore Ripper didn’t `SET_LEX_STATE(EXPR_END|EXPR_LABEL)` for following `bar`
    in `parse_ident` because `lvar_defined` for following `bar` was not true.

    Currently Ripper does `SET_LEX_STATE(EXPR_END|EXPR_LABEL)` then
    the result of this test case is changed like below.

    ```
    Prism::ParseTest#test_filepath_unparser/corpus/literal/def.txt [ruby/test/prism/parse_test.rb:280]:
    <[[80, 13], :on_ident, “bar”, END|LABEL]> expected but was
    <[[80, 13], :on_ident, “bar”, ARG]>.
    ```

    Parser sets lex state to `END|LABEL` on master branch.
    Therefore previous commit makes Ripper’s behavior aligned with parser’s behavior.

    ```
    $ ruby -v -y -e "def foo(bar: bar())" -e "end"
    ruby 3.4.0dev (2024-02-11T23:52:05Z master 697ade7bda) [arm64-darwin21]
    ...
    Reading a token
    parser_dispatch_scan_event:11210 (1: 12|1|7)
    lex_state: ARG|LABELED -> ARG at line 11113
    lex_state: ARG -> END|LABEL at line 11128
    parser_dispatch_scan_event:11877 (1: 13|3|4)
    Next token is token “local variable or method” (1.13-1.16: bar)
    Shifting token “local variable or method” (1.13-1.16: bar)
    ```

commit 89cfc1520717257073012ec07105c551e4b8af7c
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-12 10:46:17 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-20 17:33:58 +0900

    [Feature #20257] Rearchitect Ripper

    Introduce another semantic value stack for Ripper so that
    Ripper can manage both Node and Ruby Object separately.
    This rearchitectutre of Ripper solves these issues.
    Therefore adding test cases for them.

    * [Bug 10436] https://bugs.ruby-lang.org/issues/10436
    * [Bug 18988] https://bugs.ruby-lang.org/issues/18988
    * [Bug 20055] https://bugs.ruby-lang.org/issues/20055

    Checked the differences of `Ripper.sexp` for files under `/test/ruby`
    are only on test_pattern_matching.rb.
    The differences comes from the differences between
    `new_hash_pattern_tail` functions between parser and Ripper.
    Ripper `new_hash_pattern_tail` didn’t call `assignable` then
    `kw_rest_arg` wasn’t marked as local variable.
    This is also fixed by this commit.

    ```
    --- a/./tmp/before/test_pattern_matching.rb
    +++ b/./tmp/after/test_pattern_matching.rb
    @@ -3607,7 +3607,7 @@
                      [:in,
                       [:hshptn, nil, [], [:var_field, [:@ident, “a”, [984, 13]]]],
                       [[:binary,
    -                    [:vcall, [:@ident, “a”, [985, 10]]],
    +                    [:var_ref, [:@ident, “a”, [985, 10]]],
                         :==,
                         [:hash, nil]]],
                       nil]]],
    @@ -3662,7 +3662,7 @@
                      [:in,
                       [:hshptn, nil, [], [:var_field, [:@ident, “a”, [993, 13]]]],
                       [[:binary,
    -                    [:vcall, [:@ident, “a”, [994, 10]]],
    +                    [:var_ref, [:@ident, “a”, [994, 10]]],
                         :==,
                         [:hash,
                          [:assoclist_from_args,
    @@ -3813,7 +3813,7 @@
                        [:command,
                         [:@ident, “raise”, [1022, 10]],
                         [:args_add_block,
    -                     [[:vcall, [:@ident, “b”, [1022, 16]]]],
    +                     [[:var_ref, [:@ident, “b”, [1022, 16]]]],
                          false]]],
                       [:else, [[:var_ref, [:@kw, “true”, [1024, 10]]]]]]]],
                    nil,
    @@ -3876,7 +3876,7 @@
                          [:@int, “0”, [1033, 15]]],
                         :“&&“,
                         [:binary,
    -                     [:vcall, [:@ident, “b”, [1033, 20]]],
    +                     [:var_ref, [:@ident, “b”, [1033, 20]]],
                          :==,
                          [:hash, nil]]]],
                       nil]]],
    @@ -3946,7 +3946,7 @@
                          [:@int, “0”, [1042, 15]]],
                         :“&&“,
                         [:binary,
    -                     [:vcall, [:@ident, “b”, [1042, 20]]],
    +                     [:var_ref, [:@ident, “b”, [1042, 20]]],
                          :==,
                          [:hash,
                           [:assoclist_from_args,
    @@ -5206,7 +5206,7 @@
                          [[:assoc_new,
                            [:@label, “c:“, [1352, 22]],
                            [:@int, “0”, [1352, 25]]]]]],
    -                   [:vcall, [:@ident, “r”, [1352, 29]]]],
    +                   [:var_ref, [:@ident, “r”, [1352, 29]]]],
                       false]]],
                    [:binary,
                     [:call,
    @@ -5299,7 +5299,7 @@
                           [:assoc_new,
                            [:@label, “c:“, [1367, 34]],
                            [:@int, “0”, [1367, 37]]]]]],
    -                   [:vcall, [:@ident, “r”, [1367, 41]]]],
    +                   [:var_ref, [:@ident, “r”, [1367, 41]]]],
                       false]]],
                    [:binary,
                     [:call,
    @@ -5931,7 +5931,7 @@
                  [:in,
                   [:hshptn, nil, [], [:var_field, [:@ident, “r”, [1533, 11]]]],
                   [[:binary,
    -                [:vcall, [:@ident, “r”, [1534, 8]]],
    +                [:var_ref, [:@ident, “r”, [1534, 8]]],
                     :==,
                     [:hash,
                      [:assoclist_from_args,
    ```

commit f75b9dbf7dd86f8fa6777a9c9c960c310c940261
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-03-17 20:47:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 14:33:16 +0900

    [rubygems/rubygems] Keep Gem.install_extension_in_lib for compatibility

    https://github.com/rubygems/rubygems/commit/b2bf239147

commit f2d453347f9174f6abf2abf8b2d870c5fccabdfb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-03-10 13:28:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 14:33:15 +0900

    [rubygems/rubygems] re-order util methods

    https://github.com/rubygems/rubygems/commit/4b5eb7a02c

commit 018261eb921d51001c91a636e808349dfa725494
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-03-10 13:28:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 14:33:15 +0900

    [rubygems/rubygems] Added small tests

    https://github.com/rubygems/rubygems/commit/08a245bdf8

commit a551d936557741fef836961e57b6984a7a282a3e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-03-10 12:57:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 14:33:15 +0900

    [rubygems/rubygems] Now install extension in lib is true

    https://github.com/rubygems/rubygems/commit/bbcad80772

commit 27501a550972d8986584764b49a7b5e09998c96b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-03-10 12:43:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 14:33:14 +0900

    [rubygems/rubygems] Restore Gem.configuration during installation test

    https://github.com/rubygems/rubygems/commit/bf7156968e

commit 94dd4dc3b2da1828b71bdf716918d2b789486651
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-03-10 12:39:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 14:33:14 +0900

    [rubygems/rubygems] Gem.install_extension_in_lib is now under the Gem.configuration

    https://github.com/rubygems/rubygems/commit/c394375b28

commit 83148f83420a66ceaacb1f24bfcdc51516f5e0d7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-03-10 12:21:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 14:33:13 +0900

    [rubygems/rubygems] Allow to set install_extension_in_lib as Gem configuration

    https://github.com/rubygems/rubygems/commit/c59d40f425

commit cdf39ed6731ebdc621809a8ba7ea46877a4835f5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-20 09:55:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-20 09:56:05 +0900

    Don't sync prism.{so,bundle,dll} from `ruby/prism`

commit ae3e82a5259893b4d68e2bedb675c160bcd1a173
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-20 02:54:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 04:50:46 +0900

    [ruby/prism] Fix up comment state

    https://github.com/ruby/prism/commit/c6561becf0

commit 391b0bf07b5308cbe3def2b4cfb428ba7f17cf13
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-19 17:29:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 19:24:16 +0900

    Try with some test fixes from https://github.com/hsbt/debug/commits/release/

commit 96ede4d192788d2dc20f5caa6cbe299f6f326f5d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-19 17:13:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 17:13:22 +0900

    Bump up typeprof-0.21.11

commit 8c5b7eb05f206e32d84a695c6a46ce7306b1030f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-19 16:30:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-19 16:33:27 +0900

    [Bug #20280] Fix wrong tests

commit d9b61e228ff86f00c195abb6c3e0e6f4525385e0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-19 14:53:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-19 16:33:27 +0900

    Omit a bizzarre test in IRB

commit b1d70e426430bd268747c0aef6811447042c2577
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-19 14:46:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-19 16:33:26 +0900

    [Bug #20280] Check by `rb_parser_enc_str_coderange`

    Co-authored-by: Yuichiro Kaneko <spiketeika@gmail.com>

commit fcc55dc2261b4c61da711c10a5476d05d4391eca
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-19 14:07:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-19 16:33:26 +0900

    [Bug #20280] Raise SyntaxError on invalid encoding symbol

commit a52fc5df7ab7c5cf6a32dcbd2adfaf48a18d3947
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-19 13:35:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-19 14:45:51 +0900

    [rubygems/rubygems] Use FileUtils.mkdir_p

    https://github.com/rubygems/rubygems/commit/af806b8dff

commit cb9e0a45372d56a434fb5af4f8573815d55af34b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-19 13:55:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 13:55:06 +0900

    Don't exclude `test_gem_package_task.rb` explicitly.

    3d4f5e7671271335429e33605366f792bc84a2a2 suppressed warnings.

commit b4be283485436e097af2c683b8d6159ed7477bf3
  Author:     Douglas Eichelberger <dduugg@gmail.com>
  AuthorDate: 2024-02-18 07:31:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-19 13:48:42 +0900

    [rubygems/rubygems] Remove redundant rubocop configs

    https://github.com/rubygems/rubygems/commit/a3f60240bf

commit 3d4f5e7671271335429e33605366f792bc84a2a2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 18:39:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-19 13:47:08 +0900

    [rubygems/rubygems] Suppress warning during test runner.

    ruby core repository explicitly removed this test file at
    https://github.com/ruby/ruby/commit/c945a849cb2c5fcdfa546e501f35bf8f834c8d7e
    for avoid to show warning.

    https://github.com/rubygems/rubygems/commit/ee78e64b50

commit 935fc22545fdca58331994622ae57799cc78ff85
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-19 12:06:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 13:28:04 +0900

    Use commit version for https://bugs.ruby-lang.org/issues/16495

    * https://github.com/ruby/drb/pull/25
    * https://github.com/minitest/minitest/pull/987
    * https://github.com/test-unit/test-unit/pull/237
    * https://github.com/ruby/bigdecimal/pull/286

commit 1dca87cf537f385c6f1a5050a0070598c1c0dc2a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-19 11:34:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 11:34:32 +0900

    Load rubygems explicitly for tests of test/irb

commit c14d295afd45d1edd08c23048f7719bca3c79072
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-19 11:05:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 11:05:13 +0900

    Fix accidentally changed to rename test method at d95d3484a90a985b971ef4c55762847d92b6c81a

commit 7e577e150a6897074bb5aaafb298b0605f00970f
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-16 23:30:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 11:01:30 +0900

    [ruby/irb] Fix `irb:rdbg` for ruby head
    (https://github.com/ruby/irb/pull/876)

    * Update binding.irb check for Ruby head

    With https://github.com/ruby/ruby/pull/9605, backtrace in Ruby head
    now has a new format. This commit updates the check for binding.irb
    to work with Ruby head.

    * Do not include a backtick in error messages and backtraces

    [Feature #16495]

    ---------

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

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

commit 9ec9910081b5d91becf9d9d8df7ea65c2ccc3a71
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-16 02:09:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 10:48:38 +0900

    [ruby/irb] Update error message assertions for Ruby 3.4
    (https://github.com/ruby/irb/pull/874)

    https://github.com/ruby/ruby/pull/9605 changes both quotes and format for
    exception messages. So we need to update the assertions in the tests.

    https://github.com/ruby/irb/commit/9359d4b51d

commit 11a6bb8195252910ce7ccfb17f1a39cc510bde22
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-19 10:47:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 10:47:42 +0900

    Revert 25d74b9527cd525042ad0b612b794fa331d3a318 at test/irb

commit ec1eda7b6270fc433682c2e705381bb7959c7195
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-19 06:36:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-19 06:42:09 +0900

    [ruby/prism] Account for encoding in regexp named captures

    https://github.com/ruby/prism/commit/17dc6b6281

commit ea529dd409a7edcaa2c6154a315ec6766b98459d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-19 06:11:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-19 06:37:13 +0900

    [ruby/prism] Lazy methods for start and end offset on node

    https://github.com/ruby/prism/commit/4510e2746d

commit 792804e32f7aaa1008acd01068df3c0b85cd8ffe
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-19 05:14:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-19 05:57:13 +0900

    [ruby/prism] Split up comments between leading and trailing

    Also make them lazy to allocate the array, and also expose ParseResult#encoding.

    https://github.com/ruby/prism/commit/08ec7683ae

commit 07c774e85cf0a3352c045ec3ae83db1215962997
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-19 03:21:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-19 03:21:08 +0900

    [ruby/irb] Revamp `help` command
    (https://github.com/ruby/irb/pull/877)

    * Make help command display help for individual commands

    Usage: `help [command]`

    If the command is not specified, it will display a list of all available commands.

    If the command is specified, it will display the banner OR description of the command.

    If the command is not found, it will display a message saying that the command is not found.

    * Rename test/irb/cmd to test/irb/command

    * Add banner to edit and ls commands

    * Promote help command in the help message

    1. Make `show_cmds` an alias of `help` so it's not displayed in the help message
    2. Update description of the help command to reflect `help <command>` syntax

    * Rename banner to help_message

    https://github.com/ruby/irb/commit/43a2c99f3f

commit 120c291fafd438e2bc58f098023c669dadc64b08
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-18 15:08:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-18 15:08:27 +0900

    Link ruby.pc to pkg-config data directory

commit 87c4c6c0823b3eabe34c42860388e3cbdd634cc3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-18 15:07:42 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-18 15:07:42 +0900

    Install binary executable files to architecture dependent path

commit 104100f554d94cde9d6d7e7843992970c35b93cf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-18 00:18:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-18 00:18:19 +0900

    Split path.rb from mkrunnable.rb

commit 00bda2aa3b7de7b8c6c112cbe06e6c95a1b3f918
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-18 05:51:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-18 06:53:54 +0900

    [ruby/prism] Fix up GCC analyzer

    https://github.com/ruby/prism/commit/2e8bc17528

commit 13d2a3a88fe88fd3fbc01bcd981c68732ff9404e
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-17 20:02:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-18 00:35:51 +0900

    [ruby/prism] Fix visitor in desugar test

    * The #visit method is no longer called for every node since 2e6baa3.
    * As a consequence EnsureEveryNodeOnceInAST was only visiting ProgramNode
      for `visitor.visit(ast)` and no nodes at all for `ast.accept(visitor)`.

    https://github.com/ruby/prism/commit/683513620a

commit 3dccb716daaee74d2ae00a5766fe1779fe220a81
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-17 23:28:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-17 23:28:00 +0900

    Use `defined?(yield)` and `SIZED_ENUMERATOR`

    Prefer built-in features over method calls that may be overridden.

commit df63e5bef67ff74216834f61748aa6ea8b0de22e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-17 17:27:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-17 17:27:02 +0900

    [DOC] Functions for `Time#initialize` implementation

commit 6e4bfb35bb6b1d039c11208e96e828601d39cb8e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-17 17:21:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-17 17:21:07 +0900

    Fix an argument name

commit 3b23b45d484f2fd7fef9dddfa73f854f34d6857b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-17 17:16:17 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-17 17:16:17 +0900

    Explicitly assert that redefined backquote method is called

    It has been used in some tests indirectly, but there was no direct
    test for redefinition in the toplevel.

commit b56b8ec797408865ccc79b67e9860d8382f986dd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-17 08:29:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 11:05:12 +0900

    [ruby/prism] Provide the ability to dump AST to JSON from C

    https://github.com/ruby/prism/commit/d3a149efc5

commit 075b6ac8aeb1217b04e067eeb10bd06897a4359d
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-17 05:39:44 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-17 08:16:13 +0900

    YJIT: Remove unused counters

commit 2967b7eb763788595fe26465881b6dfe2f580d66
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-17 05:14:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-17 05:58:39 +0900

    GC guard catch_table_ary

    Using RARRAY_CONST_PTR can cause the array object to not exist on the
    stack, which could cause it to be GC'd or be moved by GC compaction. This
    can cause RARRAY_CONST_PTR to point to the incorrect location if the
    array is embedded and moved by GC compaction.

    Fixes ruby/prism#2444.

commit 170058ca9eedd429ca675c78bd63896e71e52b8d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-17 03:55:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 05:41:53 +0900

    [ruby/prism] Ignore incorrect files

    https://github.com/ruby/prism/commit/d1094ac232

commit 13301587cf04b39ab8683f146ebf6d252d7ff728
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-17 03:44:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 05:41:52 +0900

    [ruby/prism] Fix block_pass for []=

    https://github.com/ruby/prism/commit/bf79206220

commit 429338a20c4e8472b02bf2092007fdf597c541de
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-17 05:35:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 05:41:40 +0900

    [ruby/prism] Accept newlines before ) in patterns

    https://github.com/ruby/prism/commit/e5ffb7bdf8

commit b4327c115866b411cc04da9d9fe503c8edfd2f8e
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-17 04:31:52 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-17 05:27:49 +0900

    YJIT: Support empty splat

    Previously we rejected empty splat calls to methods with no parameters
    as `iseq_arity_error` which didn't work well with delegated calls.

commit c4e30d28659fbe0dbe813b21ba8bdbd96c812a66
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-16 10:29:06 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-17 05:27:49 +0900

    YJIT: Support `**nil`

    This adds YJIT support for VM_CALL_KW_SPLAT with nil, specifically for
    when we already know from the context that it's done with a nil. This is
    enough to support forwarding with `...` when there no keyword arguments
    are present.

    Amend the kw_rest support to propagate the type of the parameter to help
    with this. Test interactions with splat, since the splat array sits
    lower on the stack when a kw_splat argument is present.

commit 777c4da0bf41de76a22c4cc67fc93e1404b2930c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-17 04:23:00 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-17 05:02:03 +0900

    [PRISM] GC guard strings

    Using RSTRING_PTR can cause the string object to not exist on the stack,
    which could cause it to be GC'd or be moved by GC compaction. This can
    cause RSTRING_PTR to point to the incorrect location if the string is
    embedded and moved by GC compaction.

    Fixes ruby/prism#2442.

commit fbe63047cb99c47d8ed17fd74172e671911da9bb
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-02-17 04:47:16 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-02-17 04:47:16 +0900

    Fix PRISM build dependencies

commit 6f4bb638b0182613ca3a4b482a4e31bbb78d0fe4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-16 03:58:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 04:34:38 +0900

    [ruby/prism] Builtins

    https://github.com/ruby/prism/commit/851f2571ff

commit bac692f50870b3ede3a152a5b741d1eb22a7df0e
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-02-16 08:19:43 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-02-17 03:57:51 +0900

    CI: Fix the no such file or directory error with the working directory.

    Fix the error with the working directory in the result job in some GitHub
    Actions YAML files. I hit this error on my forked repository below.

    https://github.com/junaruga/ruby/actions/runs/7921897724/job/21628462038?pr=2#step:2:11
    ```
    Error: An error occurred trying to start process '/bin/bash' with working directory '/Users/runner/work/ruby/ruby/build'. No such file or directory
    ```

commit 24645cff0d5265d0da6df5953cb19c1e072e5a46
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-17 03:27:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-17 03:27:16 +0900

    Removed duplicated variable in push_mark_stack

commit 8e4d1ff5da6877c7ba5c4313cc11b45b859d775b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-17 02:23:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 02:50:32 +0900

    [ruby/prism] Disallow numbered parameters within given scopes

    https://github.com/ruby/prism/commit/a218a0f265

commit e801ccb3432f0fccb6c2ff9b09e6c174d9b153bc
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-16 23:29:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 02:50:17 +0900

    [ruby/prism] More rescue and ensure; constant handling

    https://github.com/ruby/prism/commit/207f579e70

commit 7d3e889bbbf88a156b0993ff85e29e191809ddd3
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-16 00:31:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 02:50:17 +0900

    [ruby/prism] Move visit methods into a Ripper Compiler

    https://github.com/ruby/prism/commit/44c4dc5268

commit 6084adbc6fc8a8ee557156214a3c216072b72748
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-17 02:44:11 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-17 02:44:12 +0900

    Use travis_wait for test-spec as well

    rubyspec seems very slow or getting stuck on s390-linux.

    https://app.travis-ci.com/github/ruby/ruby/jobs/617916019
    No output has been received in the last 10m0s, this potentially
    indicates a stalled build or something wrong with the build itself.

commit 8414c26f0d858d343686825e58afa323fe90f4a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-15 00:32:09 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-17 01:56:48 +0900

    [PRISM] Make prism compiler warning experimental

commit f5801e2bf404cbb0f673a6ebb040b0ba6cd01b77
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-17 01:47:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 01:47:36 +0900

    [ruby/irb] Standardize command related names
    (https://github.com/ruby/irb/pull/873)

    * Replace ExtendCommand with Command and standardize command related names

    1. Rename lib/irb/extend-command.rb to lib/irb/command.rb
    2. Rename lib/irb/cmd/*.rb to lib/irb/command/*.rb
    3. Rename test/irb/test_cmd.rb to test/irb/test_command.rb
    4. Rename ExtendCommand to Command

    * Alias ExtendCommand to Command and deprecate it

    * Rename Command::Nop to Command::Base

    * Not deprecate old constants just yet

    * Add lib/irb/cmd/nop.rb back

    https://github.com/ruby/irb/commit/462c1284af

commit 4411cdeef9f49cc295b2456b15a14550e8d88804
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-17 01:44:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-17 01:44:27 +0900

    Fix typo in gc.c

commit b315826377bfa3fae6f513da12327c9133852486
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-17 01:12:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 01:12:54 +0900

    [ruby/irb] Support repeating debugger input by passing empty input
    to it
    (https://github.com/ruby/irb/pull/856)

    * Test IRB's behaviour with empty input

    * Handle empty input and pass it to debugger

    Since `rdbg` accepts empty input to repeat the previous command, IRB
    should take empty input in `irb:rdbg` sessions and pass them to the
    debugger.

    Currently, IRB simply ignores empty input and does nothing. This commit
    creates `EmptyInput` to represent empty input so it can fit into the
    current IRB's input processing flow in `Irb#eval_input`.

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

commit ff4f5c0cdd24234811094a07302765fabfe6dacf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-17 00:49:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 00:49:50 +0900

    [ruby/prism] Style/renaming

    https://github.com/ruby/prism/commit/53763d67d5

commit 04e7c5749b533d61470fc3650723828784071664
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-17 00:30:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 00:35:58 +0900

    [ruby/prism] Fix pattern with constant, (, and newlines

    https://github.com/ruby/prism/commit/d69d1b6f17

commit f4f57e1162eb60956103a1b21d42b67b5c835862
  Author:     Haldun Bayhantopcu <haldun@github.com>
  AuthorDate: 2024-02-16 05:24:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 00:33:07 +0900

    [ruby/prism] Add warning for assignments to literals in conditionals

    https://github.com/ruby/prism/commit/ee87ed08fb

commit c5f22b5b75f839c0da5c504a4c9e9956545dc1ca
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-16 06:09:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-17 00:15:35 +0900

    Make all fields in AST movable

commit f012ce0d18b19a8dfc815498108b9b5fdde26b46
  Author:     Max Prokopiev <maxprokopiev@github.com>
  AuthorDate: 2024-02-16 22:43:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 23:08:56 +0900

    [ruby/prism] Fix lexing of `foo!` when it's a first thing to parse

    https://github.com/ruby/prism/commit/7597aca76a

commit fbc29ce032ef18887b935b48da1b94863ca407d9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 18:16:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-16 18:16:15 +0900

    Avoid to fail with race condition

commit 0301473fb523c71d8cdc4966971f31f502001185
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 17:59:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-16 17:59:38 +0900

    Fixed dependencies list format

commit e3f452e5d7616fc1f1c2d9ddd70f0fca45971cd2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 17:57:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-16 17:57:38 +0900

    Adjust indent

commit 9f4d5eb1f472645586eeadd00a346926b66491e3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 16:33:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-16 17:28:00 +0900

    Try to find gemspec from `.bundle/specifications

commit 38cc9dacaa2de92afa1507123e961c2471f9b31e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 15:48:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-16 17:28:00 +0900

    We can test bundled gems without default gems installation

commit 62ab93357fe2133ead96582028010aba0b42e052
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 15:48:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-16 17:28:00 +0900

    Try to test net-ftp examples again

commit 9f708d48f6df37ee9600db9d51b57a156609a13b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 15:43:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-16 17:28:00 +0900

    Clear runtime dependencies if default gems is specified.

    The current build system uses runtime dependencies from only
    `.bundle` directory. We shouldn't install runtime dependencies
    from rubygems.org when `make test-bundled-gems` is invoked.

commit 4047222aca02a35774746eb91c5661427410149e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 15:39:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-16 17:28:00 +0900

    Try to load original gemspec from `.bundle/gems/foo-x.y.z/foo.gemspec`.

    `.bundle/specification/foo-x.y.z.gemspec` may be changed our toolchain

commit bc7266c5ce51b170c107011c712f97b4dc8243a6
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-16 16:13:45 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-16 16:13:45 +0900

    Bump the required BASERUBY version to 3.0 (#9976)

commit 81752d20976f51381983dc58d924d63c697f69da
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-16 14:17:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-16 15:26:10 +0900

    Abort when streaming code from stdin with Prism

    Do not read STDIN as a String instance.

commit a64e93a8964f970015323b3a02e74ab04e31bc23
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-16 13:12:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-16 15:26:10 +0900

    Use ID without cache and fix conversion of offset

commit e0d068aa9cb43ee77952c810422bd78cd491304f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-16 12:25:48 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-16 15:26:10 +0900

    Extract `process_options_global_setup`

commit 839ccad20b9b754261025f65773d1f2178b3d117
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-16 12:22:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-16 15:26:09 +0900

    Extract functions depending on `--parser` option

commit 785b7ee13d4c6977fc21a185a689f5d1aa5cf880
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-16 14:41:46 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-16 14:41:48 +0900

    Rename the annocheck job

    gcc-11 is not the point of this job.

commit cf16a70448a657cbcd5fdcb6897c6025807e31b9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 11:21:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 14:38:42 +0900

    [rubygems/rubygems] Relax regexp for Ruby 3.3 or before

    https://github.com/rubygems/rubygems/commit/89d37e670c

commit 7b568b1f78e196ef5b130b09552e40013c82372b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 11:16:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 14:38:41 +0900

    [rubygems/rubygems] bin/rubocop -a

    https://github.com/rubygems/rubygems/commit/f79a6a004d

commit 0ae4d9c1096bbf554ee4d960ed9fdf82416cf135
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-16 14:36:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-16 14:36:38 +0900

    Let annocheck workflow run only test-annocheck (#9990)

    The test of other tasks seems duplicated.

commit 6f224d66a5210b090c095946fd20b9d33868695f
  Author:     Jason Garber <jason@sixtwothree.org>
  AuthorDate: 2024-02-01 12:04:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 13:53:14 +0900

    [rubygems/rubygems] Add `gitlab:` Git source shorthand

    This new shorthand, similar to the existing `github:` shorthand, adds
    support for Gitlab repositories with a notable difference. Gitlab
    projects may be organized into projects and subprojects. An example
    Ruby gem exists at:

    https://gitlab.com/gitlab-org/analytics-section/product-analytics/gl-application-sdk-rb

    With the new shorthand, a user may install this gem from its repository
    by adding:

    ```ruby
    gem "gitlab-sdk", gitlab: "gitlab-org/analytics-section/product-analytics/gl-application-sdk-rb"
    ```

    As with the `github:` shorthand, a supplied string with no `/` will be
    interpreted as `example/example`.

    Also in keeping with the utility of the `github:` shorthand, the new
    `gitlab:` shorthand also supports Merge Request URLs.

    ```ruby
    gem "gitlab-sdk", gitlab: "https://gitlab.com/gitlab-org/analytics-section/product-analytics/gl-application-sdk-rb/-/merge_requests/27"
    ```

    The `gitlab:` gem source shortcut is modeled on the existing `github:`
    shortcut, so the new specs mimic the existing examples.

    https://github.com/rubygems/rubygems/commit/f4399018c0

commit 574312dead013caa25c6dbad839a2defc4269219
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-15 23:30:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-16 11:20:29 +0900

    Extract `show_help` function

commit 7ac8d3d6eebb12421d77bcd39c4bfb578c28a63b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-15 22:58:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-16 11:20:29 +0900

    Dispose AST before exit by yydebug

commit 1c41dc40d8ec366190f408aeec13da5913608ed4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 11:08:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 11:12:08 +0900

    [ruby/forwardable] Relax regexp for Ruby 3.3 or before

    https://github.com/ruby/forwardable/commit/42b50c2111

commit 9d81741f27a1d77c5547b4815e4e5b8f5bb5037c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-16 08:27:44 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-16 09:38:21 +0900

    Pop the operand at the end

commit cdc07236a4e79fe0d5473cf984d0ffb3f98b89d7
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-16 08:05:42 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-16 09:38:21 +0900

    Update a comment on spill_temps()

commit bda4192e025df3ad9d67c8f6db8357fd9dd31f27
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-16 08:05:26 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-16 09:38:21 +0900

    Remove duplicated spill_temps()

commit cfe77db00d433d75848974cffe5b3b402a127799
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-02-15 11:03:35 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-16 09:38:21 +0900

    Spill fewer temps on iv writes

    Not all IV writes require calling a C function. If we don't need to
    execute a write barrier (IOW the written value is an immediate), and we
    don't need to expand the object to accommodate a new IV, we won't need
    to make a C call and we can avoid spilling temps.

commit 1b9b9609631edd27377b3c8954964146983d763b
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-16 07:24:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 08:04:38 +0900

    [ruby/prism] Make location methods thread-safe

    * Before it could result in NoMethodError if multiple threads were
      calling location methods: https://gist.github.com/eregon/b78b7f266d7ee0a278a389cfd1782232

    https://github.com/ruby/prism/commit/ff762dcccd

commit e7f7a85285b52a290be880f634244ec509bdf8e7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-16 05:50:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-16 05:50:04 +0900

    [PRISM] Sync prism version bump

commit 14a7277da13f4c082850cb30c36f4458b6fd35d1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-16 03:41:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 05:39:50 +0900

    [ruby/prism] Speed up creating Ruby AST

    When creating the Ruby AST, we were previously allocating Location
    objects for every node and every inner location. Instead, this
    commit changes it to pack both the start offset and length into a
    single u64 and pass that into the nodes. Then, when the locations
    are requested via a reader method, we lazily allocate the Location
    objects.

    https://github.com/ruby/prism/commit/de203dca83

    Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org>

commit 87cc2fd015fa7f840ae53bb58472354da754b44d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-16 05:36:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 05:36:48 +0900

    [ruby/prism] Fix up invalid syntax

    https://github.com/ruby/prism/commit/8e3aad9e27

commit 49ddbbf39f2600cc4d1e83d1d46bfc2788f31873
  Author:     Max Prokopiev <maxprokopiev@github.com>
  AuthorDate: 2024-02-15 19:46:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 05:28:17 +0900

    [ruby/prism] Fix opening loc for an empty symbol

    https://github.com/ruby/prism/commit/241d0169da

commit a5cee8fa79422a295ce200a92b901c4182995800
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-15 21:10:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 05:26:31 +0900

    [ruby/prism] Handle more aliases. Better testing of prism ripper CLI and a test for it.

    https://github.com/ruby/prism/commit/cfd4f28cb3

commit fa334ecd40d66fa1aa1a344afdcf776d5a8c541c
  Author:     Cody Cutrer <cody@instructure.com>
  AuthorDate: 2024-02-13 02:13:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 05:26:03 +0900

    [rubygems/rubygems] use full path for instance_eval

    so that __dir__ and __FILE__ will work properly from within that gemfile
    fragment, if eval_gemfile is given a relative path

    https://github.com/rubygems/rubygems/commit/d521bf9790

commit 8f17b3bd27a5c62c44b9de2376b8d54334997071
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-15 04:57:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 05:25:35 +0900

    [ruby/prism] Avoid extra String copies in the FFI backend

    * For Prism.parse_file the file contents would be read as native, then
      converted to a Ruby String, then converted to a native String for
      pm_serialize_parse().
    * Refactor the logic to always use a pm_string for the source code and
      pass that to other native functions.

    https://github.com/ruby/prism/commit/9002b3c47d

commit be82755d4a90e719797984fb9c6d0d195d823676
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-02-14 22:13:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 05:21:13 +0900

    [ruby/prism] Support multi-versioning for `Prism::Translation::Parser`

    ## Summary

    Fixes https://github.com/ruby/prism/pull/2356.

    I'm working on integrating Prism into RuboCop.

    This PR introduces `Prism::Translation::Parser33` and `Prism::Translation::Parser34`, named
    in accordance with the following comments.
    https://github.com/rubocop/rubocop/issues/12600#issuecomment-1932707748

    Currently, `Prism::Translation::Parser` always operates in Ruby 3.4 mode.
    This means it will not parse as Ruby 3.3 even if `TargetRubyVersion: 80_82_73_83_77.33` is specified.

    Therefore, the `it` introduced in Ruby 3.4 is parsed incompatibly with Ruby 3.3. In Ruby 3.3,
    the expected name for an `lvar` is `:it`, not `:"0it"`.

    ### Expected AST

    The following is an expected AST when parsing Ruby 3.3 code:

    ```console
    $ bundle exec ruby -rprism -rprism/translation/parser33 -ve "p Prism::Translation::Parser33.parse('items.map { it.do_something }')"
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    s(:block,
      s(:send,
        s(:send, nil, :items), :map),
      s(:args),
      s(:send,
        s(:send, nil, :it), :do_something))
    ```

    ### Actual AST

    The following is an actual AST when parsing Ruby 3.3 code:

    ```console
    $ ruby -rprism -ve "p Prism::Translation::Parser.parse('items.map { it.do_something }')"
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    s(:block,
      s(:send,
        s(:send, nil, :items), :map),
      s(:args),
      s(:send,
        s(:lvar, :"0it"), :do_something))
    ```

    `Prism::Translation::Parser33` and `Prism::Translation::Parser34` aim to correspond to Ruby 3.3 and Ruby 3.4, respectively.

    And, The hack of specifying `TargetRubyVersion: 80_82_73_83_77.33` is expected to become unnecessary in the future,
    but the behavior will be maintained until RuboCop's support is finalized:
    https://github.com/rubocop/rubocop/issues/12600#issuecomment-1933657732

    ## Additional Information

    A private method named `convert_for_prism` is prepared to convert the `version` from Parser to the `version` expected by Prism.
    For example, a Parser-compatible value is `3.3`, whereas Prism expects `"3.3.0"`.

    `Parser#version` is not used in RuboCop, but it's unclear how it is utilized in other libraries that rely on the Parser gem.

    Therefore, logic to maintain compatibility between Parser and Prism is implemented.

    https://github.com/ruby/prism/commit/62d3991e22

commit 4d1b3a2bf38a25a936821e239c79cb054514a048
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-16 02:19:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-16 02:19:45 +0900

    Unset STR_SHARED when setting string to embed

commit da7b9478d33d212145f2b79e378cb617451f3a5b
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-16 01:59:37 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-16 01:59:37 +0900

    YJIT: Pass nil to anonymous kwrest when empty (#9972)

    This is the same optimization as e4272fd29 ("Avoid allocation when
    passing no keywords to anonymous kwrest methods") but for YJIT. For
    anonymous kwrest parameters, nil is just as good as an empty hash.

    On the usage side, update `splatkw` to handle `nil` with a leaner path.

commit e779c194b3520973e42e277ed4759a90b97795d0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-15 06:25:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-16 01:48:31 +0900

    Remove used str field in struct binwrite_arg

commit a6bcd3aa70894858d0b75051a471896794efab61
  Author:     Haldun Bayhantopcu <haldun@github.com>
  AuthorDate: 2024-02-16 00:10:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 01:41:05 +0900

    [ruby/prism] Fix debug logging

    https://github.com/ruby/prism/commit/01af2d4f39

commit a0217025969097709928657acab58321bf0adedf
  Author:     Haldun Bayhantopcu <haldun@github.com>
  AuthorDate: 2024-02-16 00:30:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 01:40:36 +0900

    [ruby/prism] Fix parsing rescue modifier

    https://github.com/ruby/prism/commit/b7407ae3c0

commit a7718c914a216457ca9d3806085e673eabda8b31
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-15 20:04:23 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 20:43:11 +0900

    Do not show an anonymous class as a receiver

commit 0da12fa34e904603d2aa84e25924a3fde8a44f39
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 20:07:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 20:34:52 +0900

    Added singleton for prime

commit 18da80e10044df40d5e0dfdb20a47f8df4cef71d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 19:36:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 20:34:52 +0900

    Skip failing examples at Ruby 3.2+

commit 4aef87520594a2d77d687c6fb96fa977df348d1a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 19:26:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 20:34:52 +0900

    Surpressing constant redefinition warning

commit 1e426bd5e527b5a06dfe52810092a5317866e67a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 19:26:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 20:34:52 +0900

    Exclude net-ftp examples because it has dependency issue

commit 8ba053d3fb2ba0482bcfd913d99e4adedeb4be27
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 19:01:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 20:34:52 +0900

    Re-enabled old bundled gems

commit 8f926cb8d845585cbf6fe77a084229cb0a37b84a
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-15 19:34:41 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-15 20:06:21 +0900

    No need to extract bundled gems before test-spec

    * Since https://github.com/ruby/ruby/pull/9977

commit 8f2c231642c9f94947b75769d3cc21b1127b2135
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-15 16:00:51 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 19:11:58 +0900

    ruby-spec: Accept the receiver in backtraces

commit 9d1b000bd1bb747bcc49e2d7677fb7c2b31c5a94
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-15 14:23:01 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 19:11:58 +0900

    Show the method owner in backtraces

    ```
    test.rb:1:in 'Object#toplevel_meth': unhandled exception
            from test.rb:4:in 'Foo.class_meth'
            from test.rb:6:in 'Foo#instance_meth'
            from test.rb:11:in 'singleton_meth'
            from test.rb:13:in '<main>'
    ```

    [Feature #19117]

commit 61819c87b29f3267d6a2499d9018f09cd5bcf2c4
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-01-18 19:35:49 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 19:11:58 +0900

    Let Thread::Backtrace::Location have a method entry

    Instead of having iseq and cfunc separately, this change lets
    Thread::Backtrace::Location have them together as
    rb_callable_method_entry_t.

    This is a refactoring, but also a preparation for implementing
    [Feature #19117].

commit 6958e88f29edec36482f8bff650e39a7e15b088e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 16:59:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 18:57:23 +0900

    Fix task dependency

commit 4a00fcbd92d6fbc5514e04c1de3a0540e84e996e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 16:39:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 18:57:23 +0900

    Rename and restructured net/ftp and net/http examples

commit fa7529afd5566bab3d1db9bba6624122ffd1b4c8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 14:49:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 18:57:23 +0900

    Move examples related core extension feature by Bigdecimal to under the library/bigdecimal

commit 121dfb38be53f4c984b2bc56106df615d5dd3568
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 14:32:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 18:57:23 +0900

    Surpressing constant redefinition warning

commit 1e6fffaeeb18a1576492c864c92ec0f940adb28c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 11:05:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 18:57:23 +0900

    Added new ruby/spec task for bundled gems

commit 76d322b5d2566162cdcb926a80be8f596a50f107
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 09:49:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 18:57:23 +0900

    Disable to run for bundled gems in test-spec

commit 92eab382e40ae5d853ab3d84940336e407d58754
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-15 14:09:41 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 18:42:31 +0900

    Update the error message format in bundler

commit d5c16ddfcb6c4cbb0209d66118ac23c7cb6c5149
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-15 13:29:26 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 18:42:31 +0900

    Temporarily update the error message format in prism

commit d9234ba87b7e48381c8c44ef4a302ef368ee0ee7
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-15 13:28:56 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 18:42:31 +0900

    Temporarily allow failures in some bundled gems

commit 8259f35adc67ab34bb521f0e8a298fb00629b958
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-15 13:00:32 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 18:42:31 +0900

    ruby-spec: Accept both a backtick and a single quote in error messages

commit 25d74b9527cd525042ad0b612b794fa331d3a318
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-01-19 16:03:38 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 18:42:31 +0900

    Do not include a backtick in error messages and backtraces

    [Feature #16495]

commit 926277bf826127c65689ddf01f94e23d538a3b8b
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-02-15 15:52:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 17:01:02 +0900

    s/ therefor/therefore/

commit aa6d0bc0bdeebd79788a6c8b32ba8be73392c5d6
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-02-15 15:51:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 17:01:02 +0900

    s/ocurs/occurs/

commit 303852440a2cfd970ac1a56a56150ed41fbbef67
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-02-15 15:50:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 17:01:02 +0900

    s/bellow/below/

commit 317c1da62b95cf3dadd4838c47b588dffad1398d
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-02-15 15:49:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 17:01:02 +0900

    s/Direcive/Directive/

commit 8b061eeb229ea71089e0c061b67d6a43b4ebf5e1
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-02-15 15:49:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 17:01:02 +0900

    s/enocding/encoding/

commit c57880e68d142e518e231b8e76d595ddd403676d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-14 17:30:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-15 13:39:33 +0900

    Show the invalid source encoding in messages

commit beeee548803f0c8505f7f0f74f020e24fe6ab010
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-15 08:57:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-15 08:57:24 +0900

    YJIT: Replace perf_fn! with a simpler macro (#9971)

commit 06ad00adc2505142cc06ec291c18a90dd01baa80
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-14 21:55:30 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-15 07:44:30 +0900

    Lrama v0.6.3

commit 95ec71efc502e93c136ac26a497c6498791e6ba6
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-14 19:44:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 07:44:03 +0900

    Revert "CHECK_LEAKS is always enabled with 01459f1"

    * This reverts commit cf8fb9429511068c69ce70da7f7818c7441c280b.
    * CHECK_LEAKS is no longer always enabled.

commit d24be39d69f1f673048cd6c94d1354a3a9e3029d
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-14 19:41:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 07:44:03 +0900

    Only check constant leaks by default for `make test-spec`

    * See https://github.com/ruby/ruby/pull/9548

commit 6f9ca7f4539a94c6e328f511b7e3c4ab201532a9
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-15 06:50:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-15 06:50:58 +0900

    YJIT: Use i32 over isize for ctx.sp_opnd() (#9968)

    It eventually casts it to i32 anyways, and a lot of callers already have
    an i32, so using isize was just adding unnecessary casts.

commit 28709d591dc90c718cb6cb0717bf85dac6560b6c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-15 06:25:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-15 06:25:05 +0900

    Remove unused argument in cc_table_free

commit 72f8883a2f89b49fd4914391b34247b697456e81
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-15 05:23:38 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-15 06:09:11 +0900

    YJIT: Extract keyword handling to make gen_send_iseq() shorter

    This should make it easier to grok the order of operations.

commit ae8db4b65ae8fb285f00acf96e7d6330393b78cd
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-15 05:52:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-15 05:52:15 +0900

    Remove unused function rb_cc_table_free

commit c9ed59c2e2ee46080adcd4434808ef42c298565e
  Author:     Aaron Patterson <aaron.patterson@gmail.com>
  AuthorDate: 2024-02-15 05:02:58 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-15 05:49:36 +0900

    Update yjit/src/codegen.rs

    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

commit 7943cb22f667cc4382e8ea3f7ca674c470f601c6
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-02-15 04:49:10 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-15 05:49:36 +0900

    Consider rb_str_getbyte as leaf sometimes

    If YJIT knows the parameter to rb_str_getbyte is a fixnum, then I think
    we can consider the function to be a leaf

commit fadb7d412b813ca8b484df4c5d7b2ccce3f8fd1e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-15 05:37:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-15 05:37:53 +0900

    Remove duplicated include in weakmap.c

commit 9933377c343e45a2294fff7199255bfc00c8ef1a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-15 04:17:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-15 05:29:26 +0900

    [PRISM] Correctly hook up line numbers for eval

commit 1d3b306753baf05642836cc6f17015c9309c1420
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-14 00:21:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-15 03:43:02 +0900

    Move rb_class_allocate_instance from gc.c to object.c

commit fc2c128e7e1fd4a197669d2f04e8457f4188b7f3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 11:38:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-15 03:24:43 +0900

    [PRISM] Set eval encoding based on string encoding

commit 7177731282bea651385818076d4fa6b9bdf717c0
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-15 02:09:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-15 02:09:14 +0900

    YJIT: Add --yjit-perf=codegen option (#9957)

commit ee3b4bec0ead8cef949a992df46ef8b237ed4a26
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-15 01:19:04 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-15 01:19:04 +0900

    YJIT: Simplify Kernel#send guards and admit more cases (#9956)

    Previously, our compile time check rejected dynamic symbols (e.g. what
    String#to_sym could return) even though we could handle them just fine.
    The runtime guards for the type of method name was also overly
    restrictive and didn't accept dynamic symbols.

    Fold the type check into the rb_get_symbol_id() and take advantage of
    the guard already checking for 0. This also avoids generating the same
    call twice in case the same method name is presented as different
    types.

commit f4a0e1cdb453ee4389b1db258601e4a96471a4f5
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-14 02:20:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-15 00:56:42 +0900

    Prefer `Array.new(n) {}` to `n.times.map {}`

    * It is quite a bit faster:
      ruby -rbenchmark/ips -e 'Benchmark.ips { |x| x.report("times.map") { 1000.times.map {} }; x.report("Array.new") { Array.new(1000) {} }; x.compare! }'
      ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-linux]
      Warming up --------------------------------------
             times.map   976.000 i/100ms
             Array.new     1.641k i/100ms
      Calculating -------------------------------------
             times.map      9.808k (± 0.3%) i/s -     49.776k in   5.075013s
             Array.new     16.601k (± 1.0%) i/s -     83.691k in   5.041970s

      Comparison:
             Array.new:    16600.8 i/s
             times.map:     9808.2 i/s - 1.69x  slower

commit c2d8d6eba6a1c9e51c2f2ae136e92468c6841472
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-14 21:43:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-15 00:48:33 +0900

    Initialize the Prism::Source directly with all 3 fields for the C extension

    * Faster that way:
      $ ruby -Ilib -rprism -rbenchmark/ips -e 'Benchmark.ips { |x| x.report("parse") { Prism.parse("1 + 2") } }'
      195.722k (± 0.5%) i/s
      rb_iv_set():
      179.609k (± 0.5%) i/s
      rb_funcall():
      190.030k (± 0.3%) i/s
      before this PR:
      183.319k (± 0.4%) i/s

commit 1b2708b123038802740e58672e459fb6b575354c
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-14 01:44:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-15 00:48:33 +0900

    [ruby/prism] Remove attr_writer's for ParseResult#start_line and #offsets

    * As the user should not set these.
    * Use #instance_variable_set/rb_iv_set() instead internally.

    https://github.com/ruby/prism/commit/cace09fb8c

commit f0f6ffef4252fcc899fe2f039b910fc7613d00aa
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-09 00:26:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-15 00:48:32 +0900

    [ruby/prism] Serialize the newline_list to avoid recomputing it again later

    * Fixes https://github.com/ruby/prism/issues/2380

    https://github.com/ruby/prism/commit/4eaaa90114

commit 65f54355406a25f352241406967d038fc72d4737
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-02-15 00:47:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-15 00:47:42 +0900

    [DOC] Doc compliance (#9955)

commit 12b0e67fec2cc59a6f7da4a4bfbd52a08404d2a4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 23:58:36 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 23:58:36 +0900

    [PRISM] Sync to latest prism

commit c84581f1d920a6f179d13c0edd99f5b99dd5d1ba
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-14 22:47:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 22:47:45 +0900

    [ruby/irb] Repurpose the help command to display the help message
    (https://github.com/ruby/irb/pull/872)

    See #787 for more details.

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

commit d0412599e08283430ca0a3c34f2e58eb5c5d5619
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-14 22:46:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 22:46:49 +0900

    [ruby/irb] Improve constant lookup in SourceFinder
    (https://github.com/ruby/irb/pull/871)

    https://github.com/ruby/irb/commit/87c279ccf2

commit 1fc7c79dea7360c1b6cf24dcf4c2eee02c13f6d1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 11:40:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:40:47 +0900

    [PRISM] Exclude additional tests from rebase

commit 8ec955d1f53b96c99cf85fda8f5153e9e0ec9ba1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 10:00:58 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:19:12 +0900

    [PRISM] Switch bootstraptest syntax error assertions to handle multiline

commit 5de3e3057a1401a448efea12ba70d7869f52f83d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 09:59:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:19:12 +0900

    [PRISM] Add temporary test exclusions to get eval passing

commit adb2fbf69af9f50aeab4d9f662ec3b127cb1db39
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-02-09 01:09:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:19:12 +0900

    [PRISM] Prism/eval should handle file names provided

commit f70a4a03364f03432e35bf22402d6d1c7f2e40af
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-02-09 00:28:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:19:12 +0900

    [PRISM] yield is invalid inside eval

commit 0285b533e95f54866febffda108c18be329aba55
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-02-08 23:57:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:19:12 +0900

    [PRISM] Don't rb_bug if redo/break/next used during eval

commit edb755c84b6ccbb9fed1c04aa37080d4e884a434
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-02-06 01:12:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:19:12 +0900

    [PRISM] Add eval tests

commit c2af974e6751b9a4c533a8c6855efd9897b09c5f
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-02-02 00:00:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:19:12 +0900

    [PRISM] Build wrapper scopes for eval

    - Don't use `build_options_scopes` We can inline the code here instead
      and avoid allocating all the extra arrays.

    - Create `pm_scope_node_t` objects with the correct local table, for the
      scope node returned from the parser.

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>

commit fd3f776a05505d71c818620fe9c6ca8fb3d132ea
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-02-01 05:56:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:19:12 +0900

    [PRISM] Use Prism for `eval` if enabled

commit 068b19bd53148d91397d0443de78eeeb8c1628ba
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 10:41:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 10:42:01 +0900

    [ruby/prism] Match up token name to CRuby

    https://github.com/ruby/prism/commit/cf0369a5c7

commit c54622c657cbdd8fd13790d5c339b8dbadff8b14
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-02-14 10:35:19 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-02-14 10:40:26 +0900

    Fix a warning with USE_RUBY_DEBUG_LOG=1 on macOS

    ```
    compiling ../thread.c
    In file included from ../thread.c:263:
    In file included from ../thread_pthread.c:2870:
    ../thread_pthread_mn.c:777:43: warning: format specifies type 'unsigned long' but the argument has type 'rb_hrtime_t' (aka 'unsigned long long') [-Wformat]
                    RUBY_DEBUG_LOG("abs:%lu", abs);
                                        ~~~   ^~~
                                        %llu
    ../vm_debug.h:110:74: note: expanded from macro 'RUBY_DEBUG_LOG'
            ruby_debug_log(__FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING, "" __VA_ARGS__); \
                                                                             ^~~~~~~~~~~
    1 warning generated.
    ```

commit 8e3eb8c9b4ba55e8fd8b9174c15ac79b59dbd938
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 10:32:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 10:32:19 +0900

    [PRISM] Fix up common.mk dependencies

commit 2fa051f627172674b342da26ebe1e671a5e449ec
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 07:45:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 10:01:37 +0900

    [ruby/prism] Validate multibyte characters in strings

    Check that multibyte characters are valid using pm_strpbrk. We need
    to add a couple of codepaths to ensure all encodings are covered.

    Importantly this doesn't check regular expressions, because
    apparently you're allowed to have invalid multibyte characters
    inside regular expression comment groups/extended mode.

    https://github.com/ruby/prism/commit/2857d3e1b5

commit dc5191d6952246be6717a76c193abe1bc55128b7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 06:01:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 06:12:10 +0900

    [ruby/prism] Fix KOI-8 char width check

    https://github.com/ruby/prism/commit/06d3747c5b

commit a5869e5d8c1130b5b0261bc995a545be5fbff27e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-14 05:13:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-14 05:54:04 +0900

    [PRISM] Replace assert with RUBY_ASSERT

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 83c158fdfc6726495b8958be0b2fb0a63af2e27d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-14 05:14:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-14 05:54:04 +0900

    [PRISM] Replace assert with rb_bug

commit a96110f7ef2a8f2a15bc35275201cee4ae4bcaee
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 05:11:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 05:35:02 +0900

    [ruby/prism] Convert more error messages to match specs

    https://github.com/ruby/prism/commit/7987b7aa20

commit 4d3fc96b8ba885a9f61238aa1bd51dbc056f2f5d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-14 03:44:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-14 05:30:06 +0900

    Change dsymbol_alloc to use NEWOBJ_OF

commit b1964a92044f97f3b71ec98906c02083e28a7226
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 04:58:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 05:10:25 +0900

    [ruby/prism] Add code unit APIs to location

    LSPs need this because the protocol dictates that you return code
    units for offsets. None of our existing APIs provided that
    information, and since we hid the source it's not nearly as useful
    for them. Now they can pass an encoding directly to:

    * Location#start_code_units_offset
    * Location#end_code_units_offset
    * Location#start_code_units_column
    * Location#end_code_units_column

    https://github.com/ruby/prism/commit/4757a2cc06

    Co-Authored-By: Vinicius Stock <vinicius.stock@shopify.com>

commit 6261d4b4d8112a461ac5a383032490007f47029c
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-14 02:51:36 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-14 04:49:54 +0900

    Fix use-after-move in Symbol#inspect

    The allocation could re-embed `orig_str` and invalidate the data
    pointer from RSTRING_GETMEM() if the string is embedded.

    Found on CI, where the test introduced in 7002e776944 ("Fix
    Symbol#inspect for GC compaction") recently failed.

    See: <https://github.com/ruby/ruby/actions/runs/7880657560/job/21503019659>

commit 21297293f4ce3a01eba7879ce9b5619e65a805be
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-02-14 03:49:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-14 03:49:35 +0900

    [DOC] Doc compliance (#9944)

commit 29d04bb0c452e31424fb22f62151ab7da566a71e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 03:19:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 03:26:28 +0900

    [ruby/prism] Introduce `version: "3.4.0"`

    This is effectively an alias for "latest" right now. In the future
    it will change to be its own enum value.

    https://github.com/ruby/prism/commit/2c86036022

commit 246005f5bd3171e12bafe820d183a7a23adc9e96
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-02-14 02:38:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 03:15:48 +0900

    [ruby/prism] Fix an error when specifying the parsing version `latest`

    This PR fixes following error when using `version: latest` argument.

    ```console
    $ ruby -rprism -e "p Prism.parse('-> { it }', version: 'latest')"
    -e:1:in `parse': invalid version: latest (ArgumentError)

    p Prism.parse('-> { it }', version: 'latest')
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            from -e:1:in `<main>'
    ```

    The argument `version: latest` in the added test is commented as potentially being
    better replaced with `version: 3.4.0` in the future.

    https://github.com/ruby/prism/commit/27b5c933cb

commit a93f4e3d1a656861897a244f34f9cdbc0d7fea49
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-02-14 02:40:38 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-14 03:10:19 +0900

    byteslice can return nil so we have to push an "unknown" value

commit fdaef7a72e8611ffd4889aa1a1dbc6ebaf5b3095
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-14 01:44:03 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-14 02:16:36 +0900

    YJIT: Fixup kwrest stack base

    I was a little rushed and didn't notice that it was still using the
    final stack size even though we don't grow the stack before kwrest
    handling anymore. Oh well, we got a new test out of it.

    Fix: cbdabd5890

commit c35fea8509551aefe257986c937ea7147f436bdf
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-02-14 01:20:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-14 01:20:27 +0900

    Specialize String#byteslice(a, b) (#9939)

    * Specialize String#byteslice(a, b)

    This adds a specialization for String#byteslice when there are two
    parameters.

    This makes our protobuf parser go from 5.84x slower to 5.33x slower

    ```
    Comparison:
    decode upstream (53738 bytes):     7228.5 i/s
    decode protobuff (53738 bytes):     1236.8 i/s - 5.84x  slower

    Comparison:
    decode upstream (53738 bytes):     7024.8 i/s
    decode protobuff (53738 bytes):     1318.5 i/s - 5.33x  slower
    ```

    * Update yjit/src/codegen.rs

    ---------

    Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>

commit a71d1ed83875600c174e66a8ace18e0ad451958a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-09 00:43:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-14 01:05:56 +0900

    Fix memory leak when parsing invalid hash symbol

    For example:

        10.times do
          100_000.times do
            eval('{"\xC3": 1}')
          rescue EncodingError
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        32032
        48464
        66112
        84192
        100592
        117520
        134096
        150656
        167168
        183760

    After:

        17120
        17120
        17120
        17120
        18560
        18560
        18560
        18560
        18560
        18560

commit e4272fd292e7a432150e90c8dc7d8e9aa7d07e62
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-13 11:08:49 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-14 01:05:26 +0900

    Avoid allocation when passing no keywords to anonymous kwrest methods

    Thanks to the new semantics from [ruby-core:115808], `**nil` is now
    equivalent to `**{}`. Since the only thing one could do with anonymous
    keyword rest parameter is to delegate it with `**`, nil is just as good
    as an empty hash. Using nil avoids allocating an empty hash.

    This is particularly important for `...` methods since they now use
    `**kwrest` under the hood after 4f77d8d328. Most calls don't pass
    keywords.

        Comparison:
                                 fw_no_kw
                        post:   9816800.9 i/s
                         pre:   8570297.0 i/s - 1.15x  slower

commit 4e481c772eae915913d606291aaa03383f7660e2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 11:47:23 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 00:26:42 +0900

    [PRISM] Refactors to use more locations

commit fe31b682be24386937630b72343993aaafe666cc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 05:48:23 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 00:26:42 +0900

    [PRISM] Stop passing parser around so much

commit e967e062762d9a1866647a073e90a4c053b825c5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 05:37:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 00:26:42 +0900

    [PRISM] Switch to locations for PM_ALIAS_GLOBAL_VARIABLE_NODE, PM_ALIAS_METHOD_NODE, and PM_AND_NODE

commit 76ab017f012d560b082bec4852e043e7f3a94a0b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 05:16:44 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 00:26:42 +0900

    [PRISM] Brace style in prism_compile.c

commit d357d50f0a74409446f4cccec78593373f5adf2f
  Author:     Nikita Vasilevsky <nikita.vasilevsky@shopify.com>
  AuthorDate: 2024-02-08 01:51:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-13 23:39:28 +0900

    [PRISM] Fix lambda start column number

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>

commit b662edf0a05c88e3c15a88aa48f48c7e4ede8597
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 13:13:35 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-13 23:37:24 +0900

    [PRISM] Combine hash compilation between hashes and keywords

commit c0e121420b084077a50ef7ec2cf56ad1b10e4041
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 12:50:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-13 23:37:24 +0900

    [PRISM] Fix compilation of hash with multiple merges

commit dedca31804510e42a89946d81c1834c9e5950d6f
  Author:     Vinicius Stock <vinicius.stock@shopify.com>
  AuthorDate: 2024-02-13 03:32:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 23:09:19 +0900

    [ruby/prism] Fix `full_name` for constant path targets

    https://github.com/ruby/prism/commit/84c10f3a2d

commit 2f0f95235a1de489f50c7a9dbe3477f9f7e60cd1
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-13 22:36:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 22:36:32 +0900

    [ruby/irb] Fix SourceFinder's constant evaluation issue
    (https://github.com/ruby/irb/pull/869)

    Currently, if the signature's constant part is not defined, a NameError
    would be raised.

    ```
    irb(main):001> show_source Foo
    (eval):1:in `<top (required)>': uninitialized constant Foo (NameError)

    Foo
    ^^^
            from (irb):1:in `<main>'
    ```

    This commit fixes the issue and simplifies the `edit` command's implementation.

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

commit ec26786b1a37350c0ff21666b028ec5e2aa6a318
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-13 22:33:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 22:33:36 +0900

    [ruby/irb] Refactor eval_path and `SourceFinder::Source`
    (https://github.com/ruby/irb/pull/870)

    * Assign `@eval_path` through `irb_path=` method

    This simplifies the original caching logic for the `eval_path` method
    and makes it easier to understand.

    * Refactor SourceFinder::Source

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

commit b5327647c2a49c36621631a06527837e99b009e5
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-13 19:29:04 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-13 20:11:34 +0900

    extract-gems before nmake in Visual Studio workflow

    * BTW this workflow is the only one doing extract-extlibs before building.
      It seems building with Visual Studio and nmake has significant differences.

commit 9204416b7fad21a4df1116091dbb723bd21557a4
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-13 19:26:53 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-13 20:11:34 +0900

    Revert "Try `nmake install` before `nmake test-spec`"

    This reverts commit d4a6c6521aa1a5208939a2cd981a13ca01a07d2a.

commit e848848b58adbf7b5d60537a89cc8de4c48de15e
  Author:     Otávio Schwanck dos Santos <otavioschwanck@gmail.com>
  AuthorDate: 2024-02-11 19:03:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-13 18:57:17 +0900

    [ruby/reline] C for vi mode
    (https://github.com/ruby/reline/pull/472)

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

commit 038189b61f60e27ea081817979cb7a043bcf5798
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-12 18:23:28 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-13 10:56:32 +0900

    Use dedicated parser_string hash function

    Define and use `rb_parser_str_hash` for `rb_parser_string_t`
    instead of `rb_str_hash` to remove dependency on `rb_str_hash`.

commit 785aa47cd643a516f6aa524ee1488c5edb459dd1
  Author:     License Update <license.update@rubygems.org>
  AuthorDate: 2024-02-11 09:24:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 10:27:18 +0900

    [rubygems/rubygems] Update SPDX license list as of 2024-02-08

    https://github.com/rubygems/rubygems/commit/ec3de95d79

commit 1f0fa318345e486182ae439e80035958e1644bae
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-02-13 07:51:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-13 10:07:04 +0900

    Fix typo in asan section of building_ruby.md docs

    s/copmiler-rt/compiler-rt/

commit 4a6384ed9358e8fb8464f6e37efb5477182f01db
  Author:     Hiroya Fujinami <make.just.on@gmail.com>
  AuthorDate: 2024-02-13 09:53:03 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-13 09:53:03 +0900

    Fix [Bug #20246]: Don't set next_head_exact if a capture is called (#9897)

commit 8a345860d3d16b3bca74caf8ee1b405287873eed
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-12 13:32:01 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-13 08:40:14 +0900

    Warn duplication of `__ENCODING__` on the hash

    ```
    $ ruby -e 'h = { __ENCODING__ => 1, __ENCODING__ => 2 }'
    -e:1: warning: key #<Encoding:UTF-8> is duplicated and overwritten on line 1
    ```

commit f41d8f38b44c66483388b1416a25d63be0721ee4
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-02-13 05:51:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 06:52:14 +0900

    Comply with doc guide

commit cbdabd5890e3cc07d66f53ad47e5beacd82172b6
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-13 05:57:37 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-13 06:39:11 +0900

    YJIT: Fix kwrest calls setting SP with uninit values

    We did stack_push() and then saved the SP without writing to the slots
    of the new values first, which caused the GC to mark uninitialized
    values. Should fix crashes like
    https://github.com/ruby/ruby/actions/runs/7877298133/job/21493179294

commit 0536b2ce48c022a6a2e8d4bac91e6a843978ea2f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:45:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in weakmap.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 80700f453e8ca13925790bd980197dc302696c0a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:45:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in thread_sync.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 9a2b692249f5cbea0acf47b2711060084c0e7e3f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:45:03 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in rational.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 3ed5962755603c86a5f783879425d1e5fb96e5bb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:44:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in range.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit fd87259a26df493d61923a202765fb21c13b7669
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:44:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in numeric.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 5644d90da0563fb5a9cdd6f5f3088f01b01ba06b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:43:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in load.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit ea92374bf727325fe96b5f65a41cdc1fc147af9e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:43:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in id_table.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 436191abe05a12be17bb6c184790ee39d6fabffb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:43:07 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in enum.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 11ffee88b5a2ed67b4f181a48cf8eed772ae1c50
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:42:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in darray.h

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 7256e38f867d88818d33a63f6704a02936929083
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:42:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in complex.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit de7a29ef8d72f24d0a6612e3254a014a92aaa1ab
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:41:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in compile.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 6906e502f9d02a5b683bc4d0839add9f946f409a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:40:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in bignum.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 1228751af695d5b20da707c13e11a681821505e7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:40:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in array.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit ac38f259aae4463f21431801dbad9e3c067917f5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:37:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in string.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit bb845ae8794c63981632909887e40b7ccd5e9876
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 05:03:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 05:03:09 +0900

    [ruby/prism] Fix typo in class variable name error

    https://github.com/ruby/prism/commit/5f6c45f6fb

commit 4f1a466522bdab1fcac04c9d2246e15010467925
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-02-13 05:01:46 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-13 05:01:46 +0900

    More on auto-link (#9907)

commit 84d8dbe7a5c22d117f50c90d308fddcf5133fd2f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-10-18 17:47:48 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-13 04:51:06 +0900

    Enable redefinition check for rbinc methods

commit 1395838e1887d581a3d6cd28c24f7b44c44f5c26
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 03:43:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-13 04:48:09 +0900

    [PRISM] Check full lines for invalid UTF-8

commit 2131d04f43d81469f6ab4215bef4644390e70ee5
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-07 12:28:52 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-13 03:57:24 +0900

    YJIT: Add support for `**kwrest` parameters

    Now that `...` uses `**kwrest` instead of regular splat and
    ruby2keywords, we need to support these type of methods to
    support `...` well.

commit 7af97dc71fd6790a3f4ffe47dcc5720b675f6b6b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-13 03:38:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 03:38:30 +0900

    [ruby/irb] Powerup show_source by enabling RubyVM.keep_script_lines
    (https://github.com/ruby/irb/pull/862)

    * Powerup show_source by enabling RubyVM.keep_script_lines

    * Add file_content field to avoid reading file twice while show_source

    * Change path passed to eval, don't change irb_path.

    * Encapsulate source coloring logic and binary file check insode class Source

    * Add edit command testcase when irb_path does not exist

    * Memoize irb_path existence to reduce file existence check calculating eval_path

    https://github.com/ruby/irb/commit/239683a937

commit e878bbd641f255b5d8f9e99b84ff8082a5b7fdaf
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-09 09:10:51 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-13 03:02:50 +0900

    Allow `foo(**nil, &block_arg)`

    Previously, `**nil` by itself worked, but if you add a block argument,
    it raised a conversion error. The presence of the block argument
    shouldn't change how keyword splat works.

    See: <https://bugs.ruby-lang.org/issues/20064>

commit e08c128417fd840c72f8e7d6cbfa59970fb7a5b8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-11 00:46:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 03:01:45 +0900

    [ruby/prism] Error messages closer to CRuby

    https://github.com/ruby/prism/commit/19ffa0b980

commit e4d3e652ff41943c7f50d4552c1c98dfaa736cf9
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-13 02:56:44 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-13 02:56:44 +0900

    YJIT: Prefer an overloaded cme if available (#9913)

    YJIT: Prefer an overloaded cme if applicable

commit 94bc5ad30a15685c3c3b0bf19510cf6415ebb935
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-26 00:21:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 02:54:54 +0900

    [ruby/prism] ruby_parser translator

    https://github.com/ruby/prism/commit/1925b970c7

commit de1a586ecc2ee7f465f0c0a69291054136a3a819
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-02-12 20:03:36 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-02-13 02:31:48 +0900

    proc.c: get rid of `CLONESETUP`

    [Bug #20253]

    All the way down to Ruby 1.9, `Proc`, `Method`, `UnboundMethod`
    and `Binding` always had their own specific clone and dup routine.

    This caused various discrepancies with how other objects behave
    on `dup` and `clone. [Bug #20250], [Bug #20253].

    This commit get rid of `CLONESETUP` and use the the same codepath
    as all other types, so ensure consistency.

    NB: It's still not accepting the `freeze` keyword argument on `clone`.

    Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>

commit c04782c2cb56c512e1d1b34630cb942da3aeb366
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-13 01:56:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-13 01:56:24 +0900

    YJIT: Adjust the padding size of counts automatically (#9912)

commit b9f25b100f801a0f1d00dfa7afcd450eab58b411
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-13 01:55:52 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-13 01:55:52 +0900

    YJIT: Fix insufficient type guards (#9911)

commit c3886c12dc22d5d913605060c603c5f4ddb66594
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 01:27:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 01:27:49 +0900

    [ruby/prism] Fix unary not location

    https://github.com/ruby/prism/commit/861689f6d1

commit 16b39072a56c253acdb35055e42a69631cf00d69
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-13 00:47:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 00:57:57 +0900

    [ruby/prism] Move Prism::RipperCompat to Prism::Translation::Ripper

    https://github.com/ruby/prism/commit/c0331abe4f

commit 78deba1aa1d0902f610161655c50d73e8e2f7204
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-27 05:13:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 00:57:17 +0900

    [ruby/prism] Unary not name location

    https://github.com/ruby/prism/commit/78190d2999

commit 739eec0456e50c6b83ff28d5887310102f5f1f2c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-13 00:48:10 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-13 00:48:10 +0900

    [DOC] `:stopdoc:` directive must be on its own line (#9916)

commit 190a55d27f82eff05ae5bfcac0cb2603ab75791a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-10 02:06:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-12 23:43:38 +0900

    Drill newobj cache instead of ractor

commit d4a6c6521aa1a5208939a2cd981a13ca01a07d2a
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-12 22:00:58 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-12 22:31:34 +0900

    Try `nmake install` before `nmake test-spec`

commit 06995eb45b86645a945b4429c6d85597a21b40a7
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-12 20:28:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-12 20:28:54 +0900

    [ruby/irb] Fix exit! command warning and method behavior
    (https://github.com/ruby/irb/pull/868)

    * Fix exit! command warning and method behavior

    * Remove arg(0) from Kernel.exit and Kernel.exit!

    https://github.com/ruby/irb/commit/372bc59bf5

commit 39788e5888c8117b07a4c06390d08ce032d9a42b
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-12 19:33:19 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-12 19:33:19 +0900

    Try prepare-gems instead of extract-gems

    * `make install` uses prepare-gems.

commit ffe1a68bda208c776656f47a8c743cc3e6b7aac6
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-12 19:33:08 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-12 19:33:08 +0900

    Skip spec failing on i686

commit d15301d4827cb0e14dedf6456ee64ab0a36622f9
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-12 19:05:51 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-12 19:05:51 +0900

    Exclude a problematic spec when run in CRuby via make test-spec until fixed

commit b19d2409be0b7bac65e6e54cfb3bedc61419ec01
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-12 18:56:33 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-12 18:56:33 +0900

    Update to ruby/spec@ce834ad

commit 90a746d246d51d105d7f3e0d1c2ddf7994dd2d4b
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-12 18:55:57 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-12 18:55:57 +0900

    Always extract bundled gems before running ruby/spec

    * Fixes https://github.com/ruby/ruby/commit/44d74f22c8da3c13aa5363769418e2f5fd29f65a#r138276491

commit 7fc89a92620f09df38b1f89d7dbd4d8b9f484aeb
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-12 14:30:48 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-12 17:46:22 +0900

    Use Node for `warn_duplicate_keys` st_table keys

commit c20e819e8b04e84a4103ca9a036022543459c213
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-31 10:15:44 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-02-12 15:48:38 +0900

    Fix crash when passing large keyword splat to method accepting keywords and keyword splat

    The following code previously caused a crash:

    ```ruby
    h = {}
    1000000.times{|i| h[i.to_s.to_sym] = i}
    def f(kw: 1, **kws) end
    f(**h)
    ```

    Inside a thread or fiber, the size of the keyword splat could be much smaller
    and still cause a crash.

    I found this issue while optimizing method calling by reducing implicit
    allocations.  Given the following code:

    ```ruby
    def f(kw: , **kws) end
    kw = {kw: 1}
    f(**kw)
    ```

    The `f(**kw)` call previously allocated two hashes callee side instead of a
    single hash.  This is because `setup_parameters_complex` would extract the
    keywords from the keyword splat hash to the C stack, to attempt to mirror
    the case when literal keywords are passed without a keyword splat.  Then,
    `make_rest_kw_hash` would build a new hash based on the extracted keywords
    that weren't used for literal keywords.

    Switch the implementation so that if a keyword splat is passed, literal keywords
    are deleted from the keyword splat hash (or a copy of the hash if the hash is
    not mutable).

    In addition to avoiding the crash, this new approach is much more
    efficient in all cases.  With the included benchmark:

    ```
                                    1
                miniruby:   5247879.9 i/s
         miniruby-before:   2474050.2 i/s - 2.12x  slower

                            1_mutable
                miniruby:   1797036.5 i/s
         miniruby-before:   1239543.3 i/s - 1.45x  slower

                                   10
                miniruby:   1094750.1 i/s
         miniruby-before:    365529.6 i/s - 2.99x  slower

                           10_mutable
                miniruby:    407781.7 i/s
         miniruby-before:    225364.0 i/s - 1.81x  slower

                                  100
                miniruby:    100992.3 i/s
         miniruby-before:     32703.6 i/s - 3.09x  slower

                          100_mutable
                miniruby:     40092.3 i/s
         miniruby-before:     21266.9 i/s - 1.89x  slower

                                 1000
                miniruby:     21694.2 i/s
         miniruby-before:      4949.8 i/s - 4.38x  slower

                         1000_mutable
                miniruby:      5819.5 i/s
         miniruby-before:      2995.0 i/s - 1.94x  slower
    ```

commit 93accfdf48d38160a11c2f0f8ed978f4cdbfe3cd
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-12 13:50:27 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-12 14:49:07 +0900

    Fix [BUG] unknown node for NODE_ENCODING

    It should be `return` instead of `break`, otherwise
    `[BUG] dump_node: unknown node: NODE_ENCODING` happens.

commit 697ade7bda5942e372c8d6ba450dd534f0cf186f
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-12 07:57:00 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-02-12 08:52:05 +0900

    Update ASAN docs to reflect the current state of things

    I don't really think ASAN works well at all on any version of Ruby from
    before https://bugs.ruby-lang.org/issues/20001 was landed. Update the
    docs to clarify what works, and what does not work.

    Also there's no need to compile at `-O0`; this was probably just hiding
    some of the problems with our stack scanning that were fixed in the
    above issue.

    [Bug #20248]

commit 1d467f2255112f9e712d5d9aa6f2cd0a102fb56e
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-12 07:27:16 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-02-12 08:51:46 +0900

    Burn default ASAN options into the built Ruby

    * We always need use_sigaltstack=0 because Ruby registers sigaltstack
      handlers
    * We also need to disable leak detection (unless RUBY_FREE_AT_EXIT is
      set - I might experiment later with automatically enabling leak
      detection if RUBY_FREE_AT_EXIT is set).

    Burning it into the built ruby binary in this way avoids people needing
    to remember to start their Ruby program with these flags all the time.

    We also need a small fix in mkmf to make sure that test programs also
    don't have leak detection enabled (this is never desirable)

    [Bug #20256]

commit c9006ddb88111cf010d5aa2a9e28032623b9ac93
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-12 01:30:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-12 01:55:41 +0900

    [ruby/optparse] [DOC] Add description of OptionParser#define_by_keywords

    https://github.com/ruby/optparse/commit/451dea51a0

commit a63a0c247b9630de2bccdc68f04711d528c5dc82
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-12 01:09:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-12 01:09:51 +0900

    Win32: Include stdio.h for `printf`

commit bbccabe6d67c83ed81028e4c5ca9daaa4f6f7531
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-12 01:07:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-12 01:08:14 +0900

    [ruby/optparse] [DOC] Add missing documents

    https://github.com/ruby/optparse/commit/33956ce93f

commit a3ceb6916828b3d2e14b4d4bb4f8c78a0bc2ed95
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-02-07 07:13:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-11 23:41:20 +0900

    [PRISM] Fix error handling in `pm_parse_prism`

    Following changes made in ruby/prism#2365 this implements error handling
    for when `pm_string_mapped_init` returns `false`.

    Related: ruby/prism#2207

commit 90fe1b4402498f61208e9b72ce3206d4bcbffb7d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-11 22:00:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-11 22:00:12 +0900

    Win32: Use `TARGET_OS` for word-size

    It is derived from `_WIN64` pre-defined macro, at `-osname-` in
    win32/setup.mak.

commit 603392b8d47afd5e517c89b7f883b754b4a2e94b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-11 20:55:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-11 20:55:26 +0900

    Win32: Use prototype

commit ea2ea74a261da3cc954291ffdef9805ee59a80f7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-11 20:03:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-11 20:03:18 +0900

    Win32: Copy coroutine no longer exists

    At 42130a64f02294dc8025af3a51bda518c67ab33d, it has been replaced with
    pthread implementation.

commit c77f736bc1e6b73d62e9ba3dcf3dcbeff0657b38
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-11 19:43:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-11 19:43:06 +0900

    Win32: Fix pre-defined macros for platforms

    Use `_WIN64` for word-size, `_M_AMD64` for CPU-specific feature.

commit aa36e44c05380386b583c62f6596b92098cb9ad1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-11 19:34:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-11 19:34:13 +0900

    Win32: Define `HAVE_INTTYPES_H`

    Suppress redefinition warnings, inttypes.h has been provided as well
    as stdint.h since `_MSC_VER` 1600 (= Visual C++ 10.0 = Visual Studio
    2010).

    ```
    C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(123): warning C4005: 'PRIdPTR': macro redefinition
    D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(51): note: see previous definition of 'PRIdPTR'
    C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(142): warning C4005: 'PRIiPTR': macro redefinition
    D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(52): note: see previous definition of 'PRIiPTR'
    C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(161): warning C4005: 'PRIoPTR': macro redefinition
    D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(53): note: see previous definition of 'PRIoPTR'
    C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(180): warning C4005: 'PRIuPTR': macro redefinition
    D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(54): note: see previous definition of 'PRIuPTR'
    C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(199): warning C4005: 'PRIxPTR': macro redefinition
    D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(55): note: see previous definition of 'PRIxPTR'
    C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(218): warning C4005: 'PRIXPTR': macro redefinition
    D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(56): note: see previous definition of 'PRIXPTR'
    ```

commit 5c4657f8832bcbb9e7c3c50b6fe69212a86de153
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-11 14:17:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-11 14:17:40 +0900

    [ruby/irb] Polish the exit! command and its tests
    (https://github.com/ruby/irb/pull/867)

    * Remove IRB.irb_exit! method

    It's not necessary to introduce a new method just for the exit! command
    at this moment.

    * Rename ExitForcedAction to ForceExit

    * Move force exit tests to a dedicated file

    * Fix nested history saving with exit! command

    Because we switched to use `Kernel#exit` instead of `exit!`, the outer
    session's ensure block in `Irb#run` will be run, which will save the
    history. This means the separate check to save history when force exiting
    is no longer necessary.

    * execute_lines helper should also capture IRB setup's output

    This prevents setup warnings from being printed to test output
    while allowing those output to be tested.

    * Update readme

    https://github.com/ruby/irb/commit/899d10ade1

commit 429eeb09f25bd1bd3f64f70c6ef409bedd3c6c1f
  Author:     Ignacio Chiazzo Cardarello <ignaciochiazzo@gmail.com>
  AuthorDate: 2024-02-11 07:07:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-11 07:07:53 +0900

    [ruby/irb] Introduce exit! command
    (https://github.com/ruby/irb/pull/851)

    * Added failing test for when writing history on exit

    * Save history on exit

    * Exit early when calling Kernel.exit

    * use status 0 for kernel.exit

    * Added test for nested sessions

    * Update lib/irb.rb

    ---------

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

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit f960fbc10256ee227ad6887089388e0bda59aab5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-10 22:56:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-11 00:47:41 +0900

    [ruby/optparse] Search exactly when `require_exact`

    To work with options defined as `--[no]-something`.

    Fix https://bugs.ruby-lang.org/issues/20252
    Fix https://github.com/ruby/optparse/pull/60

    https://github.com/ruby/optparse/commit/78afdab307

commit fdd92c2d61cc8eb86b187d8f116ed640c959a62c
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-10 14:04:38 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-10 18:58:42 +0900

    Fix the variable to be checked

    It should check the result of `rb_parser_search_nonascii`.

commit 6cafbd35d970f898eebc8c2d7b6f79fb4f79308c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-10 14:24:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-10 14:24:28 +0900

    YJIT: Remove unused variables

commit ea91ab696e6ee7225a2dde909e60dd9d0b241935
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-06 17:33:20 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-10 09:23:17 +0900

    Fix constant name of `Ractor::IsolationError` message

    `dest` of `const_decl_path` is `NODE_COLON2` or `NODE_COLON3` in some cases.
    For example, `B::C ||= [“Not ” + “shareable”]` passes `NODE_COLON2`
    and `::C ||= [“Not ” + “shareable”]` passes `NODE_COLON3`.
    This commit fixes `Ractor::IsolationError` message for such case.

    ```
    # shareable_constant_value: literal
    ::C ||= ["Not " + "shareable"]

    # Before
    # => cannot assign unshareable object to C (Ractor::IsolationError)

    # After
    # => cannot assign unshareable object to ::C (Ractor::IsolationError)
    ```

commit bf72cb84ca52bc062cc1711c03622ed6c928fed8
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-05 19:45:19 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-10 09:23:17 +0900

    Include the first constant name into `Ractor::IsolationError` message

    If lhs of assignment is top-level constant reference, the first
    constant name is omitted from error message.
    This commit fixes it.

    ```
    # shareable_constant_value: literal
    ::C = ["Not " + "shareable"]

    # Before
    # => cannot assign unshareable object to  (Ractor::IsolationError)

    # After
    # => cannot assign unshareable object to ::C (Ractor::IsolationError)
    ```

commit e7b0a01002323d9ed8eed9abca2a4979ebe9ae32
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-10 07:12:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-10 07:12:24 +0900

    YJIT: Add top ISEQ call counts to --yjit-stats (#9906)

commit f7467e70e1803a230f9a0bf013c8134c1dde2c94
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-09 05:46:53 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-10 07:01:27 +0900

    Split line_no and node_id before new_insn_body

    Before this commit, there were many places where we had to generate
    dummy line nodes to hold both the line number and the node id that
    would then immediately get pulled out from the created node. Now
    we pass them explicitly so that we don't have to generate these
    nodes.

    This makes a clearer line between the parser and compiler, and also
    makes it easier to generate instructions when we don't have a
    specific node to tie them to. As such, it removes almost every
    single place where we needed to previously generate dummy nodes.

    This also makes it easier for the prism compiler, because now we
    can pass in line number and node id instead of trying to generate
    dummy nodes for every instruction that we compile.

commit e96c838ca40be75b57af289a182bb0ed6adaf829
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-10 05:54:00 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-10 06:30:07 +0900

    [PRISM] Fix flaky memory in scope nodes

commit 86882565221cb709f4213e7c7699ba73f16f1107
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-09 04:42:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-10 04:49:27 +0900

    [ruby/prism] Update lib/prism/ripper_compat.rb

    https://github.com/ruby/prism/commit/2c53e017c1

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit f635b4dd0e8a54ebd0aff7fbabd729fb4ad26606
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-08 22:39:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-10 04:49:27 +0900

    [ruby/prism] RipperCompat: add array-refs, assigns, symbols, strings

    https://github.com/ruby/prism/commit/b771c7f2ec

commit 717adb564b4dd4a7e34b7b4b734795d7eb272c89
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-10 02:12:45 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-10 02:12:45 +0900

    YJIT: Fallback megamorphic opt_case_dispatch (#9894)

commit 80490acfb601557497d5c10841fc5493e691e6da
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-02-10 02:08:54 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-10 02:08:54 +0900

    More on IO doc (#9842)

commit d19d683a354530a27b4cbb049223f8dc70c75849
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-02-09 21:54:06 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-02-10 01:38:54 +0900

    rb_obj_setup: do not copy RUBY_FL_SEEN_OBJ_ID

    [Bug #20250]

    We're seting up a new instance, so it never had an associated
    object_id.

commit cf1cd215c0a057da123ec9753091154230b3dc97
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-10 01:16:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-10 01:27:05 +0900

    [ruby/prism] Significantly faster offset cache for parser

    https://github.com/ruby/prism/commit/8cd92eef79

commit 5c2d96df194abcb7d9d6f154635c30f7d8811c13
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-09 02:00:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-10 01:26:32 +0900

    [PRISM] Implement opt_case_dispatch

commit a4ba62b6e5954f1826bea7027808f72bd22c874f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-09 01:29:36 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-10 01:26:32 +0900

    [PRISM] Refactor case nodes for only one pass through when

commit 08b77dd682f342943bb64f9d823040cd350240ba
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-02-09 06:56:26 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-02-09 21:28:26 +0900

    Remove unused bind argument from eval_make_iseq

commit db73226bf6aa8c67ad6976ff6b3c628cf6b8a952
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-09 19:03:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-09 19:58:31 +0900

    [ruby/optparse] Adjust arguments for lambda-callbacks

    Rake uses [lambda] as callbacks.
    Calling it without omitted argument raises an `ArgumentError`.

    lambda: https://github.com/ruby/rake/blob/master/lib/rake/application.rb#L543

    https://github.com/ruby/optparse/commit/213cb03b59

commit 2c6767b71ef5154f49e4aef7a236849a934e68fb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-09 12:59:43 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-09 19:58:19 +0900

    [ruby/optparse] Respect default values in block parameters

    Fix https://github.com/ruby/optparse/pull/55

    https://github.com/ruby/optparse/commit/9d53e74aa4

commit 5e12b757162970b317e2fdf2490b694b52125743
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-02-09 17:46:24 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-02-09 17:52:17 +0900

    Remove unavailable filters for merge_group event

    actionlint says:
    - "branches" filter is not available for merge_group event. it is only for push, pull_request, pull_request_target, workflow_run events [events]
    - "paths" filter is not available for merge_group event. it is only for push, pull_request, pull_request_target events [events]
    - "paths-ignore" filter is not available for merge_group event. it is only for push, pull_request, pull_request_target events [events]

commit 007c75ce4c66243e41144c6977e5ccbf4ab71c93
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-09 14:36:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-09 14:40:12 +0900

    Skip to install bundled gems that is C extension and build failed.

    Ex. We can't build syslog gem in Windows platform. We should skip install
    syslog as bundled gems.

commit 33c1e082d0807db403a2d93cbf0a094c91179d74
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-03 00:50:02 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-09 14:20:17 +0900

    Remove ruby object from string nodes

    String nodes holds ruby string object on `VALUE nd_lit`.
    This commit changes it to `struct rb_parser_string *string`
    to reduce dependency on ruby object.
    Sometimes these strings are concatenated with other string
    therefore string concatenate functions are needed.

commit f7a407cabda6eb787fb95fc6e3c1b2215b1aec19
  Author:     fatkodima <fatkodima123@gmail.com>
  AuthorDate: 2023-10-15 03:52:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 12:31:13 +0900

    [ruby/optparse] Fix `require_exact` to work with options defined as `--[no]-something`

    https://github.com/ruby/optparse/commit/4e346ad337

commit 50bcaa62868d806ae861c9dc3353e1f4e85a99f6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-09 12:17:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 12:21:24 +0900

    [ruby/optparse] Escape backslashes

    https://github.com/ruby/optparse/commit/b14c2c644d

commit 0923a98868d6c2bed00eb1d8fa2ddf98fb42a708
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-08 18:15:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-09 11:09:56 +0900

    Move clean-up after table rebuilding

    Suppress a false positive alert by CodeQL.

commit 76f0eec20f5a58b79177c3b6c601b6e361db6da9
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-09 10:07:15 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-09 10:08:23 +0900

    Fix a benchmark to avoid leaving a garbage file

commit 2a57e6e6edbd848b5646a762e9351912c857706f
  Author:     Petrik <petrik@deheus.net>
  AuthorDate: 2024-02-09 05:58:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 10:07:17 +0900

    [ruby/rdoc] Don't document aliases with trailing `:nodoc` directive

    Attribute readers and writers can be marked as `:nodoc` to keep them
    undocumented:

    ```ruby
    attr_reader :name # :nodoc:
    ```

    For aliases this behaviour should be the same:

    ```ruby
    alias_method :old :new # :nodoc:
    ```

    https://github.com/ruby/rdoc/commit/30f14e8271

commit 5d32e328d90e435ceb5d1259438157ab5d2a4608
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-09 09:53:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-09 09:53:01 +0900

    YJIT: Refactor recv_known_class to Option (#9895)

commit e2aa00ca669704daf689110ea71e5844e2bd0536
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-09 08:52:45 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-09 08:52:45 +0900

    YJIT: Remove unnecessary casts for chain_depth (#9893)

commit 5cbca9110c3d8cffc95c70a0c0c793fe8c1d3662
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-09 08:47:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-09 08:47:02 +0900

    YJIT: Allow tracing a counted exit (#9890)

    * YJIT: Allow tracing a counted exit

    * Avoid clobbering caller-saved registers

commit 4a40364c62ee4689bb95e6c26669a28861b6bc8b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-09 03:19:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-09 04:36:39 +0900

    [PRISM] Run opt init before parsing

commit 3ecfc3e33ef7db8e9f855490910077ac7ed13434
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-09 03:56:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-09 04:36:29 +0900

    [PRISM] Support the DATA constant

commit 1936278461cf9aec1495596bf25a2963721f21ee
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-09 02:03:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-09 02:03:47 +0900

    YJIT: Maintain MapToLocal that is just upgraded (#9876)

commit 3e03981f256f76a5f8ff4a9f56a57dd18f68aa14
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-09 00:59:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-09 01:53:10 +0900

    [PRISM] Compile constant paths with optimizations

commit 54295ba5e18818578d9df2ddbec7bebb8c4ec3a7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-09 00:14:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-09 01:53:10 +0900

    [PRISM] Compile constant reads using opt_getconstant_path

commit b2d468fcedebdb02d342b2fdd2028c25299c4d60
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-08 23:36:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-09 01:53:10 +0900

    [PRISM] Refactor call opts to only check for specific ids

commit 3397449846a482eaebc119738fccdd2008a72305
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-02-09 01:03:59 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-09 01:03:59 +0900

    YJIT: Report invalidation counts in non-stats mode (#9878)

    The `invalidation_count` and `invalidate_*` counters are all incremented
    using `incr_counter!` without a guard on stats mode, so they can be made
    always available.

    This could be to helpful in investigating where, how often, and what
    types of invalidations are occurring in a production system.

commit 50b4ef29b2f326cf62f07ae3f136fc2baec18227
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-09 01:03:07 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-09 01:03:07 +0900

    YJIT: Use jit_prepare_call_with_gc as much as possible (#9874)

    * YJIT: Use jit_prepare_call_with_gc as much as possible

    * Stop assuming vm_defined doesn't make a call

commit 1983949811607fb87584943749a0cf9056a49c01
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-09 00:33:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 01:02:06 +0900

    [ruby/prism] Looks like Symbol#name wasn't a thing in 2.7, so need to switch back to to_s

    https://github.com/ruby/prism/commit/0b90c9a398

commit 0c73553052748a9ac1ef196f6e6db9608aca0d9b
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-09 00:23:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 01:02:06 +0900

    [ruby/prism] Add Kevin's visit_all change and change the parent class to Compiler.

    https://github.com/ruby/prism/commit/bbdba3f42d

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>

commit f8b8a6780c9922a4792ca4a1066dddfac08638a6
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-09 00:21:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 01:02:05 +0900

    [ruby/prism] Update lib/prism/ripper_compat.rb

    https://github.com/ruby/prism/commit/03addf2d3d

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit 3f0aa554493f154280be73045522efe562ac4de7
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-09 00:21:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 01:02:05 +0900

    [ruby/prism] Update lib/prism/ripper_compat.rb

    https://github.com/ruby/prism/commit/5eac08f699

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit c1aba5d97b4f2963af80118ddaf6941f1f909092
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-09 00:20:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 01:02:05 +0900

    [ruby/prism] Update lib/prism/ripper_compat.rb

    https://github.com/ruby/prism/commit/8271ce5ec9

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit 70bc4ce34f54b6d865dba638ffe512522625ed9e
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-09 00:20:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 01:02:05 +0900

    [ruby/prism] Update lib/prism/ripper_compat.rb

    https://github.com/ruby/prism/commit/6e2bf9c8cd

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit 6aceb91de0c13dd3b2b98ecfede806aa3cfe883c
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-09 00:20:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 01:02:04 +0900

    [ruby/prism] Update lib/prism/ripper_compat.rb

    https://github.com/ruby/prism/commit/bce0a5c916

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit 366af4679e5de6720a952768a3f17a05ff7df4cc
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-08 01:17:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 01:02:04 +0900

    [ruby/prism] RipperCompat: support for more features.

    * add bin/prism ripper to compare Ripper output
    * block arg handling is quirky, do it per-call-site
    * block required params
    * boolean values
    * various assign-operator support
    * breaks, early fragile begin/rescue/end
    * more fixtures being checked

    https://github.com/ruby/prism/commit/31732cb720

commit c6b391214c13aa89bddad8aa2ba334fab98ab03c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 05:52:34 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-09 00:49:38 +0900

    [DOC] Improve flags of string

commit b74c8abd1132824f95d81309f96645f272c064dc
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-09 00:22:07 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-09 00:22:07 +0900

    YJIT: Skip pushing a frame for Hash#empty? (#9875)

commit 01fd262e62076277a41af72ea13f20deb1b462a2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 01:30:20 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-09 00:12:56 +0900

    Fix crash when checking symbol encoding

    [Bug #20245]

    We sometimes pass in a fake string to sym_check_asciionly. This can crash
    if sym_check_asciionly raises because it creates a CFP with the fake
    string as the receiver which will crash if GC tries to mark the CFP.

    For example, the following script crashes:

        GC.stress = true
        Object.const_defined?("\xC3")

commit 443c5c06ac2be84059a7c4435c37deb8de2428d6
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-02-08 23:17:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-08 23:17:01 +0900

    Bundle rbs-3.4.4 (#9883)

commit 34581410f20e2d2252b9da19a803bf5cc1ae23e1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-08 11:41:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-08 18:08:42 +0900

    Extract `RBIMPL_VA_OPT_ARGS`

    Similar to splat argument in Ruby, which be expanded to `__VA_ARGS__`
    with a leading comma if any arguments given, otherwise empty.

commit f3cc1f9a703ab56f5601d6c7b6a964333b668c17
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-31 15:11:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-08 18:08:42 +0900

    Show actual imemo type when unexpected type

commit d31a12a210bec646eadc23c11ede29f05e72e373
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-31 15:09:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-08 18:08:41 +0900

    Optional detail info at assertion failure

commit 0292d1b7c34fbee60230623195d1b44a23dd4252
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-02-08 17:28:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-08 17:28:37 +0900

    Update bundled gems list as of 2024-02-07

commit 482b82ae15f4edd85df4b8043622839cbab077a2
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-08 16:19:31 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-08 17:15:31 +0900

    Bump typeprof to 0.21.10

commit 908cedf7032bb753287256aff8a95579aad29226
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-08 15:29:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 15:29:16 +0900

    Removed accidentally commit for lockfile

commit 70bb9cf065973e262325df3187471275b6e91698
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-08 14:00:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 15:27:01 +0900

    [rubygems/rubygems] rake vendor:install

    https://github.com/rubygems/rubygems/commit/c38a96ceae

commit 75c5e1a1369007adb025ed52826ffe690999377b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-08 13:51:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 15:27:00 +0900

    [rubygems/rubygems] Removed unnecessary disabling of Style/RedundantParentheses

    https://github.com/rubygems/rubygems/commit/2361527c45

commit a35cade79125d2ae99cea01914939d27e0c846a2
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-27 04:37:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [rubygems/rubygems] Improve assertion

    https://github.com/rubygems/rubygems/commit/7f2f2b898c

    Co-authored-by: Martin Emde <martin.emde@gmail.com>

commit c236212600ff3094fea3b138ee0ff98652d94345
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-26 18:41:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [rubygems/rubygems] Use deprecation helper for deprecation warning

    https://github.com/rubygems/rubygems/commit/d1963bf1a6

commit 0c71fb4b865d1902bd3eed2265d988e4e3fda926
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-26 17:26:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [rubygems/rubygems] Run definition specs in an isolated location

    And consistently pass Pathname's to `Definition.new` like production
    code does.

    https://github.com/rubygems/rubygems/commit/660def5b68

commit 5500f880f329cc8593d3b234577994c1605b8ba4
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-26 17:21:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [rubygems/rubygems] Fix incorrect 4th parameter to Definition.new

    https://github.com/rubygems/rubygems/commit/54948e428d

commit e04120772be6162499023f7245434cb5c9175344
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-26 17:11:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [rubygems/rubygems] Move `subject` to top level context

    https://github.com/rubygems/rubygems/commit/331c415af0

commit 24d5e7176e80cecfc38daf80020fb85f1144083b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-03-03 04:18:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [rubygems/rubygems] Refactor lockfile generation

    https://github.com/rubygems/rubygems/commit/6a0c03c77f

commit debc5aaee57a25745259fd02a54701e6c184fa7c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-10-10 04:07:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [rubygems/rubygems] Remove unused parameter

    https://github.com/rubygems/rubygems/commit/085eda7147

commit ce2618c628e017f6d83576d95a294a6247e30b19
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-02-04 15:45:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [ruby/strscan] Bump version

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

commit 39f2e37ff1c12cf4c9fec0b697a1495bc1930995
  Author:     Charles Oliver Nutter <headius@headius.com>
  AuthorDate: 2024-02-03 19:56:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [ruby/strscan] Don't add begin to length for new string slice
    (https://github.com/ruby/strscan/pull/87)

    Fixes https://github.com/ruby/strscan/pull/86

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

commit 5afae77ce9bd7352e194d8603ebe35b3679207b3
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-01-21 11:45:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [ruby/strscan] Bump version

    https://github.com/ruby/strscan/commit/842845af1f

commit e1834cdfe0d95692e597bbaa9bb474b7680efe00
  Author:     Masato Nakamura <masato.nakamura145@gmail.com>
  AuthorDate: 2024-01-30 06:40:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [ruby/fiddle] Set changelog_uri gem metadata
    (https://github.com/ruby/fiddle/pull/138)

    See https://guides.rubygems.org/specification-reference/#metadata for changelog_uri metadata.

    https://github.com/ruby/fiddle/commit/0bd8e96adc

commit ce6054a667029af3edc32cfd2e0e7c281cfdf332
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-08 11:15:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-08 12:06:07 +0900

    Move an embedded directive outside macro arguments

    Suppress warnings/errors by -Wembedded-directive with `-std=c99` on
    macOS.

commit 9f1afefaa8cf84e083bb1c281050f05c26e54bc1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-08 11:02:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 11:28:39 +0900

    Now we can use ruby analysis with large runner

commit 04d42650d91690b9f929d4c765d5b114e111d4ce
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-08 09:36:22 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-08 09:36:23 +0900

    Remove obsoleted rb_vm_opt_cfunc_p

    That was added for MJIT's inlining decisions, but we no longer have MJIT.

commit 0e1f22ac7ee5719048471aad29f69221d045bd34
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-08 05:50:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-08 06:26:14 +0900

    [ruby/prism] Dev-only CLI

    We keep adding more scripts to /bin that are doing the same kinds
    of processing. Instead, this commit consolidates them all into a
    single CLI that shares the same logic so that we can consistently
    read files in the same way.

    It keeps around 2 binstubs for bin/lex and bin/parse since those
    are the most used and I'm sure people have built up muscle memory
    for those. Those scripts are now just wrappers for forwarding to
    bin/prism.

    https://github.com/ruby/prism/commit/bddcb9bf17

commit 1b68b459caa472eb85cfef55bf5cd200da9bf3c5
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-08 03:39:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-08 04:42:14 +0900

    [ruby/prism] Commit Kevin's suggestion to simplify grabbing the operator.

    https://github.com/ruby/prism/commit/874ba7a1f4

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>

commit 5b7baa04862906918bb010d8f4de07d7f272f254
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-07 22:45:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-08 04:42:13 +0900

    [ruby/prism] More different block-call syntaxes, support more types of method calls

    https://github.com/ruby/prism/commit/40cf114a24

commit 73d222e1efa64b82bdd23efdb73fa39031fe0b9c
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-07 20:05:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-08 04:42:13 +0900

    [ruby/prism] Support &. calls and calling with blocks, test with fixtures

    https://github.com/ruby/prism/commit/e346fa583a

commit b1310940e36c14bd07dbc2db885fbd6ec8c35bf8
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-07 19:22:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-08 04:42:13 +0900

    [ruby/prism] RipperCompat: support more kinds of method calls and operators.

    Add tests. Start parsing some simpler fixture code.

    https://github.com/ruby/prism/commit/997f4191d8

commit fcc8df622a47a99c3df9889ec7efaf069ed5fa70
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-08 03:36:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-08 03:36:06 +0900

    Bump prism version

commit b2392c6be418703e8941226ac80b359188bf3c5d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-07 00:20:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-08 02:15:33 +0900

    Fix memory leak when parsing invalid pattern matching

    If the pattern matching is invalid, then the pvtbl would get leaked. For
    example:

        10.times do
          100_000.times do
            eval(<<~RUBY)
              case {a: 1}
              in {"a" => 1}
              end
            RUBY
          rescue SyntaxError
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        28096
        44768
        61472
        78512
        94992
        111504
        128096
        144528
        161008
        177472

    After:

        14096
        14112
        14112
        14176
        14208
        14240
        14240
        14240
        14240
        14240

commit 0b7f51683446c81d7352d7d2eab9f49bc3bbae58
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-08 01:57:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-08 01:57:33 +0900

    [ruby/irb] Bump version to v1.11.2
    (https://github.com/ruby/irb/pull/865)

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

commit aad3c36bdfe68c429cf612542a7eb3c94c17c483
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 05:41:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-08 01:54:34 +0900

    [ruby/prism] Support for Ruby 2.7

    https://github.com/ruby/prism/commit/1a15b70a8e

commit aed052ce9d9eeeccecb12c444aa7327d1e078a51
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-08 00:00:35 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-08 00:42:23 +0900

    [PRISM] Revert incorrect frozen string literal handling

commit 5f4245e74b84e1435d51f45a43717a5d33aef4cb
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-07 23:59:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 23:59:10 +0900

    [ruby/irb] Polish tracer integration and tests
    (https://github.com/ruby/irb/pull/864)

    * Remove useless ivar

    * Simplify tracer test setup

    * Treat tracer like a normal development dependency

    * Only require ext/tracer when value is truthy

    * Make tracer integration skip IRB traces

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

commit 164c18af7b4a36dd7f6eea499e297c842ccb1585
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 23:39:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 23:44:36 +0900

    [ruby/prism] Correct handle recover parameters on tokenize for parser translation

    https://github.com/ruby/prism/commit/63979de21d

commit 9ebaf7a8ef231632c98a944f1214b902764ae3ab
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-07 18:18:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-07 20:34:48 +0900

    Run CodeQL using macos-arm-oss only on ruby/ruby

commit e965c5a174872d40afb1a90d5070decd2caedeb5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 18:13:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-07 20:03:15 +0900

    Keep cpp build with ubuntu-latest

commit 78898c53c76d7b5b741334af74275da6ea77e214
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 17:28:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-07 18:33:28 +0900

    Refer gmp to macOS build

commit 5d5d27a60d7649e3ccc18e741a1581ef22effa0f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 17:28:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-07 18:33:28 +0900

    readline-ext is extracted bundled gems at Ruby 3.3

commit 565ef06e917c6f326f8d528dc8fa6c6de88a8753
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-07 16:35:14 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-02-07 17:42:07 +0900

    Ignore _odr_asan symbols in leaked-globals

    ASAN includes these to detect violations of the ODR rule.

    [Bug #20221]

commit 42c36269403baac67b0d5dc1d6d6e31168cf6a1f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 16:57:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-07 17:27:53 +0900

    The default ram size is 13GB at macos runner

commit 66d6695f7fe4b7070ae3066d58b060225f52a54c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 16:40:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-07 17:27:53 +0900

    Try to run with large runner

commit 8407044388e5e7cb533d98f8b4a442db6966f5ea
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 16:30:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-07 17:27:53 +0900

    Update latest version of CodeQL

commit d95d3484a90a985b971ef4c55762847d92b6c81a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 16:05:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-07 16:06:01 +0900

    omit tests related legacy provider

    It failed with recent update of FreeBSD

    https://rubyci.s3.amazonaws.com/freebsd13/ruby-master/log/20240207T023002Z.fail.html.gz

commit 75aaeb35b82da26359b9418d2963384d0c55839c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-07 11:00:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-07 15:14:26 +0900

    [Bug #20239] Fix overflow at down-casting

commit 8bd83bb133bb2ef5616e49b4a207e8ec59a83472
  Author:     Kim Emmanuel <kim.emmanuel@gmail.com>
  AuthorDate: 2024-02-01 06:53:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 14:46:50 +0900

    [rubygems/rubygems] fix flaky tests

    https://github.com/rubygems/rubygems/commit/0e87ae032d

commit 0edf5a714bfe92431a6b53d2931a504d8e584b7e
  Author:     Kim Emmanuel <kim.emmanuel@gmail.com>
  AuthorDate: 2024-02-01 06:29:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 14:46:50 +0900

    [rubygems/rubygems] #to_spec must fallback for prereleases always

    https://github.com/rubygems/rubygems/commit/6302798a32

commit aaef443a59a8d7b3631fa48a8d0a3a03744e0f96
  Author:     Kim Emmanuel <kim.emmanuel@gmail.com>
  AuthorDate: 2024-01-30 03:46:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 14:46:49 +0900

    [rubygems/rubygems] release requirement may load prerelease when sole option

    https://github.com/rubygems/rubygems/commit/7990771939

commit 5ddf4f5c95ae24eda6a89afb885410991f010abd
  Author:     Kim Emmanuel <kim.emmanuel@gmail.com>
  AuthorDate: 2024-01-27 14:58:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 14:46:49 +0900

    [rubygems/rubygems] fix Gem::Dependency#to_spec returning nil when prerelease is the only available version

    https://github.com/rubygems/rubygems/commit/a7dcc7214b

commit 2dba441397d338617e1b605104d8b42b5311a482
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 11:31:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 12:21:02 +0900

    [ruby/prism] Even more ripper compat

    https://github.com/ruby/prism/commit/47a602dc1c

commit 64b6a018a38f200c957fdbbe7d0cbe0e64781c9f
  Author:     NARUSE, Yui <nurse@users.noreply.github.com>
  AuthorDate: 2024-02-03 22:35:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-07 10:59:59 +0900

    Fix test session reuse but expire (#9824)

    * OpenSSL 3.2.1 30 Jan 2024 is also broken

    Import 45064610725ddd81a5ea3775da35aa46985bc789 from ruby_3_3 branch
    tentatively.

commit e34505c631349f8f8b548953d392191b96e9d29c
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-06 19:54:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 10:49:54 +0900

    [ruby/prism] More visitors and tests for RipperCompat

    Part of issue #2354

    https://github.com/ruby/prism/commit/cb28edae34

commit ae13f8532217cbe344a440b4df2329194e2dad5d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 04:32:57 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 10:38:41 +0900

    Add test-all to prism

commit 44f0dc622ae08e851127c0fec3cc545256b6c040
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-07 04:56:49 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-07 06:17:54 +0900

    YJIT: Allow popping before falling back

    Popping but not generating any code before returning `None` was allowed
    before fallbacks were introduced so this is restoring that support in
    the same way. The included test used to trip an assert due to popping
    too much.

commit 936c0ab5e807e7060e6fc65a3c45015c131ae873
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-02-06 04:39:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 05:49:33 +0900

    [ruby/prism] Implement file parsing error handling

    This PR implements proper file parsing error handling. Previously
    `file_options` would call `pm_string_mapped_init` which would print an
    error from `perror`. However this wouldn't raise a proper Ruby error so
    it was just a string output. I've done the following:

    - Raise an error from `rb_syserr_fail` with the filepath in
    `file_options`.
    - No longer return `Qnil` if `file_options` returns false (because now
    it will raise)
    - Update `file_options` to return `static void` instead of `static
    bool`.
    - Update `file_options` and `profile_file` to check the type so when
    passing `nil` we see a `TypeError`.
    - Delete `perror` from `pm_string_mapped_init`
    - Update `FFI` backend to raise appropriate errors when calling
    `pm_string_mapped_init`.
    - Add tests for `dump_file`, `lex_file`, `parse_file`,
    `parse_file_comments`, `parse_lex_file`, and `parse_file_success?`
    when a file doesn't exist and for `nil`.
    - Updates the `bin/parse` script to no longer raise it's own
    `ArgumentError` now that we raise a proper error.

    Fixes: ruby/prism#2207

    https://github.com/ruby/prism/commit/b2f7494ff5

commit c3403322df7d81cd9426310bd7833d005b2a7ac7
  Author:     Nikita Vasilevsky <nikita.vasilevsky@shopify.com>
  AuthorDate: 2024-02-07 03:14:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 04:56:10 +0900

    [PRISM] Use block node location when building block iseq

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>

commit c1bc7147200b5e47816388f1d304454f25e50bcb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 03:53:58 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 04:31:10 +0900

    [PRISM] Do not show source snippets if non-UTF-8

commit f5b368df0ceb1e705cd94e39ef8459dae07e6d52
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 02:59:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 03:10:50 +0900

    [ruby/prism] Better invalid token messages

    https://github.com/ruby/prism/commit/8c9bed2a4d

commit ccec209b2cced2ddb8463c4933ef729a44d0363c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 01:59:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 02:36:46 +0900

    [PRISM] Fix fsl coming from file

commit d77172b79b1cd28bc38a75162e41d2c8b6e71088
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 01:15:33 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 01:57:59 +0900

    [PRISM] Fix deconstruct index for posts

commit 300dee1fe8275b7444007b418323544b571f585c
  Author:     Nuno Silva <nunosilva800@gmail.com>
  AuthorDate: 2024-02-07 01:46:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 01:46:50 +0900

    [ruby/irb] Fix usage of tracer gem and add tests
    (https://github.com/ruby/irb/pull/857)

    The new tests are skipped when ruby below 3.1, as it was a default gem on it, and in a version we do not support.

    This also move definition of `use_tracer` to module Context instead of monkey patch.

    https://github.com/ruby/irb/commit/08834fbd5f

commit 26fac8f6fa8bf73e5f45c3028cd5bc186d89f666
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 00:50:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 01:21:52 +0900

    [PRISM] Set correct call target flags

commit c6d4071c2969211bed7bb8ebb2ab46bc514090b4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 00:32:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 01:08:14 +0900

    [PRISM] Handle match write popped

commit a50e35888b9bc5428a30b95c0ded12ddb986354f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-06 04:41:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-07 00:54:05 +0900

    Free all remaining objects in rb_objspace_free_objects

    rb_objspace_call_finalizer didn't free fibers and neither did
    rb_objspace_free_objects, which caused fibers to be reported as leaked
    when using RUBY_FREE_AT_EXIT. This commit changes rb_objspace_free_objects
    to free all remaining Ruby objects.

commit 1c120023f19becf0c5e56a6d62f7c101c440953f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 00:02:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 00:46:27 +0900

    [PRISM] Correctly handle popped attr write

commit b801a19c6a5270d32298de5486fdf96e0071b223
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 23:44:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 00:13:11 +0900

    [PRISM] Handle empty interpolated statements at start of string

commit d6b7eae58e71f69b70a4782c9fc204d8379c1ea5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 23:22:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 23:51:25 +0900

    [PRISM] Correct spec for defined? parentheses

commit 4f4f3a6dec253af7d8f138877cc80fb70c617654
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-01-28 15:18:36 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-02-06 20:23:42 +0900

    Don't check __asan_region_is_poisoned in objspace_each_objects

    This returns whether or not _any_ piece of memory in the range is
    poisoned, not if _all_ of it is. That means that currently, with ASAN
    enabled, pages which contain a single poisoned object are skipped
    entirely from being iterated with objspace_each* family of functions.

    [Bug #20220]

commit 719db18b50a996f3df4f76854f7dc9d69f875582
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-01-28 15:15:43 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-02-06 20:23:42 +0900

    notify ASAN about M:N threading stack switches

    In a similar way to how we do it with fibers in cont.c, we need to call
    __sanitize_start_switch_fiber and __sanitize_finish_switch_fiber around
    the call to coroutine_transfer to let ASAN save & restore the fake stack
    pointer.

    When a M:N thread is exiting, we pass `to_dead` to the new
    coroutine_transfer0 function, so that we can pass NULL for saving the
    stack pointer. This signals to ASAN that the fake stack can be freed
    (otherwise it would be leaked)

    [Bug #20220]

commit 19f615521d92f9837099173abb831cfcd2ff284c
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-04 05:02:49 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-04 05:02:49 +0900

    Remove TestProcess#test_low_memory_startup

    It is too flaky on many platforms. Nobody is willing to fix it. Let's
    just stop it.

commit 4f6b827e98ae1c5a22ccdc91b0f7a1459f5220a4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-06 12:19:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-06 12:19:56 +0900

    Use `__asm` instead of `asm`

    With `--std=c99` option coroutine/arm64/Context.h errs:

    ```
    In file included from cont.c:26:
    coroutine/arm64/Context.h:59:5: error: call to undeclared function 'asm'; ISO C99 and later do not support
          implicit function declarations [-Wimplicit-function-declaration]
       59 |     asm ("hint #8;" : "+r"(r17) : "r"(r16));
          |     ^
    ```

    Also move the common function header.

commit bae3e5b29aa53120194791f73c9a085df3658e90
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-06 04:10:12 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-06 06:13:22 +0900

    YJIT: No need to reject splat+zsuper

    There is nothing special about argument handling when it comes to zsuper
    if you look around in the VM. Everything passes removing these fallback
    reasons. It was ~16% on `railsbench`.

commit c42b1029d94cdc6dcdaf654fdf7ee7324658008d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 05:04:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-06 05:40:24 +0900

    [ruby/prism] Change the location of an implicit begin to method

    https://github.com/ruby/prism/commit/d08e140859

commit c5694c647afbacaf2d9e570b106d23f533601294
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 04:41:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 05:18:15 +0900

    [PRISM] Raise ArgumentError for invalid encoding

commit 10a182f597d450d75ac3ef10f8dbdd28ed5fc9fa
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 02:58:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 04:42:20 +0900

    [PRISM] Fix method return line

commit 07611acb0c22804508990082e27bb1052e7f5454
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 03:24:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-06 04:24:57 +0900

    [ruby/prism] Add another error type for raising argument errors

    https://github.com/ruby/prism/commit/f3030cb2b2

commit ca7a48110fc2a207cabffff94ceb2147986d1948
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-02-03 05:19:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-06 03:17:24 +0900

    [rubygems/rubygems] Revert "Simplify how extensions are built"

    This reverts commit https://github.com/rubygems/rubygems/commit/0b8faf1e3926.

    https://github.com/rubygems/rubygems/commit/7528e0f1ce

commit 7eea066cb4830a7b2827fd30bb35d8dcf19ce5f5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 02:25:44 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 02:54:52 +0900

    [PRISM] Fix pattern matching array with implicit rest

commit ae7816bc20eefc75be98e5bb3955fe53b932d88f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 01:57:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 01:57:38 +0900

    [PRISM] Fix up idUMinus optimization

commit 948c618bdadfc412678dd6e00e11fc8b85053173
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-31 06:42:34 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 01:55:44 +0900

    [PRISM] Fix encoding of interpolated strings

    Fixes ruby/prism#2313.

commit 5e0c17145131e073814c7e5b15227d0b4e73cabe
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-03 02:00:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-06 01:11:07 +0900

    Make io_fwrite safe for compaction

    [Bug #20169]

    Embedded strings are not safe for system calls without the GVL because
    compaction can cause pages to be locked causing the operation to fail
    with EFAULT. This commit changes io_fwrite to use rb_str_tmp_frozen_no_embed_acquire,
    which guarantees that the return string is not embedded.

commit 02c88477ceb8d679a815721d16ce248da845cff6
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2023-12-17 23:33:20 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-02-06 01:08:18 +0900

    [wasm] tool/m4/ruby_wasm_tools.m4: Add default value for OBJCOPY

    The tool is used to build shared libraries but system installed
    tools usually don't support WebAssembly, so use WASI SDK's tools by default.

commit 0b5be2f9e97e0618f76b9a861eaf9c40a2e7fd6f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 00:38:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 01:07:07 +0900

    Sync to latest prism

commit 40642cd3bc581d3bb402ea5e8e61cdfb868b4f68
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-06 00:29:57 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-06 00:29:57 +0900

    Update to ruby/spec@3fc4444

commit abe07d4bf5f2f848b22e511a647a85c878066adb
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-06 00:29:56 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-06 00:29:56 +0900

    Update to ruby/mspec@31f51e0

commit d9bd64f9eedd7b3177637093ae77010be4ddb44b
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-05 22:19:13 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-06 00:29:25 +0900

    Fix typo

commit b35cdb4758c0a569574a047bda6ce6a19c302aef
  Author:     Jenny Shen <jenny.shen@shopify.com>
  AuthorDate: 2024-02-03 06:57:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 00:27:58 +0900

    [PRISM] Implement opt_aset_with

    Part of ruby/prism#2231

    Co-authored-by: Adrianna Chang <adrianna.chang@shopify.com>
    Co-authored-by: Peter Zhu <peter@peterzhu.ca>

commit 8ed26a3f5923a0f1213060200bf542f172c99b7c
  Author:     Jenny Shen <jenny.shen@shopify.com>
  AuthorDate: 2024-02-03 06:53:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 00:27:58 +0900

    [PRISM] Refactor PM_CALL_NODE conditional

    Co-authored-by: Peter Zhu <peter@peterzhu.ca>

commit 8bc6fff32208ac60b8421458fe2337ee6599c5be
  Author:     Jenny Shen <jenny.shen@shopify.com>
  AuthorDate: 2024-02-04 09:17:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-05 01:05:02 +0900

    [PRISM] Do not optimize safe navigation aref

    Co-authored-by: Peter Zhu <peter@peterzhu.ca>

commit c5d444476147185ed4e8ccf637ebaab4d4ef43d9
  Author:     Jenny Shen <jenny.shen@shopify.com>
  AuthorDate: 2024-02-04 09:07:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-05 01:05:02 +0900

    [PRISM] Do not optimize safe navigation -@/freeze

    Co-authored-by: Peter Zhu <peter@peterzhu.ca>

commit 7b3e05c3927a90b895ea48d088f40a5662cf1787
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-13 23:59:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-04 20:33:45 +0900

    Do not define ABI version in statically linked objects

    It is for dynamically loading, useless for statically linked objects.

commit 8b897e6026981cb7195c4065d9a6647c56008808
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-02-04 18:38:48 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-02-04 18:39:22 +0900

    [DOC] Update NEWS refs

commit 3f37b4fe0c19951099c6292872a5def0bcdee413
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-04 17:09:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-04 17:09:45 +0900

    Extend tests for ext/Setup

commit ae8990aef098410ecc2b5f48fea9d7d171a3c5f6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-04 16:43:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-04 16:43:09 +0900

    Alias init functions

    The extension library has each initialization function named "Init_" +
    basename. If multiple extensions have the same base name (such as
    cgi/escape and erb/escape), the same function will be registered for
    both names.

    To fix this conflict, rename the initialization functions under sub
    directories using using parent names, when statically linking.

commit 143a1be12808d138453b7c7d2c6941d24f23aaaa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-04 16:40:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-04 16:40:41 +0900

    Allow glob patterns in ext/Setup

commit c40b0d52be00f305fe14b4c060599afeded9b83e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-04 16:35:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-04 16:35:44 +0900

    Glob with base option

    When ripping the base directory off the result names.

commit bc79229be9d3333083b2e587d708b5d791d23608
  Author:     NARUSE, Yui <naruse@airemix.jp>
  AuthorDate: 2024-02-03 19:39:17 +0900
  Commit:     NARUSE, Yui <naruse@airemix.jp>
  CommitDate: 2024-02-03 19:39:17 +0900

    Show OpenSSL version in the error message of assert_equal

commit 055615a4733d8568f165b722186a7a3e2a21d1a0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-03 15:59:55 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-03 15:59:55 +0900

    Statically linking does not use shared libraries of encodings

commit 124be0aaaa0c22d39eeebb85078e342d0174b35a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-03 15:46:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 15:54:35 +0900

    [ruby/irb] Consume the warning for non-existent history path

    Fix https://github.com/ruby/irb/pull/852#issuecomment-1925170358

    https://github.com/ruby/irb/commit/9a7e060e57

commit 0854d648629c951ee2fe59dbc1e47a3624dae5de
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-03 09:29:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-03 12:25:08 +0900

    [PRISM] Selectively dup array in `foo(*splat, &block_arg)` calls

    This is essentially an adaptation of aae8223c707 ("Dup splat array in
    certain cases where there is a block argument") to pass
    `TestCall#test_call_block_order`.

    This also makes PRISM emit `getblockparamproxy` in cases like
    `def foo(&blk) = bar(&blk)` where it used the less efficient
    `getblockparam` previously.

    Remove the `popped` parameter from setup_args() because it should always
    be ignored, and is in fact unused.

commit 68b57ceb4610b424401706777c2d17cd8572a977
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-02 20:53:37 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-03 09:15:41 +0900

    Use bool to check ascii only in parse_ident

    No need to use ENC_CODERANGE to record ascii only or not.

commit 90ae8eaecae00eabd2d7dc8ec7ee1afc53a6bd9d
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-02 08:31:42 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-03 08:50:41 +0900

    [PRISM] Fix numbered parameters stealing local names

    Previously, the local index of numbered parameters were assigned to
    names of regular locals, making it hard to read both of them. Use proper
    `_[1-9]` numbered parameters. This fixes `test_shapes.rb`.

    Also, properly mark the iseq as having lead parameters.

commit 5d646fa136131c18a7a432486c65438abe9790e2
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-03 07:25:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 07:25:33 +0900

    [ruby/irb] Require pathname (https://github.com/ruby/irb/pull/860)

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

commit 5a87e9e2b56c00f7b4abb8f90e02c7601be1e82a
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-02-03 07:09:31 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-03 07:09:31 +0900

    YJIT: add missing jge comparison instruction (#9819)

    I ran into this while trying to implement setbyte, was surprised
    to find out we hadn't implemented it yet.

commit aa780a678e98599fdd9011760dabe17f9e26826c
  Author:     Ignacio Chiazzo Cardarello <ignaciochiazzo@gmail.com>
  AuthorDate: 2024-02-03 06:58:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 06:58:22 +0900

    [ruby/irb] Add a warning for when the history path doesn't exist
    (https://github.com/ruby/irb/pull/852)

    * Add a warning for when the history path doesn't exist

    * warn when the directory does not exist

    * added test for when the history_file does not exist

    * Update lib/irb/history.rb

    ---------

    https://github.com/ruby/irb/commit/9e6fa67212

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 6afccdf4499931b94f513dea9e3c1c9bab4a8787
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-03 06:38:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 06:45:50 +0900

    [ruby/prism] Provide APIs for finding value in constant pool

    https://github.com/ruby/prism/commit/be9e2abfa3

commit 31e4300ea704365e4578841d99ffadb1dfe5fd24
  Author:     Mike Dalessio <mike.dalessio@gmail.com>
  AuthorDate: 2024-01-30 22:20:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 06:38:04 +0900

    [rubygems/rubygems] feat: Gem::Specification#initialize_copy deep-copies requirements

    to avoid accidentally mutating the original's state when doing:

    ```ruby
    spec2 = spec.dup
    spec2.required_rubygems_version.concat([">= 3.3.22"])
    ```

    see https://github.com/rake-compiler/rake-compiler/pull/236 for a
    real-world use case that would be made simpler with this behavior.

    https://github.com/rubygems/rubygems/commit/c1d52389f0

commit 66a6f2b15a8827f830db7bf8cf8c8ebba79fa237
  Author:     Mike Dalessio <mike.dalessio@gmail.com>
  AuthorDate: 2024-01-30 22:05:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 06:38:04 +0900

    [rubygems/rubygems] feat: Gem::Requirement#initialize_copy deep-copies @requirements

    to avoid accidentally mutating the original's state when doing:

    ```ruby
    req2 = req.dup
    req2.concat([">= 3.3.22"])
    ```

    see https://github.com/rake-compiler/rake-compiler/pull/236 for a
    real-world use case that would be made simpler with this behavior.

    https://github.com/rubygems/rubygems/commit/8e0c03144e

commit d2f004cf6a99564a59ed159c4963d199488665cd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-03 06:05:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 06:16:04 +0900

    [ruby/prism] Fix hash pairs in patterns

    https://github.com/ruby/prism/commit/b7ab29daa0

commit eaea53b836cb2b8b814c4cd32b8c5ac4ddc049dd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-03 05:30:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 05:43:30 +0900

    [ruby/prism] Handle missing begin body

    https://github.com/ruby/prism/commit/7e54818b17

commit 7695ab3bcec1d842b85935c0cc0b0aa2b1c28991
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-03 05:02:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 05:09:01 +0900

    [ruby/prism] Fix up multibyte escapes

    https://github.com/ruby/prism/commit/836a35f4af

commit 520987c6d7511564069158f629ef4230c9c4a517
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-03 04:43:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 04:43:14 +0900

    [ruby/prism] Turn off LibrarySymbolsTest on powerpc64le

    https://github.com/ruby/prism/commit/6e432f3de5

commit 93fdf66bc5fb547035efbd0ded899c3ea57370ab
  Author:     Vitaliy Serov <vitaliy.serov@onlyoffice.com>
  AuthorDate: 2024-02-02 20:58:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 04:26:58 +0900

    [rubygems/rubygems] Adapt failing tests to new output

    https://github.com/rubygems/rubygems/commit/cf549e71aa

commit 0bcad50c8c9655118401ced990d977d8cf9392ff
  Author:     Vitaliy Serov <vitaliy.serov@onlyoffice.com>
  AuthorDate: 2024-02-02 02:20:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 04:26:58 +0900

    [rubygems/rubygems] Fix var name and also update other places

    https://github.com/rubygems/rubygems/commit/f72a7989cd

commit 064f251571f6d96ff3edcd81e6743eb617f66db9
  Author:     Vitaliy Serov <154601125+VitaliySerov@users.noreply.github.com>
  AuthorDate: 2024-01-26 02:46:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 04:26:57 +0900

    [rubygems/rubygems] Change gem login message to clear up that username can be also used

    https://github.com/rubygems/rubygems/commit/2bf6163eaf

commit 420a6349ec299c086320ab90af96776d73de0957
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-03 02:37:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-03 03:36:23 +0900

    [ruby/prism] Small fixes for the parser translator

    https://github.com/ruby/prism/commit/4327051c86

commit 8f9d999d5967182b8fafdf6ff47eb4db1358e29b
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-03 01:17:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 01:35:43 +0900

    [ruby/prism] Fix overlapping memcpy

    It's UB to use memcpy with overlapping source and destination. This
    might be causing crashes on 32 bit platforms and on OpenBSD. Use memmove
    instead. Add a bounds check while we're at it since it's unclear whether
    one-past-end pointer with n=0 is UB.

    https://github.com/ruby/prism/commit/719f54ff5e

commit 31378dc0969f4466b2122d730b7298dd7004acdf
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-31 04:16:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-03 00:39:42 +0900

    Add memory leak test for Regexp timeout

    [Bug #20228]

commit 01bfd1a2bf013a9ed92a9722ac5228187e05e6a8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-31 04:16:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-03 00:39:42 +0900

    Fix memory leak in OnigRegion when match raises

    [Bug #20228]

    rb_reg_onig_match can raise a Regexp::TimeoutError, which would cause
    the OnigRegion to leak.

commit 1c120efe02d079b0a1dea573cf0fd7978d9cc857
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-31 04:15:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-03 00:39:42 +0900

    Fix memory leak in stk_base when Regexp timeout

    [Bug #20228]

    If rb_reg_check_timeout raises a Regexp::TimeoutError, then the stk_base
    will leak.

commit a4e4e3b1f1bd66ce9121c0ba2a1926e2459106dc
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-31 22:20:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 20:43:10 +0900

    [rubygems/rubygems] Add missing Windows job

    Specs that use extension gems were failing in the new job but I noticed
    that they were using very non standard `extconf.rb` files.

    The hack being removed here was added just to make specs pass when run
    in ruby-core but it seems the underlying issue has been fixed now, and
    it's causing issues with Ruby 3.3 and Windows, so necessary so I'm
    removing it and moving on.

    https://github.com/rubygems/rubygems/commit/5b78275f0e

commit ccffc6ee09d51b840ec00c25b815cac26ca45025
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-02 14:26:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-02 14:26:20 +0900

    Add an assertion that `%x` literals call `` ` `` method

commit c0629a055ada4efcd6f520a8ff6f6d4d71e878a0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-01 21:20:42 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-02 10:42:53 +0900

    Prefer `IO.popen` over `IO.foreach` with `|`

commit f22bec79fed582f10e1791c421ebc760121b8878
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-01 20:44:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-02 10:42:53 +0900

    leaked-globals: More accurately extract checked function names

commit 7b93e65e9f9cb7abfc7e19aff4da9d6e4c32de4b
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-02-02 07:55:13 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-02 07:55:13 +0900

    [DOC] Pretty tables for Kernel#test doc (#9751)

commit 8d33be9833dd6a8851948762065db6fab051ad8c
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-02 07:11:32 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-02 07:11:32 +0900

    [PRISM] Respect string encoding override in array literals

    Fixes `TestZlibGzipReader#test_gets2`,
    `Psych_Unit_Tests#test_spec_explicit_families`, and many failures in
    `test_unicode_normalize.rb`.

commit 770b5499a550956001b879abb5bbd205eabda19f
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-02 05:55:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 07:04:46 +0900

    [ruby/prism] Amend assert in pm_utf_8_codepoint(), n=0 is fine

    This assert used to trip in the included test:
    ```
    ./miniruby --parser=prism -e ' "%W"\u" '
    ```

    https://github.com/ruby/prism/commit/8c0f84db4f

commit 4fbdbde0887d038c679b9e0369234d1061441232
  Author:     Jenny Shen <jenny.shen@shopify.com>
  AuthorDate: 2024-02-02 04:56:26 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-02 05:52:33 +0900

    [PRISM] dedup hash string keys

    Fixes ruby/prism#2321

    Co-authored-by:  Adrianna Chang <adrianna.chang@shopify.com>
    Co-authored-by:  Peter Zhu <peter@peterzhu.ca>

commit 332d2c92d8fd7827690e9be8ab76e4f999713b51
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-02 05:16:15 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-02 05:52:19 +0900

    [PRISM] Emit parse warnings

commit b47d43fa9bd48d14f871f71c2dfa18e241f0f051
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-02 05:15:07 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-02 05:50:32 +0900

    [PRISM] Use rb_fstring() on all string literals

    In addition to saving space by deduplicating, this also makes the
    literals have code range like TestObjSpace#test_dump_string_coderange
    expects. It's testing a detail, but we might as well use rb_fstring().

    Note that `putstring` makes a mutable duplicate, so passing it an
    fstring is fine.

commit c7fe3ecb49784fcc6a9780f89880d758cd272449
  Author:     Nikita Vasilevsky <nikita.vasilevsky@shopify.com>
  AuthorDate: 2024-02-02 03:04:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-02 05:23:39 +0900

    [prism] Use block opening line as `source_location` line of lambda

    There are several prism tests failing related to the `source_location`
    for lambda returning line of the operator (`->`)
    while original parser execution results in `source_location` line
    pointing to the block opening location (`{` or `do`)

    This commit changes `PM_LAMBDA_NODE` compilation case
    to use block opening location instead of the whole node (operator)
    opening location to get the line number to build block iseq

commit e4e5a1b4ee3f04a69c62c1cc067f65245b469321
  Author:     Jenny Shen <jenny.shen@shopify.com>
  AuthorDate: 2024-02-02 05:07:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 05:17:37 +0900

    [ruby/prism] Add parentheses around macro arguments

    https://github.com/ruby/prism/commit/f81fe9c716

    Co-authored-by:  Adrianna Chang <adrianna.chang@shopify.com>
    Co-authored-by:  Peter Zhu <peter@peterzhu.ca>

commit 29b7c31b089617316793c1ea7a1c1f2a83a41d60
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-02 04:35:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 04:45:37 +0900

    [ruby/prism] Reject operator writes on operator methods

    https://github.com/ruby/prism/commit/78bd142e71

commit d3ba14a31d45b7132e193d51742f59e121f211a0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-02 03:43:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-02 04:13:22 +0900

    [PRISM] Do not shell out in prism tests

commit e9f132446425089e8e732f68f49e10b3748c8684
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-02 02:21:57 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-02 02:52:16 +0900

    Sync to latest prism

commit ef427123ad51269fd5b45eeba327bd626e420974
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-02 02:45:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 02:46:02 +0900

    [ruby/irb] Add rubocop with a few basic styling rules
    (https://github.com/ruby/irb/pull/849)

    * Use rubocop to enforce a few styling rules

    * Add a CI job for linting

    https://github.com/ruby/irb/commit/4f60cd88bb

commit 494778c66340be109f4d3bc4e51e57da967e7027
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-02 01:43:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 01:48:55 +0900

    [ruby/prism] Remove locals_body_index

    We're not using this anymore, and it doesn't make a lot of sense
    outside the context of a compiler anyway, and in anyway it's wrong
    when you have local variables written in default values.

    https://github.com/ruby/prism/commit/5edbd9c25b

commit 67c5690a6d29e861fcb8522dc4213f9d26d3aab6
  Author:     Haldun Bayhantopcu <haldun@github.com>
  AuthorDate: 2024-02-01 16:09:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 01:48:09 +0900

    [ruby/prism] Check literals for receiver

    https://github.com/ruby/prism/commit/56441b08e7

commit f36c61d27fcdc47d4aa34e8a3b52590aac08bb69
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-02 01:19:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 01:19:07 +0900

    [ruby/irb] Reset history counter even when @loaded_history_lines is
    not defined
    (https://github.com/ruby/irb/pull/853)

    The issue (https://github.com/ruby/debug/issues/1064) is caused by a
    combination of factors:

    1. When user starts an IRB session without a history file, the
       `@loaded_history_lines` ivar is not defined.
    2. If the user then starts the `irb:rdbg` session, the history counter
       is not set, because the `@loaded_history_lines` is not defined.
    3. Because `irb:rdbg` saves the history before passing Ruby expression
       to the debugger, it saves the history with duplicated lines. The number
       grows in exponential order.
    4. When the user exits the `irb:rdbg` session, the history file could be
       bloated with duplicated lines.

    This commit fixes the issue by resetting the history counter even when
    `@loaded_history_lines` is not defined.

    https://github.com/ruby/irb/commit/4afc98c258

commit 6ad585bd68af55cbf111ea9b2b44244c8a75e1cd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-02 00:55:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 01:13:46 +0900

    [ruby/prism] Only warn for unary + on spcarg

    https://github.com/ruby/prism/commit/db0e5ce1ce

commit 1f226b41f04a88062952dcd11c6a97381fa7e510
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-01 06:22:27 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-02 00:33:54 +0900

    [PRISM] Fix multiple return with splat and splat+kwsplat

    Previously, `return *array, 1` didn't behave like `return [*array, 1]`
    properly. Also, it crashed when splat and kwsplat is combined like in
    `array = [*things, **hash]`.

    Fix this by grouping `PM_ARGUMENTS_NODE` with `PM_ARRAY_NODE` handling and
    combining splat and kwsplat handling.

commit 8531ac3115877023a907a4365ca76a7bf14fec20
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-01 21:17:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-01 21:17:37 +0900

    Suppress unused-local-typedef warnings

commit 1236a74023059b5cc0513bd1c25d1e5c80d70c90
  Author:     Nuno Silva <nunosilva800@gmail.com>
  AuthorDate: 2024-02-01 21:12:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-01 21:12:06 +0900

    [ruby/irb] Skip re-setup when creating a child session
    (https://github.com/ruby/irb/pull/850)

    https://github.com/ruby/irb/commit/06b2d00dd3

commit 8ba8e979c8b8a71dcc308c392bcead38af5306c7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-31 20:30:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-01 16:42:09 +0900

    Parenthesize casted argument

commit a7b47f96f3f8ac3734c11c0338e683940995df96
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 11:42:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 12:18:55 +0900

    [PRISM] Add splatkw to super calls when necessary

commit d96b4586e44ab52317622a610aa455feb2006990
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 11:25:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 12:18:55 +0900

    [PRISM] Fix up index write nodes to match

commit d36c31ed9b06dd618de35319a0c6fd8fe4f227af
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 07:12:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 12:18:55 +0900

    [PRISM] Fix keywords in index write nodes

commit 8acd1f708fa42dc0376b9654c9d0da9663ecdfe1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 06:59:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 12:18:55 +0900

    [PRISM] Fix combination of safe navigation and ||= and &&= operators

commit 4d01c590428c7de5d760a4f641f776d58b6ddcf3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 05:53:00 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 12:18:55 +0900

    [PRISM] Fix combination of attribute write and safe navigation

commit 2554c5d3b8738a248cedb2fea96dfab9fbe19417
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-02-01 11:27:44 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-01 11:27:44 +0900

    Don't wait in `io_binwrite_string` if not necessary. (#9792)

commit da33c5ac9fe12fd356b561ba57607aa04da8493c
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-02-01 08:02:44 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-02-01 09:09:54 +0900

    Revert "Set AI_ADDRCONFIG when making getaddrinfo(3) calls for outgoing conns"

    This reverts commit 673ed41c81cf5a6951bcb2c3dec82d7bd6ea7440.

commit 67404d657a802d3d85cd71e8565add4320f667d4
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-02-01 08:01:18 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-02-01 09:09:54 +0900

    Revert "always omit test_ai_addrconfig."

    This reverts commit abf192eb16ea845ac11743a32bd2f3e2d234488b.

commit 6a689e33239dbfb3a5661d50e7a84fe5dc917ceb
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-01 08:44:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-01 08:44:15 +0900

    [ruby/irb] Omit 2 encoding error related tests for TruffleRuby
    (https://github.com/ruby/irb/pull/854)

    They're failing due to an issue in Prism: https://github.com/ruby/prism/issues/2129

    So we need to skip them until:
    - The issue is fixed in Prism
    - TruffleRuby is updated to a version of Prism that includes the fix

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

commit 9fdfdf4fca22e892e92ad7060abac48a00516d81
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-01 06:19:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-01 06:29:16 +0900

    [ruby/prism] Always return the character width for char_is_identifier_start() and char_is_identifier_utf8()

    * This is also faster than calling pm_encoding_utf_8_alpha_char/pm_encoding_utf_8_alnum_char
      as those compute the character width and do extra checks.

    https://github.com/ruby/prism/commit/4cb276ac4c

commit b5a2c60d0a96664f99a1f39299779305ebb9dcbf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 05:19:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 05:49:32 +0900

    [PRISM] Support SCRIPT_LINES__

commit c4697991264e473ac8295eea04de1d1ac04bec2f
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-02-01 04:07:45 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-02-01 05:44:38 +0900

    Do not modify provided argument splat when using ruby2_keywords with anonymous splat

    Previously, this would push the provided keywords onto the argument
    splat.  Add ruby2_keywords to the list of other checks for whether
    it is safe for treating a given splat as mutable when the called
    method accepts an anonymous splat.

commit 71f16d498d30b3528774f519a0939eae59ef7602
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 04:25:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 04:54:39 +0900

    Raise errors for dumping prism parse tree

commit b4880af0e2ec1738dbde5679e1ca48dd76b2ad7b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 03:53:17 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 04:20:51 +0900

    [PRISM] Fix test_bug_reporter with prism

commit cb98b018c05832d183812b03fb133cd11edee04b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-01 03:42:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 04:11:14 +0900

    [PRISM] Fix else with rescue

    Fixes ruby/prism#2307.

commit 95c9711d6e04af149c5b2238297f51932d55c685
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-31 04:32:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-01 04:07:39 +0900

    [rubygems/rubygems] Fix musl platform not being added to the lockfile

    https://github.com/rubygems/rubygems/commit/235f7b4266

commit c28ee91263818d19d49fe0ce280b7ec557010daa
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-01-31 23:42:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 03:41:49 +0900

    [PRISM] Fix incorrect use of VM_CALL_KW_SPLAT_MUT in zsuper with keyword splat

    This copies the changes from 771a2f039b9a059a73e8f111d1d46590fa697f63.
    Fixes ruby/prism#2310.

commit 610636fd6bb435769d0359b251a5cd00733755f6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 02:17:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 03:41:36 +0900

    [PRISM] Mirror iseq APIs

    Before this commit, we were mixing a lot of concerns with the prism
    compile between RubyVM::InstructionSequence and the general entry
    points to the prism parser/compiler.

    This commit makes all of the various prism-related APIs mirror
    their corresponding APIs in the existing parser/compiler. This means
    we now have the correct frame naming, and it's much easier to follow
    where the logic actually flows. Furthermore this consolidates a lot
    of the prism initialization, making it easier to see where we could
    potentially be raising errors.

commit 21031f0a8427d857f1d0c9c1653eea3a9db87e88
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-01 03:13:25 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-01 03:13:27 +0900

    YJIT: Float arithmetics are actually leaf

    with these guards in YJIT.

    The previous commit was to fix "conflict" between two PRs, but I
    actually wanted to use it here, which is why I filed the other one.

commit 2220c4cf420eefed4eb674cd720549fde48470a1
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-01 03:10:03 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-01 03:10:03 +0900

    YJIT: s/jit_prepare_routine_call/jit_prepare_non_leaf_call/

commit 09427f51a23724fa8ee04ecb94d306add917d0b0
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-01 02:58:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-01 02:58:47 +0900

    YJIT: Add codegen for Float arithmetics (#9774)

    * YJIT: Add codegen for Float arithmetics

    * Add Flonum and Fixnum tests

commit cc9bbbdd80f04fd924be3d6e6302e1a6c57283e2
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-01 02:54:10 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-01 02:54:10 +0900

    YJIT: Add jit_prepare_for_gc function (#9775)

    * YJIT: Add jit_prepare_for_gc function

    * s/jit_prepare_routine_call/jit_prepare_non_leaf_call/

    * s/jit_prepare_for_gc/jit_prepare_call_with_gc/

    * Use jit_prepare_call_with_gc for leaf builtin

commit 06732d4956a178615ad2471e8dfd3b6c8e4ca842
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-31 21:31:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-01 01:54:15 +0900

    [rubygems/rubygems] Remove truffleruby specific stuff no longer needed

    We're already testing with truffleruby 23.

    https://github.com/rubygems/rubygems/commit/cd0494d628

commit 51753ec7fa82fb5c3f7ef3c5766b0e84c47d3d21
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-01 00:47:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-01 00:47:35 +0900

    Annotate Symbol#to_s as leaf (#9769)

commit a322b2faa40959ffdbe6da077c778131cb1c894f
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-31 05:35:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-31 22:22:38 +0900

    [rubygems/rubygems] Make slow perf specs more stable

    This seems worse to detect performance regressions, but at least should
    not have many false positives.

    https://github.com/rubygems/rubygems/commit/0b28e55415

commit c70052e5d91ee51f80aebbb777f01c5b0920c073
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-30 16:14:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-31 22:21:13 +0900

    [rubygems/rubygems] WEBrick:Utils::TimeoutHandler is always provided after webrick gem

    https://github.com/rubygems/rubygems/commit/b0502a0c50

commit 5808c869652b95679acc7afae0a2a1aa17e62894
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-01-31 21:07:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-31 21:43:50 +0900

    [ruby/prism] Fix description of line parsing option and state it's 1-indexed

    https://github.com/ruby/prism/commit/b2d2b91222

commit 171d4bec256e0ac9774b1a51d49e0e2930b0c47b
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-31 03:17:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-31 21:14:03 +0900

    [rubygems/rubygems] Fix some flaky test failures on Windows

    Some specs assert empty output, but sometimes they print warnings about
    redefinition warnings. Ignore those until they are fixed upstream.

    https://github.com/rubygems/rubygems/commit/0cd3b6dbae

commit 816ce53a8ad86d886e57307cb181ebe3570366c7
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-01-31 04:38:02 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-01-31 17:56:39 +0900

    Revert ".travis.yml: Drop s390x temporarily."

    This reverts commit 7ded31d36dc78c1495b03a45ec1a3235fdd81f1e.

    I was told from Travis CI support that their infra team has deployed a fix for
    the issue we encountered with the s390x build environment.

commit a7ebe467a748e272a1f7155670f114681d4ed675
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-01-31 14:14:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-31 16:14:50 +0900

    Add newline between end and def

commit 45b53dd897a32b7d26982a0793aac429b3bf86fa
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-01-30 23:17:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-31 16:14:50 +0900

    Add the ability to generate Launchable test reports

commit 3de2ab7fdb5201133718b45dfdeb82f4794f99bc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-31 11:01:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-31 14:56:39 +0900

    [ruby/yaml] Make PStore support as optional

    https://github.com/ruby/yaml/commit/da421ce46f

commit 7c8f9603b1dcacb7f04b559dadac905e167a5cc1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-31 10:50:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-31 14:56:00 +0900

    [flori/json] Make OpenStruct support as optional

    https://github.com/flori/json/commit/202ffe2335

commit f3df218f48571a7ff1479a33691fdb83db1da7ea
  Author:     S.H <gamelinks007@gmail.com>
  AuthorDate: 2024-01-31 13:31:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-31 13:31:38 +0900

    Introduced `rb_node_const_decl_val` function

    Introduce `rb_node_const_decl_val` function to allow `rb_ary_join` and
    `rb_ary_reverse` functions to be removed from Universal Parser.

commit 8041b7d9677d158850e14fc763038df30f14c16d
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-31 05:51:30 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-31 07:22:39 +0900

    [PRISM] pm_compile_logical: Fix OrNode in IfNode predicate

    Fixes: https://github.com/ruby/prism/issues/2294

commit 1142ed2f50359d8cab7903e5cc1f0ec9a2ed3e6e
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-31 04:45:16 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-31 07:22:39 +0900

    [PRISM] Remove unneccessary uses of cond_seq

    As this is compiled into only on the recursive call and then added, we
    can just use `ret` directly

commit dddef93bbd0327e24dff8c87caeb66b6f64800e6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-31 00:12:06 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-31 06:43:44 +0900

    Fix memory leak in File.expand_path

    File.expand_path leaks the dir if the encodings are not compatible.

    For example:

        Encoding.default_external = Encoding::UTF_16BE

        10.times do
          100_000.times do
            File.expand_path("./a")
          rescue
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        12288
        15488
        18656
        21872
        25056
        28240
        31392
        34688
        37856
        41056

    After:

        9680
        9728
        9728
        9792
        9792
        9792
        9792
        9792
        9792

commit c1f8d974a848ef379d2beb59064092f2fb59c7ed
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-31 04:59:53 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-31 04:59:53 +0900

    YJIT: Specialize splatkw on T_HASH (#9764)

    * YJIT: Specialize splatkw on T_HASH

    * Fix a typo

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

    * Fix a few more comments

    ---------

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

commit fe5590e46465ce1bcdec73a9029f71be611880d9
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-01-31 04:57:13 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-31 04:57:13 +0900

    YJIT: add specialized codegen for fixnum XOR (#9763)

commit 731367d0abfb50f0f7f27cebc23e507c4ffd3337
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-31 03:45:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-31 03:45:19 +0900

    [ruby/prism] Fix up CI

    https://github.com/ruby/prism/commit/224ea85565

commit 8e708e4a077d85e50cd797b2478aba7bfd5e4ac3
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-26 08:08:44 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-31 03:19:06 +0900

    Update forwarding locals for prism

commit 6b350bc6e41551161f4be37858c54fcca1a09c46
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-31 02:54:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-31 02:54:04 +0900

    [DOC] Note about the ticket number

commit 1891b4b6c3d40bd7dca085915f5d28ba97ebd156
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-31 02:49:25 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-31 02:49:27 +0900

    [DOC] Add a NEWS entry about Array#each

    in response to [Bug #20227]

commit 20732cadfdd7f8e0169620a5ea04f2820e2f5c04
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-31 00:30:06 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-31 01:47:48 +0900

    Make compile_array first_chunk argument bool instead of int

commit 332e0db675cd35b60ea82acbc0710d9062c0c92a
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-30 09:31:15 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-31 01:47:48 +0900

    Avoid unnecessary array allocation for ARGSCAT with LIST body

    Previously, this would use newarray followed by concattoarray.
    This now uses pushtoarray instead, avoiding the unnecessary
    array allocation.

    This is implemented by making compile_array take a first_chunk
    argument, passing in 1 in the normal array case, and 0 in the
    ARGSCAT with LIST body case.

commit ba06a8259a3f21c9cbee0f4f55b82c016a45a3b9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-30 07:27:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-31 01:10:08 +0900

    [ruby/prism] Better error messages for unexpected tokens in prefix

    https://github.com/ruby/prism/commit/a35b8e45ee

commit c85e28d12a4855e64271f0be4510b63053b628b7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-30 23:37:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-31 00:29:11 +0900

    [PRISM] Remove unused variable

commit 846f87ee0aad77424ce513f0b45a19d50050770f
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-01-30 23:25:35 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-01-31 00:22:05 +0900

    .travis.yml: Drop s390x temporarily.

    The s390x pipelines are timeout (50 minutes) on both master and ruby_3_3
    branches. Drop it temporarily.

    * https://app.travis-ci.com/github/ruby/ruby/builds/268617296
    * https://app.travis-ci.com/github/ruby/ruby/builds/268615249

commit 928f3884153ab6a645122d4f6f3a0c402fe20323
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-30 22:14:41 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-30 22:49:22 +0900

    [DOC] Fix Ripper DSL input example

    '!' suffix is needed for event dispatch.

commit fd44b42fb308ddf71d709a508901d68583e61f51
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-01-30 21:55:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-30 21:55:47 +0900

    [ruby/irb] Fix undef and alias indent
    (https://github.com/ruby/irb/pull/838)

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

commit f73ae058197ac134b89b0765bae147a19122f3dd
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-01-30 20:34:05 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-01-30 21:18:48 +0900

    Prefer `sa_handler` to `sa_sigaction` in Wasm

    Previously the code assigns `handler` function pointer, which accepts
    one argument, to `sigact.sa_sigaction`, which accepts three argument.
    This mismatch is not allowed in Wasm.

    I don't see the reason to use `sa_sigaction` here, so this change
    assigns to `sa_handler`, which accepts one argument, in Wasm.

commit 86547fd69d9793c82e34c3aad42c2418f4b16018
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-30 18:00:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-30 19:19:23 +0900

    [ruby/io-console] Move the condition to omit to command line option

    https://github.com/ruby/io-console/commit/32583460e1

commit c2cb5b44639dca036e36ccdd9ac351ed9874e7e4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-30 17:57:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-30 19:19:23 +0900

    [ruby/io-console] Move the condition to omit outside the method

    https://github.com/ruby/io-console/commit/8b9b5b611a

commit 2f54422d03d12ef34356e879669303a58cca1b33
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-30 12:24:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-30 18:26:54 +0900

    [rubygems/rubygems] Update namespace Gem::Resolver::Molinillo to Gem::Molinillo

    https://github.com/rubygems/rubygems/commit/6c4caf3ab0

commit b31995d8829738f61f26b9166b2d7e500b3f4abf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-30 12:20:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-30 18:26:54 +0900

    [rubygems/rubygems] Rename molinillo wrapper file to vendored_molinillo.rb

    https://github.com/rubygems/rubygems/commit/d7c15f6fd7

commit 361b3efe164bd753258c7a86aff5141f1fd3ecf6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-30 14:48:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-30 14:48:59 +0900

    Use `UNDEF_P`

commit 03246171cc1a506b5e03c9141337ef4f5a1f0856
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 16:05:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-30 14:07:51 +0900

    Move molinillo under the vendor directory

commit dfa8e696f263c315b4d4997a22d28dcd3bf3bdc0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 15:58:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-30 14:07:18 +0900

    Move tsort under the vendor directory

commit 881e76cef3a2f09b3a35fdd3469969ca87ca19e6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 15:54:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-30 14:06:38 +0900

    Move timeout under the vendor directory

commit 04dbdc81d1a3625bf653c7c4110412cc6246b5d6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 15:49:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-30 14:05:59 +0900

    Move net-http under the vendor directory

commit 6933aee9eb743effc4c5aaa1fdfa7c7edc04814a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 15:45:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-30 14:05:07 +0900

    Move net-protocol under the vendor directory

commit 898090ada1bc68987319051d86a3f60c0935308b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 15:29:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-30 14:03:52 +0900

    Move optparse under the vendor directory

commit 5a0302d222d74328a16339aa997392fe0cf38fea
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 15:28:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-30 14:01:59 +0900

    Move resolv under the vendor directory

commit d187e06dc7e746f80176fd6ca4f66a81239397cc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 16:13:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-30 13:02:32 +0900

    [rubygems/rubygems] Load wrapper file for vendored timeout

    https://github.com/rubygems/rubygems/commit/deb1b6d293

commit 83966a57fe6a271e64fb2629e7bbb8f0c34948a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-30 06:39:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-30 12:22:30 +0900

    [PRISM] Method location for calls

commit db5d9429a0d30213915fa36f2c6641065d01854a
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-30 06:42:03 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-30 12:19:25 +0900

    YJIT: No need to RESTORE_REG now that we reject tailcalls

    Thanks to Kokubun for noticing.

    Follow-up: b0711b1cf152afad0a480ee2f9bedd142a0d24ac

commit bbb7ab906ec64b963bd4b5d37e47b14796d64371
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-30 06:35:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-30 07:15:33 +0900

    [PRISM] Fix crash when multiple underscores

    Fixes ruby/prism#2295.

commit 4cf3c026de54499e79f61ae284b834565a6706e4
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-30 06:37:37 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-30 07:11:08 +0900

    Fix RegExp warning causing flaky Ripper failure

    Sometimes this file get picked up and break Ripper tests:

        TestRipper::Generic#test_parse_files:test/ruby
        assert_separately failed with error message
        pid 63392 exit 0
        | test_regexp.rb:2025: warning: character class has duplicated range

    https://github.com/ruby/ruby/actions/runs/7699956651/job/20982702553#step:12:103

commit 2d6f7d0864d0a19b2ab38ebb2022487d34568c24
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-30 06:22:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-30 07:05:23 +0900

    Fix test/ruby/test_rubyoptions.rb + --parser=prism

commit 3fb741069d1d0f28367940bf8536466bb78ff837
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-30 06:03:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-30 06:38:11 +0900

    [PRISM] Fix rescue frame label

commit 8e1fe15b4a73e511731accc5e244cead990e3cba
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-30 04:58:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-30 06:34:25 +0900

    [PRISM] Implement opt_str_uminus

commit bc10b958d2cc45b61e23c41d0aa892cbb82efafd
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-01-30 06:17:12 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-30 06:17:12 +0900

    YJIT: print warning when disasm options used without a dev build (#9744)

    * YJIT: print warning when disasm options used without a dev build

    I was confused for a few minutes the other way then
    --yjit-dump-disasm printed nothing, so I figured this would be
    useful for end-users (and future me).

    * Fix lone extraneous space

commit 32bbf4750097f7b3358e06e9d8efd81a2089d139
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-30 01:58:26 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-30 04:53:34 +0900

    [PRISM] Use opt_str_freeze instruction

    Fixes ruby/prism#2290.

commit d7501c403130b575219a672073a06792e81dcdb4
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-30 00:29:49 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-30 04:13:53 +0900

    [PRISM] Fix InterpolatedStringNode

    If the first element of an interpolated string node is an embedded
    statement, CRuby "pre-initializes" the interpolation with a string of
    known encoding to concat into.

    This patch replicates thate behaviour in Prism

commit 3d3d9e8397a3a84075692b6411647b031a19bf5d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-27 06:13:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-30 03:56:54 +0900

    [PRISM] Support US-ASCII symbols

commit d980c89273e4f2910042fd5e010f182766f056ac
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-27 05:56:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-30 03:56:54 +0900

    [PRISM] Support ASCII-8BIT symbols

commit f634c7a268a175a917bdb8542b4495219196a0e2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-27 05:18:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-30 03:56:54 +0900

    [PRISM] Support UTF-8 symbols

    Fixes ruby/prism#2242.

commit d39d9e066fb55694abf007da86f658c6c4855a89
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-30 03:37:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-30 03:42:47 +0900

    [ruby/prism] Fix binding power for modifier rescue

    https://github.com/ruby/prism/commit/f614863d79

commit 1005b7d29ff78ab3d4dc60fa062c84bd03c44d6c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-30 02:23:29 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-30 02:23:39 +0900

    Revert "Provisionally ignore panics that happen in these days often"

    This reverts commit e0f4c4e410a0e4c6cda67e9000696c8f1f01d8aa.

    We expect https://github.com/ruby/ruby/pull/9729 to address the failure.

commit d42330d702b2bb3b8aad105c4e55b0585ce23928
  Author:     Willian Tenfen W <tw.willian@gmail.com>
  AuthorDate: 2024-01-01 02:29:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-30 02:22:01 +0900

    [rubygems/rubygems] Improve gem login scope selection

    https://github.com/rubygems/rubygems/commit/26c7abe5f6

commit b0711b1cf152afad0a480ee2f9bedd142a0d24ac
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-30 02:21:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-30 02:21:17 +0900

    YJIT: Fix tailcall and JIT entry eating up FINISH frames (#9729)

    Suppose YJIT runs a rb_vm_opt_send_without_block()
    fallback and the control frame stack looks like:

    ```
    will_tailcall_bar [FINISH]
    caller_that_used_fallback
    ```

    will_tailcall_bar() runs in the interpreter and sets up a tailcall.
    Right before JIT_EXEC() in the `send` instruction, the stack will look like:

    ```
    bar [FINISH]
    caller_that_used_fallback
    ```

    Previously, JIT_EXEC() ran bar() in JIT code, which caused the `FINISH`
    flag to return to the interpreter instead of to the JIT code running
    caller_that_used_fallback(), causing code to run twice and probably
    crash. Recent flaky failures on CI about "each stub expects a particular
    iseq" are probably due to leaving methods twice in
    `test_optimizations.rb`.

    Only run JIT code from the interpreter if a new frame is pushed.

commit 9a5a11f3d0e5d9b595d51aafe8fdadfe384568ad
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-29 23:47:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-30 01:42:40 +0900

    [PRISM] Use the splatkw instruction

    Fixes ruby/prism#2272.

commit e050097bebe64e86e97e915fa74a3fc010c588e8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-30 01:02:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-30 01:09:47 +0900

    [ruby/prism] Raise diagnostics for parser

    https://github.com/ruby/prism/commit/102b4a16f5

commit adf29c9a986cb3510b9ddd55e0738b18076f41ad
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-01-30 00:36:34 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-30 00:36:34 +0900

    YJIT: add asm comment when we clear local types (#9713)

    Small PR to add a comment when we clear local variable types,
    so we can be aware that it's happening when looking at the disasm.

commit fde3d065e65d804ce5d8fc982aafd4c2d94d4388
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-27 02:19:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-30 00:05:32 +0900

    Add removable and refcnt output to labels

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>

commit c422805bbb95b1a45de1873d51cc1ec4fbbd27a0
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-29 23:11:34 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-30 00:04:16 +0900

    [PRISM] Fix encoding for interpolated strings.

    This wasn't taking into account strings with flags set on the containing
    node that could affect the encoding. It does now

commit 3e6e3ca2627b1aa71b17de902cc1b8188246a828
  Author:     Hiroya Fujinami <make.just.on@gmail.com>
  AuthorDate: 2024-01-29 23:51:26 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-29 23:51:26 +0900

    Correctly handle consecutive lookarounds (#9738)

    Fix [Bug #20207]
    Fix [Bug #20212]

    Handling consecutive lookarounds in init_cache_opcodes is buggy, so it
    causes invalid memory access reported in [Bug #20207] and [Bug #20212].
    This fixes it by using recursive functions to detected lookarounds
    nesting correctly.

commit 0d4de0f4b1b9ac90be437bf1bac6851dd1d96fd0
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-01-29 18:49:15 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-01-29 23:45:36 +0900

    wasm: align fiber stack pointer to 16 bytes

    In WebAssembly C ABI, the linear stack pointer must be always aligned
    to 16 bytes like other archs.
    The misaligned stack pointer causes some weird memory corruption since
    compiler assumes the aligned stack pointer.

commit 8bff7e996cf65159b4ed7b55c284de6651b7e637
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-29 17:16:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-29 17:16:49 +0900

    [DOC] Move "Execution Shell on Windows" under "Execution Shell"

commit 933ede5d768a0e411336ea27840727442c42d3df
  Author:     Masato Ohba <over.rye@gmail.com>
  AuthorDate: 2024-01-27 22:35:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 14:39:13 +0900

    [rubygems/rubygems] Remove `travis_removal_info`

    `travis_removal_info` is added by https://github.com/rubygems/rubygems/pull/6150. According to the comment, it's supposed to be removed at bundler v2.5.0 but it hasn't.

    https://github.com/rubygems/rubygems/commit/e18797d43f

commit e99951edfad6c636f561f1e6f3eda2e0609e8fbb
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2022-12-16 07:59:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:20:44 +0900

    [rubygems/rubygems] Simplify how extensions are built

    https://github.com/rubygems/rubygems/commit/0b8faf1e39

commit 5ea4df6a8fe67762b4f204e04c0134d17ce471a2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2022-12-17 01:33:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:20:44 +0900

    [rubygems/rubygems] Remove annoying debug info

    Sometimes you want this, sometimes you don't. And when you don't, this
    hides other debugging puts you may have added.

    https://github.com/rubygems/rubygems/commit/df37582c81

commit 1991c6d7a03b9b38bb3ff58949a08271f40cbc38
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-17 22:04:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:19:32 +0900

    [rubygems/rubygems] Remove now unnecessary elseif

    https://github.com/rubygems/rubygems/commit/d05b9e659b

    Co-authored-by: Samuel Giddins <segiddins@segiddins.me>

commit 355480dec6692b35b1404ef398da9360c02705b8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-15 23:03:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:19:31 +0900

    [rubygems/rubygems] Properly restore empty env vars

    https://github.com/rubygems/rubygems/commit/e0d68a8688

commit 2956d3a5115fdbfb5591dcb63e482c24c9c175b9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 12:18:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:18:26 +0900

    Removed duplicated license file

commit 5a884c2e009381d6fb7d2ebc9ffe48bd3e1472be
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-26 00:46:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:15:37 +0900

    [rubygems/rubygems] Add a spec to prove uri is no longer loaded

    https://github.com/rubygems/rubygems/commit/3a262f55c8

commit 5f9c1200734ff3291e4b3d93a4d48158ef8b5ae6
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-26 00:44:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:15:26 +0900

    [rubygems/rubygems] Remove no longer needed uri install during specs

    https://github.com/rubygems/rubygems/commit/7f35dc19c5

commit f3123f8af2c79d3e40719865fc3700277fe1ae72
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-16 04:51:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:15:10 +0900

    [rubygems/rubygems] Use rubygems vendored uri from Bundler when available

    https://github.com/rubygems/rubygems/commit/5d6a8f2fb4

commit d64d0b54231208c7bec899a7fe8c3b98ec2e9a1b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-16 04:51:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:14:21 +0900

    Vendor uri gem in RubyGems

commit 6bbbfb4629a4fdb336d5ac4f625e97ce30c15a01
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-16 00:59:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:02:04 +0900

    [rubygems/rubygems] Require vendored_uri file in Bundler

    https://github.com/rubygems/rubygems/commit/62bc261042

commit 5ac9c8f01b166f2f172be6068e5dda9755b58c63
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-29 00:27:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:27:19 +0900

    [ruby/win32ole] [DOC] Remove spaces inside parentheses

    https://github.com/ruby/win32ole/commit/57e4a38465

commit 8074525b2b122be590a8a3d3c2c9fb5ea96a37ad
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 18:24:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:36 +0900

    [ruby/win32ole] Move toplevel constant for olegen under `WIN32OLE`

    https://github.com/ruby/win32ole/commit/78ff137c0f

commit 3ad54239b529b1b4b96d06117e8039c1d57f1e89
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 17:44:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:36 +0900

    [ruby/win32ole] [DOC] Move sample to toplevel

    https://github.com/ruby/win32ole/commit/70ea60c4d2

commit 703ad99bf8de24137a8d635c13d6c7c8bc6b1f56
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 17:40:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:35 +0900

    [ruby/win32ole] Use `end_with?` and fix indent

    https://github.com/ruby/win32ole/commit/7648ee7e56

commit bd6f98340318ac17213b4328e79217e606912206
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 11:45:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:35 +0900

    [ruby/win32ole] Use the scoped names in the tests

    https://github.com/ruby/win32ole/commit/2b91b6b838

commit 8af4ef30e57759d4f3994a56dbb38a6151f0bbd3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 17:07:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:35 +0900

    [ruby/win32ole] Move `WIN32OLE` prefixed error classes under `WIN32OLE`

    https://github.com/ruby/win32ole/commit/1c95816168

commit 1e2d088dd3d534958c4e010a6bcb815cce83c1b5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 17:02:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:34 +0900

    [ruby/win32ole] Use the scoped names in `inspect` and error messages

    https://github.com/ruby/win32ole/commit/2f51493bd1

commit baef72da3601b541cb04aca310fee63eec18964f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 16:49:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:34 +0900

    [ruby/win32ole] [DOC] Update class names using the scoped names

    https://github.com/ruby/win32ole/commit/2c5d193da7

commit 1bc48684cdaf72375a2b094ae963b7d6d125140f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 16:38:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:33 +0900

    [ruby/win32ole] Rename `WIN32OLE::Typelib` as `WIN32OLE::TypeLib`

    https://github.com/ruby/win32ole/commit/5feede2cc5

commit 853bcf65c767594b37d9c7639df5a2894c716d6a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 16:07:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:33 +0900

    [ruby/win32ole] Rename `WIN32OLE::VARIANT` as `WIN32OLE::VariantType`

    Prevent name clash with `WIN32OLE::Variant`, of generated document
    files on case-insensitive filesystems, such as Windows.

    https://github.com/ruby/win32ole/commit/049e5f0a6e

commit c1666158373398c6f58e637adfe31ddad8c8ce00
  Author:     Masato Nakamura <masato.nakamura145@gmail.com>
  AuthorDate: 2024-01-28 21:38:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 21:38:55 +0900

    [ruby/reline] Add metadata for rubygems.org
    (https://github.com/ruby/reline/pull/638)

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

commit 23b8337cd10329020d74a2f0d8e43434645c4d5b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-28 17:59:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-28 19:15:31 +0900

    [Bug #20219] `gettable` returns NULL on error

commit 5f733a1ae7e5fd20d4cba61af5408b33204fe8fc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-28 11:09:55 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-28 18:44:09 +0900

    [Bug #20217] `rescue` block is void only if all children are void

commit fed877c791f1c16a2b1a2c9a167b7f433505794d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-28 01:02:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-28 18:44:09 +0900

    [Bug #20217] `return` with `ensure` is a void value expression

commit d3e6bcd37fd10a0356a0d07d079670bb7247299b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-26 12:15:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 15:49:28 +0900

    [ruby/digest] [DOC] Expand `Digest::SHA2` definitions for RDoc

    Since RDoc searches `var = rb_define_class_under(...)` statements
    literally, they cannot be built by macros.

    https://github.com/ruby/digest/commit/d39b684f91

commit 81702b4b873c0e2b4247095b3b9462bcf34166ff
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-26 12:13:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 15:49:28 +0900

    [ruby/digest] Prefer `rb_const_get` over `rb_path2class` for direct constants

    https://github.com/ruby/digest/commit/e5d30394b3

commit f475dc1cd219240b31a1958e6df00b8582a259f5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-26 10:56:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 15:49:26 +0900

    [ruby/digest] [DOC] Add .document

    https://github.com/ruby/digest/commit/6db96aa99a

commit e018036d89e33c5729958130f582f8fb324680d6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-28 11:08:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-28 11:12:22 +0900

    Rename `nd_head` in `RNode_RESBODY` as `nd_next`

commit 0f98d284f338d7480e1849399e38a9f8689e4957
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-28 00:58:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-28 11:11:13 +0900

    Remove unused `nd_resq` from `RNode_ENSURE`

commit e256d44f984cc80039b7dd0db44a7107214548f1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-28 05:25:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 10:10:47 +0900

    [ruby/prism] Handle implicit rest in array pattern for parser gem

    https://github.com/ruby/prism/commit/d3722d6660

commit 8a027d111fb5adf87dddd890e846c4814539d866
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-27 07:01:55 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-28 07:47:07 +0900

    Remove expandarray/splatarray sequence peephole optimization

    newarray, duparray, concatarray, and splatarray always leave an
    array at the top of the stack.  expandarray does not, it takes
    an array from the top of the stack as input, and leaves individual
    elements on the stack.  I assume no Ruby code generates the
    expandarray/splatarray sequence, or it could break. The only
    use of expandarray outside the peephole optimizer is in the
    masgn code, and it does not appear to generate splatarray
    directly after expandarray.

    The splatarray/splatarray peephole optimization is probably
    also wrong in the following case:

    ```
    putobject  [1,2]
    splatarray false
    splatarray true
    ```

    This instruction sequence should result in a duplicate of
    [1,2] at the top of the stack, but the peephole optimizer would
    remove the `splatarray true`, resulting in change that made
    [1,2] on top of the stack.  I'm not sure Ruby code can generate
    `splatarray false` followed by `splatarray true` (I could get it
    to generate chains of `splatarray true`), so maybe this has no
    effect.

    newarray, duparray, and concatarray all result in newly allocated
    arrays at the top of the stack, so they shouldn't have an issue
    with removing either `splatarray true` or `splatarray false`.

commit d917bb8e60c283981626876c496cb2670f74ffb7
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-27 04:53:49 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-28 07:04:55 +0900

    Eliminate 1-2 array allocations for each splat used in a masgn method

    Given code such as:

    ```ruby
      h[*a, :a], h[*b] = v
    ```

    Ruby would previously allocate 5 arrays for the mass assignment:

    * splatarray true for a
    * newarray for v[0]
    * concatarray for [*a, a] and v[0]
    * newarray for v[1]
    * concatarray for b and v[1]

    This optimizes it to only allocate 2 arrays:

    * splatarray true for a
    * splatarray true for b

    Instead of the newarray/concatarray combination, pushtoarray is used.

    Note above that there was no splatarray true for b originally. The
    normal compilation uses splatarray false for b.  Instead of trying
    to find and modify the splatarray false to splatarray true, this
    adds splatarray true for b, which requires a couple of swap
    instructions, before the pushtoarray.  This could be further
    optimized to remove the need for those three instructions, but I'm
    not sure if the complexity is worth it.

    Additionally, this sets VM_CALL_ARGS_SPLAT_MUT on the call to
    []= in the h[*b] case, so that if []= has a splat parameter, the
    new array can be used directly, without additional duplication.

commit a591e11a7a6f6749044b6bef9c35633ad1930db5
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-27 05:29:37 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-28 06:02:42 +0900

    Eliminate 1-2 array allocations for each splat used in a op_asgn method

    Given code such as:

    ```ruby
      h[*a, 1] += 1
      h[*b] += 2
    ```

    Ruby would previously allocate 5 arrays:

    * splatarray true for a
    * newarray for 1
    * concatarray for [*a, 1] and [1]
    * newarray for 2
    * concatarray for b and [2]

    This optimizes it to only allocate 2 arrays:

    * splatarray true for a
    * splatarray true for b

    Instead of the newarray/concatarray combination, pushtoarray is used.

    Note above that there was no splatarray true for b originally. The
    normal compilation uses splatarray false for b.  Instead of trying
    to find and modify the splatarray false to splatarray true, this
    adds splatarray true for b, which requires a couple of swap
    instructions, before the pushtoarray.  This could be further
    optimized to remove the need for those three instructions, but I'm
    not sure if the complexity is worth it.

    Additionally, this sets VM_CALL_ARGS_SPLAT_MUT on the call to
    []= in the h[*b] case, so that if []= has a splat parameter, the
    new array can be used directly, without additional duplication.

commit f12ebe11888d9fdd121c98ca8a5155dc044f4cf4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-11 01:04:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 04:59:42 +0900

    [ruby/prism] Add parser translation

    https://github.com/ruby/prism/commit/8cdec8070c

commit 223910b329751fbee36efe66ccd544e66dbe90f8
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-27 06:35:37 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-28 04:42:01 +0900

    Reduce array allocations for literal arrays with splats and other args

    Previously, a literal array with a splat and any other args resulted in
    more than one array allocation:

    ```ruby
    [1, *a]
    [*a, 1]
    [*a, *a]
    [*a, 1, 2]

    [*a, a]
    [*a, 1, *a]
    [*a, 1, a]
    [*a, a, a]

    [*a, a, *a]
    [*a, 1, *a, 1]
    [*a, 1, *a, *a]

    [*a, a, *a, a]
    ```

    This is because previously Ruby would use newarray and concatarray
    to create the array, which both each allocate an array internally.

    This changes the compilation to use concattoarray and pushtoarray,
    which do not allocate arrays.  It also updates the peephole optimizer
    to optimize the duparray/concattoarray sequence to
    putobject/concattoarray, mirroring the existing duparray/concatarray
    optimization.

    These changes reduce the array allocations for the above examples to
    a single array allocation, except for:

    ```
    [*a, 1, a]
    [*a, a, a]
    ```

    The reason for this is because optimizing this case to only allocate
    1 array requires changes to compile_array, which would currently
    conflict with an unmerged pull request (#9721).  After that pull
    request is merged, it should be possible to refactor things to only
    allocate a 1 array for all literal arrays (or 2 for arrays with
    keyword splats).

commit e337c9478a1c5d60b6cfa4ddbee71523a7f8bd84
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-27 06:51:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 03:46:16 +0900

    [ruby/prism] Error follow-up

    Split up the diagnostic levels so that error and warning levels
    aren't mixed. Also fix up deconstruct_keys implementation.

    https://github.com/ruby/prism/commit/bd3eeb308d

    Co-authored-by: Benoit Daloze <eregontp@gmail.com>

commit c2e2d2398b86e7bcc89ab534e3a3af54cf8374b5
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-01-27 19:05:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 03:41:07 +0900

    [ruby/prism] Call #inspect on diagnostic levels

    * So it's clear it is a Symbol.
      Before:
      ... @level=warning_verbose_true>
      After:
      ... @level=:warning_verbose_true>

    https://github.com/ruby/prism/commit/84503643b9

commit 2217e08340cbeba427fc58c7f955fc2382ab0372
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-28 03:16:52 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-28 03:16:52 +0900

    Optimize compilation of large literal arrays

    To avoid stack overflow, Ruby splits compilation of large arrays
    into smaller arrays, and concatenates the small arrays together.
    It previously used newarray/concatarray for this, which is
    inefficient.  This switches the compilation to use pushtoarray,
    which is much faster. This makes almost all literal arrays only
    allocate a single array.

    For cases where there is a large amount of static values in the
    array, Ruby will statically compile subarrays, and previously
    added them using concatarray.  This switches to concattoarray,
    avoiding an array allocation for the append.

    Keyword splats are also supported in arrays, and ignored if the
    keyword splat is empty.  Previously, this used newarraykwsplat and
    concatarray.  This still uses newarraykwsplat, but switches to
    concattoarray to save an allocation.  So large arrays with keyword
    splats can allocate 2 arrays instead of 1.

    Previously, for the following array sizes (assuming local variable
    access for each element), Ruby allocated the following number of
    arrays:

      1000 elements: 7 arrays
     10000 elements: 79 arrays
    100000 elements: 781 arrays

    With these changes, only a single array is allocated (or 2 for a
    large array with a keyword splat.

    Results using the included benchmark:

    ```
                           array_1000
                miniruby:     34770.0 i/s
       ./miniruby-before:     10511.7 i/s - 3.31x  slower

                          array_10000
                miniruby:      4938.8 i/s
       ./miniruby-before:       483.8 i/s - 10.21x  slower

                         array_100000
                miniruby:       727.2 i/s
       ./miniruby-before:         4.1 i/s - 176.98x  slower
    ```

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 0bac390e079b269ca55e36dd574da1a879d5595f
  Author:     Masato Ohba <over.rye@gmail.com>
  AuthorDate: 2024-01-27 22:19:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 00:50:24 +0900

    [rubygems/rubygems] Bump Ruby version to be used in `bundle gem` template

    since 2.6 and 2.7 are EOL and bundler dropped their support by https://github.com/rubygems/rubygems/pull/7116.

    https://github.com/rubygems/rubygems/commit/b562d9a822

commit 5d9d07a49184c9a5c5eb0dc2ba579a46c80b3eb6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-27 23:13:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 23:13:35 +0900

    [ruby/prism] Bring back #arg_rest local

    https://github.com/ruby/prism/commit/9b6907b727

commit 9b40f42c22232aaae1b2b17bd6118eacc4c0bee3
  Author:     S.H <gamelinks007@gmail.com>
  AuthorDate: 2024-01-27 17:11:10 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-27 17:11:10 +0900

    Introduce `NODE_ENCODING`

    `__ENCODING__ `was managed by `NODE_LIT` with Encoding object.

    Introduce `NODE_ENCODING` for
    1. `__ENCODING__` is detectable from AST Node.
    2. Reduce dependency Ruby object for parse.y

commit 68b9a32a624edf0cb497d344a2a8650658500517
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-27 14:41:07 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-27 16:50:35 +0900

    bvar is not NODE but ID

    Before this commit `ruby -y -e 'tap {|;x, y|}'` failed with SEGV.
    This change fixes it.

commit 70cb0a4dec2e445730357eea2aa347747df302af
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-27 09:40:51 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-27 11:51:27 +0900

    Lrama v0.6.2

commit cb9a47f2acd6e373ef868b890a9d07da6f565dd4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-27 06:19:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-27 06:46:31 +0900

    [PRISM] Fix branchif ADD_INSN1

commit de135bc247408712a0f630010778af0b405bae1f
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-01-25 05:12:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 06:34:34 +0900

    [ruby/prism] Add level to warnings and errors to categorize them

    * Fixes https://github.com/ruby/prism/issues/2082

    https://github.com/ruby/prism/commit/7a74576357

commit bcafd28a3e2ec6c35d80c55a5d11c2f8aab6fc8b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-27 05:29:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 06:14:59 +0900

    [ruby/prism] Symbol encoding follow-up

    Ensure we don't accidentally parse the symbol encoding twice, and
    ensure we parse it in every circumstance we need to by requiring
    it as a parameter.

    https://github.com/ruby/prism/commit/9cea31c785

commit a12052902088caff04eca2f61a4b62c0c309ba08
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-27 02:17:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-27 06:07:24 +0900

    [PRISM] Fix loop in rescue blocks

    Fixes ruby/prism#2250.

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>

commit 59bb78ebd023d42c9ac604c89d0885cef1622c21
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-27 04:51:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-27 05:41:06 +0900

    [PRISM] Fix for s390x

    On s390x, a long is 8 bytes. st_data_t is an unsigned long but
    pm_constant_id_t is a 4 byte integer. We need to cast it to st_data_t
    when passing it to ST functions.

commit 2a509787cb8869301b614139218432aef9b68f9b
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-01-25 06:39:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 05:15:19 +0900

    [ruby/prism] Track whether a Symbol should have its encoding changed from the source encoding.

    Ruby sets a Symbol literal's encoding to US-ASCII if the symbols consists only of US ASCII code points. Character escapes can also lead a Symbol to have a different encoding than its source's encoding.

    https://github.com/ruby/prism/commit/f315660b31

commit 3d996e827f2ff74a1bb7e978d754cea7d957b9eb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-26 23:44:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-27 04:58:29 +0900

    [PRISM] Keyword arguments incorrectly passed as mutable

    Fixes ruby/prism#2279.

commit 99d91838e0daab390d17cbbf90479c9569602488
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-27 03:33:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 03:35:54 +0900

    [ruby/prism] Update src/prism.c

    https://github.com/ruby/prism/commit/91b5550726

commit 7d356b8f0e5be81075a30e779c872eeed9049150
  Author:     Haldun Bayhantopcu <haldun@github.com>
  AuthorDate: 2024-01-24 08:57:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 03:35:54 +0900

    [ruby/prism] Fix multiple assigns with newlines

    https://github.com/ruby/prism/commit/b4ba41bdcd

commit 9a7637da2d0fd6a43e980bb210957011c6f146be
  Author:     Haldun Bayhantopcu <haldun@github.com>
  AuthorDate: 2024-01-24 08:35:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 03:32:31 +0900

    [ruby/prism] Add tests

    https://github.com/ruby/prism/commit/b9ebf987bd

commit b0e10345d3b1f4c1f1b82d2598a31c066a0b2c28
  Author:     Haldun Bayhantopcu <haldun@github.com>
  AuthorDate: 2024-01-24 08:31:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 03:32:30 +0900

    [ruby/prism] Fix parsing calls with labels

    https://github.com/ruby/prism/commit/3db7849a31

commit 8e5bc8f7c24f4ff161bdac3d6b876a4a158642fb
  Author:     Max Prokopiev <maxprokopiev@github.com>
  AuthorDate: 2024-01-27 02:27:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 03:32:02 +0900

    [ruby/prism] Change binding power for modifiers in case-in nodes

    https://github.com/ruby/prism/commit/c31eeba54c

commit 1949a04f81311660e2d0ec002c48115c63742d0b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-26 17:46:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-26 17:46:39 +0900

    `vcpkg x-update-baseline` for updating baseline commit hash uses 2-spaces indent

commit 771a2f039b9a059a73e8f111d1d46590fa697f63
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-26 05:44:13 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-26 13:43:42 +0900

    Fix incorrect use of VM_CALL_KW_SPLAT_MUT in zsuper with keyword splat

    For zsuper calls with a keyword splat but no actual keywords, the
    keyword splat is passed directly, so it cannot be mutable, because
    if the callee accepts a keyword splat, changes to the keyword splat
    by the callee would be reflected in the caller.

    While here, simplify the logic when the method supports
    literal keywords.  I don't think it is possible for
    a method with has_kw param flags to not have keywords, so add an
    assertion for that, and set VM_CALL_KW_SPLAT_MUT in a single place.

commit 395a240b7c1daa058f590893ca8d8f6d28866abf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-26 13:40:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-26 13:40:05 +0900

    Try to use irb instead of rubygems for completion test

    I'm not sure why OpenBSD suggest `rubygems_plugin` file for this.

    https://rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20240126T013005Z.fail.html.gz

    It seems environmental issue, not irb.

commit f9bf7d531bcea3fde3bb055d5d517f93945515dd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-26 12:38:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-26 12:38:01 +0900

    Added vcpkg manifest for windows build environment.

    "builtin-baseline": "53bef8994c541b6561884a8395ea35715ece75db" is 2024.01.12
    released version of vcpkg.

    https://github.com/microsoft/vcpkg/releases/tag/2024.01.12

commit 7567e4e1e1e8029b19cda81b612f2d1a0c27cb9f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-26 09:22:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-26 09:22:27 +0900

    YJIT: Fix exits on splatkw instruction (#9711)

commit b822f9f6fc5a00ec08dbc698b9845887d1c4dbc2
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-01-26 08:47:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-26 08:47:29 +0900

    Bundle rbs-3.4.3 (#9702)

    * Bundle rbs-3.4.3
    * Remove rbs from `TEST_BUNDLED_GEMS_ALLOW_FAILURES` list
    * Add the failing tests to `rbs_skip_tests`

commit 5bd6949151512a6667a58bcadcb019157b65cd7c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-26 06:59:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-26 08:15:45 +0900

    [PRISM] Add raw option to assert_prism_eval

commit 2034e6ad5a22fa1dcde428751ae97a29ba434d7e
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-26 06:45:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-26 06:45:58 +0900

    YJIT: Support concattoarray and pushtoarray (#9708)

commit f0224adf2f6ec5c1a9c77001bfbfdae9eb93f5fc
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-26 05:29:42 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-26 06:17:03 +0900

    YJIT: Assert lea source operand type

commit e452caac10c651a2b7de5fdc076b7b44a66785d5
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-25 21:54:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-26 05:10:52 +0900

    [PRISM] Fix next inside rescue

commit e7262966c91c63511122153ea555c4cd420cd353
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-26 01:32:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-26 02:14:22 +0900

    [PRISM] Fix indentation of test_ScopeNode

commit d4cc77e7b6107b136e977e9b107b2d50aaa42314
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-26 01:23:26 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-26 01:23:26 +0900

    YJIT: Add a counter for invokebuiltin exits (#9696)

commit 1301422dfe44ed6aca97b20f672098c276dd9bd4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-26 00:33:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-26 01:11:50 +0900

    [PRISM] Fix VM_CALL_ARGS_SPLAT_MUT failures

commit ebf803aa196e2df4c129b1ec11107363ebbe1382
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-25 22:43:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 22:58:07 +0900

    [ruby/prism] Fix Ruby head build

    https://github.com/ruby/prism/commit/149e2ff7f6

commit fdb8f086396e0f9b64e069852cb0dd40147877d1
  Author:     Eddie Lebow <7873686+elebow@users.noreply.github.com>
  AuthorDate: 2024-01-25 19:20:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 19:20:47 +0900

    [ruby/irb] Reword history file documentation and fix typo
    (https://github.com/ruby/irb/pull/842)

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

commit 4bd58e1ade11f9bc82b12427f59871dd73db7c50
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-01-25 11:40:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 18:58:17 +0900

    [ruby/irb] diabled ==> disabled

    https://github.com/ruby/irb/commit/295797ff37

commit 033411562802d1ec2d8a57dfef480f8e7d346214
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-01-25 11:36:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 18:58:17 +0900

    [ruby/irb] Synatx ==> Syntax

    https://github.com/ruby/irb/commit/2ffacaa031

commit 819ae2c2c181b3e27e4ba57b66a7e89f1745ff09
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-01-25 11:34:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 18:58:16 +0900

    [ruby/irb] assigment ==> assignment

    https://github.com/ruby/irb/commit/24c7694467

commit 5f9f46a24cd8c166baa4cdd3ef014b695eed6a0e
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-01-25 11:27:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 18:58:16 +0900

    [ruby/irb] reseting ==> resetting

    https://github.com/ruby/irb/commit/6209f06c72

commit 9b1cc68b770145b8ccd1ca10e7604e5f5af32d10
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-01-25 11:27:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 18:58:16 +0900

    [ruby/irb] configuation ==> configuration

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

commit fd9b968569fc8b7a4cdc3dcad815cd3aab8d7088
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-01-25 11:26:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 18:58:15 +0900

    [ruby/irb] recever ==> receiver

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

commit 6580a95f8d5a74bec20d41eb9660a93f13be8922
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-01-25 11:26:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 18:58:15 +0900

    [ruby/irb] inifinity ==> infinity

    https://github.com/ruby/irb/commit/78dea58000

commit 4d4d418457a1b6dc2ce63b166cff51fd0827c0a3
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-01-25 11:25:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 18:58:14 +0900

    [ruby/irb] overrided ==> overridden

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

commit 0f5407b33772743154c50b01e1ea2ade494bd520
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-25 14:34:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-25 16:06:06 +0900

    Simplified test case for encoding option

      Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit d13a57cd65153409e826b52ad653147ea24069a4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-25 14:23:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-25 16:06:06 +0900

    Use Encoding.local_charmap instead of locale

      In my windows environment uses cp932 for terminal encoding.

commit 1d972498eb62a0d718501a956cc391ee59a1d9d1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-25 11:42:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-25 16:06:06 +0900

    Use Encoding::CESU_8 for test case

      Encoding::Windows_31J is already loaded in mswin platform

commit ff55d6b8e1e4c22a80f6bbf882c5ae4a07a9eb45
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-25 14:33:53 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-25 15:06:14 +0900

    Use `token_seen` and simplify `comment_at_top`

    Instead of scanning before the current comment.

commit 2b9719ea30fe4227c082e3cc7e03803ff018e67f
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-25 12:13:30 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-25 12:42:41 +0900

    Ignore --parser=prism failures until prism compiler fixed for recent optimizations

commit fb596499f7b1538c5039861852e55aff4dd182bb
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-25 11:39:54 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-25 12:42:41 +0900

    Temporarily ignore bundled gems failures for rbs and typeprof on macos, similar to ubuntu

    This should be reverted after rbs and typeprof are updated to handle
    the changes for the optimizations.

commit 42d891be2c202eae4ddfa15a4338712fd6d63668
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-12-15 09:48:09 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-25 11:25:55 +0900

    Add benchmark for implicit array/hash allocation reduction changes

    Benchmark results:

    ```
    named_multi_arg_splat
    after:    5344097.6 i/s
    before:   3088134.0 i/s - 1.73x  slower

    named_post_splat
    after:    5401882.3 i/s
    before:   2629321.8 i/s - 2.05x  slower

    anon_arg_splat
    after:   12242780.9 i/s
    before:   6845413.2 i/s - 1.79x  slower

    anon_arg_kw_splat
    after:   11277398.7 i/s
    before:   4329509.4 i/s - 2.60x  slower

    anon_multi_arg_splat
    after:    5132699.5 i/s
    before:   3018103.7 i/s - 1.70x  slower

    anon_post_splat
    after:    5602915.1 i/s
    before:   2645185.5 i/s - 2.12x  slower

    anon_kw_splat
    after:   15403727.3 i/s
    before:   6249504.6 i/s - 2.46x  slower

    anon_fw_to_named_splat
    after:    2985715.3 i/s
    before:   2049159.9 i/s - 1.46x  slower

    anon_fw_to_named_no_splat
    after:    2941030.4 i/s
    before:   2100380.0 i/s - 1.40x  slower

    fw_to_named_splat
    after:    2801008.7 i/s
    before:   2012416.4 i/s - 1.39x  slower

    fw_to_named_no_splat
    after:    2742670.4 i/s
    before:   1957707.2 i/s - 1.40x  slower

    fw_to_anon_to_named_splat
    after:    2309246.6 i/s
    before:   1375924.6 i/s - 1.68x  slower

    fw_to_anon_to_named_no_splat
    after:    2193227.6 i/s
    before:   1351184.1 i/s - 1.62x  slower
    ```

commit 4f77d8d3289ece0e3537d9273a5c745120bff59a
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-12-09 07:30:39 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-25 11:25:55 +0900

    Do not use ruby2_keywords for ... argument forwarding

    This allows ... argument forwarding to benefit from Allocationless
    Anonymous Splat Forwarding, allowing the `f` call below to not
    allocate an array or a hash.

    ```ruby
    a = [1]
    kw = {b: 2}

    def c(a, b:)
    end

    def f(...)
      c(...)
    end

    f(*a, **kw)
    ```

    This temporarily skips prism locals tests until prism is changed
    to use * and ** for ..., instead of using ruby2_keywords.

    Ignore failures in rbs bundled gems tests, since they fail due
    to this change.

commit 0f90a24a816bec438edb272fb83f334484dfc285
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-12-01 07:58:42 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-25 11:25:55 +0900

    Introduce Allocationless Anonymous Splat Forwarding

    Ruby makes it easy to delegate all arguments from one method to another:

    ```ruby
    def f(*args, **kw)
      g(*args, **kw)
    end
    ```

    Unfortunately, this indirection decreases performance.  One reason it
    decreases performance is that this allocates an array and a hash per
    call to `f`, even if `args` and `kw` are not modified.

    Due to Ruby's ability to modify almost anything at runtime, it's
    difficult to avoid the array allocation in the general case. For
    example, it's not safe to avoid the allocation in a case like this:

    ```ruby
    def f(*args, **kw)
      foo(bar)
      g(*args, **kw)
    end
    ```

    Because `foo` may be `eval` and `bar` may be a string referencing `args`
    or `kw`.

    To fix this correctly, you need to perform something similar to escape
    analysis on the variables.  However, there is a case where you can
    avoid the allocation without doing escape analysis, and that is when
    the splat variables are anonymous:

    ```ruby
    def f(*, **)
      g(*, **)
    end
    ```

    When splat variables are anonymous, it is not possible to reference
    them directly, it is only possible to use them as splats to other
    methods.  Since that is the case, if `f` is called with a regular
    splat and a keyword splat, it can pass the arguments directly to
    `g` without copying them, avoiding allocation.  For example:

    ```ruby
    def g(a, b:)
      a + b
    end

    def f(*, **)
      g(*, **)
    end

    a = [1]
    kw = {b: 2}

    f(*a, **kw)
    ```

    I call this technique: Allocationless Anonymous Splat Forwarding.

    This is implemented using a couple additional iseq param flags,
    anon_rest and anon_kwrest.  If anon_rest is set, and an array splat
    is passed when calling the method when the array splat can be used
    without modification, `setup_parameters_complex` does not duplicate
    it.  Similarly, if anon_kwest is set, and a keyword splat is passed
    when calling the method, `setup_parameters_complex` does not
    duplicate it.

commit b8516d6d0174a10579817f4bcf5a94c8ef03dd7a
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-11-29 05:14:45 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-25 11:25:55 +0900

    Add pushtoarray VM instruction

    This instruction is similar to concattoarray, but it takes the
    number of arguments to push to the array, removes that number
    of arguments from the stack, and adds them to the array now at
    the top of the stack.

    This allows `f(*a, 1)` to allocate only a single array on the
    caller side (which can be reused on the callee side in the case of
    `def f(*a)`). Prior to this commit, `f(*a, 1)` would generate
    3 arrays:

    * a dupped by splatarray true
    * 1 wrapped in array by newarray
    * a dupped again by concatarray

    Instructions Before for `a = []; f(*a, 1)`:

    ```
    0000 newarray                               0                         (   1)[Li]
    0002 setlocal_WC_0                          a@0
    0004 putself
    0005 getlocal_WC_0                          a@0
    0007 splatarray                             true
    0009 putobject_INT2FIX_1_
    0010 newarray                               1
    0012 concatarray
    0013 opt_send_without_block                 <calldata!mid:f, argc:1, ARGS_SPLAT|FCALL>
    0015 leave
    ```

    Instructions After for `a = []; f(*a, 1)`:

    ```
    0000 newarray                               0                         (   1)[Li]
    0002 setlocal_WC_0                          a@0
    0004 putself
    0005 getlocal_WC_0                          a@0
    0007 splatarray                             true
    0009 putobject_INT2FIX_1_
    0010 pushtoarray                            1
    0012 opt_send_without_block                 <calldata!mid:f, argc:1, ARGS_SPLAT|ARGS_SPLAT_MUT|FCALL>
    0014 leave
    ```

    With these changes, method calls to Ruby methods should
    implicitly allocate at most one array.

    Ignore typeprof bundled gem failure due to unrecognized instruction.

commit 6e06d0d180001a79abadf48e2fe6baf3886f54c0
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-11-25 13:23:58 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-25 11:25:55 +0900

    Add concattoarray VM instruction

    This instruction is similar to concatarray, but assumes the first
    object is already an array, and appends to it directly.  This is
    different than concatarray, which will create a new array instead
    of appending to an existing array.

    Additionally, for both concatarray and concattoarray, if the second
    argument cannot be converted to an array, then just push it onto
    the array, instead of creating a new array to wrap it, and then
    using concat array.  This saves an array allocation in that case.

    This allows `f(*a, *a, *1)` to allocate only a single array on the
    caller side (which can be reused on the callee side in the case of
    `def f(*a)`). Prior to this commit, `f(*a, *a, *1)` would generate
    4 arrays:

    * a dupped by splatarray true
    * a dupped again by first concatarray
    * 1 wrapped in array by third splatarray
    * result of [*a, *a] dupped by second concatarray

    Instructions Before for `a = []; f(*a, *a, *1)`:

    ```
    0000 newarray                               0                         (   1)[Li]
    0002 setlocal_WC_0                          a@0
    0004 putself
    0005 getlocal_WC_0                          a@0
    0007 splatarray                             true
    0009 getlocal_WC_0                          a@0
    0011 splatarray                             false
    0013 concatarray
    0014 putobject_INT2FIX_1_
    0015 splatarray                             false
    0017 concatarray
    0018 opt_send_without_block                 <calldata!mid:g, argc:1, ARGS_SPLAT|ARGS_SPLAT_MUT|FCALL>
    0020 leave
    ```

    Instructions After for `a = []; f(*a, *a, *1)`:

    ```
    0000 newarray                               0                         (   1)[Li]
    0002 setlocal_WC_0                          a@0
    0004 putself
    0005 getlocal_WC_0                          a@0
    0007 splatarray                             true
    0009 getlocal_WC_0                          a@0
    0011 concattoarray
    0012 putobject_INT2FIX_1_
    0013 concattoarray
    0014 opt_send_without_block                 <calldata!mid:f, argc:1, ARGS_SPLAT|ARGS_SPLAT_MUT|FCALL>
    0016 leave
    ```

commit 22e488464a412afa58f201c49e54773aa8011320
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-11-24 03:47:24 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-25 11:25:55 +0900

    Add VM_CALL_ARGS_SPLAT_MUT callinfo flag

    This flag is set when the caller has already created a new array to
    handle a splat, such as for `f(*a, b)` and `f(*a, *b)`.  Previously,
    if `f` was defined as `def f(*a)`, these calls would create an extra
    array on the callee side, instead of using the new array created
    by the caller.

    This modifies `setup_args_core` to set the flag whenver it would add
    a `splatarray true` instruction.  However, when `splatarray true` is
    changed to `splatarray false` in the peephole optimizer, to avoid
    unnecessary allocations on the caller side, the flag must be removed.
    Add `optimize_args_splat_no_copy` and have the peephole optimizer call
    that.  This significantly simplifies the related peephole optimizer
    code.

    On the callee side, in `setup_parameters_complex`, set
    `args->rest_dupped` to true if the flag is set.

    This takes a similar approach for optimizing regular splats that was
    previiously used for keyword splats in
    d2c41b1bff1f3102544bb0d03d4e82356d034d33 (via VM_CALL_KW_SPLAT_MUT).

commit ef276858d9295208add48e27208c69184dc50472
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-01-22 14:22:14 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-25 11:10:35 +0900

    Trigger postponed jobs on running_ec if that is available

    Currently, any postponed job triggered from a non-ruby thread gets sent
    to the main thread, but if the main thread is sleeping it won't be
    checking ints. Instead, we should try and interrupt running_ec if that's
    possible, and only fall back to the main thread if it's not.

    [Bug #20197]

commit 2e18228dff4332ec08a0a53ff658ad0bf7133cc0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-25 09:59:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-25 10:51:18 +0900

    Use echo with all platforms

commit 52085b66d6352c013c483fa9aac5d0b5c3e121e6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 16:07:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-25 10:51:18 +0900

    Use echo command in mswin platform

commit 34c688b163aa44ff319575c3b3d7d6a5c0dc5260
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-25 09:03:05 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-25 09:03:05 +0900

    Omit TestCompilePrism on s390x for now (#9694)

commit 2cc7a56ec7830fd5efaf2bc449637fd831743714
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-25 08:06:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-25 08:06:58 +0900

    YJIT: Avoid leaks by skipping objects with a singleton class

    For receiver with a singleton class, there are multiple vectors YJIT can
    end up retaining the object. There is a path in jit_guard_known_klass()
    that bakes the receiver into the code, and the object could also be kept
    alive indirectly through a path starting at the CME object baked into
    the code.

    To avoid these leaks, avoid compiling calls on objects with a singleton
    class.

    See: https://github.com/Shopify/ruby/issues/552

    [Bug #20209]

commit f769d68a69f0a8c84e46e43179bda6332923fb11
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-25 07:01:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-25 07:32:43 +0900

    [PRISM] Fix getblockparamproxy for forwarding arguments

commit a65b52b57f0b577a0486d5c05a1b5e6c53e6dc77
  Author:     Max Prokopiev <maxprokopiev@github.com>
  AuthorDate: 2024-01-25 05:10:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 05:32:02 +0900

    [ruby/prism] Add missing snapshot for the new file

    https://github.com/ruby/prism/commit/459a9f544e

commit e9f936df71b68515210b6040766987d1b94ec4df
  Author:     Max Prokopiev <maxprokopiev@github.com>
  AuthorDate: 2024-01-25 05:08:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 05:32:02 +0900

    [ruby/prism] Extract snippet into its own file and skip in TruffleRuby

    https://github.com/ruby/prism/commit/12649ee74c

commit 91a5093c15f5fe5e51f0f5ba3183ea44688b49ea
  Author:     Max Prokopiev <maxprokopiev@github.com>
  AuthorDate: 2024-01-25 04:36:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 05:32:01 +0900

    [ruby/prism] Force encoding during deserialization of constants

    otherwise we get failing tests if we have non-ascii
    characters in fixtures/**/*.txt

    https://github.com/ruby/prism/commit/9323243569

commit 6a63aaade9cf08e51920698372e8973f1580d8d7
  Author:     Max Prokopiev <maxprokopiev@github.com>
  AuthorDate: 2024-01-25 04:34:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 05:32:01 +0900

    [ruby/prism] Use char_is_identifier_start() to check for valid method name

    alnum_char() only checks for alphanumeric characters while
    ignoring other valid cases (like emoji codepoints for example)

    https://github.com/ruby/prism/commit/d15958fd28

commit 7d61454f2e4dafa19d879b48508bcedba6f28e43
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-25 04:41:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-25 05:18:06 +0900

    [PRISM] Fix method calls in keyword arguments

    Fixes ruby/prism#2248.

commit 94f3f9502c4b0a87392f85672cbc01c7167207d5
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 06:55:46 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 05:04:44 +0900

    Fix repeated block param

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit 1817af507466ace78f4bc02d77e1f16c70e3a087
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 06:50:27 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 05:04:44 +0900

    Fix local table size / index for repeated kwrest

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit 13c76e40d3cbd79ccd8d340fa8b85f5778484f20
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 06:41:34 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 05:04:44 +0900

    Fix local table size and variable offset for repeated keywords

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit 8b7e78f156fb566b47ea3ff7701e18486b0e2dac
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 06:33:31 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 05:04:44 +0900

    Fix local table size and index for required post underscore

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit bb6af9287b2002c736e1f50a74a57922f61e8a53
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 06:20:49 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 05:04:44 +0900

    Fix local table space for `*_`

    We need to make sure there is enough room in the local table for
    repeated `*_` parameters

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit 03f76f098ada081c8ce1db25ddc9b9fc21608877
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 06:13:56 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 05:04:44 +0900

    Fix repeated optional _ parameters

    Ensure there is enough space in the local table for repeated optional
    parameters.

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit 29c3ec3d49ad66c4ec9ea13735481cca598bcbcd
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 05:55:00 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 05:04:44 +0900

    Fix required positional repeated _ parameters

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit 44c337a397b1159c7bc843a501d6a0a51e65430f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-25 04:24:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-25 05:02:32 +0900

    [PRISM] Support __LINE__, __FILE__, and __ENCODING__ in patterns, fix pinned expressions

commit c888b8d63b714d5ccf107272b10d723c75fbe7dd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-25 03:43:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-25 04:18:33 +0900

    [PRISM] Handle implicit lvar write in hash pattern

commit 020fe6e0ca3b7f3b0b35466e7086e809f2ccbcd0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-25 03:43:26 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-25 04:18:25 +0900

    [PRISM] Fix forwarding from within block

    Fixes ruby/prism#2253.

commit dc8fb7d97ff0113c738bded825a37b3196eeaaae
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-25 01:45:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-25 03:42:21 +0900

    [PRISM] Fix crash in anonymous block with forwarding arguments

    Fixes ruby/prism#2262.

commit 455fb320384a597bc195adcee6bc1071fc64a245
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-25 02:11:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 03:37:36 +0900

    [ruby/prism] Add an implicit node for the target of a hash pattern

    This simplifies compiling it, since you can now compile the value
    as if it were always there.

    https://github.com/ruby/prism/commit/bcfc74aacb

commit 303fef875240b19fc582ab80897f5e15df784eca
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-25 03:26:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-25 03:26:57 +0900

    YJIT: Update yjit.md about mem size (#9687)

commit 1702528258c2b2a87dcf5673a80d999de35d0b71
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-01-25 03:14:36 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-25 03:14:36 +0900

    YJIT: reduce default exec mem size to 48MiB (#9685)

    YJIT: reduce default exec mem size to 48MiB based

    Based on user feedback from @jhawthorn and others.
    Better for small and memory-constrained deployments.

    NOTE: This commit should be included in the next Ruby 3.3.x point
    release. @xrxr should we tag someone specific?

commit 6b9317c9d566329cc87969c722ed221283ddc8f7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-25 02:19:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-25 03:11:41 +0900

    [PRISM] Don't skip test_ForwardingArgumentsNode

    It seems to work with RUBY_ISEQ_DUMP_DEBUG=to_binary so we can try this
    test again on CI.

commit 23d46829264e21ec542c099d61922efa58cac916
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-01-25 03:09:08 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-25 03:09:08 +0900

    YJIT: fix small bug causing jit_rb_int_rshift to side-exit (#9684)

    YJIT: fix bug causing jit_rb_int_rshift to side-exit

    The nqueens benchmark was showing zero performance improvement
    because we immediately side-exited as soon as the shift amount
    changed. If the amount changes, we want to fall back to the
    C function call, not side-exit.

commit 578ff32611a88920f60b162d1fe2e0d48ed20450
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 09:48:28 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 02:40:30 +0900

    Move filling in the rest of the locals to the end

commit 7a33a1aee2739598fc5b17cfd6f31e20769fee28
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 05:11:21 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 02:40:30 +0900

    Insert all locals in the locals index table

    Prism provides an index (local_body_index) which is supposed to point at
    the start of locals declared in the method body. Prism assumed that
    method body locals would only occur _after_ parameter names.
    Unfortunately this assumption is not correct, which meant that we would
    in some cases not insert all locals in the local table.  This commit
    iterates over locals a second time, inserting any that didn't get
    inserted on the first pass.

    Fixes: https://github.com/ruby/prism/issues/2245

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit 927928badb1a53aae6b29e65627720d7cb6cfdd7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-25 00:22:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-25 01:41:08 +0900

    [PRISM] Fix anonymous keyword arguments

    Fixes ruby/prism#2256.

commit 4220bdba395cff7d4e933b319a186e889ed9b921
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-25 00:39:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-25 01:18:58 +0900

    [PRISM] Remove dead code from prism_compile.c

    Previously, we were using the main pm_compile_node switch to compile
    target nodes. Eventually we switched to pm_compile_target_node and
    updated all the call sites. As such, all of this has become dead
    code.

    However, the multi target code was reused for both parameters and
    multi writes (it was just incorrect for multi writes). So that code
    has now been moved into its own function that is more specific to
    destructured parameters (and has more assertions to that effect).

    Overall now you should not see target nodes when you call into
    pm_compile_node, since they are more specialized and require more
    special handling.

commit 767f5d045f76ff07336c1f55608247a2d1a5b45c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-24 05:33:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-25 00:37:08 +0900

    [PRISM] Use lvar depths for starting

commit 529700d3145cc77271a70bc75ab91528b7a7b084
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-24 01:32:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-25 00:08:25 +0900

    [PRISM] Nested MultiWriteNode with method calls

    Fixes ruby/prism#2247.

commit d86c4e553ee8ff899a103a49db0b66c73c01135f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-24 20:51:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-24 20:51:50 +0900

    Define `IO_WITHOUT_GVL` macro

commit 0f417d640de16339c85ba8f4bd60e6ac2ce506eb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-24 19:33:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-24 19:33:25 +0900

    Initialize errno variables and fix maybe-uninitialized warnings

commit 4099b04c099899d92dab3f34f1152038ed718d79
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 17:33:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 18:12:43 +0900

    Pend make option test on mswin platform

commit fb39128dce7babcb1b8c6d92bfa9e85eb7f7118e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 10:51:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-24 18:11:55 +0900

    [rubygems/rubygems] Added test for rubygems

    https://github.com/rubygems/rubygems/commit/64405147c9

commit 6191f4a1697f2ac4288181f32257f95273ecfbb7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-23 22:31:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-24 18:11:54 +0900

    [rubygems/rubygems] Simplified test-case for original issue

    https://github.com/rubygems/rubygems/commit/89086c5458

commit 723deec9cf84342332896e48f50b4bf519492652
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-23 20:19:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-24 18:11:53 +0900

    [rubygems/rubygems] Keep compatibility of past versions

    https://github.com/rubygems/rubygems/commit/54b67fb251

commit 1018dca09a55e7b21d701cfee0171b44ba26fe4a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-23 19:14:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-24 18:11:53 +0900

    [rubygems/rubygems] Skip to load commented out words

    https://github.com/rubygems/rubygems/commit/e6a9148ba2

commit 53d0cf442a1dfc1616a3870a65d5c867e0fec2dd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 17:05:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 18:00:12 +0900

    Use exit 0 instead of true on windows platform

commit c8355a8d1ff99ecd4f6ddd9db9013c365f002cf4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 15:55:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 15:55:30 +0900

    syslog is already extracted as bundled gems

commit 270ad763594023b87a09027e52deee561ecd3b62
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 14:10:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 14:10:05 +0900

    Revert "Ensure File.open applies default umask on gem extract"

    This reverts commit 01f9766aa05182a7bbdc914a5dcd8a36ebade861.

commit 2f06e4f73998141292ee2a08146af3e63a717dae
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 14:09:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 14:09:58 +0900

    Revert "Pend tests on Travis CI"

    This reverts commit 772afa00b5109f55c1d8359c688aca4063818549.

commit 6bd997ecfded267d968915076606f3ae0888957a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-17 20:43:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 13:56:07 +0900

    [rubygems/rubygems] Remove no longer necessary code

    https://github.com/rubygems/rubygems/commit/b7d2de2ba8

commit 1e519abe21466c3846be7da37c3c8e461fc4efb0
  Author:     なつき <i@ntk.me>
  AuthorDate: 2024-01-18 07:57:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 13:55:42 +0900

    [rubygems/rubygems] Fix rake extension warning

    https://github.com/rubygems/rubygems/commit/04973e349c

commit 772afa00b5109f55c1d8359c688aca4063818549
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 13:01:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 13:50:16 +0900

    Pend tests on Travis CI

commit 01f9766aa05182a7bbdc914a5dcd8a36ebade861
  Author:     Martin Emde <martin.emde@gmail.com>
  AuthorDate: 2023-12-18 06:22:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 13:50:16 +0900

    Ensure File.open applies default umask on gem extract

commit 2defa9f4ae52c99e64a02b7f78362fbd788a1fd0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-22 19:37:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-24 12:44:40 +0900

    [DOC] Elaborate exceptional behaviors on Windows

commit 769bb924b2e4ece7c1884f4adeb29a49d03bd45a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-21 20:02:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-24 12:44:40 +0900

    [DOC] Tips for space containing `exe_path`

commit 623058649e18e7a65b8ba3498b6524fad482b3e0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-21 20:01:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-24 12:44:40 +0900

    [DOC] Add Argument `args` subsection

commit be6e06ef740e0d5198a4c3b59b13b944809f5ab6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-21 19:29:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-24 12:44:40 +0900

    [DOC] Separate standard shells per platforms

commit 828f3ecfcdbc740bc9eedbfc946576ad9aeaa43f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-21 19:14:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-24 12:44:39 +0900

    [DOC] Move `exe_path` example to `Process` module document

    Exchanged with `Kernel.spawn`, like as `Kernel.exec` and
    `Kernel.system`.  This description should be common for these methods.

commit df5f2fab938cd020dfdeeb8db46cfaefe57aa6bc
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-01-24 12:43:52 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-24 12:43:52 +0900

    [DOC] Correction for Process.spawn doc

commit a170f1859b47c59bb0d80531086bbc6f5e812f8a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 10:44:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 10:44:18 +0900

    No longer needed to sync syslog

commit d914f82a3c042f411241a287f9c931b4b2eed7bd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 09:53:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 09:53:41 +0900

    Use test fixed version of debug gem https://github.com/ruby/debug/pull/1067

commit 974b141ffe69a56bc9d8d4c75ea6e5852df19f36
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-24 08:45:07 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-24 09:47:26 +0900

    YJIT: Reuse get_array_{ptr,len}

commit ac1e9e443a0d6a4d4c0801c26d1d8bd33d9eb431
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-24 02:35:34 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-24 09:22:57 +0900

    YJIT: Fix ruby2_keywords splat+rest and drop bogus checks

    YJIT didn't guard for ruby2_keywords hash in case of splat calls that
    land in methods with a rest parameter, creating incorrect results.

    The compile-time checks didn't correspond to any actual effects of
    ruby2_keywords, so it was masking this bug and YJIT was needlessly
    refusing to compile some code. About 16% of fallback reasons in
    `lobsters` was due to the ISeq check.

    We already handle the tagging part with
    exit_if_supplying_kw_and_has_no_kw() and should now have a dynamic guard
    for all splat cases.

    Note for backporting: You also need 7f51959ff1.

    [Bug #20195]

commit c0cabc0a699b2c8b0fded6d0ed85aff4bf102c03
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-24 07:54:39 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-24 07:54:39 +0900

    Dump annotations on RubyVM::ISeq.disasm (#9667)

    Make it easier to check what annotations an ISEQ has. SINGLE_NOARG_LEAF
    is added automatically, so it's hard to be sure about the annotation by
    just reading code. It's also unclear to me what happens to it with
    Primitive.mandatory_only?, but this at least explains that LEAF
    annotation is not added to the non-mandatory_only ISEQ.

commit 909a710a695654d13bf6ae824d0a62e682588583
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-24 06:13:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-24 07:45:51 +0900

    [PRISM] Fix anonymous splat nodes

    Fixes ruby/prism#2257.

commit 996776e936ac274946a359195ef3fa6a0dca7669
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-24 07:37:22 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-24 07:39:37 +0900

    Leave a comment about the limitation of Primitive

    and adjust some code styling from that PR.

commit 7ac74f5c771cef2f94eee9a75a9f96e92da4f5fd
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-24 05:23:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-24 05:23:48 +0900

    Revert "Skip a failing test for Prism"

    This reverts commit 557b69e83b27dafea435719fc3afc2e67e155962.

commit cecf42601aa4170aa2336dbb3ffc7753e86e6115
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-24 04:43:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-24 05:23:13 +0900

    [PRISM] Fix block fowarding

commit 333f4b4930bf397f87bd99767b53fcce4f9a3e43
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-24 02:11:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-24 05:23:13 +0900

    [PRISM] Support block parameters with no name

    Fixes ruby/prism#2249.

commit c84237f9531aed3b204d3fdacc2dd9d2bd4c7d81
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-24 05:09:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-24 05:09:57 +0900

    Rewrite Array#each in Ruby using Primitive (#9533)

commit 27c1dd8634d34bfe3592151d66b410f28ca749ce
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-24 04:36:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-24 04:36:23 +0900

    YJIT: Allow inlining ISEQ calls with a block (#9622)

    * YJIT: Allow inlining ISEQ calls with a block

    * Leave a TODO comment about u16 inline_block

commit 557b69e83b27dafea435719fc3afc2e67e155962
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-24 04:00:00 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-24 04:00:05 +0900

    Skip a failing test for Prism

    This should be reverted once https://github.com/ruby/prism/issues/2249
    is closed.

commit a846d391d38b34fcc4f90adef967c166c923bd56
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-01-23 05:57:22 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-01-24 02:02:42 +0900

    List branch maintainers in maintainers.md

    I'm not aware of this information being available
    anywhere else.

commit 7f51959ff14fbe06bc1afd283d1af17b26161cf4
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-23 07:58:05 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-24 01:04:16 +0900

    YJIT: Move guard up for a case of splat+rest

    Previously, YJIT put the guard for having enough items to extract from
    splat array at a place where the side exit is invalid, so if the guard
    fails, YJIT could raise something other than ArgumentError. Move the
    guard up to a place before any stack manipulation.

    [Bug #20204]

commit b14674b236445fb70f484603e678722760f678f4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-20 00:26:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-24 00:47:04 +0900

    Memory leak with TracePoint on bmethod

    [Bug #20194]

    When disabling the TracePoint on bmethod, the hooks list is not freed.

    For example:

        obj = Object.new
        obj.define_singleton_method(:foo) {}
        bmethod = obj.method(:foo)
        tp = TracePoint.new(:return) {}

        10.times do
          100_000.times do
            tp.enable(target: bmethod) {}
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        18208
        22832
        26528
        29728
        34000
        37776
        40864
        44400
        47680
        51504

    After:

        16688
        17168
        17168
        17248
        17696
        17760
        17824
        17824
        17856
        17920

commit 7cf74a2ff28b1b4c26e367d0d67521f7e1fed239
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-23 15:40:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-23 16:10:58 +0900

    Run test-bundled-gems again with macos-arm-oss runner

commit 5987f0b7c8545824efdbdd501ef4e9d57fc92808
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-23 15:39:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-23 16:10:58 +0900

    Retired macos-11 because this version is EOL, and added macos-13(beta)

commit 8c3eb47fffc6d274ad9c65f507676f8ae906a948
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-23 09:06:32 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 09:35:58 +0900

    All btests are passing with Prism

    We can remove the exclusion list now

commit cfa15bb173723b8bb6110a81241bcdffa18193fb
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-23 09:03:58 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 09:35:58 +0900

    Handle trailing commas on blocks

    We need to set a special flag on block iseqs when there is a trailing
    comma.

    Fixes: https://github.com/ruby/prism/issues/2244

commit f423ced5abdfce0dde3c71a72b12f5865f38ee43
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-23 08:35:05 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 09:02:41 +0900

    update tests

commit 270a46e392dab13e422b2b9f27f2893a3fecd77b
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-23 07:51:12 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 09:02:41 +0900

    Check keyword parameters correctly

    We weren't checking the right offsets when compiling methods with
    keyword parameters that had complex code.

    Fixes: https://github.com/ruby/prism/issues/2228

commit ee7f63ebba542f87e6fa28709e67ace0fefcae90
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-12 22:26:54 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-23 08:58:16 +0900

    Make lastline and nextline to be rb_parser_string

    This commit changes `struct parser_params` lastline and nextline
    from `VALUE` (String object) to `rb_parser_string_t *` so that
    dependency on Ruby Object is reduced.
    `parser_string_buffer_t string_buffer` is added to `struct parser_params`
    to manage `rb_parser_string_t` pointers of each line. All allocated line
    strings are freed in `rb_ruby_parser_free`.

commit 706eea9d3c27b9785fc7f650ff9b5d6669908768
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-23 07:54:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-23 08:45:45 +0900

    Fixup 2e69137dbe9fd7c03dac9b8adc30a7eba3ecb10b

commit d8af85ad145a803776bdc61ce0ae486c3dcb9b2b
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-23 07:31:23 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 08:15:32 +0900

    [Prism] Uncomment tests that now pass

commit d054904cad7f0889f545d47bc637829a510c1d4b
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-23 07:28:51 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 08:15:32 +0900

    [Prism] Don't change file after setting it.

    This causes the Iseq file names to be wrong, which is affecting
    Tracepoint events in certain cases.

    because we're taking a pointer to the string and using it in
    `pm_string_mapped_pointer` we also need to `RB_GC_GUARD` the relevant
    Ruby object to ensure it's not moved or swept before the parser has been
    free'd.

commit 4592fdc545284a0cbf55bd1ada17d0b98a3ae685
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-23 07:24:42 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 08:15:32 +0900

    [Prism] path and script name are not the same

    When loading Ruby from a file, or parsing using
    RubyVM::InstructionSequence.

commit 708fa7740479823e0758623d43afee7b13beba21
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-23 03:52:41 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 08:07:52 +0900

    [PRISM] Fix keyword arguments in IndexOrWriteNode

    Fixes ruby/prism#2236.

commit 1838dbf6e7f9335e5ad23d9856bd014d18446f07
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-23 05:13:33 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 08:07:39 +0900

    [PRISM] Fix splat and block in aset

commit 18471923660a5314e0543f0600a4a2278ed399cf
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-23 05:00:36 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 08:07:39 +0900

    [PRISM] Fix block in aset

    Fixes ruby/prism#2223.

commit 28fc7fa852e6543cdd74c66c1130348085d7f241
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-23 07:34:38 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-23 07:35:16 +0900

    Revert "Bump shlex"

    This reverts commit dcabe87fc8b8523cabea533df18d2b3b616e78da.

    Revert "Bump shlex"

    This reverts commit 47264b78c2e1be441d043a404f8b0d0bf7d8f62b.

    Avoid diversion in gem sync. They should be managed in rubygems/rubygems
    and then sync-ed to ruby/ruby.

commit cffa54acad13fb633739fadd51f5ff79484f9aa8
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-23 07:33:51 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-23 07:34:29 +0900

    Try to exclude rubygems Rust stuff from dependabot

    It should be managed in rubygems/rubygems and sync-ed to ruby/ruby. We
    shouldn't get PRs to rubygems in ruby/ruby.

commit 8065672d9978e4ed7ed6895556e462b50508ec8a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-23 05:22:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-23 05:22:12 +0900

    [PRISM] Force semicolon at the end of PM macros

commit 263094169671b9f87ab7c0a2f79b3aff5cdf995c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-23 05:21:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-23 05:21:09 +0900

    [PRISM] Use PM_SWAP macro

commit 789de5972bef671ff820a52dd97121c8984819a9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-23 05:16:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-23 05:16:14 +0900

    [PRISM] Use PM_POP macro

commit 7db683222528ca4850fed57529679e5aa14b0a88
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-23 04:24:34 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 05:02:03 +0900

    Fix compiling rescue + ensure

    When we're compiling begin / rescue / ensure nodes, we need to "wrap"
    the code in the begin statements correctly.  The wrapping is like this:
    (ensure code (rescue code (begin code)))

    This patch pulls the each leg in to its own function, then calls the
    appropriate wrapping function depending on whether there are ensure /
    rescue legs.

    Fixes: https://github.com/ruby/prism/issues/2221

commit 2918e43deebbc270c75a3af2c46630e5a7c91586
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-23 03:31:18 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-23 03:31:21 +0900

    Skip a flaky Ractor test for YJIT

    `[BUG] pthread_mutex_lock: Invalid argument (EINVAL)` doesn't seem like
    a fault of YJIT?

    https://github.com/ruby/ruby/actions/runs/7614455181/job/20736754975
    https://github.com/ruby/ruby/actions/runs/7615316673/job/20739572487

commit dbd76d9101cfb35b483ad5e173fc153102c9d03e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-23 01:43:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-23 02:56:43 +0900

    [PRISM] Fix keyword splat in IndexAndWriteNode and IndexOrWriteNode

    Fixes ruby/prism#2232 and ruby/prism#2234.

commit ab99ce910ce9a7aeb0b8a3224a1ed1e3e5faf71f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-23 01:36:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-23 02:55:06 +0900

    [PRISM] Insert concatarray for index targets with splat

commit e5f8585a2999bff59e8b79605db7868bf702f84b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-23 01:55:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-23 02:54:32 +0900

    [PRISM] Fix line for leave instructions

commit 4fc0a901ac683eaebc39db1948f8f0db6d8bd19f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-23 02:49:52 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-23 02:49:52 +0900

    Set a cached Ruby path using setup-ruby (#9645)

commit 703eee7745935c54e7b80b22b9b695e99f53fc5e
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-23 01:55:44 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-23 01:55:44 +0900

    YJIT: Drop extra arguments passed by yield (#9596)

    Support dropping extra arguments passed by `yield` in blocks. For
    example `10.times { work }` drops the count argument. This is common
    enough that it's about 3% of fallback reasons in `lobsters`.

    Only support simple cases where the surplus arguments are at the top of
    the stack, that way they just need to be popped, which takes no work.

commit c7e87b21188386b2e9b9f2c8cf3b6c31ffff46c3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-23 01:42:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-23 01:42:32 +0900

    Fix up [Bug #20001]

commit a7af34fa8b6f1f370f8fa6c66086fc5669a9d0a2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-23 00:46:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-23 01:26:21 +0900

    [PRISM] Fix keywords arguments in IndexAndWriteNode

    Fixes ruby/prism#2233.

commit 5906ce42fe04e8d4a4fe4b68b8ac54193598db56
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-23 01:19:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-23 01:23:11 +0900

    [ruby/prism] Static literal flag for string hash keys

    https://github.com/ruby/prism/commit/26a2d774cd

commit 6401f282d25fa89823c9360b43e377c55e9ff7a5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-23 01:21:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-23 01:21:04 +0900

    [PRISM] Fix up source line for 1-indexed line numbers

commit eb5797062a947ebbaeb154b9c1f6fcab7972c033
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-23 01:16:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-23 01:16:33 +0900

    [ruby/prism] Reference prism after require

    https://github.com/ruby/prism/commit/0a8ff431df

commit e00f42e5d345ca742dec6f27b851b753ce45ca85
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-23 00:37:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-23 01:13:36 +0900

    [ruby/prism] Return 1-indexed line numbers

    https://github.com/ruby/prism/commit/ad17f58729

commit d68aaa66726b8fe929709521844e46dc20d61d08
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-23 00:29:09 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-23 01:12:38 +0900

    [PRISM] Freeze regex literals in iseqs

commit 580429d27ce320b1615a03878d1fa8e2df6b80e2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-20 04:33:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-23 00:51:43 +0900

    [PRISM] Fix incorrect ordering of MultiTargetNode

    Fixes ruby/prism#2218.

commit 6bcbb9a02baa8585c2d65e29c0a65d791b077611
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-22 23:39:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-23 00:18:41 +0900

    Make prism respect dump_without_opt

commit 2abf153016088605ea6dc77d9f6ba61f619cc273
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-22 20:26:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-22 23:40:52 +0900

    [PRISM] Add TP call/return events to method ISEQs

commit ee8f92673b52761ce133bd0f4c42d6784ece7ba6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-22 22:23:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-22 23:10:43 +0900

    Enable test_syntax.rb

commit b8495048fb60d422072809b0b99762b46cafd3ea
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-19 04:51:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-22 22:19:57 +0900

    [ruby/prism] Unescape method name for unary methods.

    https://github.com/ruby/prism/commit/4386a4c0da

commit b4b35b1468f2a28caf9c778944be6bc555a11fbb
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-01-19 22:06:44 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-01-22 21:45:24 +0900

    Add an autoload spec for the behavior inside autoload but after the constant is defined

commit d940e3b2c3c413b697c415718d4ef0991e75383f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-17 16:46:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-22 19:39:34 +0900

    `cexpr!` must be up to one per line now

commit 127b19ab561b5365884b465d50356a1e4019713c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-17 16:45:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-22 19:39:34 +0900

    Use line numbers as builtin-index

    The order of iseq may differ from the order of tokens, typically
    `while`/`until` conditions are put after the body.

    These orders can match by using line numbers as builtin-indexes, but
    at the same time, it introduces the restriction that multiple `cexpr!`
    and `cstmt!` cannot appear in the same line.

    Another possible idea is to use `RubyVM::AbstractSyntaxTree` and
    `node_id` instead of ripper, with making BASERUBY 3.1 or later.

commit 754e4e0c9cab9d5a71c33831f7cad531e7d35caa
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 17:55:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 18:23:05 +0900

    Stop sync csv repo

commit 2e69137dbe9fd7c03dac9b8adc30a7eba3ecb10b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 17:55:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 18:23:05 +0900

    Use version dependant library for completion test

commit 92141d6269f845a3125f6c833398722904603cd4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 17:24:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 18:23:05 +0900

    Document about csv at Ruby 3.4

commit f2dce4e6e07abf632357ac105f4ed201e4ee9781
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 17:23:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 18:23:05 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/csv/**/*.rb

commit e195710d10225458008b79dbb734b1cddcd6230d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 17:23:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 18:23:05 +0900

    Extract csv

commit 3d19409637de1462b6790d2a92344bf0a10d8c52
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-18 23:41:04 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-22 16:05:43 +0900

    Use index for referring to symbols in `args` rule instead of named references

    In `args: args ',' arg_splat`, `args` is not unique name.
    Currently the associated rule is interpreted as
    `$$ = rest_arg_append(p, $$, $3, &@$);`.
    The action works as expected because `$$` is initialized with
    `$1` before each action is executed.
    However it's misleading then change to use index.

commit 8bcc764f71c8bb93871dc6a7526319ca78242518
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 15:26:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 15:59:40 +0900

    Document about syslog at Ruby 3.4

commit b5b98546cfb07988051877f08f84233665ab5fcd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 15:25:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 15:59:40 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/syslog/**/*.rb

commit 029b6d5b76e49d2b5fc1494856e5410d57e5352a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 15:24:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 15:59:40 +0900

    Extract syslog

commit 38a1b88d1eb7cc1c0ff2baa36e85509ae8846b1e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 13:37:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 14:17:52 +0900

    Skip nkf from check_existence

commit 52a0ebe292689e9c7e66bc548b7cd2c6f7e5b8c8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 12:34:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 14:17:52 +0900

    Document about nkf at Ruby 3.4

commit f869f2ecf1d1631880d0f885220c48592429a695
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 12:34:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 14:17:52 +0900

    Stop sync nkf repo

commit df70faa9c92beec4d78bbd5d0a8e0f24e16fdb7c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 12:33:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 14:17:52 +0900

    Extract nkf

commit 34315510d34543cf14fe0ac9e8adb1d86b5beebf
  Author:     Eddie Lebow <public@elebow.echo209.net>
  AuthorDate: 2024-01-22 13:35:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-22 13:42:37 +0900

    [ruby/irb] Fix documentation typo, `niL` -> `nil`

    https://github.com/ruby/irb/commit/79086a9dda

commit 3b3f03666ae74ed79b5387261c63052c3de0022e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 12:32:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 12:35:04 +0900

    Refine entry title

commit c44d15c639cfd227bd46037805d7393d0fbe8023
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 12:31:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 12:35:04 +0900

    Stop sync drb repo

commit 6c0e58a54e3fda604386d9c409e2a9998bbc9352
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-01-22 10:06:03 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-22 12:34:31 +0900

    Make sure the correct error is raised for EAI_SYSTEM resolver fail

    In case of EAI_SYSTEM, getaddrinfo is supposed to set more detail in
    errno; however, because we call getaddrinfo on a thread now, and errno
    is threadlocal, that information is being lost. Instead, we just raise
    whatever errno happens to be on the calling thread (which can be
    something very confusing, like `ECHILD`).

    Fix it by explicitly propagating errno back to the calling thread
    through the getaddrinfo_arg structure.

    [Bug #20198]

commit 5b109ff14d274d0599839c61c77b32628c2d1971
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 11:13:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-22 12:30:12 +0900

    [ruby/nkf] Bump up version to 0.2.0

    https://github.com/ruby/nkf/commit/65506fecfd

commit 4a11f50f79e7fd592a300f46302e11f56e04a983
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-22 12:06:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-22 12:06:00 +0900

    [DOC] Update command_injection.rdoc

    - Add missing `Kernel.exec` and `Kernel.spawn`.
    - Elaborate arguments that can cause injections.

commit 33290896dcf23e8f84f9626d87c6f1c4d7cfa04e
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-01-22 07:13:35 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-22 11:44:52 +0900

    Disable NSS modules when using the leakchecker

    The leakchecker will report leaked file descriptors when tests do things
    like access `Etc.getgrgid`, for example, if NSS modules (like `sss`)
    handle these lookups by connecting to a daemon like `sssd` and leave the
    connection open.

    To address this, we can call glibc's `__nss_configure_lookup` to
    override NSS modules configured in /etc/nsswitch.conf and only use
    ordinary file/DNS lookups.

    (This is a cherry-pick of a patch applied to ruby/mspec here:
    https://github.com/ruby/mspec/pull/62)

commit 52fc93cab71e56699fb2b216faca1216f8bfc862
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 10:36:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 11:08:59 +0900

    added redirect wrapper for envutil

commit 220f7c9d8e5905bcb9dfceb9fa71628f1e9127f4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 10:11:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 11:08:59 +0900

    Re-use drb from bundled gems

commit 854b1f6072298ea96139e282d70e1276a959761e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 10:11:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 11:08:59 +0900

    Document about drb at Ruby 3.4

commit 87f16fbc6d21b5b20e38789dfd010e2b94f22efc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 10:10:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 11:08:59 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/drb/start_service_spec.rb

commit 36fc5ee64f8c42836bfad57c8d6df833ce29d7d7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 10:10:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 11:08:59 +0900

    Extract drb

commit 67b00f721dd4a8e2a137fcc4d69071ba2f5cbd8c
  Author:     Stan Hu <stanhu@gmail.com>
  AuthorDate: 2024-01-20 07:48:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 09:57:10 +0900

    Make tests play with upstream Ruby tests

    CI broke in https://github.com/ruby/ruby/pull/9604 because if any Ruby
    tests run `require 'net/http'`, they will pollute the
    `$LOADED_FEATURES` for the RubyGems tests. We can fix this by renaming
    the test default gem from `net-http` to `my-http`.

    See https://github.com/rubygems/rubygems/pull/7379#issuecomment-1901241299
    for more details.

commit 00dc1cace803fa557c685e7cb395bfaa77bc03a9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 13:32:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 09:57:10 +0900

    Reapply "[rubygems/rubygems] Fix activation conflicts when circularly requiring a gem"

    This reverts commit 04cf66765a8a9d48baea6d9aee266dc9aa21df27.

commit d51f4c9288a2195fbf6889fca8790587f71a1cd9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 13:32:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 09:57:10 +0900

    Reapply "[rubygems/rubygems] Fix `require` of a default gem when unresolved gems depend on it"

    This reverts commit 54552b89e73fc616ba47c1c87d33625af99cbce9.

commit 94af1e5b811f13f9c1b9be6ab6a9eea192a713f8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 20:09:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-22 09:19:51 +0900

    [ruby/uri] Removed commented-out code

    https://github.com/ruby/uri/commit/feb8e0dd73

commit 34c5e78760d36277b8997be8c09a79b5cdd65407
  Author:     Charles Oliver Nutter <headius@headius.com>
  AuthorDate: 2024-01-19 15:13:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-22 09:12:49 +0900

    [ruby/nkf] Drop GPL and add licenses to gemspec

    https://github.com/ruby/nkf/commit/19df7138f7

commit c6b548accbd211b69b0611b584e7673147aaea41
  Author:     Charles Oliver Nutter <headius@headius.com>
  AuthorDate: 2024-01-19 10:45:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-22 09:12:45 +0900

    [ruby/nkf] Add JRuby extension to the gem

    This pulls in the nkf extension implementation from JRuby. The
    build and load logic has been updated along the same lines as
    ruby/digest and the gem appears to build correctly for the -java
    platform.

    Fixes https://github.com/ruby/nkf/pull/13

    https://github.com/ruby/nkf/commit/18f57f36ed

commit e2e15ddd676f4ec69589599bad0961c435c5aba5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-21 18:41:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-21 18:41:41 +0900

    [DOC] `echo` command may not be a shell built-in

commit 366b14c0cd850d07f11b7c2f13d0456ece1c1036
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-01-20 02:03:20 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-21 00:27:19 +0900

    More tests

commit 99d6e2f1eeeea66b22b9bd68a4aaa2fdb881036b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-13 05:23:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-20 10:12:07 +0900

    [PRISM] Revisit target nodes

commit ac4046d34b4e0850e9ff7573b795284fea6c2741
  Author:     Adam Hess <HParker@github.com>
  AuthorDate: 2024-01-20 05:41:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 07:57:46 +0900

    [ruby/prism] switch unless to if

    https://github.com/ruby/prism/commit/29bdbf4212

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit cfabe9c51cfa11f4020de119aa2bc707db15cf89
  Author:     Adam Hess <adamhess1991@gmail.com>
  AuthorDate: 2024-01-19 08:18:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 07:57:45 +0900

    [ruby/prism] Handle stovetop start in constant path fullname

    https://github.com/ruby/prism/commit/3a216e63fe

commit ed50161bd6dd27da21bd18c37b1a52d47c82a997
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-20 04:55:52 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-20 06:04:01 +0900

    [PRISM] Fix ensure code running twice

    Fixes: ruby/prism#2212

commit 4778b0eedaf4b490fe6b1fe2df9b58c1fe8e7639
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-20 05:00:35 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-20 05:32:20 +0900

    Fix kwarg ordering

    Required keyword arguments need to come first.

    Fixes: https://github.com/ruby/prism/issues/2158

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit e0f7cee8c54691127277d32b4560e44b8394cdc7
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-20 04:51:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-20 04:51:35 +0900

    YJIT: Avoid doubly splitting Opnd::Value on CSel (#9617)

    YJIT: Avoid doubly splitting Opnd::Value

commit 740f0b52e051d6fd022bf4b9eeab078c841b49a2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-20 01:26:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-20 04:09:32 +0900

    [PRISM] Fix typo with pm_scope_node_destroy

    We need to run the pm_scope_node_destroy after compiling the iseq.

commit efe4b8ac0f5de49dcb20806f5a6c2d90273e8d52
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-19 08:11:17 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-20 02:35:36 +0900

    Fix ensure code when running break in a while loop

    We need to run ensure code when breaking from a while loop

    Co-authored-by: John Hawthorn <jhawthorn@github.com>
    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit 200d3cc14d4c98bfee3826bda9c0e09a1113d939
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-19 05:35:52 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-20 02:35:36 +0900

    add assert on SP

commit 400341aee9aad650b1e75bc840362d1dc8dd108d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-20 01:22:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-20 01:22:40 +0900

    [PRISM] Sync to latest

commit da521fc92c19465547f5760870df65731d1a12ca
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-20 01:12:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 01:12:25 +0900

    [ruby/prism] Parsing rules document

    https://github.com/ruby/prism/commit/57a9575543

commit 3c9290173a1421b0624a6d62c0844c778dbc61ad
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-20 01:00:46 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-20 01:00:46 +0900

    YJIT: Optimize defined?(yield) (#9599)

    * YJIT: Optimize defined?(yield)

    * Remove an irrelevant comment

    * s/get/gen/

commit a58e091686d9117673487b5b2ab6a793ecc81702
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-18 05:20:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:29 +0900

    [ruby/prism] Extract identifier lexing documentation to separate file

    https://github.com/ruby/prism/commit/c9df17e3c0

commit 9c06297cbb3aeef0e2fdcff689885e4ae1677002
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 06:24:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:28 +0900

    [ruby/prism] Remove non-ASCII examples from ReadNode fields documentation

    This is due to a constraint, enforced in `templates/template.rb`,
    relating to non-UTF-8 locales prohibiting non-ASCII characters in C
    source files.

    https://github.com/ruby/prism/commit/74e9a890be

commit 57c138c5f4a57890f55a54c7c3f5bb55ee49c909
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 06:07:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:28 +0900

    [ruby/prism] Document ConstantReadNode fields

    https://github.com/ruby/prism/commit/a1623f6451

commit b7d37e274a58cc3afa06d421627d11e226329cec
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 05:51:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:27 +0900

    [ruby/prism] Document LocalVariableReadNode fields

    https://github.com/ruby/prism/commit/5e9afd3729

commit 1c5e54069f0390c6cb0171d14a822dbc1f362f46
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 05:34:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:27 +0900

    [ruby/prism] Document NumberedReferenceReadNode fields

    https://github.com/ruby/prism/commit/c3148b4519

commit 3fa6dbf304b0c3f456bb14faa63820f5044ffc05
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 05:25:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:26 +0900

    [ruby/prism] Document BackReferencedReadNode fields

    https://github.com/ruby/prism/commit/99a5660623

commit 512be6cee1471c627c4677c44d750884b77e174f
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 05:20:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:26 +0900

    [ruby/prism] Document GlobalVariableReadNode fields

    https://github.com/ruby/prism/commit/5d092e6389

commit 9031fd08dc7cd8c305b2e4b19948ddaf2b973ee0
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 05:03:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:26 +0900

    [ruby/prism] Document ClassVariableReadNode fields

    https://github.com/ruby/prism/commit/23ed81dd15

commit 88810f710968ff3148a444633500a4485f4080e8
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 04:55:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:25 +0900

    [ruby/prism] Document InstanceVariableReadNode fields

    https://github.com/ruby/prism/commit/c0747103b0

commit d0b774cfb8ddf075c23d1b5ab1fc6f47123ccf65
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-18 05:55:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-20 00:25:02 +0900

    Remove null checks for xfree

    xfree can handle null values, so we don't need to check it.

commit d29cd972f704b42a25a8de2e5f5380f8aee3144a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-19 22:38:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-19 23:49:09 +0900

    [ruby/prism] Use inttypes for more accurate printf formatting

    https://github.com/ruby/prism/commit/2a22b9b72f

commit c46d23cde7c6bfc2af762525a767cdf1a099438f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 19:34:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 20:02:19 +0900

    Added dependencies rinda and drb

commit fa5094e1835173bf27ca13cf2619522f6d3beb04
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 18:12:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 20:02:19 +0900

    Stop sync rinda repo

commit ce73fbd717a254ad5daab5c5c3b0f9c1f31ff886
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 18:12:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 20:02:19 +0900

    Document about rinda at Ruby 3.4

commit 411cda2d5ce6df1c24d31cd08926adf3acc0f47c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 18:11:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 20:02:19 +0900

    Extract rinda

commit 0f315216bb5056878e4bcffc391b2ee0de68ac17
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-01-19 17:57:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-19 17:57:54 +0900

    Update bundled gems list as of 2024-01-19

commit 31a5d4a0cdf6e76708ea93854eef8b7b919e9119
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 16:53:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 17:44:58 +0900

    Skip test task for resolv-replace

commit 36095ed3db9a449fba6a0a1cfbed9cd7d92a59b8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 16:33:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 17:44:58 +0900

    Removed sync task for resolv-replace

commit 6c098d145a9f468d4a7971234bda9673f9368aaf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 16:32:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 17:44:58 +0900

    Document about resolv-replace at Ruby 3.4

commit 99c2c703da8f31bf1cb6f0641c18be35ded7ba0f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 16:32:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 17:44:58 +0900

    Extract resolv-replace

commit 11ec59c92bab5346fc0fdce9d8ed2ac6cf95e4fd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 15:57:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 16:27:45 +0900

    Removed sync task for abbrev

commit e28bdff94140bd9884e27ff1c42c31e121e65827
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 15:43:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 16:27:45 +0900

    Document about abbrev at Ruby 3.4

commit f4670b46c458cdc57eeee2fead2ffe811ea65096
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 15:42:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 16:27:45 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/abbrev/**/*.rb

commit b4ee5266f196afc66686e88a4033262fa0f4933d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 15:41:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 16:27:45 +0900

    Extract abbrev as bundled gems

commit d3898e975254aaa7b17b5a48202d3d77f5f2d152
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 15:56:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 15:56:55 +0900

    Removed sync task for observer

commit e8cb9e1328889bead2440ab36be9ee36ebe65b49
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-01-19 15:35:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-19 15:35:57 +0900

    Update bundled gems list as of 2024-01-18

commit fb5722c09a17d8fa2b5e354f7f2a64c5971459fa
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 14:02:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 15:24:09 +0900

    Document about observer at Ruby 3.4

commit 8b551b0e7ac0ac46394e55674b467b35a20c3d48
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 13:58:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 15:24:09 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/observer/**/*.rb

commit 176a4428838cb9a416c236b72b9b56f69afa7e12
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 13:57:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 15:24:09 +0900

    Extract observer as bundled gems

commit 68b403c45a8e2b81d204448309deaa4717c586ed
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 14:01:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 14:01:30 +0900

    Fixed inconsistent library name

commit 385a1b15efb4736a2462eff10057cd14f213ffe2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 14:00:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 14:00:08 +0900

    Fixed upstream URL at bundled gems

commit 54552b89e73fc616ba47c1c87d33625af99cbce9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 12:12:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 12:12:33 +0900

    Revert "[rubygems/rubygems] Fix `require` of a default gem when unresolved gems depend on it"

    This reverts commit f1f5f22d22a149f20e019728b1ab35593d29d81a.

commit 04cf66765a8a9d48baea6d9aee266dc9aa21df27
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 11:53:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 11:54:17 +0900

    Revert "[rubygems/rubygems] Fix activation conflicts when circularly requiring a gem"

    This reverts commit db44088c2a92040879386aa5f268db4c858e4e5b.

      https://github.com/ruby/ruby/actions/runs/7578672002/job/20641640821
      https://github.com/ruby/ruby/actions/runs/7578672002/job/20641641212
      https://github.com/ruby/ruby/actions/runs/7578672002/job/20641642031

commit a8fa28ab8089011695618d9cdac87c2d6a188482
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-16 00:03:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 11:29:55 +0900

    Bump uri version used in development

commit db44088c2a92040879386aa5f268db4c858e4e5b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-12 22:53:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 11:28:11 +0900

    [rubygems/rubygems] Fix activation conflicts when circularly requiring a gem

    If a gem is required circular, and there are unresolved specs depending
    on it, we may end up in an activation conflict.

    The solution is to not try to activate unresolved gems when requiring a
    default gem, regardless of it having already been activated or not.

    https://github.com/rubygems/rubygems/commit/3b2b8f4e3e

commit f1f5f22d22a149f20e019728b1ab35593d29d81a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-12 05:53:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 11:28:11 +0900

    [rubygems/rubygems] Fix `require` of a default gem when unresolved gems depend on it

    The following conditions must be met:

    * A default gem is required.
    * A previous require left some gems unresolved, and those dependencies
      themselves depend on the default gem.

    In this case, rubygems require will first activate the default version
    of the gem, then try to activate another unresolved version of the
    default gem that conflicts with the first activation.

    The solution is, if we are in the middle of requiring a default gem,
    skip this step, because we have already activated it successfully.

    https://github.com/rubygems/rubygems/commit/8cd5608db5

    Co-authored-by: Stan Hu <stanhu@gmail.com>

commit 8044e57907bc5a066ca9ef309d90c62906f8e2ec
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-12 07:02:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 11:28:10 +0900

    [rubygems/rubygems] Add a comment to explain default gem activation

    https://github.com/rubygems/rubygems/commit/291128268f

commit b2ec4308d69a13f3ff3b1b3128d52b3cb0222d34
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-01-09 22:20:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 10:49:12 +0900

    [ruby/irb] Bump version to v1.11.1
    (https://github.com/ruby/irb/pull/837)

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

commit 91f35305807f7303bfb58ccdffe86820a2300b8c
  Author:     NAITOH Jun <naitoh@gmail.com>
  AuthorDate: 2024-01-14 21:26:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 10:49:12 +0900

    [ruby/strscan] Add test to check encoding for empty string
    (https://github.com/ruby/strscan/pull/80)

    See: https://github.com/ruby/strscan/issues/78#issuecomment-1890849891

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

commit ac636f5709feb1d9d7a0c46a86be153be765cf21
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-01-13 06:34:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 10:49:12 +0900

    [ruby/strscan] Bump version

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

commit 4e47671073f2b9d03430a1ba05f5b0451343f006
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-18 03:10:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 10:49:12 +0900

    [rubygems/rubygems] Test that regular gems don't shadow default gems

    https://github.com/rubygems/rubygems/commit/b8ca5950a6

commit 7b253cfea4212bc97a37514b9ffa8405de04748c
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-19 09:53:28 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-19 10:22:40 +0900

    RJIT: Properly reject keyword splat with `yield`

    See the fix for YJIT.

commit bbd249e351af7e4929b518a5de73a832b5617273
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-19 09:26:03 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-19 10:22:40 +0900

    YJIT: Properly reject keyword splat with `yield`

    We don't have support for keyword splat anywhere, but we tried to
    compile these anyways in case of `invokeblock`. This led to bad things
    happening such as passing the wrong value and passing a hash into
    rb_yjit_array_len(), which raised in the middle of compilation.

    [Bug #20192]

commit 61da90c1b8d5c9a62d429ef66f000117eca675b3
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-01-17 09:45:33 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-19 07:55:12 +0900

    Mark asan fake stacks during machine stack marking

    ASAN leaves a pointer to the fake frame on the stack; we can use the
    __asan_addr_is_in_fake_stack API to work out the extent of the fake
    stack and thus mark any VALUEs contained therein.

    [Bug #20001]

commit 3cfcb45ecfb8dde9920220ae65ea6040e456bbd1
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-12 12:57:10 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-19 07:55:12 +0900

    Define special macros for asan/msan being enabled

    __has_feature is a clang-ism, and GCC has a different way to tell if
    sanitizers are enabled. For this reason, I don't want to spray
    __has_feature all over the codebase for other places where conditional
    compilation based on sanitizers is required.

    [Bug #20001]

commit cabdaebc701217049d8a6457c5100f23910f4423
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-12 11:34:43 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-19 07:55:12 +0900

    Make stack bounds detection work with ASAN

    Where a local variable is used as part of the stack bounds detection, it
    has to actually be on the stack. ASAN can put local variable on "fake
    stacks", however, with addresses in different memory mappings. This
    completely destroys the stack bounds calculation, and can lead to e.g.
    things not getting GC marked on the machine stack or stackoverflow
    checks that always fail.

    The __asan_addr_is_in_fake_stack helper can be used to get the _real_
    stack address of such variables, and thus perform the stack size
    calculation properly

    [Bug #20001]

commit 807714447ef02c77bb0e17fe27d96ee2692264f8
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-12 11:24:55 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-19 07:55:12 +0900

    Pass down "stack start" variables from closer to the top of the stack

    This commit changes how stack extents are calculated for both the main
    thread and other threads. Ruby uses the address of a local variable as
    part of the calculation for machine stack extents:

    * pthreads uses it as a lower-bound on the start of the stack, because
      glibc (and maybe other libcs) can store its own data on the stack
      before calling into user code on thread creation.
    * win32 uses it as an argument to VirtualQuery, which gets the extent of
      the memory mapping which contains the variable

    However, the local being used for this is actually too low (too close to
    the leaf function call) in both the main thread case and the new thread
    case.

    In the main thread case, we have the `INIT_STACK` macro, which is used
    for pthreads to set the `native_main_thread->stack_start` value. This
    value is correctly captured at the very top level of the program (in
    main.c). However, this is _not_ what's used to set the execution context
    machine stack (`th->ec->machine_stack.stack_start`); that gets set as
    part of a call to `ruby_thread_init_stack` in `Init_BareVM`, using the
    address of a local variable allocated _inside_ `Init_BareVM`. This is
    too low; we need to use a local allocated closer to the top of the
    program.

    In the new thread case, the lolcal is allocated inside
    `native_thread_init_stack`, which is, again, too low.

    In both cases, this means that we might have VALUEs lying outside the
    bounds of `th->ec->machine.stack_{start,end}`, which won't be marked
    correctly by the GC machinery.

    To fix this,

    * In the main thread case: We already have `INIT_STACK` at the right
      level, so just pass that local var to `ruby_thread_init_stack`.
    * In the new thread case: Allocate the local one level above the call to
      `native_thread_init_stack` in `call_thread_start_func2`.

    [Bug #20001]

    fix

commit 08edad31a6d5c9efd86bede1e942a32cff498427
  Author:     Olle Jonsson <olle.jonsson@gmail.com>
  AuthorDate: 2024-01-18 21:16:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-19 07:49:32 +0900

    [rubygems/rubygems] Drop two TODOs from specification.rb

    These were introduced 13 years ago, in a documentation update. Perhaps we can let the TODOs go, without taking any action?

    https://github.com/rubygems/rubygems/commit/fb23fa84f9

commit c28094d3850939cba360877780c4fec79f959764
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-19 01:55:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-19 06:33:25 +0900

    [PRISM] Add function to free scope node

    pm_scope_node_destroy frees the scope node after we're done using it to
    make sure that the index_lookup_table is not leaked.

    For example:

        10.times do
          100_000.times do
            RubyVM::InstructionSequence.compile_prism("begin; 1; rescue; 2; end")
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        33056
        50304
        67776
        84544
        101520
        118448
        135712
        152352
        169136
        186656

    After:

        15264
        15296
        15408
        17040
        17152
        17152
        18320
        18352
        18400
        18608

commit 47081c3ee321f477d09c90c09909bea36521efd2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-19 01:38:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-19 06:33:25 +0900

    [PRISM] Pass pm_scope_node_t by reference

    We can pass pm_scope_node_t by reference to pm_new_child_iseq rather
    than by value.

commit 60dd731125fb540a1a222e2fcffa4fed020703fc
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-18 23:39:32 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-19 05:25:28 +0900

    [PRISM] Correct checkmatch flags for splat in rescue

commit 8a3e7f08b85a9a21077c420b6fa76f56899e90ee
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-18 01:44:58 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-19 05:03:27 +0900

    [PRISM] Fix case splat with no predicate

commit 33306a08d119fe6e178314a48b8b3f22ae1bb617
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-19 04:40:11 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-19 04:40:11 +0900

    YJIT: Stop incrementing chain_depth on defer_compilation (#9597)

commit d8ac96efc57be460a0aad5d6ae033639439506fb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-19 00:36:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-19 03:40:14 +0900

    [PRISM] Fix memory leak in case nodes

    The temporary array conditions_labels is heap allocated and never freed.
    We can use alloca instead to stack allocate it so that we don't need to
    manually free it.

    For example:

        code = "case; #{100.times.map { "when #{it}; " }.join}; end"

        10.times do
          10_000.times do
            RubyVM::InstructionSequence.compile_prism(code)
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        21376
        30304
        38800
        47184
        55456
        64192
        72288
        80400
        89040
        97104

    After:

        13088
        13632
        13760
        14016
        14688
        14992
        15120
        15232
        15744
        15744

commit d3b07b984545ce156e02e9f71404b652c6cb5284
  Author:     Robert Schulze <robert@dotless.de>
  AuthorDate: 2023-02-23 21:38:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-19 02:32:34 +0900

    [ruby/psych] Add :stringify_names option to convert symbol keys to string for dumping

    https://github.com/ruby/psych/commit/3d051d89aa

commit 00814fd6724fff66a10966f5be10ea6dae06c616
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-18 23:51:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-19 00:35:46 +0900

    [PRISM] Fix memory leak in iseq

    rb_iseq_compile_prism_node calls both rb_translate_prism and iseq_setup.
    Both of these functions call iseq_set_sequence. This means that the first
    iseq_set_sequence will leak because the iseq will be overwritten.

    For example:

        10.times do
          100_000.times do
            RubyVM::InstructionSequence.compile_prism("")
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        20528
        27328
        33840
        40208
        46400
        52960
        59168
        65600
        71888
        78352

    After:

        13696
        13712
        13712
        13712
        13712
        14352
        14352
        14992
        14992
        14992

commit ef685554c90e78f1ce8ed3a26745b0bd58df278e
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-01-19 00:15:25 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-19 00:15:25 +0900

    [DOC] RDoc for ARGF (#9558)

commit 419f4260aa4827c633b3172d95a9fa5f9aa7b8e2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-18 16:01:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 16:01:02 +0900

    Use released version of bigdecimal

commit a660e1de18fb4b21f5603198d228de7f8c9e3a07
  Author:     Edwing123 <40911825+Edwing123@users.noreply.github.com>
  AuthorDate: 2024-01-18 15:56:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-18 15:56:42 +0900

    [DOC] correct doc comment for rb_ary_aset

    Signed-off-by: Edwin Garcia <egarciavalle2014@gmail.com>

commit fd1bafc11f74cb2bb74bf97bcba4ef694a533aec
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-01-18 12:42:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 12:42:21 +0900

    [ruby/stringio] Fix ascii_only? flag in strio_write
    (https://github.com/ruby/stringio/pull/77)

    Followup of #79

    `rb_str_resize()` was changed by https://github.com/ruby/ruby/commit/b0b9f7201acab05c2a3ad92c3043a1f01df3e17f  .

    ```c
    rb_str_resize(string, shorter) // clear ENC_CODERANGE in some case
    rb_str_resize(string, longer) // does not clear ENC_CODERANGE anymore
    ```

    ```c
    // rb_str_resize in string.c
    if (slen > len && ENC_CODERANGE(str) != ENC_CODERANGE_7BIT) {
      ENC_CODERANGE_CLEAR(str);
    }
    ```

    I think this change is based on an assumption that appending null bytes
    will not change flag `ascii_only?`.

    `strio_extend()` will make the string longer if needed, and update the
    flags correctly for appending null bytes.
    Before `memmove()`, we need to `rb_str_modify()` because updated flags are not
    updated for `memmove()`.

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

commit af60cdf6747316b23bf254128d8472e6c3c0d969
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-18 10:35:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 10:36:52 +0900

    [ruby/io-console] Bump up version to 0.7.2

    https://github.com/ruby/io-console/commit/1f2877a185

commit 42177a8987c06678f0afed713457fa327d606c62
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-01-18 08:45:09 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-01-18 08:45:09 +0900

    [DOC] Update ruby version in Building Ruby Dependencies

commit 8370b3bc3255791004a273c8ea1d71ab0566b06d
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-01-18 08:40:16 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-01-18 08:40:16 +0900

    Add baseruby version message

    Because `--with-baseruby=/usr/bin/ruby` on macOS is Ruby 2.6,
    I was confused why `--with-baseruby` was ignored.

commit fd81c887f9067dbc3b594dfc7a23de1c35919daf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 13:24:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    Use fixed commit for failing result of test-bundled-gems

      https://github.com/ruby/ruby/actions/runs/7550805131/job/20557022764?pr=9573
      https://github.com/ruby/bigdecimal/commit/338e896234bdcf672b91f2c2052527b09e2870f8

commit 7cb1125446a5f25a4c2d7163bfd2b41b811df467
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 14:08:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/core/rational/coerce_spec.rb

commit 44d74f22c8da3c13aa5363769418e2f5fd29f65a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 13:50:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    Guard bigdecimal related examples

      spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/core/integer/coerce_spec.rb
      spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/shared/rational/coerce.rb
      spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/bigmath/log_spec.rb

      and example of at_spec.rb

commit 4328f190eaae5fc7e15e9889a0d9e7b2b8fa56ab
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 13:15:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/bigdecimal/**/*_spec.rb

commit 9f729cf36a14ac47a08399aa0426343353f20b6c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 12:51:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    Skip bigdecimal extension on TestExtLibs

commit 0bdab1a784fb295df627f4650e14966fe11ec3e0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 12:31:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    Load Rake::TaskLib when missing it

commit 4dde4d1437ad5c39e4fdd78fdb6bdc3b230f9f7b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 10:01:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    Stop sync commits from bigdecimal repo

commit 272b1c92cceb7b1e2780856058183aa79f3ff213
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 10:00:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    Document about bigdecimal at Ruby 3.4

commit 2b0766113b35baf188bcb40e7da36a27423a2149
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 09:59:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    Extract bigdecimal as bundled gems

commit db9f5fc91620b799c8829d0ca69bf72564a16e14
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 01:40:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_UNLESS_NODE

    Ruby code:

    ```ruby
    defined?(unless true; 1; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,16)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,16)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 555af5e599772033d3073afd6b91c28dc53b3f71
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 01:38:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_UNTIL_NODE

    Ruby code:

    ```ruby
    defined?(until a == 1; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,16)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,16)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 24d02cd4859ea3cee3b9dfaca196c7b34c5686a4
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 01:36:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_WHILE_NODE

    Ruby code:

    ```ruby
    defined?(while a != 1; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,16)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,16)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit b5d3d61130437de1434cf1a98048bf9d40e7908b
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 01:03:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_SINGLETON_CLASS_NODE

    Ruby code:

    ```ruby
    defined?(class << self; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,16)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,16)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit d2000e0e6c3b7538e7bec51af8d5a128e8acf7ab
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 01:00:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_RATIONAL_NODE

    Ruby code:

    ```ruby
    defined?(1.2r)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,16)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,16)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 913772a08acb9ebf4ea91762ebcf5ccdb1d9732c
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:50:58 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_MODULE_NODE

    Ruby code:

    ```ruby
    defined?(module M; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,16)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,16)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit a9a22b9f2d3200cb55938a0eaf8d2c42ea05c7c9
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:49:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_MATCH_REQUIRED_NODE

    Ruby code:

    ```ruby
    defined?(1 => 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,16)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,16)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit b40fc4f0a7f9aafb1d9cf2079d89f0a00047c47b
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:47:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_MATCH_WRITE_NODE

    Ruby code:

    ```ruby
    defined?(/(?<foo>bar)/ =~ 'barbar')
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,35)>
    local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
    [ 1] foo@0
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,35)>
    local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
    [ 1] foo@0
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit a2092ef2070091caa42dfaa304ecc5a16dc1694a
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:45:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_IF_NODE

    Ruby code:

    ```ruby
    defined?(if true; 1; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,43)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,43)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit fb1eed3f7034c9219f83d086011296f8955bcddc
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:44:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_FOR_NODE

    Ruby code:

    ```ruby
    defined?(for i in [1,2] do; i; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,43)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,43)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 7460820fec8086d14c820d8e8f8042811105470f
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:42:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_DEF_NODE

    Ruby code:

    ```ruby
    defined?(def prism_test_def_node; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,43)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,43)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 30e7dbb78de4d4690b29b996424c7e7f4400b853
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:40:57 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_CLASS_NODE

    Ruby code:

    ```ruby
    defined?(class PrismClassA; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,43)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,43)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 9bcd42c378c0755c9aa606f84405e01c8ed5255f
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:38:33 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_CASE_MATCH_NODE

    Ruby code:

    ```ruby
    defined?(case [1, 2, 3]; in [1, 2, 3]; 4; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,43)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,43)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 75bed8c61ac03368a4f3b6774a15e79af85d3f97
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:37:14 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_CASE_NODE

    Ruby code:

    ```ruby
    defined?(case :a; when :a; 1; else; 2; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,43)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,43)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit a25c6fd9a00b29fabca5f9013e47574eedc1e5b1
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 06:31:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:20:25 +0900

    [PRISM] Fix test spelling `RescueModifer` -> `RescueModifier`

    `RescueModifier` was spelled wrong. Not a big deal, but it meant I
    didn't immediately find the test when I was searching for it while
    working on implementing `defined?` nodes.

commit 9f0d38960f8b3a5e8544105fdbeda79cbd7ecd4c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-18 05:29:37 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-18 07:07:51 +0900

    [PRISM] Refactor keyword hash nodes

    Follow up to #9540.

commit 00f9456f166e9d45c70e530992f5a90b37050553
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-18 04:59:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-18 07:07:51 +0900

    [PRISM] Remove unnecessary flag setting

    VM_CALL_KW_SPLAT and VM_CALL_KW_SPLAT_MUT are guaranteeed to be set in
    this code path, so we don't need to set it again.

commit c546ee3bb5a8d7469ea6db86f21963dc04913c30
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-18 04:08:21 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-18 06:17:25 +0900

    Remove SizedQueue#freeze

    Queue#freeze uses the same C function, so SizedQueue#freeze can use
    that via normal method lookup.

commit e1bae2c6930cee58586e9c9d7999b0143af3ee23
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:24:34 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_INDEX_OR_WRITE_NODE

    Ruby code:

    ```ruby
    defined?([0][0] ||= 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit ff54a8f4c7b46b60ef3849a66fd46d1a199c83f2
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:23:23 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_INDEX_OPERATOR_WRITE_NODE

    Ruby code:

    ```ruby
    defined?([0][0] += 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit f8ef77af3bbd2690c81cffccdf40afe953c7e6a7
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:22:01 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_INDEX_AND_WRITE_NODE

    Ruby code:

    ```ruby
    defined?([0][0] &&= 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit e217c5772bd1824606c029d093e39f43acb15179
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:18:02 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_CONSTANT_PATH_WRITE_NODE

    Ruby code:

    ```ruby
    defined?(Prism::CPWN = 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 54b8330e45b718fc33cd391d6f0ed6cb67ee73c3
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:12:49 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_CONSTANT_PATH_OR_WRITE_NODE

    Ruby code:

    ```ruby
    defined?(Prism::CPOrWN ||= 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 3c9dc2f806af09005d39b4d8ffbf260485b248e2
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:09:18 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_CONSTANT_PATH_OPERATOR_WRITE_NODE

    Ruby code:

    ```ruby
    defined?(Prism::CPOWN += 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 98d6f503129f436292073c22ac1051a31bfd5f00
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:05:58 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_CONSTANT_PATH_AND_WRITE_NODE

    Ruby code:

    ```ruby
    defined?(Prism::CPAWN &&= 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 7522e867ee1b77a303d294ef9fba26889c1e59dd
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:03:36 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_CALL_OR_WRITE_NODE

    Ruby code:

    ```ruby
    defined?(PrismTestSubclass.test_call_or_write_node ||= 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 9c5391d7dc99fcc06fae1541f1f6fc0c2913c932
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:01:38 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_CALL_OPERATOR_WRITE_NODE

    Ruby code:

    ```ruby
    defined?(PrismTestSubclass.test_call_operator_write_node += 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit f657fd150f46ab4d93344d34bcb663630d7f064a
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 06:11:24 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_CALL_AND_WRITE_NODE

    Ruby code:

    ```ruby
    defined?(PrismTestSubclass.test_call_and_write_node &&= 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit a6e924cf5f67368b49d5745f5cae22bc68ef21a1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-18 01:50:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-18 05:51:44 +0900

    [PRISM] Fix crash in compile_prism

    If the argument is not a file or a string, it assumes it's a string
    which will crash because RSTRING_PTR and RSTRING_LEN assumes it's a
    string.

commit b0a32b724971c5113c02946b1b959c1d73a9e256
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-18 04:35:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 05:04:01 +0900

    [PRISM] Enable more btests

commit b2c12bfddbe7a0efdb7e7087dc7d05f8ce345b35
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-01-18 03:11:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 04:35:14 +0900

    [ruby/prism] Document order of scopes in parsing options

    https://github.com/ruby/prism/commit/908e92a695

commit f43a919be494cf5b0f98f104da1024efda1abba5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-18 01:19:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-18 03:17:44 +0900

    [PRISM] Fix fallthrough for PM_ENSURE_NODE

    This caused it to fall into PM_ELSE_NODE which caused ensure nodes to be
    compiled twice.

    Fixes ruby/prism#2176.

commit de9411c0b91010e3a30b86904c7470b724564341
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-18 02:24:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:47:34 +0900

    [ruby/prism] Test version: 3.3.0

    https://github.com/ruby/prism/commit/94ecb366c4

commit 27d81b92828b7cb9d694724ebf12b614b0e6fb21
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-18 02:08:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:47:34 +0900

    [ruby/prism] Guard 3.3.0 for pinned it

    https://github.com/ruby/prism/commit/9778377b12

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit e0d60a833b8baa6305a2027253c1deafe5b5bcba
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-17 15:06:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:47:34 +0900

    [ruby/prism] Fix => ^it

    https://github.com/ruby/prism/commit/24a2872b4e

commit bcc4b07cc318df3d5f53f14e36829eeab4066ecc
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-17 14:47:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:47:33 +0900

    [ruby/prism] Add a documentation about 0it

    https://github.com/ruby/prism/commit/313be8e3f7

commit 603f2ca730cc62818a7a9852291f5877cbadd55d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-13 02:12:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:47:33 +0900

    [ruby/prism] Parse `it` default parameter

    https://github.com/ruby/prism/commit/a0c5361b9f

commit cd4290910c7f3f63118567101bf6cec4df90361a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-18 02:42:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:42:50 +0900

    [ruby/prism] Wording in node field comments

    https://github.com/ruby/prism/commit/c9c913ee99

commit 32cbbfc97d56d9c01677b5411518b52c9404c484
  Author:     nikhilbhatt <nikhilbhatt931@gmail.com>
  AuthorDate: 2024-01-17 12:09:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:35:07 +0900

    [ruby/prism] Added descriptive comments

    https://github.com/ruby/prism/commit/2695ae115d

commit 5273c4c9199c154f1818e256127fc539ff8a8a55
  Author:     nikhilbhatt <nikhilbhatt931@gmail.com>
  AuthorDate: 2024-01-14 17:58:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:35:06 +0900

    [ruby/prism] Document AndNode and OrNode

    https://github.com/ruby/prism/commit/a925856c2b

commit e1751b2ec8ddc3a423446b68109114da740f0439
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2023-11-25 21:30:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:13:16 +0900

    [ruby/openssl] test/openssl/test_ocsp.rb: fix flaky test

    Fixes: https://github.com/ruby/openssl/issues/695

    https://github.com/ruby/openssl/commit/95281fe4a9

commit 4f634d3c85ca45b5995c1f37619784c99f2be62c
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-01-18 02:08:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:09:03 +0900

    [ruby/openssl] Add support for IO#timeout.
    (https://github.com/ruby/openssl/pull/714)

    * Add support for IO#timeout.

    https://github.com/ruby/openssl/commit/3bbf5178a9

commit 6213ab1a51387fd9cdcb5e87908722f3bbdf78cb
  Author:     Ewoud Kohl van Wijngaarden <ewoud@kohlvanwijngaarden.nl>
  AuthorDate: 2024-01-05 23:58:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 01:41:47 +0900

    [ruby/openssl] Only set min_version on OpenSSL < 1.1.0

    Both Red Hat and Debian-like systems configure the minimum TLS version
    to be 1.2 by default, but allow users to change this via configs.

    On Red Hat and derivatives this happens via crypto-policies[1], which in
    writes settings in /etc/crypto-policies/back-ends/opensslcnf.config.
    Most notably, it sets TLS.MinProtocol there. For Debian there's
    MinProtocol in /etc/ssl/openssl.cnf. Both default to TLSv1.2, which is
    considered a secure default.

    In constrast, the SSLContext has a hard coded OpenSSL::SSL::TLS1_VERSION
    for min_version. TLS 1.0 and 1.1 are considered insecure. By always
    setting this in the default parameters, the system wide default can't be
    respected, even if a developer wants to.

    This takes the approach that's also done for ciphers: it's only set for
    OpenSSL < 1.1.0.

    [1]: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/security_hardening/using-the-system-wide-cryptographic-policies_security-hardening

    https://github.com/ruby/openssl/commit/ae215a47ae

commit 947194aacb3b82602eab63b92fbe5876f10c5640
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-18 00:08:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-18 01:35:30 +0900

    [PRISM] Fix memory leak of ST table

    This commit fixes a memory leak in rb_translate_prism because the ST
    table is never freed. There are still more memory leaks which still need
    to be fixed.

    For example:

        10.times do
          100_000.times do
            RubyVM::InstructionSequence.compile_prism("")
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        34544
        57120
        79360
        102176
        123712
        146320
        168192
        190592
        212192
        234896

    After:

        18336
        24592
        31488
        37648
        44592
        50944
        57280
        63632
        69904
        76160

commit 78ad91f83f1c16318b2d3e5920c6ad98f88a4955
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-04 04:23:44 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:57:19 +0900

    [Prism] Fix more method call argumnents

    In #2087 it was noted that there was a bug in the number of arguments in
    `SplatNode` and `KeywordHashNode`. I looked into this with Aaron before
    the linked PR was merged and we found a bunch of cases that weren't
    working quite right. This PR aims to fix some of those cases, but there
    may be more.

    A splat argument followed by a positional argument will concat the array
    until the end or unless the argument is a kwarg or splat kwarg. For
    example

    ```
    foo(a, *b, c, *d, e)
    ```

    Will have an `argc` of 2, because `b`, `c`, `d`, and `e` will be
    concatenated together.

    ```
    foo(a, *b, c, *d, **e)
    ```

    Will have an `argc` of 3, because `b`, `c`, and `d` will be concatenated
    together and `e` is a separate argument.

commit 03645d1eefdf280c3c1ff20f9431fb8fe45799b4
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-18 00:52:15 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-18 00:52:15 +0900

    YJIT: Support empty splat and some block_arg calls to ivar getters (#9567)

    These seem odd at first glance, but they're used with `...` calls with
    `Module#delegate` from Active Support. These account for ~3% of fallback
    reasons in the `lobsters` benchmark.

commit 3f23cb1a43f02d6214f1c1bdb989ceb20ce0454f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-18 00:44:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 00:51:36 +0900

    [ruby/prism] Remove flag gating for 3.3.0 bug fixes

    https://github.com/ruby/prism/commit/64baf94271

commit afba09d30f4c2ce6d0d77e06d5250967411cd74a
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-01-18 00:35:48 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-18 00:35:48 +0900

    YJIT: specialized codegen for integer right shift (#9564)

    * YJIT: specialized codegen for integer right shift

    Used in optcarrot. May also be used to write pure-Ruby gems.
    No overflow check or fixnum untagging required.

    * Update yjit/src/codegen.rs

    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

    ---------

    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

commit 63ff29cdb4ba27eb366d706d81a74b89a1d6b18a
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 23:23:42 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Fix return test

    This test didn't work as is because it causes a SyntaxError. Instead we
    need to put the `defined?(return)` into a method and call that. I double
    checked that on the `master` branch this returns an Unsupported node
    error.

commit dcf9d77b45bcca3193a310e1a0f496e2d74cfc81
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:50:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined? for PM_BEGIN_NODE

    Ruby code:

    ```ruby
    defined?(begin; 1; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,23)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,23)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 338aa465c0a2922b0e7ff306d88bdfec0232f4fb
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:47:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined? for PM_RETRY_NODE

    Ruby code:

    ```ruby
    defined?(retry)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,15)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,15)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 8774abad55c1b3d76af996f5ad8aae19704702c7
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:44:58 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined? for PM_RETURN_NODE

    Ruby code:

    ```ruby
    defined?(return)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,16)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,16)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit d0a7c33f05626bdec6f085ff4084aaaf25214ec3
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:43:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined? for PM_REDO_NODE

    Ruby code:

    ```ruby
    defined?(redo)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,14)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,14)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 2697acf7ffe0d607f6bb0f95b1017f3bb0d6195f
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:40:54 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined? for PM_INTERPOLATED_X_STRING_NODE

    Ruby code:

    ```ruby
    defined?(`echo #{1}`)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,21)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,21)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit e0c90199c996c53db41611bc7fcb9b68a1ae9c64
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:31:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined? for PM_INTERPOLATED_SYMBOL_NODE

    Ruby code:

    ```ruby
    defined?(:"1 #{1 + 2} 1")
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,25)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,25)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 25f1a8e4479324ebcc3c9a46c67cdd23b028f435
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:24:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined? for PM_DEFINED_NODE

    Ruby code:

    ```ruby
    defined?(defined?(a))
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,21)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,21)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 82ed90950e485ffd8b5d5536d105b3ebf953a1fa
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:16:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined? for PM_BREAK_NODE

    Ruby code:

    ```ruby
    defined?(break)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,15)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,15)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 0c814092ee1268562b4ba42973ea754e0dcf1bd0
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:10:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined for PM_NEXT_NODE

    Ruby code:

    ```ruby
    defined?(next)
    ```

    Instructions

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,15)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,15)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 3a7ad808b135bace484038e4ba0549796d98d872
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-17 03:27:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-18 00:15:02 +0900

    [PRISM] Fix test_compile_prism_with_file

    The test should be testing RubyVM::InstructionSequence.compile_prism
    with a file but it is instead passing the file path (which is a string)
    which raises a SyntaxError because it is not Ruby syntax.

commit ef4a08eb65ab00eb0101b8b64212bef613e4f833
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-17 22:59:30 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-17 23:48:46 +0900

    [PRISM] Fix stack inconsistency in MultiWriteNode

commit e17c83e02c5019f7a8c31b31a567ab6de6d6c7f4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-16 23:32:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-17 22:54:25 +0900

    Fix memory leak in String#tr and String#tr_s

    rb_enc_codepoint_len could raise, which would cause the memory in buf
    to leak.

    For example:

        str1 = "\xE0\xA0\xA1#{" " * 100}".force_encoding("EUC-JP")
        str2 = ""
        str3 = "a".force_encoding("Windows-31J")

        10.times do
          1_000_000.times do
            str1.tr_s(str2, str3)
          rescue
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        17536
        22752
        28032
        33312
        38688
        43968
        49200
        54432
        59744
        64992

    After:

        12176
        12352
        12352
        12448
        12448
        12448
        12448
        12448
        12448
        12448

commit 13879fea6957274f1752fb1df1cf1bd5b1626837
  Author:     Adam Hess <adamhess1991@gmail.com>
  AuthorDate: 2024-01-13 03:22:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 22:26:05 +0900

    [ruby/prism] Fix prism brace association for constant-like method/local calls

    https://github.com/ruby/prism/commit/8ca24f263e

commit c68ce6f7f5e6020409cfe689ba5946f284828d4b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-15 10:20:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-17 19:37:56 +0900

    Skip checking for symbol leaks in libruby.so linking extensions

    The libruby.so linking extension libraries contain symbols exported
    from extension libraries, and is not subject of test-leaked-globals.

commit 6215b5ba9811ae1a1e631f01a88fd5b32043effa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-17 11:26:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-17 18:26:39 +0900

    Fix off-by-one error of argc

    Fix ruby/ruby#9562

commit bf254b4de12b458deeb7937219be9389c8542704
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-17 12:39:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-17 12:39:23 +0900

    Omit low-memory test on old platforms

commit 8642a573e6d1091fefbb552bb714ebcf8da66289
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-17 10:31:26 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-17 10:31:27 +0900

    Rename BUILTIN_ATTR_SINGLE_NOARG_INLINE

    to BUILTIN_ATTR_SINGLE_NOARG_LEAF

    The attribute was created when the other attribute was called BUILTIN_ATTR_INLINE.
    Now that the original attribute is renamed to BUILTIN_ATTR_LEAF, it's
    only confusing that we call it "_INLINE".

commit e37a37e696fdb97a3028f04d8439c010d52adb62
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-17 10:23:46 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-17 10:27:53 +0900

    Drop obsoleted BUILTIN_ATTR_NO_GC attribute

    The thing that has used this in the past was very buggy, and we've never
    revisied it. Let's remove it until we need it again.

commit 1addb3955c456b01bb029b30dd6343298da0729d
  Author:     Mark Young <mark.young@atg.auto>
  AuthorDate: 2023-12-21 19:13:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 09:48:52 +0900

    [ruby/psych] Provide a 'Changelog' link on rubygems.org/gems/psych

    By providing a 'changelog_uri' in the metadata of the gemspec
    a 'Changelog' link will be shown on https://rubygems.org/gems/psych
    which makes it quick and easy for someone to check on the changes
    introduced with a new version.

    Details of this functionality can be found on https://guides.rubygems.org/specification-reference/

    https://github.com/ruby/psych/commit/28ef10edcf

commit 77593495f7b08301eeb0b4a22cb07b7a6461cd8f
  Author:     Colin Kelley <colin@invoca.com>
  AuthorDate: 2023-07-20 05:14:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 09:45:06 +0900

    [ruby/psych] issue #443: drop special tests for y, Y, n, N since they covered in the more general test

    https://github.com/ruby/psych/commit/6750b35402

commit 8ae24e6b085121c6d3de61b45cf089849fe4a177
  Author:     Colin Kelley <colin@invoca.com>
  AuthorDate: 2023-07-20 04:32:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 09:45:06 +0900

    [ruby/psych] issue #443: quote Y and N when dumping

    https://github.com/ruby/psych/commit/93c8fb443a

commit cf8fb9429511068c69ce70da7f7818c7441c280b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 09:01:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-17 09:02:04 +0900

    CHECK_LEAKS is always enabled with 01459f1

commit b4ed5b7dfe9ca01ef48922d1b2c154767b7e4e86
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-17 08:54:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-17 08:54:17 +0900

    Bump the required BASERUBY version to 2.7 (#9566)

    [[Misc #16671]](https://bugs.ruby-lang.org/issues/16671)

commit 6c016a4197c233b08a038e3ae7bc919bb16fdd8a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-16 19:07:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-17 08:28:31 +0900

    Inject base64 for basic auth examples of bundler

commit 42aa24a24c2a3ea2868e0a2d31d5cd6a7513b007
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-16 17:25:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-17 08:28:31 +0900

    No longer needed to sync base64

commit afb30eb2654253c938fbf47dbb6e24c2a3b74625
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 11:34:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-17 08:28:31 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/base64/**/*_spec.rb

commit 05e798269fd4471fbc87f3e4de7728b28b6a0915
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 11:33:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-17 08:28:31 +0900

    Document about base64 at Ruby 3.4

commit 4e2eca3be0ef6d4114acdc2527330dfd81d8ff4b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 11:32:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-17 08:28:31 +0900

    Extract base64 as bundled gems

commit 2bf9970101c87bcece5401ca7a7c7e4d54cb64aa
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-17 06:24:54 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-17 06:54:34 +0900

    YJIT: Finer breakdown for block_arg counters

    For example, on `lobsters` the block_arg reason was at ~10%. With this
    change it shows that 6% of that is `send_cfunc_block_arg`.

commit 5471f99eead4dd77f1d418eca04d7656bb97f01d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-17 05:22:03 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-17 06:19:43 +0900

    [PRISM] Fix memory leak when compiling file

    There is a memory leak when passing a file to
    RubyVM::InstructionSequence.compile_prism because it does not free the
    mapped file.

    For example:

        require "tempfile"

        Tempfile.create(%w"test_iseq .rb") do |f|
          f.puts "name = 'Prism'; puts 'hello'"
          f.close

          10.times do
            1_000.times do
              RubyVM::InstructionSequence.compile_prism(f)
            end

            puts `ps -o rss= -p #{$$}`
          end
        end

    Before:

        27968
        44848
        61408
        77872
        94144
        110432
        126640
        142816
        159200
        175584

    After:

        11504
        12144
        12592
        13072
        13488
        13664
        14064
        14368
        14704
        15168

commit 7b6731b1bb7c8fab72580f92450eea6e4cc3d943
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-17 00:16:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 05:25:50 +0900

    [ruby/prism] Provide abstract methods in Prism::Node

    To make typechecking easier.

    https://github.com/ruby/prism/commit/8f96877d7a

commit 8cbba87ca85b388bb896d9732973e8e1555e5b93
  Author:     Cameron Dutro <camertron@gmail.com>
  AuthorDate: 2024-01-16 05:03:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 04:19:30 +0900

    [ruby/prism] Add parse options to JavaScript's parsePrism function

    https://github.com/ruby/prism/commit/d7fe7c7ae7

commit d124124c1613ec5e6b4770252e16d714f7b05e91
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-17 03:54:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 04:01:36 +0900

    [ruby/prism] Fix up gemspec

    https://github.com/ruby/prism/commit/82e3126762

commit 8bf12d7b2ffe61596da2d1d2fb8e54120cfb230b
  Author:     Jemma Issroff <jemmaissroff@gmail.com>
  AuthorDate: 2024-01-11 06:21:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 03:47:48 +0900

    [ruby/prism] First pass at documenting information about the CRuby compiler

    https://github.com/ruby/prism/commit/b575914b2f

commit 07b9b53459d1842e7066b248d48ef4952c6868d3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-17 00:30:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-17 02:55:57 +0900

    [PRISM] Fix crash with empty ensure blocks

    Fixes ruby/prism#2179.

commit 7bd7030a96cdc106e347e0d48cfacfb80fb0f8db
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-17 01:06:18 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-17 02:43:53 +0900

    [PRISM] Replace local lookup recursion with loop

commit 70a8ed0775e7a9215bcc6cdf4f6d85da321af304
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-17 01:09:00 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-17 02:43:14 +0900

    [PRISM] Don't allocate labels when not needed

    The labels lstart, lend, lcont are only needed when there is a rescue
    clause. They are not needed when there is only an ensure clause or
    neither.

commit 1caa881a56fc0543b2fb4819b6d894008b0ae5a9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-16 03:32:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-17 01:12:06 +0900

    [PRISM] Fix splat assignment

    Fixes ruby/prism#2177

commit c5e43da426eb79e87ec963837a4cbb0a4ed9396d
  Author:     TSUYUSATO Kitsune <make.just.on@gmail.com>
  AuthorDate: 2024-01-17 00:37:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 00:51:09 +0900

    [ruby/prism] Correct the "ambiguous first argument" condition

    Fix https://github.com/ruby/prism/pull/2182

    This change reflects this line:
    https://github.com/ruby/ruby/blob/6283ae8d369bd2f8a022bb69bc5b742c58529dec/parse.y#L11124.

    https://github.com/ruby/prism/commit/a52588ff37

commit 6283ae8d369bd2f8a022bb69bc5b742c58529dec
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-16 23:59:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 00:06:22 +0900

    [ruby/stringio] Update the coderange after overwrite

    Fix https://bugs.ruby-lang.org/issues/20185

    https://github.com/ruby/stringio/commit/8230552a46

commit fef8ccff11a5f48eef9f11f61ff0baa165acfaff
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-16 07:32:30 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-16 23:58:55 +0900

    Rename pm_lookup_local_index_any_scope

    Now it's the only local lookup function we can just call it
    pm_lookup_local_index

commit 543bd7f3dbc06c4a43bb52aa459383dc97cebe77
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-16 07:11:32 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-16 23:58:55 +0900

    Remove scope_node->local_depth_offset

commit 1b97f61168cb399a6b2145a3be118df04651ef5c
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-16 07:03:04 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-16 23:58:55 +0900

    Remove pm_lookup_local_index_with_depth

commit 0d705b342f27446176e0eddd1ba883dce4b20f08
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-16 06:42:16 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-16 23:58:55 +0900

    Remove the found_depth pointer

    Now that we're returning pm_local_index_t

commit da383c0d7496b7e65fae8da4b26ad3265175bcc8
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-16 06:32:17 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-16 23:58:55 +0900

    Return pm_local_index_t when looking up local indexes

    instead of returning the index and updating found_depth in the parent
    scope

commit f4b299a1ed036234c0144797acba555c9feb3c6e
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-16 05:59:11 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-16 23:58:55 +0900

    Bind index & depth together into pm_local_index_t

commit 3d45b743e4beccb3ec176ede0f52102ff3795b03
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-16 05:41:37 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-16 23:58:55 +0900

    Replace pm_lookup_local_index with lookup_local_index_with_depth

commit ade56737e2273847426214035c0ff2340b43799a
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-01-16 02:44:53 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-16 23:18:55 +0900

    Fix coderange of invalid_encoding_string.<<(ord)

    Appending valid encoding character can change coderange from invalid to valid.
    Example: "\x95".force_encoding('sjis')<<0x5C will be a valid string "\x{955C}"

commit 0520e9675b91ea559da1ae5eda9db378fbdbca52
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-16 05:08:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-16 22:32:21 +0900

    [PRISM] Fix defined? for chained calls

    Fixes ruby/prism#2148.

commit 01459f1644602ab7dfede46b07a56fc93ffa0165
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-16 20:29:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-16 20:29:06 +0900

    Set `CHECK_LEAKS` in spec/default.mspec

    Because of `.NOEXPORT:` in template/Makefile.in, variables in
    common.mk will not be exported.

commit 9f02680015d21013fa83587d8c912d2af621bb57
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-16 17:09:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-16 17:09:35 +0900

    Removed sample code for net-imap. net-imap is alread extracted as bundled gems

commit 4b6936aa047158c98a9ac8861d51e5e09229f8c0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-16 16:30:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-16 17:07:10 +0900

    Unbundled samples for getoptlong

commit 3f5016178cb81536e800a9121b3804e36c9af93c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-16 16:30:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-16 17:07:10 +0900

    We don't need to sync getoptlong

commit 326288c5a578b1f853d17155fe3e00eaabaff0c6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 16:34:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-16 17:07:10 +0900

    Document about getoptlong at Ruby 3.4

commit b3ff564967e2752e7b3f95b30581e57e5d195656
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 14:17:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-16 17:07:10 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/getoptlong/**/*.rb

commit b68dab2d0fbc7b84749d1c8447c003cabbb70a51
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 14:00:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-16 17:07:10 +0900

    Extract getoptlong as bundled gems

commit c5d54e1db19225b2c05e74c7fa6bf36846c08de3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-16 16:29:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-16 16:29:16 +0900

    We don't need to sync mutex_m

commit 26cf40aaa08e74bfcfd1f4ee75a7c19c6efbac06
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-16 15:54:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-16 16:24:37 +0900

    Always enabled leakchecker by ruby/mspec

commit 924f3907c073636ad679fc077c84e9b18c46dc85
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-16 12:44:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-16 12:44:28 +0900

    Enable spec_guards with 3.3

commit be7c91db44d6b8dba8fa11ff782965b4bfa0b3c8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-16 12:43:53 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-16 12:43:53 +0900

    Do not pollute toplevel namespace

commit 0abbab9eb16baf0995deaab2fbb3850ace50bdd9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-15 22:46:21 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-16 10:04:49 +0900

    [Bug #20184] Test for low memory

commit 6a1bf4cf1b069de0aaa55bc327f0b9b1ee1f5ed0
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-01-16 07:35:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-16 07:35:29 +0900

    YJIT: optimized codegen for String#length (#9543)

    Minor optimization for programs doing string processing.

commit 6a175902f4fe31cf7617406e17d11deb9fccec32
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-16 00:28:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-16 07:12:53 +0900

    [PRISM] Fix keyword splat inside of array

    Fixes ruby/prism#2155.

commit cc7b19e048aae4fb6ee75edf8498008042c42ee1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-16 01:27:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-16 01:27:31 +0900

    [DOC] Improve docs for GC.compact

commit 5e61cc26c9f4b926ea6472675d3851b5fd684824
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-16 00:32:48 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-16 00:32:48 +0900

    YJIT: Optimize Integer#succ (#9519)

commit 7c6d7fbc28904b9814a18cc06796e0f12552778a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-13 03:04:59 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-15 23:58:44 +0900

    [PRISM] Fix case without predicate

    Fixes ruby/prism#2149.

commit e0312f90bbf5a6c0af5140ea94c67911515a147b
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2023-12-21 10:55:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-15 23:04:14 +0900

    [ruby/pp] Print beginless ranges properly

    Instead of displaying the start of the range as nil

    https://github.com/ruby/pp/commit/1df210d903

commit dde21a7967960e24377b01941cea6c30c17fa01d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-14 23:44:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-15 09:35:46 +0900

    Explicitly convert between `VALUE` and `st_data_t`

commit c5cf4d4e129f64cb69aaf0a829aed068ef1943c4
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-01-15 06:47:13 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-15 06:47:13 +0900

    Improve behavioural consistency of unallocated (zero length) `IO::Buffer`. (#9532)

    This makes the behaviour of IO::Buffer.new(0) and IO::Buffer.new.slice(0, 0) consistent.

    Fixes https://bugs.ruby-lang.org/issues/19542 and https://bugs.ruby-lang.org/issues/18805.

commit 5c823aa686a5549649df4af86d173bebed2418e1
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-15 04:41:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-15 04:41:02 +0900

    Support keyword splatting nil

    nil is treated similarly to the empty hash in this case, passing
    no keywords and not calling any conversion methods.

    Fixes [Bug #20064]

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 772413245f782f538413a69a270ec75ee8b77f18
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-14 17:53:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-14 23:38:47 +0900

    Skip checking for symbol leaks in libruby.a linking extensions

    The libruby.a linking extension libraries contain symbols exported
    from extension libraries, and is not subject of test-leaked-globals.

commit 338eb0065bd81ba8ae8b9402abc94804a24594cc
  Author:     NAITOH Jun <naitoh@gmail.com>
  AuthorDate: 2024-01-13 06:22:32 +0900
  Commit:     Sutou Kouhei <kou@clear-code.com>
  CommitDate: 2024-01-14 22:27:24 +0900

    [ruby/strscan] StringScanner#captures: Return nil not "" for
    unmached capture
    (https://github.com/ruby/strscan/pull/72)

    fix https://github.com/ruby/strscan/issues/70
    If there is no substring matching the group (s[3]), the behavior is
    different.

    If there is no substring matching the group, the corresponding element
    (s[3]) should be nil.

    ```
    s = StringScanner.new('foobarbaz') #=> #<StringScanner 0/9 @ "fooba...">
    s.scan /(foo)(bar)(BAZ)?/  #=> "foobar"
    s[0]           #=> "foobar"
    s[1]           #=> "foo"
    s[2]           #=> "bar"
    s[3]           #=> nil
    s.captures #=> ["foo", "bar", ""]
    s.captures.compact #=> ["foo", "bar", ""]
    ```

    ```
    s = StringScanner.new('foobarbaz') #=> #<StringScanner 0/9 @ "fooba...">
    s.scan /(foo)(bar)(BAZ)?/  #=> "foobar"
    s[0]           #=> "foobar"
    s[1]           #=> "foo"
    s[2]           #=> "bar"
    s[3]           #=> nil
    s.captures #=> ["foo", "bar", nil]
    s.captures.compact #=> ["foo", "bar"]
    ```

    https://docs.ruby-lang.org/ja/latest/method/MatchData/i/captures.html
    ```
    /(foo)(bar)(BAZ)?/ =~ "foobarbaz" #=> 0
    $~.to_a        #=> ["foobar", "foo", "bar", nil]
    $~.captures #=> ["foo", "bar", nil]
    $~.captures.compact #=> ["foo", "bar"]
    ```

    * StringScanner#captures is not yet documented.
    https://docs.ruby-lang.org/ja/latest/class/StringScanner.html

    https://github.com/ruby/strscan/commit/1fbfdd3c6f

commit 0610f555ea4f3ba571482f90393fe8c0701cd58a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-14 17:55:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-14 17:55:11 +0900

    Constify `rb_global_parser_config`

commit 4e5754a459ea10c73381b3009bb889e83077575c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-14 00:24:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-14 00:24:14 +0900

    Add test for `Errno` constants

commit 55335eab80d763fb11d621c041d23aaf8f4857c6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-13 23:41:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-13 23:43:07 +0900

    Use STATIC_ASSERT

commit 9ba2558b76e5b0d871132c38a85055c4746c34de
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-13 20:33:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-13 23:20:05 +0900

    Fix possible out-of-bounds access

commit ccd45a1399a9eed7c59120874d0d37bd3ce9d73d
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-13 13:54:13 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-13 20:41:22 +0900

    Stop using Array to manage dummy `end` token locations

    Before this commit, Array is used to store token locations
    which expect `end` token, e.g. `class` and `module`.
    This commit introduces dedicated struct to manage them
    so that dependency on Ruby Object is reduced.

commit b92c8934a29c9cb62f3d05eef74117a06c2cd8a8
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-13 17:37:31 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-13 20:03:54 +0900

    Lrama v0.6.1

commit d999ed3a2f83fa223223e059eae0f361303ae07e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-13 16:34:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-13 16:34:32 +0900

    Fix typo

commit 573bfb3a148905f64dbe7633c833feead8e28683
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-13 00:05:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-13 11:08:03 +0900

    [DOC] Add known_errors documents

    Incorporate from The Open Group.
    https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html

commit 3edb7f1a0747b92ccc22f881e0a74530c0a7036e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-11 22:46:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-13 11:08:00 +0900

    [DOC] Documentize known_errors

commit f7178045bb11fc3722a98082ed81e1ec39c4940f
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-01-01 18:50:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-13 09:28:26 +0900

    [ruby/openssl] Add support for `gets(chomp: true)`.

    https://github.com/ruby/openssl/commit/8aa3849cff

commit 08d4e5ebef3d372ca52de95d8ed896d7def8de49
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2023-12-28 08:30:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-13 09:28:26 +0900

    [ruby/openssl] Add more methods to `SocketForwarder`.

    https://github.com/ruby/openssl/commit/39eaa9f677

commit b0e0a2a64d969eb306811bbf5f4d33cc2c1f62a0
  Author:     Iztok Fister Jr <iztok@iztok-jr-fister.eu>
  AuthorDate: 2024-01-13 09:01:30 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-13 09:01:30 +0900

    [DOC] Fix two minor typos on manual page

commit 475663f0399248011f2392817ef4d89ec07baae4
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-13 07:21:35 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-13 07:53:14 +0900

    Only intern constants upon compilation entry

    Before this commit the Prism compiler would try to intern constants
    every time it re-entered. This pool of constants is "constant" (there is
    only one pool per parser instance), so we should do it only once: upon
    the top level entry to the compiler.

    This change does just that: it populates the interned constants once.

    Fixes: https://github.com/ruby/prism/issues/2152

commit 206388b19eb3e1d98ee77821a96705c97c86eb06
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-13 05:32:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-13 06:13:42 +0900

    Fix ruby_free_proctitle

    It is undefined behaviour to free environ as it is managed by the system.
    This caused RUBY_FREE_AT_EXIT to double free on systems like Linux. This
    commit changes it to only free orig_environ, which is enough to make
    both Valgrind and macOS leaks tools to not detect memory leaks.

commit 2c27a3a0dd6a922c215758b2bf0635a7986f0eab
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-13 05:16:13 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-13 05:46:28 +0900

    Fix splat assigns with no lefties

    We still need to emit an expand array even if there's no "left side"
    variables

    Fixes: https://github.com/ruby/prism/issues/2153

commit aad246feba1579cc3c34f8309845692e2f11babd
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-01-10 04:04:20 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-13 05:24:48 +0900

    s/SafeStringValue/StringValue/

    The macro SafeStringValue() became just StringValue() in c5c05460ac2,
    and it is deprecated nowadays.

    This patch replaces remaining macro usage. Some occurrences are left in
    ext/stringio and ext/win32ole, they should be fixed upstream.

    The macro itself is not deleted, because it may be used in extensions.

commit 774eef692cc9708b22959ef57b8472a375772189
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-09 06:32:35 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-13 05:20:04 +0900

    Always freeze strings that are in the instructions

    Any objects that the instructions reference should be frozen.

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit a0a100db4943f37060fe6c59f4546262ae3dfc59
  Author:     Aaron Patterson <aaron.patterson@gmail.com>
  AuthorDate: 2024-01-09 06:32:05 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-13 05:20:04 +0900

    Update test/ruby/test_compile_prism.rb

    Co-authored-by: Ufuk Kayserilioglu <ufuk@paralaus.com>

commit 84f14ff08925889964cd5e7ed0bfc9ee8fcefce2
  Author:     Jemma Issroff <jemmaissroff@gmail.com>
  AuthorDate: 2023-12-16 06:28:29 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-13 05:20:04 +0900

    [PRISM] Pre-concatenate Strings in InterpolatedStringNode

    This commit concatenates String VALUEs within
    InterpolatedStringNodes to allow us to preserve frozenness of
    concatenated strings such as `"a""b"`

    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>

commit e59dd7094f281e3167fc8fe29ab0e92e7b66027a
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-13 01:30:36 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-13 03:28:36 +0900

    Pass more T_DATA to obj_free() under RUBY_FREE_AT_EXIT

    T_DATA without a pointer or free function may still have ivars set on
    them that need to be freed. The following leaked generic ivars for
    example:

        converter = Encoding::Converter.allocate
        converter.instance_variable_set(:@foo, 1)

        STACK OF 1 INSTANCE OF 'ROOT LEAK: <malloc in objspace_xmalloc0>':
        <snip>
        12  miniruby    0x10286ec50 ivar_set + 140  variable.c:1850
        11  miniruby    0x102876afc generic_ivar_set + 136  variable.c:1668

commit 0462b1b350b0f86ce4cfebc195fe0f24005d28f4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-13 00:40:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-13 03:04:23 +0900

    [PRISM] Fix splat in when

    Fixes ruby/prism#2147.

commit 8b8dcc7af174def5216044019c1d3e42edfdc7cf
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-12 09:05:21 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-13 02:31:36 +0900

    Handle mmap failures for redblack tree cache

    The redblack tree cache is totally optional, so if we can't allocate
    room for the cache, then just pretend as if the cache is full if mmap
    fails

commit 2d9db72d37e570dcfc5e8b0b74476360cae96056
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-12 07:05:42 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-13 01:30:25 +0900

    Write to constant path, call, and index in rescue

    When compiling a rescue reference, you can write to a constant
    path, a call, or an index. In these cases we need to compile the
    prefix expression first, then handle actually doing the write/call.

commit 16624ef463f214367720b7cf486e43e48a2df4e6
  Author:     ywenc <ywenc@github.com>
  AuthorDate: 2024-01-13 00:41:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-13 00:41:58 +0900

    YJIT: expandarray for non-arrays (#9495)

    * YJIT: expandarray for non-arrays

    Co-authored-by: John Hawthorn <john@hawthorn.email>

    * Skip the new test on RJIT

    * Increment counter for to_ary exit

    ---------

    Co-authored-by: John Hawthorn <john@hawthorn.email>
    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

commit 524770d3dc8f44a5caca5533f22297d1e0dd5d32
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-01-12 00:43:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-12 22:46:07 +0900

    Suppress warnings in parser_set_encode function

commit 8292b01c66ade80f20ea02f0d512d28ed074f290
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-12 22:44:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-12 22:44:56 +0900

    [DOC] Mark up the class name `fatal`

commit 517e0d87bd3e9c5b2e36764c3774c75dea19fbba
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-11 18:42:52 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-12 22:10:53 +0900

    Move node value functions closer to other similar functions

commit 631eb2a110fbf3446882747e7e5d8c0be8473904
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-11 18:40:11 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-12 22:10:53 +0900

    Rename node value functions

    They don't compile nodes then remove compile_ prefix.
    `compile_numeric_literal` always returns integer then
    use integer instead of numeric.

commit 5a471784ca45379672db46aef759087148ad4877
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-07 11:00:59 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-12 22:10:53 +0900

    Restore unknown case

    This existed before 1b8d01136c3ff6c60325c7609d61e19ac42acd9f.

commit 731fee04c29b31d780b1bfeb878a43355658daa7
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-07 10:49:18 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-12 22:10:53 +0900

    Use `BUILTIN_TYPE` because SPECIAL_CONST or not is already checked

commit b35e21b3889e95cf727f2da49abb881c3466bc75
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-12 07:38:02 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-12 21:17:41 +0900

    Remove reference counter from rb_parser_config

    It's allocated outside of parser then no need to track
    reference count in rb_parser_config.

commit 52d9e55903b2e72022ba90079cb23c6f2cd03af5
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-11 21:27:19 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-12 21:17:41 +0900

    Statically allocate parser config

commit c3b2436154015bab6b94f132b60bdb1fbba02426
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-12 12:56:08 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-12 21:11:00 +0900

    `set_yylval_literal` is not used

commit 5fa3259b130cc8fab2475ce2400b8d21f311dc7b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-12 19:09:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-12 20:02:50 +0900

    Ruby 3.3 is always failed at spec/mspec/lib/mspec/runner/actions/constants_leak_checker.rb

commit 0a27142cf14635abfe1befadb86c1db25de6c2ca
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-12 18:51:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-12 20:02:50 +0900

    Ignore windows_31j module with mswin

commit 3113bc8d445c4c24ed3827adfc50bb88c99b6364
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-12 18:50:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-12 20:02:50 +0900

    stat command is not provided on Windows

commit 3103ed4159240e99614c9789bc0f869574a1f9db
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-12 18:20:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-12 20:02:50 +0900

    Use timeout instead of sleep on Windows

commit 80feecd6a36ec640f2fab212a015281e920dc092
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-12 18:14:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-12 20:02:50 +0900

    Don't use cat command on native Windows

commit 396e94666ba1646cb0fd1459eeae3f2e7ddd2658
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-01-12 15:32:16 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:58:54 +0900

    Revert "Pass down "stack start" variables from closer to the top of the stack"

    This reverts commit 4ba8f0dc993953d3ddda6328e3ef17a2fc2cbde5.

commit 6af0f442c7d16ab526c0e6859aa97ff217b73f99
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-01-12 15:32:16 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:58:54 +0900

    Revert "Make stack bounds detection work with ASAN"

    This reverts commit 6185cfdf38e26026c6d38220eeca48689e54cdcf.

commit ac0ba3c07ee3f700b0b45176a7bdd322d8773e27
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-01-12 15:32:16 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:58:54 +0900

    Revert "Allow each_stack_location to accept context for the callback"

    This reverts commit 179228cd83a926efcd79ca5d0c6ed6af0c2389c0.

commit 33a03cb236057b1dc044fc76bf51b263d6cbda81
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-01-12 15:32:16 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:58:54 +0900

    Revert "Define special macros for asan/msan being enabled"

    This reverts commit bdafad879093ef16a9a649154c4b2e4ebf492656.

commit 688a6ff51053ddebaf4c34dbf74ac0e5f026157b
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-01-12 15:32:16 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:58:54 +0900

    Revert "Mark asan fake stacks during machine stack marking"

    This reverts commit d10bc3a2b8300cffc383e10c3730871e851be24c.

commit 18d85af9698522d6ce356a070a9bd01906a8aaed
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-01-12 15:58:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-12 15:58:39 +0900

    Update bundled gems list as of 2024-01-12

commit 51ba65493905fe066e6745c745c5ada069d629a2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-12 15:26:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-12 15:36:08 +0900

    Set prerelease flag if tag includes preview or rc

commit d10bc3a2b8300cffc383e10c3730871e851be24c
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-12 14:19:31 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:29:48 +0900

    Mark asan fake stacks during machine stack marking

    ASAN leaves a pointer to the fake frame on the stack; we can use the
    __asan_addr_is_in_fake_stack API to work out the extent of the fake
    stack and thus mark any VALUEs contained therein.

    [Bug #20001]

commit bdafad879093ef16a9a649154c4b2e4ebf492656
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-12 12:57:10 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:29:48 +0900

    Define special macros for asan/msan being enabled

    __has_feature is a clang-ism, and GCC has a different way to tell if
    sanitizers are enabled. For this reason, I don't want to spray
    __has_feature all over the codebase for other places where conditional
    compilation based on sanitizers is required.

    [Bug #20001]

commit 179228cd83a926efcd79ca5d0c6ed6af0c2389c0
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-12 12:47:15 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:29:48 +0900

    Allow each_stack_location to accept context for the callback

    This is preparing for a more specialised, asan-aware version of
    gc_mark_maybe which needs some additional context passed through.

    [Bug #20001]

commit 6185cfdf38e26026c6d38220eeca48689e54cdcf
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-12 11:34:43 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:29:48 +0900

    Make stack bounds detection work with ASAN

    Where a local variable is used as part of the stack bounds detection, it
    has to actually be on the stack. ASAN can put local variable on "fake
    stacks", however, with addresses in different memory mappings. This
    completely destroys the stack bounds calculation, and can lead to e.g.
    things not getting GC marked on the machine stack or stackoverflow
    checks that always fail.

    The __asan_addr_is_in_fake_stack helper can be used to get the _real_
    stack address of such variables, and thus perform the stack size
    calculation properly

    [Bug #20001]

commit 4ba8f0dc993953d3ddda6328e3ef17a2fc2cbde5
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-12 11:24:55 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:29:48 +0900

    Pass down "stack start" variables from closer to the top of the stack

    The implementation of `native_thread_init_stack` for the various
    threading models can use the address of a local variable as part of the
    calculation of the machine stack extents:

    * pthreads uses it as a lower-bound on the start of the stack, because
      glibc (and maybe other libcs) can store its own data on the stack
      before calling into user code on thread creation.
    * win32 uses it as an argument to VirtualQuery, which gets the extent of
      the memory mapping which contains the variable

    However, the local being used for this is actually allocated _inside_
    the `native_thread_init_stack` frame; that means the caller might
    allocate a VALUE on the stack that actually lies outside the bounds
    stored in machine.stack_{start,end}.

    A local variable from one level above the topmost frame that stores
    VALUEs on the stack must be drilled down into the call to
    `native_thread_init_stack` to be used in the calculation. This probably
    doesn't _really_ matter for the win32 case (they'll be in the same
    memory mapping so VirtualQuery should return the same thing), but
    definitely could matter for the pthreads case.

    [Bug #20001]

commit 6a45320c256f25e9fcdf9d969a45b85c885e28f2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-12 14:55:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-12 14:56:04 +0900

    Truncate only prefix. Don't remove v from like preview1

commit 18573b8d054f655e3e8b24902985bf4028f88810
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-01-12 04:57:03 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-01-12 09:53:20 +0900

    Avoid reading unused lvars in Primitive.cexpr

    Previously on builds with optimizations disabled, this could result in
    an out of bounds read. When we had all of:
    * built with -O0
    * Leaf builtin
    * Primitive.mandatory_only
    * "no args builtin", called by vm_call_single_noarg_inline_builti
    * The stack is escaped to the heap via binding or a proc

    This is because mk_builtin_loader generated reads for all locals
    regardless of whether they were used and in the case we generated a
    mandatory_only iseq that would include more variables than were actually
    available.

    On optimized builds, the invalid accesses would be optimized away, and
    this also was often unnoticed as the invalid access would just hit
    another part of the stack unless it had been escaped to the heap.

    The fix here is imperfect, as this could have false positives, but since
    Primitive.cexpr! is only available within the cruby codebase itself
    that's probably fine as a proper fix would be much more challenging (the
    only false positives we found were in rjit.rb).

    Fixes [Bug #20178]

    Co-authored-by: Adam Hess <HParker@github.com>

commit 371256775f56881fc6a4d41d47afa63e00199c0d
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-12 07:50:09 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-12 08:53:52 +0900

    Anonymous rest nodes should increase the local table size

    When we calculate the local table size, we need to account for anonymous
    "rest" parameters.  Since they don't have a name, they won't be in the
    "locals" table that Prism provides, but we need to reserve room for them
    anyway.

    Fixes: https://github.com/ruby/prism/issues/2154

commit eb8df2fa7aa7b008bd8dbce765694635a564e8f9
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-12 05:52:14 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-12 05:58:05 +0900

    Update Kernel#load documentation to remove phrase related to protection

    Code loaded via Kernel#load can modify the global namespace even
    if the wrap parameter is provided.

    Fixes [Bug #19990]

commit 76a207e5420b9ecdcc62c0d571f869c022d5d36e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-12 05:47:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-12 05:52:48 +0900

    [ruby/prism] Fix nested default value error

    https://github.com/ruby/prism/commit/ef26b283de

commit 44d0c5ae3f1e1586f9dac07dd19f65b80fb8e2b4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-12 03:51:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-12 04:59:37 +0900

    [PRISM] Raise syntax errors when found

commit 45dd8edf82d2648fed51b0e65f6fc1cf4473038d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-12 02:27:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-12 04:58:24 +0900

    [PRISM] Fix splat inside of aset

    Fixes ruby/prism#2146.

commit f2149dc094a92bd1aa29622f9585247d491f7a08
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-11 09:27:00 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-12 04:31:59 +0900

    [PRISM] Support repeated required parameter names.

    Fixes: https://github.com/ruby/prism/issues/2062

    This patch only fixes positional parameters, we still need to fix the
    other cases spelled out in test/prism/fixtures/repeat_parameters.txt

commit 72be7860170d2ccec7713a2b0ef43da133799d71
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-12 04:19:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-12 04:27:14 +0900

    [ruby/prism] Allow fsl comment to set to false

    https://github.com/ruby/prism/commit/b4db7bb703

commit 242dc537f93a0e11d91e729823cf8df2caec6abd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-12 04:14:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-12 04:14:25 +0900

    [ruby/prism] Exclude encodings that are dynamic

    https://github.com/ruby/prism/commit/6749146c0e

commit 6ff9f1aa51bf53024a7545844ff0f3f53111403f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-12 02:27:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-12 03:36:32 +0900

    [ruby/prism] Provide ability to format errors

    https://github.com/ruby/prism/commit/27985b0e7e

commit 057df4379f856a868f588cdc769f397f5739983d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-10 03:17:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-12 00:09:53 +0900

    Free environ when RUBY_FREE_AT_EXIT

    The environ is malloc'd, so it gets reported as a memory leak. This
    commit adds ruby_free_proctitle which frees it during shutdown when
    RUBY_FREE_AT_EXIT is set.

        STACK OF 1 INSTANCE OF 'ROOT LEAK: <calloc in ruby_init_setproctitle>':
        5   dyld                                  0x18b7090e0 start + 2360
        4   ruby                                  0x10000e3a8 main + 100  main.c:58
        3   ruby                                  0x1000b4dfc ruby_options + 180  eval.c:121
        2   ruby                                  0x1001c5f70 ruby_process_options + 200  ruby.c:3014
        1   ruby                                  0x10035c9fc ruby_init_setproctitle + 76  setproctitle.c:105
        0   libsystem_malloc.dylib                0x18b8c7b78 _malloc_zone_calloc_instrumented_or_legacy + 100

commit 4e0c2f05efc9415b52b50ee65401c5b511d269e7
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2023-12-01 01:19:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 22:44:03 +0900

    [ruby/pp] Add TruffleRuby in CI

    * Only 2 cyclic tests are failing, with the ... in a slightly different place in the output.

    https://github.com/ruby/pp/commit/6e5c7d741e

commit 1ed3b6037566cef3d56e882eb0fcf1b14553f540
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2023-12-01 01:10:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 22:44:01 +0900

    [ruby/pp] Fix pretty printing a Data subclass instance when the subclass is anonymous

    * It would be "#<data  a=42>" (double space) instead of "#<data a=42>" (like #inspect).

    https://github.com/ruby/pp/commit/bed72bfcb8

commit 62382a434561b6fe56d479b8800cf6ccf017463c
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2023-12-01 01:04:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 22:44:00 +0900

    [ruby/pp] Use .class.members for pretty printing Data

    * Data#members might not be defined, instead it might be defined
      on Data subclasses or a module included there. This is notably the
      case on TruffleRuby which defines it there for optimization purposes.
      In fact the mere presence of Data#members implies a megamorphic call
      inside, so it seems best to avoid relying on its existence.

    https://github.com/ruby/pp/commit/6a97d36fbb

commit 3b9cc22536f2a72ece034881aaf568767e8e1e86
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2023-12-01 01:03:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 22:44:00 +0900

    [ruby/pp] Use a proper feature check to check if Data is defined

    https://github.com/ruby/pp/commit/ed602b9f2b

commit 80f1c1e2937939d95374aee7215a68cef9c7175a
  Author:     Hiroya Fujinami <make.just.on@gmail.com>
  AuthorDate: 2024-01-11 22:38:44 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-11 22:38:44 +0900

    Remove a unused variable in i_print_name_entry (#9468)

    A warning for this is shown when `ONIG_DEBUG_COMPILE` is enabled.

commit 3d3bc029c5b48ddfbb7c5f7b062cb364894c64af
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-11 18:46:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-11 18:46:51 +0900

    Reject encodings determined at runtime as source code encodings

    The encodings determined at runtime are affected by the runtime
    environment, such as the OS and locale, while the file contents are
    not.

commit 7cc8d58cc9596d1472f51a3767f6d35c736041ac
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-11 17:46:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-11 17:46:09 +0900

    Remove duplicate function `nd_st_key_val`

commit d6741572ef2f6ebc753749ee19a10728d0d1cdc6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-11 17:39:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 17:39:52 +0900

    [ruby/rdoc] Undo accidentally deleted lines

    https://github.com/ruby/rdoc/commit/4e14158255

commit b10aa7757e8ef9d7625a7d8cfe962f3b4e8245dd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 17:36:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 17:36:51 +0900

    Disable to add latest label when running with --no-dry-run option

commit 78cd5b36576a55429bd15f5cabacfd4e790c0076
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-01-11 17:04:13 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-01-11 17:04:13 +0900

    Prevent syntax warnings in test/ruby/test_regexp.rb

commit 60844ecf2e63a4c0ff1c248908497a7b6665a42a
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-01-11 17:03:22 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-01-11 17:03:22 +0900

    Prevent a warning: ambiguous first argument

commit 7558625be1d1f8160e7e138a773925b75a87f283
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-11 14:54:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 15:55:39 +0900

    [ruby/rdoc] Respect modeline to detect parser

    https://github.com/ruby/rdoc/commit/485468f06f

commit 505ac323e3654e57dfe338712a6a9b63fb1e5574
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 15:21:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 15:21:45 +0900

    Try to fixup ad3db6711c4aa48c82f4091342aab7394ee45736

      directory value may be not support glob files from subdirectories

commit 0ebc3f7969c8ad46c22b856c12e742806b1ddde9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 15:02:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 15:02:13 +0900

    Revert "Update files under .github other than workflows"

      This reverts commit ad3db6711c4aa48c82f4091342aab7394ee45736.

      Above commit break dependabot update since Nov, 2023.

commit f4a347b90f2f4c61641582cd60f3cf15a1e2e979
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-23 06:18:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Fix Bundler daily CI

    There is another place artifice usage was making the copy of vendored
    http in ruby-core be loaded instead of the one under test.

    Remove unnecessary usage of artifice.

    https://github.com/rubygems/rubygems/commit/d2488199b0

commit 0156b7416cf05880460ec6a3c2cc7b7c2ea863db
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-27 04:21:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Always avoid "Updating rubygems-update" message

    The fact that under the hood the upgrade is done through a
    rubygems-update gem is an implementation detail that does not really
    help users to know.

    Plus, it reads a bit weird.

    https://github.com/rubygems/rubygems/commit/0fa5c50258

commit 3980cebda5438b3f7803015f37c25d94c0573b5f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-27 04:55:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Make `gem update --system` respect ruby version constraints

    https://github.com/rubygems/rubygems/commit/36052abbe2

commit aa908aa0655b6c0a566675e1ef9104aae7a84925
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-27 04:23:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Remove old condition no longer necessary

    https://github.com/rubygems/rubygems/commit/701980b240

commit ef0705b3c2339055d9b5c669fb6192275c39020a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-06 03:47:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Fix development dependency not being added if introduced by two gemspecs

    https://github.com/rubygems/rubygems/commit/adc05bf1c3

commit b8f859f0bf21d67d962d12a99e1f2d7d2f20e3e5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-23 02:59:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    Complete missing specs for platforms after resolution

    If two platform specific variants have different dependencies, then
    resolution may fallback to the non platform specific variant. However,
    the platform specific variants that have the same dependencies as the
    non specific one can still be kept.

    Do a pass to complete those after resolution.

commit 580d4a4053067dde69be81133a55bd1bf8ef65c8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-23 03:29:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Show diff on source control errors

    https://github.com/rubygems/rubygems/commit/d728fa1b04

commit 7f0dbfc9c80777b0f189bdaf1b2f70f309ddab31
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-23 02:58:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Move resetting the spec set to where it becomes necessary

    https://github.com/rubygems/rubygems/commit/a8b547c6b1

commit 51d2a8e983ddc25e2333706f0fc6f1c01e12fa06
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-23 02:27:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Extract a couple of helper methods

    https://github.com/rubygems/rubygems/commit/880a4eae7f

commit ab1936faf9197e0466a581de19f4023fdfe10204
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-23 02:16:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Remove methods to clarify what they do

    https://github.com/rubygems/rubygems/commit/1d15d8a8ff

commit e90081446785273d7df8b37f0ba384c810738d0f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-23 02:16:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Make private helper private

    https://github.com/rubygems/rubygems/commit/de9dc90026

commit 76916217b6dcb5171a41aad07420f2d8b7d631ca
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-23 02:15:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Extract `SpecSet#reset!` helper

    https://github.com/rubygems/rubygems/commit/41f9b4d940

commit acdc6abca82ddba8312e2bfd7968aaaaf3337a49
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 18:37:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Disable false positive correction

    https://github.com/rubygems/rubygems/commit/e75cca9496

commit 0e8b1973b429d0f2ed9200ec7c68ca4349d5c425
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 17:03:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] bin/rubocop -A --only Style/RedundantReturn

    https://github.com/rubygems/rubygems/commit/ade728914f

commit a1d5c6555efbec37a85a816c0617071ff4eccb97
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 17:03:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] bin/rubocop -A --only Layout/ExtraSpacing

    https://github.com/rubygems/rubygems/commit/39be5cd236

commit 983ca8e9c97b3065ce909f5595eeb1ed6bc0a85f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 17:03:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] bin/rubocop -A --only Layout/SpaceBeforeFirstArg

    https://github.com/rubygems/rubygems/commit/cfcc33d480

commit 888a8f4318b7182addc9bf7ff096fd3c3327daba
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 17:02:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] bin/rubocop -A --only Style/StringLiteralsInInterpolation

    https://github.com/rubygems/rubygems/commit/2333f5f9c5

commit ea31461ba0cd9eb2fb68fd5b13266e75c343a471
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 17:02:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] bin/rubocop -A --only Style/StringLiterals

    https://github.com/rubygems/rubygems/commit/f25013bcc0

commit 443e4178859ed4d2789c3e5c982647a8e10d7021
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 17:02:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] bin/rubocop -A --only Style/RedundantParentheses

    https://github.com/rubygems/rubygems/commit/7cc647c8f3

commit ff0119354ee4bd836749b171e95458affa10b064
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 17:01:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] bin/rubocop -A --only Performance/StringInclude

    https://github.com/rubygems/rubygems/commit/34df962cf4

commit 08e22c64b34e2809ba6cafc82615b9c1fa8185fe
  Author:     Kenta Murata <mrkn@mrkn.jp>
  AuthorDate: 2023-12-26 10:25:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 13:21:38 +0900

    [rubygems/rubygems] Use cache_home instead of data_home in default_spec_cache_dir

    https://github.com/rubygems/rubygems/commit/d2801fcfde

commit 94e1d3f3fadb6181301a5279a7c80d6c5ae25d51
  Author:     Cody Cutrer <cody@instructure.com>
  AuthorDate: 2024-01-10 03:15:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 13:19:13 +0900

    [rubygems/rubygems] include MatchMetadata in Bundler::LazySpecification

    I'm running into a case in my plugin where matches_current_metadata? is
    getting called on a lazy specification, and adding this fixes it

    https://github.com/rubygems/rubygems/commit/24f962cb42

commit 1bd98c820da46a05328d2d53b8f748f28e7ee8f7
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-01-10 19:52:53 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-01-11 12:38:16 +0900

    Remove setaffinity of pthread for getaddrinfo

    It looks like `sched_getcpu(3)` returns a strange number on some
    (virtual?) environments.

    I decided to remove the setaffinity mechanism because the performance
    does not appear to degrade on a quick benchmark even if removed.

    [Bug #20172]

commit a9712294622381b9545ed393d68616819b5af26f
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-01-09 00:29:06 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-11 12:26:30 +0900

    Fixed return values for some node types in nd_st_key function

commit 76a8c963c7ad975b7bbfc1c4979bf7a2de15af27
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-08-18 22:19:21 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-11 11:12:17 +0900

    Add a test for what happens with concurent calls to waitpid

    Ruby 3.1 and 3.2 have a bug in their _implementation_, for which I'm
    backporting a fix. However, the current development branch doesn't have
    the issue (because the MJIT -> RJIT change refactored how waitpid worked
    substantially). I do however want to commit the test which verifies
    that waitpid works properly on master.

    [Fixes #19387]

commit 27688b6a1df7b58b539165c7d17b359db5142bd7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 09:33:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 10:40:03 +0900

    [rubygems/rubygems] Update comment for minitest helper

    https://github.com/rubygems/rubygems/commit/77b0805474

commit 9f784915cdb0b50221b929413d9794ee8f591782
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 16:36:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 10:40:02 +0900

    [rubygems/rubygems] bin/rubocop -A test/rubygems/helper.rb

    https://github.com/rubygems/rubygems/commit/07ebc9f844

commit bd9548810c5469a03c69bba19b24a673cca15988
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 16:18:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 10:40:01 +0900

    [rubygems/rubygems] Removed redundant block

    https://github.com/rubygems/rubygems/commit/d059b9ec4d

commit d5e83a0601f415bc542af2aded1e5094d4b9c48c
  Author:     Brave Hager <bhager@justworks.com>
  AuthorDate: 2024-01-10 23:49:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 09:51:48 +0900

    [rubygems/rubygems] Update documentation to use squiggly heredoc

    https://github.com/rubygems/rubygems/commit/4691b959ad

commit a6ba45e9b0e224be350556299f3d890171117d9e
  Author:     S.H <gamelinks007@gmail.com>
  AuthorDate: 2024-01-11 09:21:55 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-11 09:21:55 +0900

    Remove unnecessary semicolons (#9469)

commit ef751252711ca7ecabb3e4ad9214fa0d1d63608a
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-11 06:07:34 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-11 09:02:38 +0900

    Make defined? for op asgn expressions to constants use "assignment"

    Previously, it used "expression", as that was the default.  However,
    op asgn expressions to constants use the NODE_OP_CDECL, so recognize
    that node type as assignement.

    Fixes [Bug #20111]

commit 25f5b83689fc6dd137d45b634a0cd6e8bd024728
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-27 18:26:17 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-11 08:44:57 +0900

    Fix crash when printing RGENGC_DEBUG=5 output from GC

    I was trying to debug an (unrelated) issue in the GC, and wanted to turn
    on the trace-level GC output by compiling it with -DRGENGC_DEBUG=5.
    Unfortunately, this actually causes a crash in newobj_init() because the
    code there tries to log the obj_info() of the newly created object.
    However, the object is not actually sufficiently set up for some of the
    things that obj_info() tries to do:

    * The instance variable table for a class is not yet initialized, and
      when using variable-length RVALUES, said ivar table is embedded in
      as-yet unitialized memory after the struct RValue. Attempting to read
      this, as obj_info() does, causes a crash.
    * T_DATA variables need to dereference their ->type field to print out
      the underlying C type name, which is not set up until newobj_fill() is
      called.

    To fix this, create a new method `obj_info_basic`, which dumps out only
    the parts of the object that are valid before the object is fully
    initialized.

    [Fixes #18795]

commit 5906f6a50ed4c6d3e23595ecf5feea615f0965d5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-11 03:47:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-11 05:36:19 +0900

    Add a GitHub workflow for prism btests

commit 8333845b0b95fa7195ed15688a5ef50ff66c7e1f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-11 05:17:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 05:24:31 +0900

    [ruby/prism] Unary symbols that cannot be binary should drop @

    https://github.com/ruby/prism/commit/d139af033f

commit 51061b6631f639d1a3724eb54aaae5b7aed734a7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-11 00:58:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-11 03:32:19 +0900

    [PRISM] Don't increment argc for PM_ASSOC_SPLAT_NODE

    Fixes ruby/prism#2087.

commit 015b0e2e1d312e2be60551587389c8da5c585e6f
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-11 02:37:08 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-11 03:19:15 +0900

    YJIT: Fix unused warnings

    ```
    warning: unused import: `condition::Condition`
      --> src/asm/arm64/arg/mod.rs:13:9
       |
    13 | pub use condition::Condition;
       |         ^^^^^^^^^^^^^^^^^^^^
       |
       = note: `#[warn(unused_imports)]` on by default

    warning: unused import: `rb_yjit_fix_mul_fix as rb_fix_mul_fix`
       --> src/cruby.rs:188:9
        |
    188 | pub use rb_yjit_fix_mul_fix as rb_fix_mul_fix;
        |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    warning: unused import: `rb_insn_len as raw_insn_len`
       --> src/cruby.rs:142:9
        |
    142 | pub use rb_insn_len as raw_insn_len;
        |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |
        = note: `#[warn(unused_imports)]` on by default
    ```

    Make asm public so it stops warning about unused public stuff in there.

commit 82b57d7bfeefd717c10f7a5a3484aca6b3e708a3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-09 01:32:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-11 01:20:26 +0900

    Fix memory leak when duplicating too complex object

    [Bug #20162]

    Creating a ST table then calling st_replace leaks memory because the
    st_replace overwrites the ST table without freeing any of the existing
    memory. This commit changes it to use st_copy instead.

    For example:

        RubyVM::Shape.exhaust_shapes

        o = Object.new
        o.instance_variable_set(:@a, 0)

        10.times do
          100_000.times { o.dup }

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        23264
        33600
        42672
        52160
        61600
        71728
        81056
        90528
        100560
        109840

    After:

        14752
        14816
        15584
        15584
        15664
        15664
        15664
        15664
        15664
        15664

commit f165fa09e7bc36f90d3862e537f071f0e1339428
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-10 04:53:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 00:24:26 +0900

    [ruby/prism] address feedback

    https://github.com/ruby/prism/commit/ed183ad30c

commit 881c5a1846c220662a4ad49208a28fe0287b3c58
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-10 03:12:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 00:24:26 +0900

    [ruby/prism] Add a "repeated flag" to parameter nodes

    It's possible to repeat parameters in method definitions like so:

    ```ruby
    def foo(_a, _a)
    end
    ```

    The compiler needs to know to adjust the local table size to account for
    these duplicate names.  We'll use the repeated parameter flag to account
    for the extra stack space required

    https://github.com/ruby/prism/commit/b443cb1f60

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>
    Co-Authored-By: Jemma Issroff <jemmaissroff@gmail.com>

commit 8940922d1889f885d4f26b4c815beb136a9a2095
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-08 04:26:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-10 23:46:19 +0900

    [DOC] Improve doc for GC.latest_compact_info

commit 31371b2e24b03ccb0a03b622faf8c65e6cf6a31a
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-12-28 14:08:54 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-10 19:02:23 +0900

    Fix CRLF -> LF conversion on read for rb_io_fdopen & rb_file_open

    When opening a file with `File.open`, and then setting the encoding with
    `IO#set_encoding`, it still correctly performs CRLF -> LF conversion on
    Windows when reading files with a CRLF line ending in them (in text
    mode).

    However, the file is opened instead with either the `rb_io_fdopen` or
    `rb_file_open` APIs from C, the CRLF conversion is _NOT_ set up
    correctly; it works if the encoding is not specified, but if
    `IO#set_encoding` is called, the conversion stops happening. This seems
    to be because the encflags never get ECONV_DEFAULT_NEWLINE_DECORATOR
    set in these codepaths.

    Concretely, this means that the conversion doesn't happen in the
    following circumstances:
      * When loading ruby files with require (that calls rb_io_fdopen)
      * When parsing ruuby files with RubyVM::AbstractSyntaxTree (that calls
        rb_file_open).
    This then causes the ErrorHighlight tests to fail on windows if git has
    checked them out with CRLF line endings - the error messages it's
    testing wind up with literal \r\n sequences in them because the iseq
    text from the parser contains un-newline-converted strings.

    This commit fixes the problem by copy-pasting the relevant snippet which
    sets this up in `rb_io_extract_modeenc` (for the File.open path) into
    the relevant codepaths for `rb_io_fdopen` and `rb_file_open`.

    [Bug #20101]

commit 1500946ce4ed7d89ed33059e3629e526b1dc207a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 16:15:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-10 17:28:16 +0900

    Added mutex_m to bundled gems

commit d16f992e1bfacb638b8a9b8b5a7ef8149ee1d50d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-09 16:33:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-10 17:28:16 +0900

    Extract mutex_m as bundled gems

commit e59a7304779c6a51a89ff39695743a470f086c4e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-08 21:53:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-10 14:06:33 +0900

    `st_index_t` is not `VALUE`

commit 48fd311721a3d6c56584bebafb48fa6c8e69eb5f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-10 13:49:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-10 13:49:00 +0900

    Constify

commit 3ecfea60757e45aa3977f9a1151b590d02c0da5b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 13:41:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-10 13:43:04 +0900

    Need newline after changes list

commit 8b65d15ff079ebcf7fa9f68a1163f76e87c47764
  Author:     Hiroya Fujinami <make.just.on@gmail.com>
  AuthorDate: 2024-01-10 13:40:20 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-10 13:40:20 +0900

    Fix test case for `test_match_cache_with_peek_optimization` (#9466)

commit a1949df5474429641446c89ca9664c12a32868d2
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-01-10 12:13:19 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-10 12:58:19 +0900

    Remove unnecessary semicolon and add break

commit 597955aae8b35c8955e292f589ef43b72d23f852
  Author:     Hiroya Fujinami <make.just.on@gmail.com>
  AuthorDate: 2024-01-10 11:22:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-10 11:22:23 +0900

    Fix to work match cache with peek next optimization (#9459)

commit 1817d644ee827f10516947c4d999a8120017025b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2016-03-08 16:26:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-10 09:18:18 +0900

    mkmf.rb: use kwargs

commit c06745fec97058e9e9a569d1a590b53c2b6919cc
  Author:     Akshay Birajdar <akshaybirajdar05@gmail.com>
  AuthorDate: 2024-01-10 01:15:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-10 04:13:20 +0900

    [DOC] Enhance documentation for `Array#zip`

commit 80da9b1547ff69e2cd226f2fa7c43a9adf77de85
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-10 04:02:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-10 04:02:26 +0900

    [ruby/prism] Clarify __END__ comment

    https://github.com/ruby/prism/commit/3e36d5eabc

commit 55b7121358e2bed9b90001405b651f57fafbeaad
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-10 00:52:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-10 02:24:18 +0900

    [PRISM] Frozen string literals should be fstrings

    Frozen string literals should not just be frozen, but deduplicated as an
    fstring so that two string literals with the same contents are the exact
    same object.

    Fixes ruby/prism#2095.

commit 7015cb2479309541c58e4b269d6cb55f097be35e
  Author:     Mark Young <mark.young@atg.auto>
  AuthorDate: 2024-01-10 00:47:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-10 01:07:39 +0900

    [ruby/abbrev] Provide a 'Changelog' link on rubygems.org/gems/abbrev

    By providing a 'changelog_uri' in the metadata of the gemspec a
    'Changelog' link will be shown on https://rubygems.org/gems/abbrev
    which makes it quick and easy for someone to check on the changes
    introduced with a new version.

    Details of this functionality can be found on https://guides.rubygems.org/specification-reference/

    https://github.com/ruby/abbrev/commit/9643a03ee8

commit 88d7838445ec84b1cc630ce3bd97bb71cd0aefd4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-10 00:01:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-10 00:15:52 +0900

    [ruby/prism] Fix assertion on spanning heredocs

    https://github.com/ruby/prism/commit/e190308845

commit 02d8bad6e12b8614f007c8c30eb50aff4bddcfb4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-09 05:14:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-09 23:41:02 +0900

    Fix memory leak in parser for invalid syntax

    The strterm is leaked when there is invalid syntax.

    For example:

        10.times do
          100_000.times do
            begin
              RubyVM::InstructionSequence.compile('private def foo = puts "Hello"')
            rescue SyntaxError
            end
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        20384
        26256
        32592
        36720
        42016
        47888
        53248
        57456
        62928
        65936

    After:

        16720
        17488
        17616
        17616
        17616
        17616
        17616
        17616
        17616
        16032

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>

commit 38bc107f0ba75f93717cf62ed1fe3d85f315d9d3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-09 18:47:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 18:47:15 +0900

    Convert a series of `else if` lines to a `switch`

commit 149373ce7f7324c56254f10d05534e1c17079b24
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-09 17:14:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-09 17:14:55 +0900

    racc is extracted at Ruby 3.3, not 3.4

commit 23345cc699e032bc95bad6f00e8a977f8be450f7
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-09 17:12:11 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-09 17:12:11 +0900

    Add Visual Studio 2015 job on GitHub Actions (#9452)

    [[Feature #19982]](https://bugs.ruby-lang.org/issues/19982)

commit 7285b165a46dccd4b863c328e731ad234d567b56
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-09 15:14:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 16:42:20 +0900

    outdate-bundled-gems.rb: Make platform and version options optional

commit 1288e7e9629a5aac5346a467ef294c457e3364ef
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-09 14:52:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 16:42:20 +0900

    outdate-bundled-gems.rb: Remove timestamp files for revisions to test

commit 60cd5230f6d161b56b7d204c1af25f73337ea11b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-09 14:27:46 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 16:42:20 +0900

    outdate-bundled-gems.rb: Sort outputs in depth order

commit 72a78ecd3371ff08ad2c9aa10f5ae16ee8645c32
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-09 11:11:53 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 16:42:20 +0900

    outdate-bundled-gems.rb: Add `--all` option

    Unless this option is given, keep other gems that may be used by
    `test-bundled-gems`.

commit bf108636dff335903751d5a4e15d2293d7b9293f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-09 11:09:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 16:42:20 +0900

    outdate-bundled-gems.rb: Add `--only={all,curdir,srcdir}` option

commit 963131a2d90ac72eaad8c1c91fe8abfa186391e8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-01-16 19:20:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 16:42:20 +0900

    outdate-bundled-gems.rb: Pass platform and version explicitly

    For different version baseruby, use the target platform and version
    instead of the info of baseruby.

commit 8f61617a95d3a447c9698e52d5c2f2dc63d29a9f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-12-21 20:52:55 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 16:42:20 +0900

    outdate-bundled-gems.rb: Do not clean the same directory twice

commit db476cc71cb6c690bd5b32cebebf7ebcbff604ad
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-01 01:31:28 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-09 16:07:19 +0900

    Introduce NODE_SYM to manage symbol literal

    `:sym` was managed by `NODE_LIT` with `Symbol` object.
    This commit introduces `NODE_SYM` so that

    1. Symbol literal is detectable from AST Node
    2. Reduce dependency on ruby object

commit f82a6172a2a96815f9478410116d35c76b56efb5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-09 14:53:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-09 14:53:22 +0900

    Avoid the duplicated entries of GitHub releases

commit 4b01983bf81259e3d1837b4c8a27c440c0278403
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-09 13:05:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 13:05:34 +0900

    Simplify empty hahs with DSTAR

commit a4406bc89a46e9b732c1ce649b28c801e21be5c1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-09 13:04:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 13:04:26 +0900

    Extract repeating NODE references as a local variable

commit 37ed86fd3c798e298fad9db6e7df1f3f45e1e03b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-09 00:09:13 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-09 09:50:34 +0900

    Fix memory leak in regexp grapheme clusters

    [Bug #20161]

    The cc->mbuf gets overwritten, so we need to free it to not leak memory.

    For example:

        str = "hello world".encode(Encoding::UTF_32LE)

        10.times do
          1_000.times do
            str.grapheme_clusters
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        15536
        15760
        15920
        16144
        16304
        16480
        16640
        16784
        17008
        17280

    After:

        15584
        15584
        15760
        15824
        15888
        15888
        15888
        15888
        16048
        16112

commit 0a30fc6211230f23a84d63344cba32e879ab4770
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-09 08:50:09 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-09 08:51:15 +0900

    Remove obsoleted lldb_yjit.py

    which clearly seems to be written for Ruby 3.1 YJIT that was not
    rewritten in Rust yet. Since it has been left there as is, I don't think
    anybody is actively using this script. We could add a new one if we need
    it again.

commit 5ecf2d2880a5035c36996b5bcbdf4ec3af9004fb
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-08 21:09:10 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-09 07:42:44 +0900

    Use `strcmp` to compare strings

commit 544c87d00980f4b1332c14fbc193d2c20733662a
  Author:     Avdi Grimm <avdi@users.noreply.github.com>
  AuthorDate: 2024-01-09 05:20:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-09 06:45:25 +0900

    [rubygems/rubygems] Refer to underscores as underscores

    https://github.com/rubygems/rubygems/commit/aa3ae5d245

commit 41dd15944f8843539a070a6aa1b01a71421ce4d0
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-01-09 00:27:40 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-01-09 05:43:28 +0900

    fix `rb_thread_wait_for_single_fd` on non MN case

    `rb_thread_wait_for_single_fd(fd)` waits until `fd` is ready.
    Without MN it shouldn't use `thread_io_wait_events()` for the
    retry checking (alwasy false if MN is not active).

commit 47ff4a165802236ae951c39fda1adf2887ad75b1
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-08 22:31:29 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-09 04:55:26 +0900

    [PRISM] Blocks should track the found local depth

    Rather than rely purely on local depth offset. This is because we can't
    assume a specific depth offset for all variable accesses happening
    within a block in the same way that we can for rescue/ensure/for or
    other nodes that push scopes.

    This is because block parameters are defined in the scope level, so we
    always need to start from the top most scope and walk backwards.

    Fixes ruby/prism@2053

commit c39c49cb24c6a5c457bae6a75bc55f6a9e509b39
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 00:01:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-09 03:47:18 +0900

    [ruby/prism] Add missing comment key

    https://github.com/ruby/prism/commit/723480a107

commit eef74d836775fda3f34cba7ee44ee500613a0ef3
  Author:     matthew healy <matthew-healy@users.noreply.github.com>
  AuthorDate: 2024-01-08 23:52:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-09 03:47:17 +0900

    [ruby/prism] Fix spacing in documentation comment

    https://github.com/ruby/prism/commit/8408961e76

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit d02455afc1a73d2e248890f07ae7888b52294f5a
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-07 21:54:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-09 03:47:17 +0900

    [ruby/prism] Add comments documenting RangeNode fields

    https://github.com/ruby/prism/commit/e6aef6499b

commit 1e7d1da3b0798d92cde87578d9b267f9fb068c0a
  Author:     matthew healy <matthew-healy@users.noreply.github.com>
  AuthorDate: 2024-01-08 23:51:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-09 03:47:06 +0900

    [ruby/prism] Clarify keys and values in AssocNode must be non-void

    https://github.com/ruby/prism/commit/0caca53a2c

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit b57c5e560e4302e6f9dd2b2e846575a178086333
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-07 19:07:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-09 03:47:06 +0900

    [ruby/prism] Add comments for AssocSplatNode fields

    https://github.com/ruby/prism/commit/a0fd874848

commit 04ae8fb3a953454b6d79f239e28fc779e76aaff4
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-07 18:56:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-09 03:47:06 +0900

    [ruby/prism] Add comments for AssocNode fields

    https://github.com/ruby/prism/commit/fb60072a1e

commit 7e09dd433b2230c6bf4158a5157c14246510b746
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-07 18:26:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-09 03:47:05 +0900

    [ruby/prism] Add comments for HashNode fields

    https://github.com/ruby/prism/commit/649e209519

commit a0eecfb5bae66470ccf40e27b9193fbf5c76618f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-09 02:34:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-09 02:34:57 +0900

    YJIT: Fallback Integer#<< if a shift amount varies (#9426)

    * YJIT: Fallback Integer#<< if a shift amount varies

    * YJIT: Do not fallback lshift in the first chain

commit 85a7da742a81d87322878a7f66c44b16c7cb9b0b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-08 04:08:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-09 01:30:29 +0900

    [DOC] Escape File in documentation

commit d1d50a050583da978fcf87b41ddc807bf93ede9e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-08 23:21:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-08 23:34:59 +0900

    [ruby/prism] Handle parsing a line break in a receiver of a method

    https://github.com/ruby/prism/commit/4d5f43ecbc

commit b3d612804946e841e47d14e09b6839224a79c1a4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-05 05:35:34 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-08 23:14:04 +0900

    Fix memory leak in grapheme clusters

    [Bug #20150]

    String#grapheme_cluters and String#each_grapheme_cluster leaks memory
    because if the string is not UTF-8, then the created regex will not
    be freed.

    For example:

        str = "hello world".encode(Encoding::UTF_32LE)

        10.times do
          1_000.times do
            str.grapheme_clusters
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        26000
        42256
        59008
        75792
        92528
        109232
        125936
        142672
        159392
        176160

    After:

        9264
        9504
        9808
        10000
        10128
        10224
        10352
        10544
        10704
        10896

commit 8f4eda50921f9adc20df3138208e8ebd0e7d582e
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-01-08 21:42:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-08 21:42:39 +0900

    [ruby/irb] Make SourceFinder ignore binary sources
    (https://github.com/ruby/irb/pull/836)

    https://github.com/ruby/irb/commit/73b35bb7f4

commit 41e2d180a3466a8d18c44246144a912adadd9d1a
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-08 14:03:54 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-08 18:48:24 +0900

    Do not convert NODE_STR to NODE_LIT when the string is hash key

    parse.y converted NODE_STR when the string is hash key like

    ```
    h1 = {"str1" => 1}
    m1("str2" => 2)
    m2({"str3" => 3})
    ```

    This commit stop the conversion.
    `static_literal_node_p` needs to know the node is for hash key or not
    for the optimization.

commit 7ffff3e043b081a8c72b8f8c537f17388fd127a9
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-08 12:20:03 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-08 14:02:48 +0900

    Change numeric node value functions argument to `NODE *`

    Change the argument to align with other node value functions
    like `rb_node_line_lineno_val`.

commit d9bad91c342d65332588672081597af5ab30fe97
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-08 12:26:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-08 12:26:12 +0900

    [DOC] Fix docs for GC.compact

    GC.compact returns GC.latest_compact_info and not GC.latest_gc_info.

commit 9527093759e127a899c9bcb8dd9f9b6d0d6a0161
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-08 10:24:38 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-08 11:57:30 +0900

    Fix numeric node print by `-y` option

    These nodes are not NOTE_LIT, so need to treat separately.

commit 11286ac479807d7e259cd8347cab2ab516e2565a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-06 07:14:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-08 03:48:59 +0900

    Fix memory leak in autoload_data

    If the autoload_data has autoload_const and the autoload_data is freed
    before the autoload_const, then the autoload_data will leak.

    This commit changes it so that when the autoload_data is freed, it will
    clear the whole linked list of autoload_const so that the autoload_data
    can be safely freed.

        1000.times do |i|
          str = "foo#{i}".freeze

          autoload(:"B#{i}", str)
          autoload(:"C#{i}", str)
        end

    Reports leaked memory with the macOS leaks tool:

        12  ruby                                  0x1006398a4 rb_f_autoload + 96  load.c:1524
        11  ruby                                  0x100639710 rb_mod_autoload + 112  load.c:1460
        10  ruby                                  0x10080a914 rb_autoload_str + 224  variable.c:2666
        9   ruby                                  0x1007c3308 rb_mutex_synchronize + 56  thread_sync.c:637
        8   ruby                                  0x1005acb24 rb_ensure + 312  eval.c:1009
        7   ruby                                  0x10080aac8 autoload_synchronized + 204  variable.c:2630
        6   ruby                                  0x10080f8bc autoload_feature_lookup_or_create + 76  variable.c:2578
        5   ruby                                  0x1005c29a4 rb_data_typed_object_zalloc + 232  gc.c:3186
        4   ruby                                  0x1005c2774 ruby_xcalloc + 32  gc.c:14440
        3   ruby                                  0x1005cddf4 ruby_xcalloc_body + 56  gc.c:12878
        2   ruby                                  0x1005cde7c objspace_xcalloc + 124  gc.c:12871
        1   ruby                                  0x1005c1990 calloc1 + 28  gc.c:1906
        0   libsystem_malloc.dylib                0x18b2ebb78 _malloc_zone_calloc_instrumented_or_legacy + 100

commit 8b86d6f0c12370e97171d83e38346ee1acd9a372
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-08 01:22:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-08 01:23:58 +0900

    Suppress unused-but-set-variable warning in ripper

    `set_yylval_node` in ripper does not use the argument at all.

commit 76c20b06aa16686d047af5cb21300602153e0e46
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-07 23:06:55 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-08 00:33:31 +0900

    Add `MakeMakefile["C"]`

commit 189c8077aabeb38b6177120e09790940f49ca29e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-08 00:05:20 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-08 00:05:20 +0900

    Label memory leak test

commit bca1493815ae7ab504ed4f9b049f62a27f30d779
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-07 21:49:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-07 21:49:47 +0900

    [DOC] Documentation of mkmf.rb

commit ad7aee35e43bd732cb165c73bf4167c232b66505
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-01-07 16:41:59 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-07 21:16:31 +0900

    Remove unneeded rb_parser_config_struct struct properties for Universal Parser

commit 7fcc6f04ac75336bcf9a8250da2948dcd8da2825
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-07 20:14:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-07 20:39:46 +0900

    [ruby/rdoc] Visibility should begin from `public` for each scope

    Even for singleton class definition such as `class << self` that
    shares the same container with the outer scope, its visibility is
    separated and set to `public` by default.

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

commit 2325b72cf3f14448603a97024c112d8dde159f5a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-07 19:44:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-07 20:39:45 +0900

    [ruby/rdoc] Singleton method visibility should be isolated

    Each singleton method definition of the form `def recv.method` has
    visibility separate from the outer scope and is set to `public` by
    default.

    https://github.com/ruby/rdoc/commit/810913a7ea

commit 83c98ead4e889710916a367c146884c987576e8b
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-02 16:17:47 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-07 16:18:16 +0900

    Do not remove hash duplicated keys in parse.y

    When hash keys are duplicated, e.g. `h = {k: 1, l: 2, k: 3}`,
    parser changes node structure for correct compilation.
    This generates tricky AST. This commit removes AST manipulation
    from parser to keep AST structure simple.

commit 9d3dcb86d1c95ceb75089595145bbfbc32a5c77c
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-02 14:23:13 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-07 14:32:10 +0900

    Check hash key duplication for `__LINE__` and `__FILE__`

commit e4a9a73931072458f2bc13b29aeb33efb2eb9ae9
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-01-06 21:22:51 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-07 09:24:34 +0900

    Skip some RBS test

commit 1b8d01136c3ff6c60325c7609d61e19ac42acd9f
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-01-05 12:03:11 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-07 09:24:34 +0900

    Introduce Numeric Node's

commit 76afbda5b566148b9e73939e0ff9b8464d59806c
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-01-07 02:12:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-07 03:26:38 +0900

    [ruby/net-http] Tweak to Net::HTTP What's Here

    https://github.com/ruby/net-http/commit/3bf641ca63

commit 8cad6fc90a067cc60a4f02e5ba679268d97364c9
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-01-07 01:57:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-07 03:25:17 +0900

    Tweak to Integer What's Here

commit 4a44bf8c34bf1999258b1abce3ba6ca91e83a2ea
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-01-07 01:51:37 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-07 03:24:48 +0900

    Tweak to Float What's Here

commit 7b615bfdf3533256022331da5426f18c33b3ec65
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-01-07 01:47:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-07 03:24:48 +0900

    Tweak to Float What's Here

commit 54e8901f664f5aa649231dd14bf8f9b36cb18071
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-01-07 01:35:58 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-07 03:23:27 +0900

    Tweak for ENV doc

commit 4bdfc9070cf626db4553a6cd15dbae19604180cf
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-01-07 02:15:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-07 02:15:16 +0900

    [ruby/irb] Refactor exit command
    (https://github.com/ruby/irb/pull/835)

    * Remove unnecessary code from the exit command's implementation

    1. The parameters of `IRB.irb_exit` were never used. But there are some
       libraries seem to call it with arguments + it's declared on the top-level
       IRB constant. So I changed the params to anonymous splat instead of removing them.
    2. `Context#exit` was completely unnecessary as `IRB.irb_exit` doesn't use
       the `@irb` instance it passes. And since it's (or should be treated as)
       a private method, I simply removed it.
    3. The `exit` command doesn't use the status argument it receives at all.
       But to avoid raising errors on usages like `exit 1`, I changed the argument to
       anonymous splat instead removing it.

    * Make exit an actual command

    * Update readme

    https://github.com/ruby/irb/commit/452b543a65

commit d96fe5e4f8dd09bdbcb730b90382ab35e0be03d1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-07 01:43:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-07 01:43:57 +0900

    [DOC] Fix indentation in Numeric#step

commit e168dbdac542634f0e86ffb048cb78ff617720f7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-07 00:43:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-07 00:43:56 +0900

    [DOC] Simply use `--` / `++` instead of `:stopdoc:` / `:startdoc:`

commit 0831d960bf6eef9ec96d37529d555c0f43f21d0d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-06 23:34:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-06 23:34:54 +0900

    [DOC] Fix typo in call-seq for Float#round

commit 9b78ef75522b1f6aa20fc81ddf06e5fb40db152d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-06 20:04:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-06 21:19:51 +0900

    [DOC] Load options and parse files from srcdir

    RDoc options that do not change and can be written in `.rdoc_options`
    file are moved, so that they match when called without `make`.

    Get rid of parsing the files in `page_dir` twice (as relative paths
    and absolute paths).

commit 3dac27897e5b48c5c95fa2f58badec1fb6da94be
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-01-06 21:16:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-06 21:16:12 +0900

    [ruby/irb] Require Reline v0.4.2+
    (https://github.com/ruby/irb/pull/834)

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

commit f6847e94560a37c95748da79cdf8936b5f1dde10
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-06 19:08:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-06 19:17:49 +0900

    [ruby/rdoc] Ignore `locale` at `write_options`

    `@locale` is set from `@locale_name` and loaded from `@locale_dir`
    after `write_options`, and `RDoc::I18n::Locale` does not seem to
    expected to be loaded.

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

commit 913b26d0fd7ad5dafe3d613ccd5494dab6771962
  Author:     Rian McGuire <rian@rian.id.au>
  AuthorDate: 2024-01-06 14:02:36 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-06 15:36:35 +0900

    Add test case for GC.measure_total_time

commit 7db35e10c37f5662d5c41d1d73ffdc5948f6dd2a
  Author:     Rian McGuire <rian@rian.id.au>
  AuthorDate: 2024-01-06 12:10:23 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-06 15:36:35 +0900

    Fix GC.measure_total_time regression

    Commit 93ac7405b80cc61930d73da04441fa09af1851e1 introduced a regression
    where measurements would still be taken after setting
    GC.measure_total_time = false.

    Fixes [Bug #20157]

commit 4112585be557fd804ab849b3961ea71fe9784534
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-06 13:47:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-06 13:47:06 +0900

    Too much nestings make editors confused

    Get rid of nested double quotes inside nested interpolations.  Also,
    remove comments that are no longer needed by the documents.

commit 54a123654196d782d4ad7b9ad7750edd89c435e8
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-05 21:34:39 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-06 09:32:45 +0900

    Add ruby_debug_print functions to vm_debug.h

commit 0c990994c7c61cab57c3fbbcf2d1ccb213dc8cdd
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-05 21:31:45 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-06 09:32:45 +0900

    Add a shorthand for ruby_debug_print_node

commit da23f8fe1ac4ebf5d733b50241ddc1f0556ab40f
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-05 21:30:42 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-06 09:32:45 +0900

    Print node id and location by ruby_debug_print_node

commit 7f9c174102d0e2369befc7b88f2c073becaa7560
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-06 04:08:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-06 04:08:57 +0900

    YJIT: Let RubyVM::YJIT.enable respect --yjit-stats (#9415)

commit 4d03140009044096ac1903281682f357ab4acf98
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-06 01:51:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-06 01:51:37 +0900

    [ruby/net-http] Don't invoke response block more than once due to retry

    If a socket error occurs while performing a streaming download via
    the response block provided to transport_request, avoid calling
    the response block again as this would result in duplicate data
    received by the client.

    Fixes https://github.com/ruby/net-http/pull/86
    Fixes https://github.com/ruby/net-http/pull/87

    Fixes [Bug #11526]

    https://github.com/ruby/net-http/commit/114d01b092

    Co-authored-by: Jeremy Stanley <jeremy@instructure.com>

commit 37657c79b66994147e41f31139ceb9c0c840868f
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-10-25 05:26:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-06 01:07:55 +0900

    [ruby/uri] Make URI#to_s prepend relative path with / if there is a host or port

    Otherwise, the path could be considered part of the host or port.

    This is better than modifying the path to make it absolute when
    a host or port is set.  We could also raise for invalid paths
    when a host or port is set using check_path, but that results
    in weird errors, and won't catch issues (such as ftp allowing a
    relative path).

    Fixes [Bug #19916]

    https://github.com/ruby/uri/commit/ac32aa005b

commit 99933751c1c99488b7207449179dcb3a7988bf96
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-01-05 23:32:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-05 23:32:18 +0900

    [ruby/reline] Bump version to v0.4.2
    (https://github.com/ruby/reline/pull/633)

    https://github.com/ruby/reline/commit/5b59e48070

commit 900fb48e68eac3f320ac1414fa045030a05ba993
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-04 17:53:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-05 18:29:02 +0900

    Support Feature and Bug tickets for release note generator

commit 185abff6260c100cbb1022c8ee8bbbfe7f7a76ee
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-05 17:45:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-05 18:13:34 +0900

    Use released versions of net-imap and net-smtp

commit 75a8b48fba5392019bf7be82eab247a2eef13c98
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-05 17:24:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-05 17:25:03 +0900

    [ruby/net-http] Bump version to 0.4.1

    https://github.com/ruby/net-http/commit/21e226c0bc

commit 7b2b1e61ce877708635d9db81b488008116dabe9
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-01-05 15:58:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-05 15:58:22 +0900

    Update bundled gems list as of 2024-01-05

commit 6d67dfc9ea9d90e660f9478ca0f503fbf4e57128
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-05 09:48:41 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-05 12:14:13 +0900

    Add test cases for duplicated `when` clause warnings

    Add test cases for `__LINE__` and `__FILE__` because
    they were managed by NODE_LIT and NODE_STR but changed to
    be managed by dedicated NODE now.

commit 098d97e96d1519154c2a845db558b104abe3ab7e
  Author:     Martin Emde <martin.emde@gmail.com>
  AuthorDate: 2024-01-04 09:00:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-05 11:06:58 +0900

    [rubygems/rubygems] Quote Etag in `If-None-Match` header of compact index request

    https://github.com/rubygems/rubygems/commit/d26bcd7551

commit 6aacbd690ccde53f9b97c6673482cb11df3f2955
  Author:     Adam Hess <adamhess1991@gmail.com>
  AuthorDate: 2024-01-05 03:43:49 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-01-05 08:56:44 +0900

    Free pthread_attr after setting up the thread

    [bug #20149]

commit 5ff1524fde1e1014472ce78746b8f6979de8e510
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-05 07:34:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-05 07:34:59 +0900

    [ruby/erb] Version 4.0.4

    https://github.com/ruby/erb/commit/b68bfed6a8

commit d20c609465b67e0378dac108ec0d352e434c8b32
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-05 07:32:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-05 07:33:16 +0900

    [ruby/erb] Skip building a native extension for JRuby

    https://github.com/ruby/erb/commit/f0f68baf6b

commit 10b9679fa61f40c08ec28ec34251f7ec8648054d
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-01-05 01:17:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-05 06:27:58 +0900

    [ruby/rdoc] Tweaks to Markup Reference

    https://github.com/ruby/rdoc/commit/05ac6dba66

commit d65d2fb6b5c56c495f2f98f8e6ac5994ad5d93dd
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2023-12-29 03:52:45 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-01-05 05:51:25 +0900

    Do not `poll` first

    Before this patch, the MN scheduler waits for the IO with the
    following steps:

    1. `poll(fd, timeout=0)` to check fd is ready or not.
    2. if fd is not ready, waits with MN thread scheduler
    3. call `func` to issue the blocking I/O call

    The advantage of advanced `poll()` is we can wait for the
    IO ready for any fds. However `poll()` becomes overhead
    for already ready fds.

    This patch changes the steps like:

    1. call `func` to issue the blocking I/O call
    2. if the `func` returns `EWOULDBLOCK` the fd is `O_NONBLOCK`
       and we need to wait for fd is ready so that waits with MN
       thread scheduler.

    In this case, we can wait only for `O_NONBLOCK` fds. Otherwise
    it waits with blocking operations such as `read()` system call.
    However we don't need to call `poll()` to check fd is ready
    in advance.

    With this patch we can observe performance improvement
    on microbenchmark which repeats blocking I/O (not
    `O_NONBLOCK` fd) with and without MN thread scheduler.

    ```ruby
    require 'benchmark'

    f = open('/dev/null', 'w')
    f.sync = true

    TN = 1
    N = 1_000_000 / TN

    Benchmark.bm{|x|
      x.report{
        TN.times.map{
          Thread.new{
            N.times{f.print '.'}
          }
        }.each(&:join)
      }
    }
    __END__
    TN = 1
                     user     system      total        real
    ruby32       0.393966   0.101122   0.495088 (  0.495235)
    ruby33       0.493963   0.089521   0.583484 (  0.584091)
    ruby33+MN    0.639333   0.200843   0.840176 (  0.840291) <- Slow
    this+MN      0.512231   0.099091   0.611322 (  0.611074) <- Good
    ```

commit 6c252912af4981f016a9abdb4c1689307a4f1d2f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-04 05:59:37 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-05 01:25:31 +0900

    Memory leak when duplicating identhash

    [Bug #20145]

    Before this commit, both copy_compare_by_id and hash_copy will create a
    copy of the ST table, so the ST table created in copy_compare_by_id will
    be leaked.

        h = { 1 => 2 }.compare_by_identity

        10.times do
          1_000_000.times do
            h.select { false }
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        110736
        204352
        300272
        395520
        460704
        476736
        542000
        604704
        682624
        770528

    After:

        15504
        16048
        16144
        16256
        16320
        16320
        16752
        16752
        16752
        16752

commit 542011ff6895f77204349ddfae7dcfb476e116df
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-01-04 20:53:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 20:53:06 +0900

    [ruby/reline] Fix pasting tab-indented code crash
    (https://github.com/ruby/reline/pull/630)

    https://github.com/ruby/reline/commit/90155fd0d9

commit a4bdf26781c09be9f8b8860d0032e28dbd3bf0b1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-04 19:09:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-04 19:09:38 +0900

    Fix version detection error of net-smtp

      https://rubyci.s3.amazonaws.com/freebsd12/ruby-master/log/20240104T083002Z.fail.html.gz
      https://rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20240104T073006Z.fail.html.gz

commit c945a849cb2c5fcdfa546e501f35bf8f834c8d7e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-04 17:47:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-04 17:47:26 +0900

    Skip test depending on bundled gems

    Because bundled gems cannot be loaded at test-all, this test which
    depends on one of the bundled gems, `rake`, always does nothing except
    print an expected warning.

commit 577bc8254e04efa7968d8a3c1bc7fcf1e9eabb91
  Author:     hyuraku <32809703+hyuraku@users.noreply.github.com>
  AuthorDate: 2024-01-01 18:36:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 09:39:54 +0900

    [rubygems/rubygems] remove useless comments from unpack_command.rb

    https://github.com/rubygems/rubygems/commit/7576c21295

commit 46f7fac878540fd555b502a2c5a5b5e2a6c7413f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-03 23:53:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-04 05:41:08 +0900

    Free rb_native_thread of main thread

    The rb_native_thread gets reported as a memory leak by the macOS leaks
    tool:

        $ RUBY_FREE_AT_EXIT=1 leaks -q --atExit -- ./miniruby -e ""
        STACK OF 1 INSTANCE OF 'ROOT LEAK: <calloc in ruby_xcalloc_body>':
        6   dyld                                  0x1818a90e0 start + 2360
        5   miniruby                              0x104730128 main + 88  main.c:58
        4   miniruby                              0x1047d7710 ruby_init + 16  eval.c:102
        3   miniruby                              0x1047d757c ruby_setup + 112  eval.c:83
        2   miniruby                              0x104977278 Init_BareVM + 524  vm.c:4193
        1   miniruby                              0x1047f2478 ruby_xcalloc_body + 176  gc.c:12878
        0   libsystem_malloc.dylib                0x181a67b78 _malloc_zone_calloc_instrumented_or_legacy + 100
        ====
            1 (176 bytes) ROOT LEAK: <calloc in ruby_xcalloc_body 0x126604780> [176]

commit 7304d56236347eec1ce20cbdd0b44842d4cb7c2b
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-01-04 02:34:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 05:00:18 +0900

    [ruby/prism] Include field comments in Java source

    https://github.com/ruby/prism/commit/4a9389f304

commit c7ce2f537f96ab2cf2f5fc2982d6147866ff5340
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-04 01:15:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-04 03:31:43 +0900

    Fix memory leak in setting encodings

    There is a memory leak in Encoding.default_external= and
    Encoding.default_internal= because the duplicated name is not freed
    when overwriting.

        10.times do
          1_000_000.times do
            Encoding.default_internal = nil
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

         25664
         41504
         57360
         73232
         89168
        105056
        120944
        136816
        152720
        168576

    After:

        9648
        9648
        9648
        9680
        9680
        9680
        9680
        9680
        9680
        9680

commit a25329e0dab2a3ada395b1e4e0254a15cd498de2
  Author:     TSUYUSATO Kitsune <make.just.on@gmail.com>
  AuthorDate: 2024-01-03 13:30:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 02:20:33 +0900

    [ruby/prism] Fix parsing pinned local variable pattern for numbered parameter

    Fix https://github.com/ruby/prism/pull/2094

    The part of `parse_variable_call` for variables was split into a new
    function `parse_variable` and used it.

    https://github.com/ruby/prism/commit/4c5fd1a746

commit 3a3fcf56d0ab6b6887024ce7eba0676bae0ce13d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-04 02:05:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 02:18:02 +0900

    [ruby/prism] Fix rational when parsing non decimal integer

    https://github.com/ruby/prism/commit/75d4331f7f

commit 0215965df4ef8b70a1cd3668ed64821e9f25538a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 07:10:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 01:46:08 +0900

    [ruby/prism] Better error recovery for content after unterminated heredoc

    https://github.com/ruby/prism/commit/c2d325a886

commit a1d0c621e90a5e1c44b8e18210a5d97f77df3472
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-04 01:44:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 01:44:38 +0900

    [ruby/prism] More spacing in config.yml

    https://github.com/ruby/prism/commit/825ff8b9ec

commit ca2a6b7d4d68b6c0fb76ec08cd21a407359f8adc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-04 01:44:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 01:44:37 +0900

    [ruby/prism] Spacing in config.yml

    https://github.com/ruby/prism/commit/983561988e

commit 06a65ce64163f5d28e45485520f721cd335372b2
  Author:     Sanjay Karukamanna <work@sanjay.link>
  AuthorDate: 2024-01-03 14:28:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 01:44:37 +0900

    [ruby/prism] Document `IntegerNode` fields

    https://github.com/ruby/prism/commit/77280b2807

commit 66e0d92de571c357ebc50f11edffa3b65271e55c
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-01-03 22:47:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 22:47:51 +0900

    [ruby/irb] Avoid completing empty input
    (https://github.com/ruby/irb/pull/832)

    The candidate list for empty input is all methods + all variables +
    all constants + all keywords. It's a long list that is not useful.

    https://github.com/ruby/irb/commit/812dc2df7b

commit 73fb9c35efd64f0935bce52b18a38c2a500a972f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-03 11:10:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 11:12:30 +0900

    [ruby/io-console] `IO_CONSOLE_VERSION` is no longer a macro

    https://github.com/ruby/io-console/commit/14b35217dc

commit 9ff4e52d5d322a5d1d13d7d0e94da2aa8f530bc0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-03 10:54:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-03 10:54:52 +0900

    [DOC] Make "Appendix F. Ractor support" a numbered list

commit 5aba5f0454d8a7950963e7d11031d03483764c4f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-03 09:19:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-03 09:19:12 +0900

    [DOC] Add parentheses in call-seq for String#include?

commit 8916b81bf434fc50bb9ce912a3dd468d784ca737
  Author:     ima1zumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-01-01 23:36:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 07:17:05 +0900

    [ruby/io-console] Define IO::ConsoleMode::VERSION from console.c

    https://github.com/ruby/io-console/commit/6302a2082c

commit e46922e48f3d4bc9e199ab1a46f4373b092986b8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 05:26:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 06:16:35 +0900

    [ruby/prism] Introduce field comments

    In an effort to further improve our documentation, this commit
    introduces the concept of templating comments onto fields. I hope
    to get more documentation above the nuances of specific fields this
    way going forward.

    With this, we template the comments into C and Ruby. I haven't done
    JS or Java yet, but we can touch those in the future, especially
    once their documentation is published.

    https://github.com/ruby/prism/commit/af300d5fb3

commit adbfbd822f37d9dfc94d071af4d2d4390bfb29eb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 04:54:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 05:59:19 +0900

    [ruby/prism] Ignore visibility flag

    https://github.com/ruby/prism/commit/55b049ddac

commit 380c218bfa85dcb1418c72144f59550999ef396c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 04:10:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 04:10:43 +0900

    [ruby/prism] Do not add error for forwarding in CRuby 3.3.0

    https://github.com/ruby/prism/commit/a28e57c650

commit 0ee625ceae004f2ca53ebe234310ff2d44f7388c
  Author:     TSUYUSATO Kitsune <make.just.on@gmail.com>
  AuthorDate: 2023-12-27 12:05:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 04:08:15 +0900

    [ruby/prism] Fix to check multiple block arguments for forwarding arg

    Fix https://github.com/ruby/prism/pull/2111

    https://github.com/ruby/prism/commit/21ca243d0a

commit 165deec5fef5076bca99c038caf8c9da34abe0fd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 03:59:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 03:59:26 +0900

    [ruby/prism] Document the version option on prism parse

    https://github.com/ruby/prism/commit/eddd72a8ef

commit 29026404a60c670887d3e8f6cbfbf1e012b9e4f0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 03:58:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-03 03:58:55 +0900

    Fix up common.mk targets for prism

commit 23beceedb76a47b3f4497809eefb7338690df191
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 01:18:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 03:51:18 +0900

    [ruby/prism] IndexTargetNode should always have ATTRIBUTE_WRITE

    Because this is a user-facing change, we also need to deal with the
    fact that CRuby 3.3.0 was just released.

    In order to support workflows that want to parse exactly as CRuby
    parses in a specific version, this PR introduces a new option to
    the options struct that is "version". This allows you to specify
    that you want "3.3.0" parsing.

    I'm not sure if this is the correct solution. Another solution is
    to just fork and keep around the old branch for security patches.
    Or we could keep around a copy of the source files within this
    repository as another directory and only update when necessary.
    There are a lot of potential solutions here.

    Because this change is so small and the check for it is so minimal,
    I've decided to go with this enum. If this ends up entirely
    cluttering the codebase with version checks, we'll come up with
    another solution. But for now this works, so we're going to go in
    this direction for a bit until we determine it's no longer working.

    https://github.com/ruby/prism/commit/d8c7e6bd10

commit 04f64608e8bfb50f62633864e68f83b2a6099714
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 01:34:04 +0900
  Commit:     Jemma Issroff <jemmaissroff@gmail.com>
  CommitDate: 2024-01-03 02:13:43 +0900

    Sync to latest prism

commit b959263b58e26ef630c085f9f7ddc04373a998c7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-03 00:07:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-03 02:03:31 +0900

    Fix Exception#detailed_message for GC compaction

    Before this commit, the test fails with RGENGC_CHECK_MODE enabled:

        TestException#test_detailed_message_under_gc_compact_stress [test/ruby/test_exception.rb:1466]:
        <"\e[1mfoo (\e[1;4mRuntimeError\e[m\e[1m)\e[m\n" +
        "\e[1mbar\e[m\n" +
        "\e[1mbaz\e[m"> expected but was
        <"\e[1mfoo (\e[1;4mRuntimeError\e[m\e[1m)\e[m\n" +
        "\e[1m\x00\x00\x00\x00\x00\x00\x00\e[m">.

commit 28ec79404a9b37d245daf76250563cf36b295eb0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 01:34:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-03 01:34:04 +0900

    Sync to latest prism

commit a046d4efd2b5de86d9cf8f54886539f3860f55cb
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-01-02 23:00:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-02 23:00:31 +0900

    [ruby/rdoc] [DOC] MarkupReference
    (https://github.com/ruby/rdoc/pull/1075)

    https://github.com/ruby/rdoc/commit/095b78123b

commit 7a050638b19cf6996c498e0c5909c293008cc58a
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-29 22:34:35 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-02 14:19:42 +0900

    Introduce NODE_FILE

    `__FILE__` was managed by `NODE_STR` with `String` object.
    This commit introduces `NODE_FILE` and `struct rb_parser_string` so that

    1. `__FILE__` is detectable from AST Node
    2. Reduce dependency ruby object

commit 97986f406bcf1d1c59808b3b655e5180b5cc21cd
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-30 12:23:48 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-02 10:36:09 +0900

    LLDB: Print actual node structure of NODE_LINE

commit 00b2573e93df2a717fbfa9dc602d8270f1cfb397
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-02 09:40:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-02 10:15:43 +0900

    [DOC] Links to extension.rdoc from extension.ja.rdoc

    Use links than plain text references.

    TODO: Internationalize the RDoc hardcoded link text.

    Currently RDoc hardcodes reference name with external name in English,
    as "REF at <code>FILE</code>".  To this currently, square brackets
    with additional text is mandatory.

commit 84eeb83f367e30c99e862a786e6fa6d21d8019e8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-01 14:43:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-02 10:15:43 +0900

    [DOC] Stop using `:enddoc:` in rdoc files

    In rdoc files, all documents belong to the top level of each file, and
    `:enddoc:` turns off `#document_self` for the entire document in the
    current file.  This disables cross-references to labels in that file.
    Instead use `:stopdoc:` so that parsing can re-start by `:startdoc:`
    after the local variables.

commit 5993d0f5f2e792b354955ae70442e66f7b31fb78
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-01 10:24:25 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-02 09:50:32 +0900

    Add a test case for `__LINE__` assignment in condition warning

commit 6ec4d203f7aaf9737b78b9d90de7865004c900d8
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-01 10:17:08 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-02 09:50:32 +0900

    Warn "literal in condition" for `__LINE__`

    Print warning for a code like

    ```ruby
    if __LINE__
    end

    # => warning: literal in condition
    ```

commit 9368782d5c96f08d61933e994789812e5e73260d
  Author:     Shia <rise.shia@gmail.com>
  AuthorDate: 2023-12-31 13:51:10 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-01-02 08:16:29 +0900

    Use max_cpu when RUBY_MAX_CPU given

commit ad2c95dbdd1ac6d3abe12a3304135dc66e00b5a7
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2023-12-30 03:26:15 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-01-02 08:13:37 +0900

    [DOC] clarify situation for Ractor#send of T_DATA objects.

    For copying, use language like "some" T_DATA objects not supported. This
    is because objects like Time are supported, they don't refer to other
    objects so it's okay.

    For `send(obj, move: true)`, it's currently not supported to move any T_DATA objects.

commit 32c4b0125f9afe11909d1c10e4133e20180e809e
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2023-12-30 03:06:58 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-01-02 08:10:59 +0900

    Set Ractor moved object's shape to original object's shape

    Fixes [Bug #19409]

commit e12d4c654e3cb7a4473014610bc3bae41aaf811e
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2023-12-31 03:26:59 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-02 06:28:26 +0900

    Don't create T_MATCH object if /regexp/.match(string) doesn't match

    Fixes [Bug #20104]

commit 676748abcad62c021fc122d137f177d3c0f0f7a8
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-01-02 02:40:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-02 02:40:38 +0900

    [ruby/irb] Make show_source resolve top-level constant names
    (https://github.com/ruby/irb/pull/831)

    https://github.com/ruby/irb/commit/5843616c78

commit 6934a60ab1d68ff89e0088a951a4c205f3c60332
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-02 01:14:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-02 01:14:42 +0900

    [DOC] Fix alignment of values for Integer#div

commit c0481e5818c9f01116607d658a9b9acbd4ab0c00
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-02 01:12:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-02 01:12:54 +0900

    [DOC] Fix indentation for Integer#div

    The line was indented, which caused it to be treated as a code block.

commit c0e3c3b6feabac564523c28462e8e45c447b0f0f
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-01-01 22:57:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-01 22:57:15 +0900

    [ruby/irb] Fix display_document params in noautocomplete mode
    (https://github.com/ruby/irb/pull/826)

    * Fix display_document params in noautocomplete mode

    * Fix wrong preposing and target order in display_document

    The fixed wrong-ordered value is not used in RegexpCompletor, so this change does not affect the test.

    https://github.com/ruby/irb/commit/08208adb5e

commit c149cd3db4116f653614466eee918d6f39f0b622
  Author:     Sorah Fukumori <her@sorah.jp>
  AuthorDate: 2024-01-01 21:47:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-01 21:47:38 +0900

    Roll net-* bundled gems from git to fix CI (#9403)

    - https://github.com/ruby/net-ftp/pull/29
    - https://github.com/ruby/net-imap/pull/259
    - https://github.com/ruby/net-smtp/pull/75

commit 3e9a612d929b47a4cd9f80e3a7a840a3c7e4f084
  Author:     Takuya Aramaki <takaram71@gmail.com>
  AuthorDate: 2024-01-01 21:31:49 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-01 21:31:49 +0900

    [DOC] Fix wrong description about Process.waitpid2 (#9401)

commit d3933fc753187a055a4904af82f5f3794c88c416
  Author:     Sorah Fukumori <her@sorah.jp>
  AuthorDate: 2024-01-01 20:45:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-01 20:51:15 +0900

    [ruby/net-http] Renew test certificates

    The private key is replaced with a public known test key published at
    [RFC 9500].

    Also lifetime has been extended to 10 years from 4 years.

    [RFC 9500]: https://www.rfc-editor.org/rfc/rfc9500.html

    https://github.com/ruby/net-http/commit/4ab6c4a500

commit cd411778159618dd926614e0acd52ac5549a9408
  Author:     Sorah Fukumori <her@sorah.jp>
  AuthorDate: 2024-01-01 19:58:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-01 19:58:35 +0900

    [ruby/irb] test_recovery_sigint: Ensure precondition is met
    (https://github.com/ruby/irb/pull/829)

    * test_recovery_sigint: Ensure precondition is met

    test_recovery_sigint depends on its process has SIG_DEF sigaction for
    SIGINT. When its parent process set SIG_IGN which inherits to children,
    then this test fails. This patch ensures this precondition met
    regardless of inherited sigaction from its parent.

    * Add test for restoration of other SIGINT handlers

    Add another variant of test_recovery_sigint to ensure IRB to preserve
    existing SIGINT handler other than SIG_DEF.

    https://github.com/ruby/irb/commit/77ee59d026

commit 5c81fd68865bdfacbb3496bb077b9f8ce6e411fd
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-01-01 19:57:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-01 19:57:17 +0900

    [ruby/irb] Remove redundant env cleanup in rendering test
    (https://github.com/ruby/irb/pull/827)

    https://github.com/ruby/irb/commit/99b0017d75

commit 997124fc0b7697bb9383e8feb8e1d88017c4bcb8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-01 11:25:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-01 11:25:22 +0900

    [DOC] Remove extra colon in Hash#default_proc

commit a19544d15491be4816eb591f5e7ebd2f75ba6929
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-01 00:55:31 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-01 00:55:31 +0900

    [DOC] Fix markup

commit 0502df018cc1900f272977b4f30d5e322cae5e88
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-01 00:50:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-01 00:50:19 +0900

    [DOC] Fix missing `::` for dl

commit 32f2cb47b754ae73d06daef8ad19a8c90c88836a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-01 00:49:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-01 00:49:25 +0900

    [DOC] Use local links

commit 569a06aa2fbaec3febc5de975654cba8f85813f1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 23:57:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-01 00:19:50 +0900

    [ruby/rdoc] Allow empty name rdoc-ref as a local link

    https://github.com/ruby/rdoc/commit/914a6af137

commit b4adc1bbab5fc69186b3f3046c90c0e935fdc841
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 16:49:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-31 20:52:19 +0900

    [ruby/win32ole] [DOC] Fix indent

    https://github.com/ruby/win32ole/commit/76acc979bf

commit 375d1c993d0bc21edcc8cd4814342c15a7b9d810
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 14:33:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-31 18:33:39 +0900

    [ruby/win32ole] [DOC] Remove useless comment that is mixed into RDoc

    https://github.com/ruby/win32ole/commit/afceb6814f

commit 0d2ca334047f11a92215025b43a1f9dcdd9276fb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-31 12:13:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-31 12:13:24 +0900

    [DOC] Fix link to untrace_var from trace_var

commit 55a81863cd369576717c5660641376434a05484f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 10:12:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-31 10:58:22 +0900

    [ruby/win32ole] [DOC] Add .document files

    https://github.com/ruby/win32ole/commit/eba2934177

commit 8e32c0174210cb5c843ebf820d17a9ec63b767fb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-30 12:14:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-30 12:14:38 +0900

    Change test_warmup_frees_pages to check each size pool

    This should help in debugging the intermittent test failures on CI:

        TestProcess#test_warmup_frees_pages [test/ruby/test_process.rb:2779]:
        <201> expected but was
        <202>.

commit 606c01727aa9e54db8cc1219de3fd7ba717efe54
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-30 03:13:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-30 03:13:17 +0900

    [DOC] Fix indentation for Numeric#step

    The documentation was indented one level too deep, which causes RDoc to
    generate it all as a code block.

commit 5fd1738148d18cbcaa05111a5e2607e833dcc520
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-30 00:57:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-30 01:10:30 +0900

    [ruby/securerandom] Update file list to package

    https://github.com/ruby/securerandom/commit/647e5f0af8

commit 2571d5376a38c333b8fe85f1f9b2f9c2422c0ad9
  Author:     Hiroya Fujinami <make.just.on@gmail.com>
  AuthorDate: 2023-12-30 01:08:51 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2023-12-30 01:08:51 +0900

    Reduce `if` for decreasing counter on OP_REPEAT_INC (#9393)

    This commit also reduces the warning `'stkp' may be used
    uninitialized in this function`.

commit 0c923fed7d659e80352cc5aa69e28eea61bcc63e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-28 01:16:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-29 23:10:58 +0900

    [DOC] Fix syntax in Hash#eql?

commit 4d4da09ae490120fd07ef083a0fef0ea5d8b3f7e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-28 01:16:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-29 23:10:58 +0900

    [DOC] Remove useless word in Hash#eql?

commit 7595c5d4a5d5cf23bab7a28ce7e6c0f3a00419d1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-28 01:15:13 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-29 23:10:58 +0900

    [DOC] Add parantheses in call-seq for Hash#eql?

commit bb59696614083660241ef272f222628cbfa95844
  Author:     Hiroya Fujinami <make.just.on@gmail.com>
  AuthorDate: 2023-12-29 19:30:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2023-12-29 19:30:24 +0900

    Fix [Bug #20098]: set counter value for {n,m} repetition correctly (#9391)

commit 1ade170a6cac402d362d90bbf12e566d6a4f9ba1
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-28 12:38:24 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2023-12-29 18:32:27 +0900

    Introduce NODE_LINE

    `__LINE__` was managed by `NODE_LIT` with `Integer` object.
    This commit introduces `NODE_LINE` so that

    1. `__LINE__` is detectable from AST Node
    2. Reduce dependency ruby object

commit 6f33e3c53dd97426b91b97b7239a1b9a3dd6a446
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2023-12-29 17:23:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-29 17:23:28 +0900

    [ruby/reline] Revert kill_ring.rb file permission
    (https://github.com/ruby/reline/pull/623)

    https://github.com/ruby/reline/commit/38e9cb2899

commit bc3b9356b2c885b1ea268330afcf20e1ab3a4704
  Author:     Alexander Momchilov <amomchilov@users.noreply.github.com>
  AuthorDate: 2023-12-29 13:05:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-29 13:05:28 +0900

    [ruby/reline] Replace `object_id` comparison with `equal?`
    (https://github.com/ruby/reline/pull/617)

    https://github.com/ruby/reline/commit/63deef4ae5

commit e86b4c29fc91fa510ee2cf3f5e3296a9a66affb5
  Author:     Blake Imsland <blake@zxcv.dev>
  AuthorDate: 2022-03-14 15:27:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-29 11:43:45 +0900

    [ruby/securerandom] Increase speed of UUID generation

    https://github.com/ruby/securerandom/commit/b587b8c7cb

commit 2b96737636e1c96fedda83895ef32e19a914e310
  Author:     Dylan Thacker-Smith <Dylan.Smith@shopify.com>
  AuthorDate: 2019-09-27 14:10:13 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2023-12-29 01:58:21 +0900

    Fix use of the rb_profile_frames start parameter

    Previously, it was decrementing the start argument until it reached
    zero without actually changing the control frame pointer.

    [Bug #14607]

commit e81a5453e3c76c4348da042d86debde7689254fe
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2023-12-27 16:47:11 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2023-12-28 23:53:15 +0900

    ci: Fixup for 301a7b1e

    * Remove debugging code
    * Fix path to github-pr-info.txt, which is used when labeled before
      build completes
    * Add a check to skip the build if the build is completed but the PR is
      not labeled with Playground

commit 0990270c38e9f49ae2d18db050c51539bddab82c
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2023-12-28 23:33:06 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2023-12-28 23:33:06 +0900

    [DOC] Add What's Here for Complex (#9366)

commit d8702ddbfbe8cc7fc601a9a4d19842ef9c2b76c1
  Author:     Hiroya Fujinami <make.just.on@gmail.com>
  AuthorDate: 2023-12-28 23:20:03 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2023-12-28 23:20:03 +0900

    Fix [Bug #20083]: correct a cache point size for atomic groups (#9367)

commit 87e8e961b7218a4afa90e3bff3727f121af3ccf1
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-28 17:04:31 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2023-12-28 18:47:05 +0900

    Check node type before cast

commit 7016ab873eaa68d1dfe1af50198c157e451c784b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-28 18:07:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-28 18:07:49 +0900

    Verify that events2table.c was generated successfully

commit 051a874325c177e040301878069c2b28f5d06ce6
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-12-28 15:07:45 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2023-12-28 16:03:58 +0900

    Fix memory overread in registry.rb

    The terminator is not actually getting filled in; we're simply passing
    (two) bytes of empty memory as the NUL terminator. This can lead to
    garbage characters getting written to registry values.

    Fix this by explicitly putting a WCHAR_NUL character into the string to
    be sent to the registry API, like we do in the MULTI_SZ case.

    [Bug #20096]

commit 4374236e959c1e585611acfc7a2e3d2142265ab0
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-28 11:52:50 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2023-12-28 13:17:36 +0900

    Add errno_ptr property for Universal Parser

commit 02973b78f499acc28c714a082c82a846314a911f
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2023-12-27 15:22:45 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2023-12-28 12:20:50 +0900

    [Bug #20085] Use consistent default options for `-mbranch-protection`

    We need to use the same options for both C compiler and assembler
    when `-mbranch-protection` is guessed by configure. Otherwise,
    `coroutine/arm64/Context.{h,S}` will use incompatible PAC strategies.

commit 9ec4eae0b184ade7c7937c5fcb2f0d50bac14174
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-28 01:13:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-28 09:31:56 +0900

    [DOC] Fix invalid syntax in Range#eql?

commit 1f1edeef3fe0a8ed0ae441bdf2418f4a8d9e352c
  Author:     Ivan Kuchin <tadump+git@gmail.com>
  AuthorDate: 2023-12-27 22:14:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-28 09:07:56 +0900

    [ruby/pathname] require fileutils in both methods using it

    rmtree is already requiring fileutils, but mkpath apparently relies on
    autoload of FileUtils. Switch to require for both methods

    https://github.com/ruby/pathname/commit/07ad1fb41a

commit 73fa3224975c42e1c4e2231212a64ac325054130
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-27 20:55:01 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2023-12-28 09:00:44 +0900

    Add ary_modify property for Universal Parser

commit 26172c97011dadfc76602997d8dec84499ea122f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-28 00:05:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-28 01:11:42 +0900

    [DOC] Add parentheses to Array#eql?

    Makes the call-seq and code more consistent in format.

commit 2a4a84664a1972c48c4365c29e73be83f8004139
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-27 12:37:21 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-27 19:11:54 +0900

    [Bug #20088] Fix ARCH_FLAG for cross compiling

commit c027dcfde2bf40c45dfb0fe1b79f97b8827d89f3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-27 18:04:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-27 19:09:24 +0900

    [ruby/etc] [DOC] Add minimal documents for constants

    https://github.com/ruby/etc/commit/97a4f798d4

commit bc002971b6ad483dbf69b8a275c44412bb6ab954
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-27 17:49:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-27 17:50:15 +0900

    [Bug #20094] Distinguish `begin` and parentheses

commit 15c280639e383871eb2688c4cfbbeff48a08bc72
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-27 16:16:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-27 17:50:15 +0900

    Initialize rb_node_block_t::nd_end at creation

commit d0546012f25b95ccd89f5ea578babb8c74639e6f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-27 15:55:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-27 17:50:15 +0900

    Use NODE_ERROR as placeholder of error instead of NODE_BEGIN

commit 81cf7491d7fc8263b52b63dde926843cd7a014bf
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-27 15:01:25 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2023-12-27 16:53:18 +0900

    Print NODE_SELF nd_state field

commit 862cfcaf75d060103e8ebaf203ff9fed3190a9fe
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-27 14:09:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-27 14:30:20 +0900

    [ruby/etc] [DOC] Improve Etc documents

    https://github.com/ruby/etc/commit/fae932ff61

commit 96c6b9384c801dcd0d951b001897c7ce62a133cf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-27 12:59:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-27 12:59:01 +0900

    [DOC] Remove lib/io.rb only for document of ruby/etc

commit 33345d2e9faade23d7f48bd03f0f71d448db84f3
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-27 10:57:35 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2023-12-27 12:25:17 +0900

    Include new node types into %printer

commit 3d24254b5583f0ee0a4dac6cdf7f05b5948fe4e0
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-12-27 11:00:53 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2023-12-27 12:11:59 +0900

    Make sync script work correctly with Windows-style newlines

    I'm almost certain nobody is actually running this script on Windows,
    but the tests for it do run during `nmake check`, and they fail at least
    on my git configuration.

    The $ anchor doesn't match \r\n with git's -E regex matching, so we need
    to add \r? to gobble the carriage-return up too if needed.

commit dc532b7c4edcb0884e4e0c8a28c7c55e456e369d
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-12-26 20:21:02 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2023-12-27 10:54:25 +0900

    Fix WEBrick::TestFileHandler#test_short_filename test not working

    The test is currently skipped and can't possibly work on windows at the
    moment. It fails because $LOAD_PATH is not set up properly in the forked
    CGI process, so `require 'uri'` fails.

    This works properly in the test_cgi.rb tests, because it sets up a
    :RequestCallback to fix things up. Let's move the setup there into
    util.rb, so it can be shared with test_filehandler.rb as well.

commit 99f8bb133109ac404778dad80ca1e761160bb202
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-27 10:14:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-27 10:30:38 +0900

    Fetch tags with test-bundled-gems

      make test-bundled-gems failed when default branch didn't have tag ref at target repository.

      ```
      updating rbs ...
      From ssh://github.com/ruby/rbs
       - [deleted]           (none)                             -> origin/dependabot/bundler/steep/rbs-3.4.0
      remote: Enumerating objects: 68, done.
      remote: Counting objects: 100% (68/68), done.
      remote: Compressing objects: 100% (43/43), done.
      remote: Total 68 (delta 19), reused 61 (delta 18), pack-reused 0
      Unpacking objects: 100% (68/68), 204.84 KiB | 633.00 KiB/s, done.
       * [new branch]        aaa-3.4.x                          -> origin/aaa-3.4.x
       * [new branch]        dependabot/bundler/steep/rbs-3.4.1 -> origin/dependabot/bundler/steep/rbs-3.4.1
         01371463..fea0932b  master                             -> origin/master
      checking out v3.4.1 (v=3.4.1, r=) ...
      fatal: invalid reference: v3.4.1
      fatal: invalid reference: 3.4.1
      make: *** [uncommon.mk:1553: yes-test-bundled-gems-fetch] Error 1
      ```

commit 5703cc296a98834a389a6c5d60690c5e4d423f90
  Author:     U.Nakamura <usa@ruby-lang.org>
  AuthorDate: 2023-12-27 10:15:52 +0900
  Commit:     U.Nakamura <usa@ruby-lang.org>
  CommitDate: 2023-12-27 10:15:52 +0900

    Update supported Windows and Visual C++ versions

commit be92bf4ff43b4ead774fadf5461db61a369bff6a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-27 07:32:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-27 07:32:38 +0900

    [DOC] Fix == and === in control_expressions.rdoc

commit fac253677604e5acc6a49b632355616b068d5a15
  Author:     Sorah Fukumori <her@sorah.jp>
  AuthorDate: 2023-12-27 06:43:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2023-12-27 06:43:23 +0900

    Test_SyncDefaultGems: Fail when editor run (#9365)

    When something went wrong and git launches editor, and a editor chosen
    was terminal-based, a test run unnoticeably hangs.

    As we intend editors not to be ran with --no-edit, GIT_EDITOR should be
    defaulted to `false` so let Git command fails when it attempts to start a
    editor. This allows catching such unintentional behaviour in test suite.

    (Note: Prior to Git v2.32.0, git cherry-pick --no-edit doesn't work for
    conflict resolution so currently the test hangs when older Git is in use.
    https://github.com/git/git/commit/39edfd5cbc4d168db19ec1bc867d78ec7211ec39
    i.e. Ubuntu 20.04, Debian Bullseye doesn't satisfy this prerequisite.)

commit 17e1d8ca62e52c9d51924014976d2ca965b06014
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2023-12-27 01:00:04 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-27 01:27:31 +0900

    RDoc for Complex

commit c452fe17ac679b4171c7de4f4004d61790828ba8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-27 01:10:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-27 01:10:30 +0900

    [Bug #20087] [DOC] Uninitialized instance variable is not warned now

commit 550a49c913f67aba8b89bccd8e4b3296a5c3f599
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-27 00:48:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-27 00:48:48 +0900

    [DOC] Fix documentation for Numeric#eql?

    +==+ does not format properly, so we should use <tt>==</tt> instead.

commit 3d31e914961e3b5a113072498c7f18261fbaf133
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-26 15:05:20 +0900
  Commit:     U.Nakamura <usa@ruby-lang.org>
  CommitDate: 2023-12-26 22:10:30 +0900

    Disable to run appveyor anymore

      [Feature #19982]

commit e5a4f757bdf5dc3d8c329ddd268432f9ecc7bff6
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2023-12-26 20:36:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2023-12-26 20:36:56 +0900

    Fix Window private file mapping unlink EACCES issue. (#9358)

    * Don't return early.

    * Add missing `mapping` assignment.

    * Make debug logs conditional.

commit b1f67cf08eb0aaadfdc6893034b0653551141a10
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2023-12-26 15:49:15 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2023-12-26 17:11:16 +0900

    CI matrix for 3.3

commit 24a2534f7d97a8426c665f11a3f87c01da6a646a
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2023-12-26 15:58:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-26 15:58:09 +0900

    Update bundled gems list as of 2023-12-26

commit 45b0e778813285df635224da994306c9720c12d0
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2023-12-26 00:52:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-26 12:10:20 +0900

    Markdown table for #flock

commit 901359559bfcca82133dcad7eb93d986a0c0a201
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2023-12-26 02:13:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-26 12:07:44 +0900

    RDoc for complex.c

commit 50b783ccaca1622266578b1750dd2490f883c6cc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-25 13:07:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-26 11:10:25 +0900

    [ruby/syntax_suggest] Typofix by misspell

    https://github.com/ruby/syntax_suggest/commit/66e1cf0b3e

commit ca886cd253e5c38b0bd51e57ad791c00533c20a0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-26 03:56:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-26 03:56:15 +0900

    [DOC] Link to Array#eql? from Array#hash

commit 301a7b1e1d668c8537abea81e88553fefaa747b0
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2023-12-23 22:40:59 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2023-12-26 02:01:02 +0900

    ci: Post Playground link to PR

    This commit adds a new workflow `pr-playground.yml` that posts a
    Wasm-based PR playground link to the PR when it's labeled with
    `playground`.

commit 824ff48adcd47497b8e2993be5144de0e09a4f66
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-16 04:49:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-26 00:41:12 +0900

    Move internal ST functions to internal/st.h

    st_replace and st_init_existing_table_with_size are functions used
    internally in Ruby and should not be publicly visible.

commit f4d2fe5e0d22876a6df68b9b56fb00b25d7aa5d8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-25 22:12:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-25 22:47:37 +0900

    Skip AppVeyor and GitHub if only other CI files are changed

commit ab4264a21f3e1f6a567d49064bf08e890f13c887
  Author:     NARUSE, Yui <naruse@airemix.jp>
  AuthorDate: 2023-12-25 22:15:25 +0900
  Commit:     NARUSE, Yui <naruse@airemix.jp>
  CommitDate: 2023-12-25 22:15:25 +0900

    suppress a warning

commit 7e96d9f96ea639491190248753b661f91ed820aa
  Author:     NARUSE, Yui <naruse@airemix.jp>
  AuthorDate: 2023-12-25 22:10:57 +0900
  Commit:     NARUSE, Yui <naruse@airemix.jp>
  CommitDate: 2023-12-25 22:10:57 +0900

    suppress a warning

commit f730a5a31d7d072f752e9bf41e8b285305933328
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-25 20:18:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-25 21:50:12 +0900

    Check for C99 features which may not be supported

    Continue on error because it is known that this fails right now.
    Once fixed, we'll turn it off.

commit 1966a61a1e93560b9bf217662541c53055a84481
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-25 19:33:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    Merge RubyGems-3.6.0.dev and Bundler-2.6.0.dev from master branch

commit af4e839c4714fb7df57e76f0e33e69deca16bea1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-18 12:24:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/optparse] [DOC] Add missing section

    Fixes https://github.com/ruby/optparse/pull/51

    https://github.com/ruby/optparse/commit/667ab35f59

commit df941aa90dd2dd778224fdd60fc0f024a8f43f99
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-14 22:20:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/resolv] Fix typo

    https://github.com/ruby/resolv/commit/5dfdcfb7c7

commit 5384e5dfde49e403e5e08c6ea2e958ffa5889ae6
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2023-12-22 05:26:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/irb] Remove dead doc (https://github.com/ruby/irb/pull/819)

    https://github.com/ruby/irb/commit/2d5a1afdf5

commit 86fa418dea646e52929b9df9163902c4728442d1
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2023-12-16 21:58:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/ipaddr] Consider IPv4-mapped IPv6 addresses link local/loopback if IPV4 address is private

    Same as #57

    https://github.com/ruby/ipaddr/commit/d56acecb80

commit da77c79d80a615130bc67b42d3795db2a3fdd3fe
  Author:     Luke Randall <lrandall@godaddy.com>
  AuthorDate: 2023-12-07 02:31:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/ipaddr] Fix regressions in exception messages

    Changes introduced by 09edfd4 have broken some exception
    messages, and added the address as an unnecessary
    suffix in others.

    https://github.com/ruby/ipaddr/commit/74a043109c

commit eb53131367d6e1d3da16b0cd6bc44284ea3589ea
  Author:     Kasumi Hanazuki <kasumi@rollingapple.net>
  AuthorDate: 2023-11-27 13:15:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/ipaddr] ntop: Measure address size in bytes

    `IPAddr.ntop` takes the binary representation of an IP address, whose
    length should be 4 or 16 *bytes* (not characters/codepoints).

    The current implementation accepts strings in any encoding, but for
    some values in non-BINARY encoding, it fails proper length check and
    raises an `AddressFamilyError`. Since passing strings in a multibyte
    encoding has never worked correctly for years, this patch makes it an
    explicit error with an `InvalidAddressError`.

    Fixes: https://github.com/ruby/ipaddr/issues/56

    https://github.com/ruby/ipaddr/commit/a33fd14d4a

commit ea5776e7e4262c915f7f8b8884af420dd87d769c
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2023-12-06 06:44:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [flori/json] Use rb_sym2str instead of SYM2ID

    This avoids pinning an id to the symbol used if a dynamic symbol is
    passed in as a hash key.

    rb_sym2str is available in Ruby 2.2+ and json depends on >= 2.3.

    https://github.com/flori/json/commit/5cbafb8dbe

commit 65ec74a8dd6114d4496fde2661c4d3efe917b849
  Author:     Mark Young <mark.young@atg.auto>
  AuthorDate: 2023-12-21 00:11:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/io-console] Provide a 'Changelog' link on rubygems.org/gems/io-console

    By providing a 'changelog_uri' in the metadata of the gemspec
    a 'Changelog' link will be shown on https://rubygems.org/gems/io-console
    which makes it quick and easy for someone to check on the changes
    introduced with a new version.

    Details of this functionality can be found on https://guides.rubygems.org/specification-reference/

    https://github.com/ruby/io-console/commit/6bacdbf0e1

commit a01c1e821cd701998753fb072f57879ed5f990eb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-16 16:05:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/io-console] bump up to 0.7.2.dev.1

    https://github.com/ruby/io-console/commit/08e41a3e4d

commit e7f91fd74cfa5d07a8946e87edea8df38a94fd41
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-16 15:55:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/io-console] [DOC] Add missing documents

    https://github.com/ruby/io-console/commit/44dce34569

commit 4173c4bcfb6468ac2551a5d9db17fb6f188f5170
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-16 15:30:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/io-console] Extract CSI sequence

    https://github.com/ruby/io-console/commit/63dbeeecf4

commit 69312228838c6676a2be442c8758f37e36638470
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-25 13:38:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/securerandom] Typofix by misspell

    https://github.com/ruby/securerandom/commit/e8be08901a

commit 3d40f115649ab40593d35616b6133b741a854dcb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-18 13:55:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/tempfile] [DOC] Missing documents

    https://github.com/ruby/tempfile/commit/6932d6bc6f

commit edadd5b796678e8f819030f9fa37dcae4be2b282
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-25 13:48:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/psych] Typofix by misspell

    https://github.com/ruby/psych/commit/fc9ca15999

commit bb1625858fa2cad85b12e50afc7978c760202a82
  Author:     Alexander Momchilov <amomchilov@users.noreply.github.com>
  AuthorDate: 2023-12-20 02:27:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/psych] Remove now-unreachable rescue block

    https://github.com/ruby/psych/commit/6905a2123c

commit 95e7af0c59267d6ab6695906eaba93c9d181ac69
  Author:     Alexander Momchilov <amomchilov@users.noreply.github.com>
  AuthorDate: 2023-12-20 02:26:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/psych] Remove unused array

    https://github.com/ruby/psych/commit/b9e7b4a4a4

commit b4cb7ead30cbd571ed981d7f07898012594df250
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2023-11-08 16:14:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/fiddle] Bump version

    https://github.com/ruby/fiddle/commit/fd4bb4ea8a

commit 60e46926bad72cbdbf3c42665d64f296becf127f
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2023-11-08 16:17:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/csv] Bump version

    https://github.com/ruby/csv/commit/0cba3e766d

commit cb6a556927120eb998f2995dc7fa21e6232d117e
  Author:     Mark Young <mark.young@atg.auto>
  AuthorDate: 2023-12-20 23:25:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/date] Provide a 'Changelog' link on rubygems.org/gems/date

    By providing a 'changelog_uri' in the metadata of the gemspec
    a 'Changelog' link will be shown on https://rubygems.org/gems/date
    which makes it quick and easy for someone to check on the changes
    introduced with a new version.

    Details of this functionality can be found on https://guides.rubygems.org/specification-reference/

    https://github.com/ruby/date/commit/2dea4c011d

commit 4d344dc1948109df55ea8826140c97ec57829b21
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-18 16:09:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/etc] [DOC] Move rdoc files to .documnet

    https://github.com/ruby/etc/commit/44425427ab

commit bf2532f039887fdd6fa409a34db34fd9b8bcab01
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-20 13:27:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/etc] [DOC] Add empty io.rb for `IO#pathconf` to satisfy the coverage

    https://github.com/ruby/etc/commit/0353d7c8ee

commit 12e78fbfcdd53adc504b6af093ee1a4b785da4b2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-18 16:12:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/etc] [DOC] Missing constant

    https://github.com/ruby/etc/commit/a39e982129

commit 1e1da75031f6d1caf7188c6063725e0c7fc1f013
  Author:     Mark Young <mark.young@atg.auto>
  AuthorDate: 2023-12-20 23:44:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/timeout] Provide a 'Changelog' link on rubygems.org/gems/timeout

    By providing a 'changelog_uri' in the metadata of the gemspec
    a 'Changelog' link will be shown on https://rubygems.org/gems/timeout
    which makes it quick and easy for someone to check on the changes
    introduced with a new version.

    Details of this functionality can be found on https://guides.rubygems.org/specification-reference/

    https://github.com/ruby/timeout/commit/47a6f0313b

commit bb6cf76362a3e7614b6ff8899876b2a1812f9ed1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-18 14:02:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/timeout] [DOC] Missing documents

    https://github.com/ruby/timeout/commit/301ad4cfdc

commit 24e0f6fcab1550d8c1eb5f30e825feeabcb5bee8
  Author:     Mark Young <mark.young@atg.auto>
  AuthorDate: 2023-12-20 23:36:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/net-protocol] Provide a 'Changelog' link on rubygems.org/gems/net-protocol

    By providing a 'changelog_uri' in the metadata of the gemspec
    a 'Changelog' link will be shown on https://rubygems.org/gems/net-protocol
    which makes it quick and easy for someone to check on the changes
    introduced with a new version.

    Details of this functionality can be found on https://guides.rubygems.org/specification-reference/

    https://github.com/ruby/net-protocol/commit/46e78a2a0a

commit da06c09725027202930931a57f81dadf980af81e
  Author:     Mark Young <mark.young@atg.auto>
  AuthorDate: 2023-12-21 00:00:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/base64] Provide a 'Changelog' link on rubygems.org/gems/base64

    By providing a 'changelog_uri' in the metadata of the gemspec
    a 'Changelog' link will be shown on https://rubygems.org/gems/base64
    which makes it quick and easy for someone to check on the changes
    introduced with a new version.

    Details of this functionality can be found on https://guides.rubygems.org/specification-reference/

    https://github.com/ruby/base64/commit/7cab043d67

commit df11b3daf809326ae48f2ae2b31cee274ee4a90c
  Author:     Martin Emde <martin.emde@gmail.com>
  AuthorDate: 2023-12-16 03:30:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [rubygems/rubygems] Let the guards have some space to breathe

    https://github.com/rubygems/rubygems/commit/73f1609715

commit 56804ddd2bfd37542916c1233cdea85153d69508
  Author:     Martin Emde <martin.emde@gmail.com>
  AuthorDate: 2023-12-15 05:42:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [rubygems/rubygems] Use a mutex around Checksum::Store @store access

    Not wrapping to_lock since access to it is single threaded and
    read-only at the time of writing the lockfile.

    https://github.com/rubygems/rubygems/commit/3b53aa1b12

commit 5b8e685877c4b1476b1d9f5394386b83b9099dd3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-25 13:43:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/rdoc] Typofix by misspell

    https://github.com/ruby/rdoc/commit/6231b03476

commit e32495309052e8e8197bcb36d123923548814d30
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-19 16:21:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/rdoc] Fix support for `rb_file_const` and `rb_curses_define_const`

    Constant definitions using these functions have been supported, but
    since RDoc::Parser::C#gen_const_table did not consider other than
    `rb_define_const` the documents for them have not been found, without
    `Document-const` directive.

    Fixes https://github.com/ruby/rdoc/issues/1067

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

commit e55a57af1e9872c34ad799d3b42be4430cdf12fc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-18 12:45:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/optparse] [DOC] Add missing documents

    https://github.com/ruby/optparse/commit/324ff21f04

commit 7dd59346a06168470f2a0ca590c305d6da3df47a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-18 12:15:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/optparse] [DOC] Fix tutorial link

    Fixes https://github.com/ruby/optparse/pull/51

    https://github.com/ruby/optparse/commit/1c895efc39

commit f54369830f83a65fb54916d762883fbe6eeb7d0b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-25 17:43:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    Revert "Rollback to released version numbers of stringio and strscan"

    This reverts commit 6a79e53823e328281b9e9eee53cd141af28f8548.

commit fa251d60aa9c6f271885a467a26249b29f291cd3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-25 17:34:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    Revert "Revert all of commits after Prism 0.19.0 release"

    This reverts commit d242e8416e99eaee4465e2681210ae8b7ecd6d34.

commit 12b69bf515111ecf4b550fe1e2c5ec81a6fcf43a
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-25 18:40:50 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2023-12-25 20:33:22 +0900

    Lrama v0.6.0

commit e7d0ec361941a9d67616c3df1dd82d882ee9a9e5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-25 19:28:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-25 19:28:45 +0900

    [DOC] Fix format of NEWS.md

commit e1c0e8cac4af53b64e7827fabaa5ae7bb42d58fe
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2023-12-25 18:45:16 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2023-12-25 18:45:17 +0900

    [DOC] Add a NEWS entry about `it`

commit a164a34110940456a223959b0b17465ff796283c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2023-12-25 18:36:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2023-12-25 18:36:28 +0900

    Resurrect a deprecated code for fixing tests for now

    Revert "Remove deprecated code to fix RUBY_DEBUG build failures"

    This reverts commit 9614bea2cd59902a051a7387e354e23a52fe5396.

    And changed 3.4 to 3.5. To be fixed properly later.

commit 596db9c1f486d6609a4e97d82c8c71b54609fb6f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-25 15:38:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-25 18:28:21 +0900

    [Feature #19370] Blocks without anonymous parameters should not affect

commit 6e13cde457cbf9b678191e7a7b8684fc83bf392c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2023-12-25 18:25:36 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2023-12-25 18:25:36 +0900

    Re-skip a failing spec

commit 9614bea2cd59902a051a7387e354e23a52fe5396
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2023-12-25 18:21:32 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2023-12-25 18:21:33 +0900

    Remove deprecated code to fix RUBY_DEBUG build failures

commit 44592c4e20a17946b27c50081aee96802db981e6
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2023-12-25 18:15:41 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2023-12-25 18:15:41 +0900

    Implement `it` (#9199)

    [[Feature #18980]](https://bugs.ruby-lang.org/issues/18980)

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

commit 98eeadc93298b2f178d400d99f3921e3663369b6
  Author:     Yukihiro "Matz" Matsumoto <matz@ruby.or.jp>
  AuthorDate: 2023-12-25 18:13:40 +0900
  Commit:     Yukihiro "Matz" Matsumoto <matz@ruby.or.jp>
  CommitDate: 2023-12-25 18:13:40 +0900

    Development of 3.4.0 started.
