<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/include/ruby, branch v4.0.2</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) 78b7646bdb91285873ac26bca060591e06c45afe, b4a62a1ca949d93332ad8bce0fcc273581160cc5: [Backport #21842]</title>
<updated>2026-02-09T21:44:42+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-02-09T21:44:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=306930ae1ac62fb3b7f96581f4a6e9ab4c083e84'/>
<id>306930ae1ac62fb3b7f96581f4a6e9ab4c083e84</id>
<content type='text'>
	[PATCH] [Bug #21842] Let `rb_interned_str` return US-ASCII if possible

	[PATCH] [DOC] Update docs for rb_interned_str and related functions (#15897)

	Related to [Bug #21842].

	* rb_interned_str: document what decides whether the returned string is
	  in US-ASCII or BINARY encoding.
	* rb_interned_str_cstr: include the same description as rb_interned_str
	  for the encoding. This one was still missing the update for US-ASCII
	  and erroneously said the returned string was alwasy in BINARY encoding
	* rb_str_to_interned_str: document how the encoding of the result is
	  defined.

	Co-authored-by: Herwin &lt;herwinw@users.noreply.github.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] [Bug #21842] Let `rb_interned_str` return US-ASCII if possible

	[PATCH] [DOC] Update docs for rb_interned_str and related functions (#15897)

	Related to [Bug #21842].

	* rb_interned_str: document what decides whether the returned string is
	  in US-ASCII or BINARY encoding.
	* rb_interned_str_cstr: include the same description as rb_interned_str
	  for the encoding. This one was still missing the update for US-ASCII
	  and erroneously said the returned string was alwasy in BINARY encoding
	* rb_str_to_interned_str: document how the encoding of the result is
	  defined.

	Co-authored-by: Herwin &lt;herwinw@users.noreply.github.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>thread_sync.c: declare queue_data_type as parent of szqueue_data_type.</title>
<updated>2025-12-18T19:57:05+00:00</updated>
<author>
<name>Jean Boussier</name>
<email>jean.boussier@gmail.com</email>
</author>
<published>2025-12-18T08:35:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8cf4f373ff596aaef7aaec993c355b242d4fe2c1'/>
<id>8cf4f373ff596aaef7aaec993c355b242d4fe2c1</id>
<content type='text'>
Allows to remove some duplicated code like szqueue_length, etc.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allows to remove some duplicated code like szqueue_length, etc.
</pre>
</div>
</content>
</entry>
<entry>
<title>[DOC] Fix documents of `rb_intern_str` and so on</title>
<updated>2025-12-18T02:27:05+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-12-18T02:27:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b816f7bac5f2dfb10c7a468c14cfcdedaab2f7ae'/>
<id>b816f7bac5f2dfb10c7a468c14cfcdedaab2f7ae</id>
<content type='text'>
* `rb_intern_str`: the argument must be `T_STRING`, no conversion.

* `rb_intern_str`, `rb_check_id`, `rb_to_id`, `rb_check_symbol`: raise
  `EncodingError` unless the "name" argument is a valid string in its
  encoding.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* `rb_intern_str`: the argument must be `T_STRING`, no conversion.

* `rb_intern_str`, `rb_check_id`, `rb_to_id`, `rb_check_symbol`: raise
  `EncodingError` unless the "name" argument is a valid string in its
  encoding.
</pre>
</div>
</content>
</entry>
<entry>
<title>[DOC] Re-fill the paragraph</title>
<updated>2025-12-18T01:14:40+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-12-18T01:14:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f2d2a757d1b3a11b68e60ee08162e58f59837bb3'/>
<id>f2d2a757d1b3a11b68e60ee08162e58f59837bb3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[DOC] Fix double-word typos in comments</title>
<updated>2025-12-18T00:34:32+00:00</updated>
<author>
<name>Augustin Gottlieb</name>
<email>33221555+aguspe@users.noreply.github.com</email>
</author>
<published>2025-12-18T00:34:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cfa3e7cf75531a8c90b39bbd9b977f30315b12e7'/>
<id>cfa3e7cf75531a8c90b39bbd9b977f30315b12e7</id>
<content type='text'>
Found via `grep` for repeated words.

* set.c: Fix "or or"
* include/ruby/internal/symbol.h: Fix "is is"
* include/ruby/internal/ctype.h: Fix "in in"</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Found via `grep` for repeated words.

* set.c: Fix "or or"
* include/ruby/internal/symbol.h: Fix "is is"
* include/ruby/internal/ctype.h: Fix "in in"</pre>
</div>
</content>
</entry>
<entry>
<title>Rename to `struct rbimpl_size_overflow_tag`</title>
<updated>2025-12-17T08:35:58+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-12-17T05:28:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=61bab1889048f758396acf671c9797d6bc52504b'/>
<id>61bab1889048f758396acf671c9797d6bc52504b</id>
<content type='text'>
This struct is used for addition not only for multiplication, so
remove the word `mul`, and make the member names more descriptive.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This struct is used for addition not only for multiplication, so
remove the word `mul`, and make the member names more descriptive.
</pre>
</div>
</content>
</entry>
<entry>
<title>gc.h: Reintroduce immediate guard in `rb_obj_written`</title>
<updated>2025-12-16T20:00:27+00:00</updated>
<author>
<name>Jean Boussier</name>
<email>jean.boussier@gmail.com</email>
</author>
<published>2025-12-14T08:50:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=094418a6de89a37fc51a17077a5565f125b97f2e'/>
<id>094418a6de89a37fc51a17077a5565f125b97f2e</id>
<content type='text'>
This guard was removed in https://github.com/ruby/ruby/pull/13497
on the justification that some GC may need to be notified even for
immediate.

But the two currently available GCs don't, and there are plenty
of assumtions GCs don't everywhere, notably in YJIT and ZJIT.

This optimization is also not so micro (but not huge either).
I routinely see 1-2% wasted there on micro-benchmarks.

So perhaps if in the future we actually need this, it might make
sense to introduce a way for GCs to declare that as an option,
but in the meantime it's extra overhead with little gain.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This guard was removed in https://github.com/ruby/ruby/pull/13497
on the justification that some GC may need to be notified even for
immediate.

But the two currently available GCs don't, and there are plenty
of assumtions GCs don't everywhere, notably in YJIT and ZJIT.

This optimization is also not so micro (but not huge either).
I routinely see 1-2% wasted there on micro-benchmarks.

So perhaps if in the future we actually need this, it might make
sense to introduce a way for GCs to declare that as an option,
but in the meantime it's extra overhead with little gain.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix documentation of RB_PASS_CALLED_KEYWORDS in C API</title>
<updated>2025-12-13T20:09:05+00:00</updated>
<author>
<name>Benoit Daloze</name>
<email>eregontp@gmail.com</email>
</author>
<published>2025-12-13T16:15:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b423204cb3851d1ad22d76578f7b516f1543c0dc'/>
<id>b423204cb3851d1ad22d76578f7b516f1543c0dc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fewer calls to `GET_EC()` and `GET_THREAD()` (#15506)</title>
<updated>2025-12-12T19:47:43+00:00</updated>
<author>
<name>Luke Gruber</name>
<email>luke.gruber@shopify.com</email>
</author>
<published>2025-12-12T19:47:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3add3db797c4216423fdaa4bef6e2ee3c7630303'/>
<id>3add3db797c4216423fdaa4bef6e2ee3c7630303</id>
<content type='text'>
The changes are to `io.c` and `thread.c`.
I changed the API of 2 exported thread functions from `internal/thread.h` that
didn't look like they had any use in C extensions:

* rb_thread_wait_for_single_fd
* rb_thread_io_wait

I didn't change the following exported internal function because it's
used in C extensions:

* rb_thread_fd_select

I added a comment to note that this function, although internal, is used
in C extensions.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The changes are to `io.c` and `thread.c`.
I changed the API of 2 exported thread functions from `internal/thread.h` that
didn't look like they had any use in C extensions:

* rb_thread_wait_for_single_fd
* rb_thread_io_wait

I didn't change the following exported internal function because it's
used in C extensions:

* rb_thread_fd_select

I added a comment to note that this function, although internal, is used
in C extensions.</pre>
</div>
</content>
</entry>
<entry>
<title>Win32: Make `rb_w32_osid` return Windows NT always</title>
<updated>2025-12-12T05:24:03+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-12-12T04:04:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5541c0d896d220923e795aa4f87ceb6237d53c4b'/>
<id>5541c0d896d220923e795aa4f87ceb6237d53c4b</id>
<content type='text'>
Since support for Windows 9x was dropped over a decade ago.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since support for Windows 9x was dropped over a decade ago.
</pre>
</div>
</content>
</entry>
</feed>
