<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/include/ruby/io.h, branch v3_3_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Restore `HAVE_RB_IO_T` macro for compatibility with `kgio`, `unicorn`, etc. (#8286)</title>
<updated>2023-08-28T12:50:05+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2023-08-28T12:50:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=caf48487cafb8414c60f32b902decf0689ae2093'/>
<id>caf48487cafb8414c60f32b902decf0689ae2093</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add deprecations for public `struct rb_io` members. (#7916)</title>
<updated>2023-06-08T11:22:43+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2023-06-08T11:22:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3fe09eba9d040d275d8305fe1b00f2f22218b6c8'/>
<id>3fe09eba9d040d275d8305fe1b00f2f22218b6c8</id>
<content type='text'>
* Add deprecations for public struct rb_io members.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add deprecations for public struct rb_io members.</pre>
</div>
</content>
</entry>
<entry>
<title>Expose `enum rb_io_event` flags without `_t` suffix. (#7887)</title>
<updated>2023-06-01T13:54:08+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2023-06-01T13:54:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b7ee51e81dd63990ec27daaa151864214cbf85d2'/>
<id>b7ee51e81dd63990ec27daaa151864214cbf85d2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Drop `_t` suffix from struct names. (#7886)</title>
<updated>2023-06-01T12:46:10+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2023-06-01T12:46:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=47a8de609595def385cb8c716b80d7a64b718310'/>
<id>47a8de609595def385cb8c716b80d7a64b718310</id>
<content type='text'>
POSIX reserves `_t` suffix in types.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
POSIX reserves `_t` suffix in types.</pre>
</div>
</content>
</entry>
<entry>
<title>Hide the usage of `rb_io_t` where possible. (#7880)</title>
<updated>2023-06-01T05:23:30+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2023-06-01T05:23:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a218ed569243e7544d8c4e3b348245a17f6c6a51'/>
<id>a218ed569243e7544d8c4e3b348245a17f6c6a51</id>
<content type='text'>
This retries the compatible parts of the previously reverted PR so we can continue to update related code without breaking backwards compatibility.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This retries the compatible parts of the previously reverted PR so we can continue to update related code without breaking backwards compatibility.</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Hide most of the implementation of `struct rb_io`. (#6511)"</title>
<updated>2023-05-31T23:43:22+00:00</updated>
<author>
<name>NARUSE, Yui</name>
<email>naruse@airemix.jp</email>
</author>
<published>2023-05-31T23:43:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=85dcc4866d9ff29834596e9186cc97d622ee06f8'/>
<id>85dcc4866d9ff29834596e9186cc97d622ee06f8</id>
<content type='text'>
This reverts commit 18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2.

fix [Bug #19704]
https://bugs.ruby-lang.org/issues/19704
This breaks compatibility for extension libraries. Such changes
need a discussion.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2.

fix [Bug #19704]
https://bugs.ruby-lang.org/issues/19704
This breaks compatibility for extension libraries. Such changes
need a discussion.
</pre>
</div>
</content>
</entry>
<entry>
<title>Hide most of the implementation of `struct rb_io`. (#6511)</title>
<updated>2023-05-30T01:02:40+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2023-05-30T01:02:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2'/>
<id>18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2</id>
<content type='text'>
* Add rb_io_path and rb_io_open_descriptor.

* Use rb_io_open_descriptor to create PTY objects

* Rename FMODE_PREP -&gt; FMODE_EXTERNAL and expose it

FMODE_PREP I believe refers to the concept of a "pre-prepared" file, but
FMODE_EXTERNAL is clearer about what the file descriptor represents and
aligns with language in the IO::Buffer module.

* Ensure that rb_io_open_descriptor closes the FD if it fails

If FMODE_EXTERNAL is not set, then it's guaranteed that Ruby will be
responsible for closing your file, eventually, if you pass it to
rb_io_open_descriptor, even if it raises an exception.

* Rename IS_EXTERNAL_FD -&gt; RUBY_IO_EXTERNAL_P

* Expose `rb_io_closed_p`.

* Add `rb_io_mode` to get IO mode.

---------

Co-authored-by: KJ Tsanaktsidis &lt;ktsanaktsidis@zendesk.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add rb_io_path and rb_io_open_descriptor.

* Use rb_io_open_descriptor to create PTY objects

* Rename FMODE_PREP -&gt; FMODE_EXTERNAL and expose it

FMODE_PREP I believe refers to the concept of a "pre-prepared" file, but
FMODE_EXTERNAL is clearer about what the file descriptor represents and
aligns with language in the IO::Buffer module.

* Ensure that rb_io_open_descriptor closes the FD if it fails

If FMODE_EXTERNAL is not set, then it's guaranteed that Ruby will be
responsible for closing your file, eventually, if you pass it to
rb_io_open_descriptor, even if it raises an exception.

* Rename IS_EXTERNAL_FD -&gt; RUBY_IO_EXTERNAL_P

* Expose `rb_io_closed_p`.

* Add `rb_io_mode` to get IO mode.

---------

Co-authored-by: KJ Tsanaktsidis &lt;ktsanaktsidis@zendesk.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Replace `PACKED_STRUCT` in include</title>
<updated>2023-02-08T03:35:27+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2023-02-06T12:56:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fefe37f98dc347ed372597975a327f3c1425c556'/>
<id>fefe37f98dc347ed372597975a327f3c1425c556</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Try `nil` as default for 'default timeout'. (#6509)</title>
<updated>2022-10-08T01:02:34+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2022-10-08T01:02:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=844a9dff887f0af075c0c50020f98a45a1528d14'/>
<id>844a9dff887f0af075c0c50020f98a45a1528d14</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify default argument specification. (#6507)</title>
<updated>2022-10-07T09:51:27+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2022-10-07T09:51:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a081fe76de5de0307651d99324a0e454fd8b8a8b'/>
<id>a081fe76de5de0307651d99324a0e454fd8b8a8b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
