<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/ruby, branch v4.0.4</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>merge revision(s) d077df24a2256d760cc534b242b28822d4ef6376: [Backport #22002]</title>
<updated>2026-05-11T21:01:20+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-11T21:01:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a9e4608b5225d665ec9c9353a8350f5b940c20fe'/>
<id>a9e4608b5225d665ec9c9353a8350f5b940c20fe</id>
<content type='text'>
	[Bug #22002] Never pop when compiling branch predicate

	The value is always needed. Now prism emits the same instructions as parse.y for the added test case.

	`defined?`/`flip-flop` caused `argument stack underflow`, `and`/`or` segfaulted during runtime.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[Bug #22002] Never pop when compiling branch predicate

	The value is always needed. Now prism emits the same instructions as parse.y for the added test case.

	`defined?`/`flip-flop` caused `argument stack underflow`, `and`/`or` segfaulted during runtime.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) c0d86a0103de7130943d54b4a290b76ec7e0c135,47e061277ac194a36659510bcf4f3190bde629a6: [Backport #21952]</title>
<updated>2026-05-11T20:54:55+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-11T20:54:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8539f0b386e2e42f8fe5ac12a2fd9e84872d8c7c'/>
<id>8539f0b386e2e42f8fe5ac12a2fd9e84872d8c7c</id>
<content type='text'>
	class.c: rb_class_duplicate_classext also dup content of cvc_tbl

	[Bug #21952]

	Shallow copying the table result in the same memory being shared
	between multiple box, causing double free when one of the box
	is garbage collected.

	---

	class.c: Make cvc_tbl a managed object

	[Bug #21952]

	Solves the double-free or use after-free concern with boxes.
	Now entries can safely be used for copy-on-write.

	Also is likely necessary to make it save to read cvar from
	secondary ractors, as allowed since: ab32c0e690b805cdaaf264ad4c3421696c588204
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	class.c: rb_class_duplicate_classext also dup content of cvc_tbl

	[Bug #21952]

	Shallow copying the table result in the same memory being shared
	between multiple box, causing double free when one of the box
	is garbage collected.

	---

	class.c: Make cvc_tbl a managed object

	[Bug #21952]

	Solves the double-free or use after-free concern with boxes.
	Now entries can safely be used for copy-on-write.

	Also is likely necessary to make it save to read cvar from
	secondary ractors, as allowed since: ab32c0e690b805cdaaf264ad4c3421696c588204
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 7f4f3c8ee7cde795dc27be753796fc7ea8318565: [Backport #22004]</title>
<updated>2026-05-11T20:45:55+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-11T20:45:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b18acb27c3f1b1ae26bbae6e53e94e246dc0e973'/>
<id>b18acb27c3f1b1ae26bbae6e53e94e246dc0e973</id>
<content type='text'>
	[PATCH] [Bug #22004] Fix short-circuited loop conditions
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] [Bug #22004] Fix short-circuited loop conditions
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) f89b07ef0046257dd796a2e615cc063072114f16: [Backport #21940]</title>
<updated>2026-05-11T20:45:19+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-11T20:45:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b00545b9652782b5ab07d16dc7729b0c69242d3c'/>
<id>b00545b9652782b5ab07d16dc7729b0c69242d3c</id>
<content type='text'>
	[PATCH] Mark `$_` as box-dynamic to bypass Box gvar_tbl cache

	`$_` is updated through svar (rb_lastline_set), bypassing
	rb_gvar_set, so the Box gvar_tbl cache is never invalidated
	and returns a stale value. Call rb_gvar_box_dynamic so
	gvar_use_box_tbl() skips the cache.

	Fixes [Bug #21940](https://bugs.ruby-lang.org/issues/21940)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] Mark `$_` as box-dynamic to bypass Box gvar_tbl cache

	`$_` is updated through svar (rb_lastline_set), bypassing
	rb_gvar_set, so the Box gvar_tbl cache is never invalidated
	and returns a stale value. Call rb_gvar_box_dynamic so
	gvar_use_box_tbl() skips the cache.

	Fixes [Bug #21940](https://bugs.ruby-lang.org/issues/21940)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 526344b56ea968d5704bdefe6e10bb3cf7f4f569, 8ad6baa01746e8de0460f0ccdaee69953a70af17: [Backport #21933]</title>
<updated>2026-05-11T20:43:47+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-11T20:43:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=dd78605b2d06600750c331f307083d60df702814'/>
<id>dd78605b2d06600750c331f307083d60df702814</id>
<content type='text'>
	[PATCH] Fix Box regexp match vars after non-match

	[PATCH] Use box_ready for $&amp;, $`, $\', $+

	These variables have rb_gvar_readonly_setter, so box_ready is sufficient.
	Only $~ needs box_dynamic due to its custom match_setter.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] Fix Box regexp match vars after non-match

	[PATCH] Use box_ready for $&amp;, $`, $\', $+

	These variables have rb_gvar_readonly_setter, so box_ready is sufficient.
	Only $~ needs box_dynamic due to its custom match_setter.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 4644e4f2fafe45e2c49f18bc9712d0f5fff3d341: [Backport #21986]</title>
<updated>2026-05-11T20:40:35+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-11T20:40:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=926b0ec4ed0e181735f3778c3e6b79d891e70848'/>
<id>926b0ec4ed0e181735f3778c3e6b79d891e70848</id>
<content type='text'>
	[PATCH] [Bug #21986] Fix location of numeric literal

	When checking for suffixes, do not flush the numeric literal token
	even if no suffix is found.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] [Bug #21986] Fix location of numeric literal

	When checking for suffixes, do not flush the numeric literal token
	even if no suffix is found.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 24a2ba09af13b7c969733ea9370ad59d2442f4c9: [Backport #21985]</title>
<updated>2026-05-11T20:40:06+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-11T20:40:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e4271b554c8b13270754a45ee631789237d5cced'/>
<id>e4271b554c8b13270754a45ee631789237d5cced</id>
<content type='text'>
	[PATCH] [Bug #21985] Include the `-` in the negative numbers location
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] [Bug #21985] Include the `-` in the negative numbers location
</pre>
</div>
</content>
</entry>
<entry>
<title>- iseq.c: fix passing frozen option to compile_file_prism</title>
<updated>2026-05-04T22:06:51+00:00</updated>
<author>
<name>Vladimir Dementyev</name>
<email>dementiev.vm@gmail.com</email>
</author>
<published>2026-04-21T14:34:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1ce2e79b13733f1f2d2bbc2fa9f2b447f6ddd207'/>
<id>1ce2e79b13733f1f2d2bbc2fa9f2b447f6ddd207</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>iseq.c: rb_estimate_iv_count handle no superclass</title>
<updated>2026-04-14T17:34:41+00:00</updated>
<author>
<name>Jean Boussier</name>
<email>jean.boussier@gmail.com</email>
</author>
<published>2026-04-12T13:13:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3dc2012099a100a0732afa836f1e4cd71660defc'/>
<id>3dc2012099a100a0732afa836f1e4cd71660defc</id>
<content type='text'>
[Bug #21992]

When redefining `BasicObject#initialize` there's no super class to
access.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Bug #21992]

When redefining `BasicObject#initialize` there's no super class to
access.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) c27ae8d91aadca0660070ee1eeae9598b1fe47ee, b6e6ccc6c22ebb464ce101e42a14e7daea2a80b6, cbca59377ebfa1bc1183322fa9d9d0067d445c24: [Backport #21844]</title>
<updated>2026-04-04T03:20:44+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-04-04T03:20:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7ba583d753411a39dec78ea6e7c8d2701b04c118'/>
<id>7ba583d753411a39dec78ea6e7c8d2701b04c118</id>
<content type='text'>
	[ruby/psych] Remove excessive check of message

	Make `Data#initialize` reject `Integer` keys

	[Bug #21844] Fix error message
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[ruby/psych] Remove excessive check of message

	Make `Data#initialize` reject `Integer` keys

	[Bug #21844] Fix error message
</pre>
</div>
</content>
</entry>
</feed>
