Project

General

Profile

Activity

From 05/27/2023 to 06/02/2023

06/02/2023

10:24 PM Misc #19679 (Assigned): Migrate Wiki from bugs.ruby-lang.org to ruby/ruby GitHub repository
I added @jemmai to Triage team and added wiki CRUD grants to Triage team.
If you don't have wiki permission, please ask me again because configuration of Redmine is too complex.
hsbt (Hiroshi SHIBATA)
05:31 PM Misc #19679: Migrate Wiki from bugs.ruby-lang.org to ruby/ruby GitHub repository
@hsbt I think @jemmai should have Wiki edit permission on Redmine for updating/deleting migrated pages. Can we maybe create a group with "Triage team" permission on Ruby master and add Jemma to it? k0kubun (Takashi Kokubun)
09:16 PM Revision 4e26ae3c (git): YJIT: Use #[cfg] instead of if cfg! (#7899)
k0kubun (Takashi Kokubun)
07:49 PM Bug #19707 (Closed): Backport openssl fix to ruby_3_2 branch
Hi! While working on backports to fix another bug, I noticed that the openssl tests for Visual Studio code were failing with an unrelated error. I tracked down the fix on master and opened a backport PR for ruby_3_2 here https://github.c... eileencodes (Eileen Uchitelle)
03:58 PM Bug #19696: YJIT panicked - branch stubs should never enlarge branches
We would also like to know if you are able to reproduce the issue with Ruby 3.3-preview1 on your CI. That would give us a valuable data point. maximecb (Maxime Chevalier-Boisvert)
02:11 PM Revision 22bea37c (git): Stabilize test_latest_gc_info_need_major_by
Fix:
```
1) Failure:
TestGc#test_latest_gc_info_need_major_by [/home/runner/work/ruby/ruby/src/test/ruby/test_gc.rb:266]:
<nil> expected to not be nil.
```
`GC.stat(:major_gc_count)` can be bumped while `GC.latest_gc_info(:need_...
byroot (Jean Boussier)
01:54 PM Revision 83056817 (git): [ruby/irb] Require `test/lib` helpers from main test helper
(https://github.com/ruby/irb/pull/595)
Because they are handled differently in `ruby/irb` and `ruby/ruby`.
st0012 (Stan Lo)
12:18 PM Revision e38fb050 (git): [ruby/reline] Remove unnecessary conditions for
`Fiddle::TYPE_VARIADIC`
(https://github.com/ruby/reline/pull/547)
https://github.com/ruby/reline/commit/71ba3a9432
nobu (Nobuyoshi Nakada)
09:55 AM Revision 60d75a56 (git): MJIT: Check if self is T_OBJECT before opt_pc jump
k0kubun (Takashi Kokubun)
08:21 AM Revision d7e82512 (git): Update default gems list at c32a30ec09997b3ee846a33a6873ed [ci skip]
git[bot]
08:20 AM Revision c32a30ec (git): [ruby/stringio] Development of 3.0.8 started.
https://github.com/ruby/stringio/commit/1587d3698e hsbt (Hiroshi SHIBATA)
07:58 AM Revision 21b61b21 (git): Fix the case no file under bin directory
NMake cannot handle empty expanded targets. nobu (Nobuyoshi Nakada)
07:30 AM Revision ae70d2d7 (git): YJIT: Use #[cfg] instead of if cfg!
k0kubun (Takashi Kokubun)
05:27 AM Revision 729b92ea (git): [ruby/uri] Drop support for 2.4
https://github.com/ruby/uri/commit/21baf2ba16 nobu (Nobuyoshi Nakada)
03:44 AM Revision 5a3c782a (git): Bump octokit/request-action from 2.1.7 to 2.1.8
Bumps [octokit/request-action](https://github.com/octokit/request-action) from 2.1.7 to 2.1.8.
- [Release notes](https://github.com/octokit/request-action/releases)
- [Commits](https://github.com/octokit/request-action/compare/89a1754fe8...
dependabot[bot]
02:33 AM Feature #19706: Make JSON.[] support ARGF object
`JSON.load(ARGF)["foo"]` is possible in all versions (1.5.5 bundled with ruby1.9, at least). nobu (Nobuyoshi Nakada)
02:28 AM Feature #19706 (Third Party's Issue): Make JSON.[] support ARGF object
Json has its own upstream, https://github.com/flori/json.
BTW: I've never used `JSON[]`, but it looks like whole opposite functions are crammed into one method.
nobu (Nobuyoshi Nakada)
01:46 AM Feature #19706 (Third Party's Issue): Make JSON.[] support ARGF object
**Abstract**
I propose to extend the `JSON.[]` method in the `json` standard library to support `ARGF` object directly.
**Background**
Currently, the `JSON.[]` method supports parsing from a string or generating a string from an ob...
tatzyr (Tatsuya Otsuka)
01:12 AM Bug #19700: TestProcess#test_execopts_redirect_open_fifo_interrupt_print is flaky on macOS
I opened https://github.com/ruby/ruby/pull/7876 to skip this. kjtsanaktsidis (KJ Tsanaktsidis)
12:41 AM Revision 08bf3bcf (git): MJIT: Trigger compaction when the queue is empty
k0kubun (Takashi Kokubun)
12:28 AM Revision 3a4206c7 (git): No need to define "BISON" on extconf.rb
"BISON" is defined in "ext/ripper/depend". yui-knk (Kaneko Yuichiro)

06/01/2023

09:55 PM Revision 10621f7c (git): Revert "Fix cvar caching when class is cloned"
This reverts commit 77d1b082470790c17c24a2f406b4fec5d522636b. tenderlovemaking (Aaron Patterson)
08:10 PM Revision 2d2893f2 (git): [ruby/irb] Improve debug command tests
(https://github.com/ruby/irb/pull/594)
* Use require_relative for envutil.rb
Requiring test helper files with `require_relative` allows running the tests
with `ruby -Itest test/irb/test_debug_cmd.rb` without having to set up
the load p...
st0012 (Stan Lo)
07:27 PM Bug #19705 (Rejected): Ruby IPAddr class accepting wrong IPv6 address string
It's expected that IPv6 with zone identifiers addresses are supported starting in Ruby 3.1 (ipaddr 1.2.3). See #10911 and https://github.com/ruby/ipaddr/pull/24. jeremyevans0 (Jeremy Evans)
10:52 AM Bug #19705 (Rejected): Ruby IPAddr class accepting wrong IPv6 address string
We are middle of upgrading ruby versions v2.7.3 -> v3.1.3
One of our test cases are failing related to valid ipv6 address string, check the following
````
# ruby 2.7.3
IPAddr.new('fe80::85e:7530:69ec:9074%en0').ipv6?
=> IPAddr::...
farhan.memon@getsimpl.com (Md. Farhan Memon)
04:16 PM Revision 39968112 (git): YJIT: Introduce RubyVM::YJIT.stats_string (#7857)
* YJIT: Introduce RubyVM::YJIT.printed_stats
* Use #string instead
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
* Rename it to #stats_string
Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
---------
...
k0kubun (Takashi Kokubun)
03:52 PM Revision 77d1b082 (git): Fix cvar caching when class is cloned
The class variable cache that was added in
https://github.com/ruby/ruby/pull/4544 changed the behavior of class
variables on cloned classes. As reported when a class is cloned AND a
class variable was set, and the class variable was read...
eileencodes (Eileen Uchitelle)
01:54 PM Revision b7ee51e8 (git): Expose `enum rb_io_event` flags without `_t` suffix. (#7887)
Samuel Williams
12:46 PM Revision 47a8de60 (git): Drop `_t` suffix from struct names. (#7886)
POSIX reserves `_t` suffix in types. Samuel Williams
12:44 PM Revision a5e1d549 (git): [DOC] Mention the edge case of `any?`/`all?`
nobu (Nobuyoshi Nakada)
12:32 PM Revision a16cffe3 (git): Simplify duplicated code
The capacity of the string can be calculated using the str_capacity
function.
peterzhu2118 (Peter Zhu)
12:32 PM Revision 8a8618d4 (git): Don't refetch ptr and len
The call to RSTRING_GETMEM already fetched the pointer and length, so we
don't need to fetch it again.
peterzhu2118 (Peter Zhu)
12:16 PM Bug #19576: Backport request: Gemfile.lock resolving is broken with bundler shipped with Ruby 3.1.4
With the --deployment option true:
This commit introduced the issue: https://github.com/rubygems/rubygems/commit/09b90646f42a6591c280bbd7484c9bb0aa26b6ae
This commit fixed the issue: https://github.com/rubygems/rubygems/commit/d55ad9b01...
jprokop (Jarek Prokop)
08:55 AM Bug #19576: Backport request: Gemfile.lock resolving is broken with bundler shipped with Ruby 3.1.4
Thank you. I can confirm that PR fixes what I described in the initial report.
Unfortunately, I recently found second manifestation of this, even with the patch it will fail due to a similar reason of preferring archful gem when `depl...
jprokop (Jarek Prokop)
07:57 AM Bug #19576: Backport request: Gemfile.lock resolving is broken with bundler shipped with Ruby 3.1.4
I prepared to release new versions with your commits.
https://github.com/rubygems/rubygems/pull/6717
hsbt (Hiroshi SHIBATA)
11:41 AM Revision d5a53331 (git): [ruby/stringio] Avoid direct struct usage.
(https://github.com/ruby/stringio/pull/54)
We will eventually want to refactor this, but for now this is compatible
enough.
Samuel Williams
11:11 AM Feature #19057: Hide implementation of `rb_io_t`.
I'm in favour of eventually deprecating `rb_io_t` and I think that means anything related to it.
I think deprecations can make things a little easier but I'm not against breaking things that are out of our control.
I'm happy to fix thi...
ioquatix (Samuel Williams)
09:56 AM Feature #19057: Hide implementation of `rb_io_t`.
I am not sure there is an easier path here, IMO it's OK for some extensions to break while they test against ruby-head, and to adapt to it (and we are not close to December).
It would be nicer to deprecate first, but I am not sure how f...
Eregon (Benoit Daloze)
12:53 AM Feature #19057 (Assigned): Hide implementation of `rb_io_t`.
ioquatix (Samuel Williams)
12:52 AM Feature #19057: Hide implementation of `rb_io_t`.
Unfortunately this was reverted due to some extensions no longer compiling.
- https://bugs.ruby-lang.org/issues/19704
I think it's expected that some dependencies using internal details of `rb_io_t` should be fixed.
ioquatix (Samuel Williams)
10:02 AM Feature #19616: Remove ext/readline from Ruby 3.3
I noticed Rails's Gemfile added a dependency to readline-ext in https://github.com/rails/rails/commit/a6e0b0acb2d1e85a8f90bdf956e7549bcad46896 due to some incompatibility.
I filed https://github.com/ruby/reline/issues/546 to hopefully r...
Eregon (Benoit Daloze)
09:41 AM Revision 957b6a49 (git): rb_io_descriptor() is available since 3.1
Eregon (Benoit Daloze)
08:43 AM Revision 64ec1813 (git): Restores the changes in `io-console` without breaking backwards compatibility. (#7882)
This reverts commit 35da41b29bf0a1a8fd2cd7e1d7fcb036ca8c2c7c.
This updates `io-console` to avoid accessing the internal details of `rb_io_t`
and instead use `rb_io_descriptor` and `rb_io_path` etc.
Samuel Williams
08:37 AM Revision edee9b6a (git): Use a real Ruby mutex in rb_io_close_wait_list (#7884)
Because a thread calling IO#close now blocks in a native condvar wait,
it's possible for there to be _no_ threads left to actually handle
incoming signals/ubf calls/etc.
This manifested as failing tests on Solaris 10 (SPARC), because:
...
kjtsanaktsidis (KJ Tsanaktsidis)
05:46 AM Revision d8f33349 (git): [ruby/syntax_suggest] Use hard-coded filename for executables.
It's hard to handle between ruby/syntax_suggest and ruby/ruby at gemspec.
https://github.com/ruby/syntax_suggest/commit/0ee7496668
hsbt (Hiroshi SHIBATA)
05:23 AM Revision a218ed56 (git): Hide the usage of `rb_io_t` where possible. (#7880)
This retries the compatible parts of the previously reverted PR so we can continue to update related code without breaking backwards compatibility. Samuel Williams
02:59 AM Feature #19702: Promote racc as bundled gems
https://github.com/ruby/ruby/pull/7877 hsbt (Hiroshi SHIBATA)
12:55 AM Misc #19684: DevMeeting-2023-06-08
- [Feature #19057] Hide implementation of `rb_io_t`.
- ~~So far the agreed approach is to hide the entire implementation and fix dependencies.~~ We tried it and it caused some downstream issues.
- Are we okay to deprecate the public ...
ioquatix (Samuel Williams)
12:39 AM Bug #19704 (Closed): Unable to install readline-ext since 18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2
Applied in changeset commit:git|85dcc4866d9ff29834596e9186cc97d622ee06f8.
----------
Revert "Hide most of the implementation of `struct rb_io`. (#6511)"
This reverts commit 18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2.
fix [Bug #19704]
ht...
naruse (Yui NARUSE)
12:00 AM Bug #19704: Unable to install readline-ext since 18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2
https://github.com/ruby/stringio is also build failure since 18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2. hsbt (Hiroshi SHIBATA)
12:36 AM Revision 35da41b2 (git): Revert https://github.com/ruby/io-console/pull/43
This reverts commit 1889133c04f337fec3969cb5040a544088249046 and
commit 764207e47ce38d1b73774a8e65114c87bc888298.
Followed up with https://github.com/ruby/ruby/commit/85dcc4866d9ff29834596e9186cc97d622ee06f8
hsbt (Hiroshi SHIBATA)

05/31/2023

11:43 PM Revision 85dcc486 (git): Revert "Hide most of the implementation of `struct rb_io`. (#6511)"
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.
naruse (Yui NARUSE)
11:25 PM Bug #19704 (Assigned): Unable to install readline-ext since 18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2
hsbt (Hiroshi SHIBATA)
03:47 PM Bug #19704 (Closed): Unable to install readline-ext since 18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2
Rails CI against Ruby 3.3.0dev fails to install readline-ext recenty.
https://buildkite.com/rails/rails/builds/96780#01886e3f-eaef-405c-b58a-e90c66c3036b
According to git bisect, it is triggered by 18e55fc1e1ec20e8f3166e3059e76c885fc...
yahonda (Yasuo Honda)
08:16 PM Revision e4163112 (git): More debug code to GC compaction test
peterzhu2118 (Peter Zhu)
06:03 PM Revision e8212c55 (git): Fix flaky test in test_objspace.rb
Ensure that the frozen string is promoted to the old generation by
running the GC 4 times.
peterzhu2118 (Peter Zhu)
04:11 PM Revision 55c9c658 (git): ruby/spec no longer supports 2.7 since it is EOL
Eregon (Benoit Daloze)
02:34 PM Bug #19703 (Open): text/binary mode of parent process fd is not properly inherited on windows
Windows OS can't inherit parent process fds greater than 2, but C runtime library support this.
https://learn.microsoft.com/en-us/cpp/c-runtime-library/spawn-wspawn-functions#environment-of-the-spawned-process
So I made test tool bel...
YO4 (Yoshinao Muramatsu)
01:22 PM Revision 1ac17693 (git): Add debug code to GC compaction test
This test is flaky on some CI systems. peterzhu2118 (Peter Zhu)
12:35 PM Bug #19701: The rb_classext_t::classpath field is not marked for T_ICLASS
I prefer option 2 as most (if not all other) ICLASS do not have a classpath so we shouldn't be paying the performance penalty of marking the field for all ICLASS, it would be a waste of computational effort to make only `FrozenCore` easi... peterzhu2118 (Peter Zhu)
06:26 AM Bug #19701 (Open): The rb_classext_t::classpath field is not marked for T_ICLASS
I am hacking Ruby to dump information about some objects, and I found that the `rb_classext_t::classpath` field for `T_ICLASS` objects sometimes contains dangling references to dead objects.
The commit https://github.com/ruby/ruby/com...
wks (Kunshan Wang)
09:11 AM Misc #19684: DevMeeting-2023-06-08
* [Bug #19702] Promote racc as bundled gems
* Does anyone have objection this?
hsbt (Hiroshi SHIBATA)
09:04 AM Feature #19702 (Closed): Promote racc as bundled gems
In the past, we need to bundle `racc` runtime for RD parser of RDoc. Now, We have racc compiler and runtime in ruby repository.
I'm not sure we should bundle and maintain `racc` as stdlib(= default gems) in the future. Can we promote ...
hsbt (Hiroshi SHIBATA)
06:15 AM Revision e502600f (git): Assertion on message length for the `-h` option
nobu (Nobuyoshi Nakada)
06:15 AM Bug #19700 (Feedback): TestProcess#test_execopts_redirect_open_fifo_interrupt_print is flaky on macOS
The test `TestProcess#test_execopts_redirect_open_fifo_interrupt_print` in `test_process.rb` is flaky on macOS for me. Sometimes, it just hangs forever.
This test is testing what happens when:
* You have two processes
* One is blo...
kjtsanaktsidis (KJ Tsanaktsidis)
06:14 AM Bug #19685: ruby --helpに --yydebugの情報がない
> * ruby -h は一画面に収まるようにしたいのでこっちの説明はよく使うものだけにしたい
> ...
ということで、`usage_msg[]`ではなく`help_msg[]`のほうに追加してください
nobu (Nobuyoshi Nakada)
04:55 AM Revision 3bc5f6b2 (git): [rubygems/rubygems] tool_dir needs to handle ruby/ruby repo now
https://github.com/rubygems/rubygems/commit/550d90f4ba hsbt (Hiroshi SHIBATA)
01:02 AM Misc #19599: DevMeeting-2023-05-10 @ Matsumoto, Japan
Is a log going to be posted? Dan0042 (Daniel DeLorme)

05/30/2023

11:42 PM Feature #19698: Need an idiomatic way to define an empty range
What is your “intention” to use an “empty” range?
And what do you think “idiomatic” way is?
nobu (Nobuyoshi Nakada)
10:55 PM Misc #19684: DevMeeting-2023-06-08
* [Bug #11704] Refinements only get "used" once in loop (jeremyevans0)
* Is it expected that if a refinement is activated for a block, it remains activated if the block is re-entered?
* This is how CRuby works, but may be confusing...
jeremyevans0 (Jeremy Evans)
10:43 PM Bug #9944 (Rejected): in ruby for windows in "system" a redirection to append a file works incorrectly
@headius and I discussed this on the train back from RubyKaigi and determined this is a Windows-specific limitation, not a Ruby bug, and nothing Ruby does can fix the issue in all cases. jeremyevans0 (Jeremy Evans)
10:09 PM Feature #19699 (Closed): Need a way to store values like dig
I believe this is a duplicate of [Feature #14564], [Feature #13179] and [Feature #11747].
This was previously rejected by Matz because it was lacking a use case and lacking a proper name.
I'm somewhat sympathetic to this feature re...
byroot (Jean Boussier)
08:07 PM Feature #19699: Need a way to store values like dig
Currently, there is no way to perform a `.store` operation on nested hashes in Ruby as there is for accessing them using `.dig`, so I would like to propose something like:
Hash#dig_store(*args, **kwargs), which fills the value at *arg...
edufcarvalho (Eduardo Carvalho)
08:05 PM Feature #19699 (Closed): Need a way to store values like dig
Currently, there is no way to perform a `.store` operation on nested hashes in Ruby as there is for accessing them using `.dig`, so I would like to propose something like:
Hash#dig_store(*args, **kwargs, arg = nil), which fills the va...
edufcarvalho (Eduardo Carvalho)
06:41 PM Misc #19693: Data initialization is significantly slower than Struct
Have you tried:
```ruby
def initialize(_a = nil, _b = nil, a: _a, b: _b)
```
But that too I'm not sure is spec compliant, as it would allow to call `Foo.new("a", a: "also_a")`
byroot (Jean Boussier)
06:36 PM Misc #19693: Data initialization is significantly slower than Struct
@Eregon Just in case you are interested, I tried implementing your suggestion:
> Defining a `new` singleton method on the Data subclass, in Ruby and with explicit keyword arguments should be able to then use the literal kwargs optimiz...
janosch-x (Janosch Müller)
06:03 PM Feature #19694: Add Regexp#timeout= setter
I guess the only noteworthy argument for a change goes like this:

A custom `timeout` only being available on `Regexp::new` might lead people to write less performant code.
I'm not sure this is a strong argument. The big Regexps th...
janosch-x (Janosch Müller)
10:12 AM Feature #19694: Add Regexp#timeout= setter
janosch-x (Janosch Müller) wrote in #note-7:
> ```ruby
> ...
That, and as proposed in the description, doesn't really work if literal Regexps are created at parse time, before execution.
This is the case on CRuby:
```
$ ruby --disab...
Eregon (Benoit Daloze)
03:20 PM Revision 1f74e25c (git): YJIT: Force showing a backtrace on panic (#7869)
k0kubun (Takashi Kokubun)
12:53 PM Feature #19697: Resolv::DNS resolution for international domains fails with "Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT"
byroot (Jean Boussier) wrote in #note-5:
> > FWIW I've touched on the potential feature request in the stdlib uri library which was not further discussed
> ...
here: https://github.com/ruby/uri/issues/76
chucke (Tiago Cardoso)
12:50 PM Revision 4bbeed61 (git): Merge RubyGems/Bundler master from 4076391fce5847689bf2ec402b17133fe4e32285
hsbt (Hiroshi SHIBATA)
12:39 PM Revision 30b960ba (git): [ruby/io-nonblock] Add TruffleRuby support and add it in CI
* Do not use a C extension on TruffleRuby for these 3 methods.
https://github.com/ruby/io-nonblock/commit/1b8e52abfa
Eregon (Benoit Daloze)
12:39 PM Revision c7c8e4c9 (git): [ruby/io-nonblock] Use the correct pattern for the fallback of rb_io_descriptor()
* See https://github.com/ruby/io-console/pull/43/commits/d1d9aef45ceb14365fdf0ebee3e5ea06f27da682
https://github.com/ruby/io-nonblock/commit/dadb42422b
Eregon (Benoit Daloze)
12:27 PM Misc #19122: Use MADV_DONTNEED instead of MADV_FREE when freeing a Fiber's stack
ioquatix (Samuel Williams) wrote in #note-5:
> If you want to use a specific mode (OS specific), you can do this:
> ...
Thanks for adding this!

> As for making this the default, I suppose we could consider it but we'd need to confi...
smcgivern (Sean McGivern)
01:44 AM Bug #19680 (Closed): test_process.rb tests fail sometimes on FreeBSD
Closed per request. ioquatix (Samuel Williams)
01:42 AM Bug #19680: test_process.rb tests fail sometimes on FreeBSD
FreeBSD 13.1 CI hasn't failed since these fixes were merged so *touch wood* I think we can call this done. kjtsanaktsidis (KJ Tsanaktsidis)
01:43 AM Revision ec9364e5 (git): [ruby/racc] Remove ErrorSymbolValue reference
I cannot find where this is defined. I'm guessing neither this
nor the else branch is ever hit. I only found out when testing
VM changes, which had a bug that exposed this.
https://github.com/ruby/racc/commit/8983d0c134
jeremyevans (Jeremy Evans)
01:04 AM Feature #19057 (Closed): Hide implementation of `rb_io_t`.
https://github.com/ruby/ruby/pull/6511 was merged.
In addition, the following related PRs were merged:
- https://github.com/ruby/etc/pull/26
- https://github.com/ruby/io-wait/pull/25
- https://github.com/ruby/io-console/pull/43
A few ...
ioquatix (Samuel Williams)
01:02 AM Revision 18e55fc1 (git): Hide most of the implementation of `struct rb_io`. (#6511)
* Add rb_io_path and rb_io_open_descriptor.
* Use rb_io_open_descriptor to create PTY objects
* Rename FMODE_PREP -> FMODE_EXTERNAL and expose it
FMODE_PREP I believe refers to the concept of a "pre-prepared" file, but
FMODE_EXTERNAL ...
Samuel Williams

05/29/2023

10:23 PM Feature #19694: Add Regexp#timeout= setter
I think it is better if no code can mutate the timeout of the Regexps that are passed into it, even if that affected only dupped or non-literal Regexps.
If it is really necessary to set custom timeouts on literals, maybe something lik...
janosch-x (Janosch Müller)
09:24 PM Revision 7ddcd062 (git): [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.77 to 0.9.78.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.77...v0.9.78)
---
updated-depende...
dependabot[bot]
07:33 PM Revision f61bd3ca (git): [ruby/cgi] Add TruffleRuby support and add it in CI
https://github.com/ruby/cgi/commit/1240fec9c9 Eregon (Benoit Daloze)
07:31 PM Revision 610038f3 (git): [ruby/etc] Use the correct pattern for the fallback of rb_io_descriptor()
* See https://github.com/ruby/io-console/pull/43/commits/d1d9aef45ceb14365fdf0ebee3e5ea06f27da682
https://github.com/ruby/etc/commit/5185685003
Eregon (Benoit Daloze)
04:33 PM Revision 99ce4156 (git): Refactor guards for Time.new spec
Eregon (Benoit Daloze)
03:55 PM Revision b7a26dfa (git): Unify error messages of rb_num2ulong and rb_num2ull
The error messages were slightly different due, which causes different
behaviour on 32-bit and 64-bit systems.
peterzhu2118 (Peter Zhu)
01:27 PM Revision c48d496e (git): Update to ruby/spec@c3677cf
Eregon (Benoit Daloze)
01:01 PM Revision 98f500d0 (git): [ruby/openssl] Remove usage of IO internals.
Samuel Williams
12:37 PM Revision 764207e4 (git): [ruby/io-console] Remove trailing whitespace.
https://github.com/ruby/io-console/commit/55f1586463 Samuel Williams
12:30 PM Revision 1889133c (git): [ruby/io-console] Remove usage of IO internals.
(https://github.com/ruby/io-console/pull/43)
https://github.com/ruby/io-console/commit/4b839a504f
Co-authored-by: Benoit Daloze <eregontp@gmail.com>
Samuel Williams
09:15 AM Feature #19057: Hide implementation of `rb_io_t`.
ianks (Ian Ker-Seymer) wrote in #note-8:
> > With one tweak: not int rb_ioptr_descriptor(struct rb_io *ioptr); but int rb_io_descriptor(VALUE io);.
> ...
What do you mean? `struct RBasic*` to `VALUE` or vice-versa?
Almost every C API ...
Eregon (Benoit Daloze)
09:05 AM Feature #19695: mkmf: Adding the extra option --with-verbose to enable verbose mode.
> $ rake compiler -- --with-verbose
Sorry for my typo in the commit message. It's not "rake compiler" but "rake compile".
```
$ rake compile -- --with-verbose
```
jaruga (Jun Aruga)
08:55 AM Feature #19695 (Closed): mkmf: Adding the extra option --with-verbose to enable verbose mode.
Applied in changeset commit:git|57459b83a9a52ab921094a1562fe3056df9a437a.
----------
mkmf: Add the extra option `--with-verbose` to enable verbose mode. (#7863)
This commit is to add an extra option to enable verbose mode (V=1) in the
...
Anonymous
03:01 AM Feature #19695: mkmf: Adding the extra option --with-verbose to enable verbose mode.
LGTM nobu (Nobuyoshi Nakada)
09:01 AM Misc #19679: Migrate Wiki from bugs.ruby-lang.org to ruby/ruby GitHub repository
I enabled GitHub wiki page: https://github.com/ruby/ruby/wiki hsbt (Hiroshi SHIBATA)
08:09 AM Revision 57459b83 (git): mkmf: Add the extra option `--with-verbose` to enable verbose mode. (#7863)
This commit is to add an extra option to enable verbose mode (V=1) in the
generated `Makefile` at runtime of the Ruby to print compiler command lines by
the commands below when building native extensions. It's possible to enable the
verb...
Jun Aruga
05:06 AM Feature #19698 (Open): Need an idiomatic way to define an empty range
It seems there is no idiomatic way to define an empty range. We can define empty ranges in several ways such as
``` ruby
irb(main):001:0> (0...0).none?
=> true
irb(main):002:0> (1...-1).none?
=> true
```
I think the above exam...
shouichi (Shouichi Kamiya)
02:56 AM Misc #19691: File.realpath on Windows does not return actual case of the file
`File.absolute_path` and `File.expand_path` normalize a short path to the long path, and the case too (maybe as a side effect). nobu (Nobuyoshi Nakada)

05/28/2023

09:20 AM Revision d5ef373b (git): [ruby/irb] Set maximum document dialog height by
preferred_dialog_height provided by Reline
(https://github.com/ruby/irb/pull/591)
https://github.com/ruby/irb/commit/df6907aca9
tompng (tomoya ishida)
08:40 AM Revision 14abb799 (git): [ruby/io-nonblock] Remove usage of IO internals.
(https://github.com/ruby/io-nonblock/pull/11)
https://github.com/ruby/io-nonblock/commit/caa2b94d19
Samuel Williams
08:01 AM Revision 55393645 (git): [ruby/io-nonblock] Revert "Remove usage of IO internals."
This reverts commit https://github.com/ruby/io-nonblock/commit/9772b6dcb63c.
https://github.com/ruby/io-nonblock/commit/08cabf78e1
Samuel Williams
07:49 AM Revision 26dd9c5f (git): [ruby/io-nonblock] Remove usage of IO internals.
https://github.com/ruby/io-nonblock/commit/9772b6dcb6 Samuel Williams
07:05 AM Feature #19697: Resolv::DNS resolution for international domains fails with "Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT"
> FWIW I've touched on the potential feature request in the stdlib uri library which was not further discussed
That issue started as mentioning the removal of URI.escape, which probably prevented it from getting more attention.
I t...
byroot (Jean Boussier)
05:09 AM Revision 881757c0 (git): [ruby/io-wait] Remove usage of IO internals.
(https://github.com/ruby/io-wait/pull/25)
https://github.com/ruby/io-wait/commit/e5854b46c7
Samuel Williams
05:08 AM Revision 00d66746 (git): [ruby/etc] Remove usage of IO internals.
(https://github.com/ruby/etc/pull/26)
https://github.com/ruby/etc/commit/ea15eceb13
Samuel Williams
02:19 AM Feature #19057: Hide implementation of `rb_io_t`.
> With one tweak: not int rb_ioptr_descriptor(struct rb_io *ioptr); but int rb_io_descriptor(VALUE io);.
> ...
I have mixed feelings about this. On one hand, it does successfully hide the implementation. On the other, casting pointers t...
ianks (Ian Ker-Seymer)

05/27/2023

10:54 PM Feature #19697: Resolv::DNS resolution for international domains fails with "Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT"
I agree with byroot, this shouldn't be solved at the resolve layer.
FWIW I've [touched on the potential feature request in the stdlib uri library](https://bugs.ruby-lang.org/issues/17309) which was not further discussed. Since then, I'v...
chucke (Tiago Cardoso)
02:39 PM Feature #19697: Resolv::DNS resolution for international domains fails with "Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT"
clairity (claire c) wrote:
> i try to resolve a registered international domain, and instead of receiving DNS records, get an `incompatible character encodings` error:
> ...
edit: i should add that unicode remaining unicode characters ...
clairity (claire c)
08:30 AM Feature #19697: Resolv::DNS resolution for international domains fails with "Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT"
While I think Ruby should offer a way to handle unicode domains, I'm not sure punycode should be handled at the Resolve layer though.
Either way, this looks more like a feature request to me.
byroot (Jean Boussier)
05:54 AM Feature #19697 (Open): Resolv::DNS resolution for international domains fails with "Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT"
i try to resolve a registered international domain, and instead of receiving DNS records, get an `incompatible character encodings` error:
```
# irb
3.2.2 :001 > require 'resolv'
3.2.2 :002 > res = Resolv::DNS.open { |dns| dns.get...
clairity (claire c)
05:53 PM Misc #19693: Data initialization is significantly slower than Struct
janosch-x (Janosch Müller) wrote in #note-8:
> BTW using literal kwargs in Ruby also makes struct initialization with keywords 3 times faster:
Exactly, passing literal kwargs from Ruby to Ruby is optimized, passing kwargs from/to C i...
Eregon (Benoit Daloze)
05:09 PM Misc #19693: Data initialization is significantly slower than Struct
> I suppose it wouldn't hurt.
I think its beautiful 😁
Another option could be to bypass the initializer by default and only patch it into a Data subclass when `initialize` is redefined (as detected via `method_added` or so).
> ....
janosch-x (Janosch Müller)
12:51 PM Misc #19693: Data initialization is significantly slower than Struct
> This is a kind of cheat
Hum, if I'm reading this correctly, you check is `initialize` was redefined, and if it wasn't you bypass the initializer entirely?
I suppose it wouldn't hurt.
byroot (Jean Boussier)
10:14 AM Misc #19693: Data initialization is significantly slower than Struct
This is a kind of cheat, but...
https://github.com/nobu/ruby/tree/data-optimize
---
compare-ruby: ruby 3.3.0dev (2023-05-26T17:07:47Z master c6e4337a99) [x86_64-darwin22]
built-ruby: ruby 3.3.0dev (2023-05-27T10:07:26Z data-optim...
nobu (Nobuyoshi Nakada)
03:07 PM Revision cf0b9e0d (git): [ruby/reline] Fix scrolldown condition in dialog rendering
(https://github.com/ruby/reline/pull/541)
https://github.com/ruby/reline/commit/ad6faada3f
tompng (tomoya ishida)
02:48 PM Revision 5d137a7f (git): [ruby/reline] Use appropriate dialog height and reduce screen pushup
problem
(https://github.com/ruby/reline/pull/542)
* Provide preferred_dialog_height for dialog positioning
* Fix rendering test
tompng (tomoya ishida)
10:12 AM Misc #17591: Test frameworks and REPLs do not show deprecation warnings by default
IMO we should find a way for RSpec to enable them by default, it is hurting RSpec users and destroying ruby-core's efforts to provide nice migration paths.
Maybe more voices on that RSpec issue could help to convince the RSpec devs (but...
Eregon (Benoit Daloze)
09:55 AM Misc #17591: Test frameworks and REPLs do not show deprecation warnings by default
Given that RSpec doesn't want to enable deprecation warnings by default, and that they were turned off mostly because the keyword related deprecations were very verbose, should we reconsider enabling them by default?
I kinda feel it's...
byroot (Jean Boussier)
10:12 AM Feature #19057: Hide implementation of `rb_io_t`.
Given the discussion here, I just want to aim for "Hide all the details".
Thanks everyone, the discussion has been most helpful.
I especially like the discussions around undefined behaviour and the example showing aliasing issues (did ...
ioquatix (Samuel Williams)
09:58 AM Feature #19057: Hide implementation of `rb_io_t`.
ioquatix (Samuel Williams) wrote in #note-3:
> Maybe it's CRuby problem, but there is a performance issue with such an implementation which has to extract and follow the pointer to the struct over and over again.
It's pretty rare to ...
Eregon (Benoit Daloze)
08:49 AM Feature #19057: Hide implementation of `rb_io_t`.
I did a bit of research on this topic this evening.
Firstly, some technical notes r.e. undefined behaviour.
My understanding is that "Current proposal" is really undefined behaviour. This is in the C standard, section 6.5.2.3, poin...
kjtsanaktsidis (KJ Tsanaktsidis)
09:48 AM Revision bf1bc536 (git): Improve `read`/`write`/`pread`/`pwrite` consistency. (#7860)
* Documentation consistency.
* Improve consistency of `pread`/`pwrite` implementation when given length.
* Remove HAVE_PREAD / HAVE_PWRITE - it is no longer optional.
Samuel Williams
 

Also available in: Atom