-*- coding: utf-8 -*-

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.
