Project

General

Profile

Activity

From 01/07/2022 to 01/13/2022

01/13/2022

11:36 PM Bug #18487 (Closed): Kernel#binding behaves differently depending on implementation language of items on the stack
Recently I [discovered] that one could use `Kernel#binding` to capture the
environment of a frame that is not directly below the stack frame for
`Kernel#binding`. I've known that C extensions have this [privilege] for a
while, but did...
alanwu (Alan Wu)
11:16 PM Revision b9b63774 (git): [ruby/net-http] Fix unescaped `.` in Regexp
Use `include?` instead.
https://github.com/ruby/net-http/commit/05022744a9
znz (Kazuhiro NISHIYAMA)
11:11 PM Bug #18444: Trapped TSTP causes a locking deadlock in 3.0.3 onward
I couldn't replicate this behavior in OpenBSD/amd64. On OpenBSD/amd64, sending TSTP prints the Received... string twice, 10 seconds part, followed by the loop printing 1. Windows doesn't support TSTP, so no reason to test there. Can a... jeremyevans0 (Jeremy Evans)
10:44 PM Revision 40d9be51 (git): [ruby/psych] Don't require `strscan` unnecessarily
It does not seem needed, and it's causing issues on Windows when
uninstalling `strscan`, because strscan's shared library being used when
RubyGems tries to remove it (because its loaded through Psych, which
RubyGems uses for loading conf...
deivid (David Rodríguez)
07:12 PM Bug #18486: Enumerable#group_by ordering appears to have changed and doesn't match docs.
> group_by emerged in Ruby 1.8.7, but my RVM can't install it :(
> ...
off-topic: all-ruby is your friend :) https://github.com/akr/all-ruby
```
$ docker run -it --rm rubylang/all-ruby ./all-ruby -e 'p (1..6).to_a.inject({}) { |r, i...
matsuda (Akira Matsuda)
04:34 PM Bug #18486: Enumerable#group_by ordering appears to have changed and doesn't match docs.
I think it is docs bug.
`group_by` emerged in Ruby 1.8.7, but my RVM can't install it :(
The earliest I could check was 1.9.3, and it already has order of keys 1, 2, 0.
I think it is a natural reason of keys being in the order they ...
zverok (Victor Shepelev)
04:33 PM Bug #18486 (Closed): Enumerable#group_by ordering appears to have changed and doesn't match docs.
This was already fixed in commit:1e10099e091 jeremyevans0 (Jeremy Evans)
04:31 PM Bug #18486: Enumerable#group_by ordering appears to have changed and doesn't match docs.
This is only a minor documentation issue. I assume the documentation is a left over from pre-1.9, when hashes were unordered. I'll fix it. jeremyevans0 (Jeremy Evans)
04:05 PM Bug #18486 (Closed): Enumerable#group_by ordering appears to have changed and doesn't match docs.
The documentation for Enumerable#group_by suggests the following:
(1..6).group_by { |i| i%3 } #=> {0=>[3, 6], 1=>[1, 4], 2=>[2, 5]}
it actually produces this (same values different order). Tested in 2.6.3 and 3.0.2
(1..6).grou...
[email protected] (kay rhodes)
05:35 PM Feature #18438: Add `Exception#additional_message` to show additional error information
> It seem simpler for everyone (including Sentry, Datadog, etc.) to use e.description instead of e.message + "\n" + e.additional_message, and also easier to support older rubies.
Not saying I like that but I think it's generally ok be...
st0012 (Stan Lo)
03:00 PM Revision acd1f45a (git): * 2022-01-14 [ci skip]
git[bot]
02:59 PM Revision a4851526 (git): [rubygems/rubygems] Lock standard.yml to the required ruby version
https://github.com/rubygems/rubygems/commit/1791b5b9e5 searls (Justin Searls)
11:50 AM Bug #18485 (Closed): Even though init a blocking Fiber with Fiber.new(blocking: true) but scheduler is invoked
For example:
```
require 'fiber'
require 'io/nonblock'
class SimpleScheduler
def initialize
@readable = {}
@writable = {}
@waiting = {}
@ready = []
@blocking = 0
@urgent = IO.pipe
end
def ...
jakit (Jakit Liang)
09:59 AM Bug #18472: rb_w32_map_errno is not found on Ruby-3.1.0
I've released a fixed version of serverengine: https://rubygems.org/gems/serverengine/versions/2.2.5
Thanks for your report!
ashie (Takuro Ashie)
09:53 AM Bug #18472: rb_w32_map_errno is not found on Ruby-3.1.0
The error itself was fixed by https://github.com/treasure-data/serverengine/pull/116#issuecomment-1011931598.
There is another error in serverengine using ruby 3.1 but it is unrelated to this issue.
kubo (Takehiro Kubo)
09:57 AM Bug #18484 (Rejected): Fiber should return it self when blocked by IO
Here's an example:
```
f = Fiber.new do
sleep(1)
Fiber.yield 123
end
p f.resume
```
Output:
```
nil
```
Expected output:
```
#<Fiber:0x000000010e825b18@(irb):59 (paused)>
```
========================
...
jakit (Jakit Liang)
09:49 AM Misc #18399: DevMeeting-2022-01-13
We were not able to discuss all of the agenda items. We will continue discussion on 28th Jan. mame (Yusuke Endoh)
09:16 AM Revision d0a06379 (git): [rubygems/rubygems] Use `Fiddle` in `bundle doctor` to check for dynamic library presence
https://github.com/rubygems/rubygems/commit/ecd495ce1b Vyacheslav Alexeev
09:15 AM Revision 98285025 (git): [rubygems/rubygems] Let Version#spaceship accept a String
With this patch, handwriting version comparisons become a little bit easier.
before:
SomeGem.version <=> Gem::Version.new('1.3')
after:
SomeGem.version <=> '1.3'
https://github.com/rubygems/rubygems/commit/7e0dbb79f2
matsuda (Akira Matsuda)
08:45 AM Revision 9de38086 (git): add a NEWS entry of `Proc#dup`.
ko1 (Koichi Sasada)
08:44 AM Bug #17545 (Closed): Calling dup on a subclass of Proc returns a Proc and not the subclass
Applied in changeset commit:git|7e21b77dc6bfefaf331a0dbf89782303b8cda05d.
----------
T#dup (T < Proc) should return T's object
T#dup (T < Proc) returns Proc object (not T) from Ruby 1.9.
[Bug #17545]
ko1 (Koichi Sasada)
08:43 AM Revision 7e21b77d (git): T#dup (T < Proc) should return T's object
T#dup (T < Proc) returns Proc object (not T) from Ruby 1.9.
[Bug #17545]
ko1 (Koichi Sasada)
07:15 AM Feature #18367: Stop the interpreter from escaping error messages
BTW, if the target output is not terminal (istty = false), what kind of output is desirable? usa (Usaku NAKAMURA)
05:48 AM Bug #18465: Make `IO#write` atomic.
I would personally like to simplify `IO` implementation but I'm not sure if major refactor is acceptable especially given the chance for performance regressions.
You are right, if someone holds a lock when writing to `stdout` or `stde...
ioquatix (Samuel Williams)
05:27 AM Feature #18481: Porting YJIT to Rust (request for feedback)
Maintainer of ruby-install here along with @havenwood. By design ruby-install will install all build and runtime dependencies from the system's package manager needed to compile/run a ruby with default configuration options; which is how... postmodern (Hal Brodigan)
12:04 AM Feature #18481: Porting YJIT to Rust (request for feedback)
As a release manager, adding rust to the tool chain is big change. But your proposal is well considered about the problem. While the YJIT support and Rust dependency is optional and it doesn't affect the user experience on the YJIT-disab... naruse (Yui NARUSE)
05:26 AM Feature #18483 (Closed): `RUBY_ON_BUG` feature for ruby release version
Now development version of MRI (`RUBY_DEVEL` macro enabled binary) supports `RUBY_ON_BUG` environment variable.
It kicks the specified process with PID of the Ruby process when `rb_bug()` function is called, like:
```
$ RUBY_ON_BUG=...
ko1 (Koichi Sasada)
02:34 AM Revision 5a75151a (git): [DOC] Mark up the code for Kernel#rand as the same as Random#rand
nobu (Nobuyoshi Nakada)
02:32 AM Revision d1a55851 (git): [DOC] Fix a typo in a doc
nobu (Nobuyoshi Nakada)
01:12 AM Bug #18474: 938e027c seems to have caused a regression in yield handling with concurrent-ruby
Thank you, this is helpful. I'm not sure whether or not concurrent-ruby is the right place to fix this. If someone were doing what your example does in a loop and then joining all of them and making that enumerable, it would be their res... aaronjensen (Aaron Jensen)

01/12/2022

11:08 PM Revision faf79d3a (git): Enhanced RDoc for IO.popen (#5430)
* Enhanced RDoc for IO.popen burdettelamar (Burdette Lamar)
08:56 PM Bug #18482 (Rejected): Fiber can not disable scheduler
Did you read the documentation?
https://rubyapi.org/3.1/o/fiber#method-c-new
ioquatix (Samuel Williams)
05:48 PM Bug #18482 (Rejected): Fiber can not disable scheduler
class Fiber can not disable scheduler with it's parameter.
When parameter is false:
```
require 'fiber'
require 'io/nonblock'
class SimpleScheduler
def initialize
@readable = {}
@writable = {}
@waiting = {}
...
jakit (Jakit Liang)
08:55 PM Revision 2f71f6bb (git): Speed up and avoid kwarg hash alloc in Time.now
Previously Time.now was switched to use Time.new as it added support for
the in: argument. Unfortunately because Class#new is a cfunc this
requires always allocating a Hash.
This commit switches Time.now back to using a builtin time_s_n...
jhawthorn (John Hawthorn)
08:30 PM Feature #18481: Porting YJIT to Rust (request for feedback)
maximecb (Maxime Chevalier-Boisvert) wrote in #note-10:
> Would you be provide some specifics of how difficult it would be to compile rust code while packaging Ruby for Fedora/CS/RHEL? Is there an existing rustc package? Would you be ab...
vo.x (Vit Ondruch)
08:15 PM Feature #18481: Porting YJIT to Rust (request for feedback)
> TBH, with my Fedora/CS/RHEL maintainer hat on, this proposal scares me.
I completely understand. This is a departure from the Ruby tradition so to speak and as such, has to be considered carefully.
> ...
If it makes you feel any ...
maximecb (Maxime Chevalier-Boisvert)
08:01 PM Feature #18481: Porting YJIT to Rust (request for feedback)
maximecb (Maxime Chevalier-Boisvert) wrote in #note-6:
> I'd like to get input from people who are packaging Ruby, and those maintaining Ruby installation scripts.
> ...
Downloading anything (especially binary blobs) or even bundling i...
vo.x (Vit Ondruch)
07:12 PM Feature #18481: Porting YJIT to Rust (request for feedback)
maximecb (Maxime Chevalier-Boisvert) wrote in #note-6:
> I'd like to get input from people who are packaging Ruby, and those maintaining Ruby installation scripts.
The current active maintainers of e.g. `ruby-build` would be @hsbt an...
Eregon (Benoit Daloze)
07:00 PM Feature #18481: Porting YJIT to Rust (request for feedback)
maximecb (Maxime Chevalier-Boisvert) wrote in #note-6:
> > believe that this is trivially supportable with the use of Rust editions, and if they are able to target the 2018 edition, it would ensure maximum compatibility. A schedule coul...
jeremyevans0 (Jeremy Evans)
06:40 PM Feature #18481: Porting YJIT to Rust (request for feedback)
I'd like to get input from people who are packaging Ruby, and those maintaining Ruby installation scripts.
I don't think CRuby should download anything during build. IMO `rustc` should be treated like `gcc`, it's something you should ...
maximecb (Maxime Chevalier-Boisvert)
06:30 PM Feature #18481: Porting YJIT to Rust (request for feedback)
jeremyevans0 (Jeremy Evans) wrote in #note-2:
> Rust is supposed to be fairly backwards compatible for the last few years. As long as the YJIT team commits to supporting a Rust version that was released more than 12 months ago (say Rus...
austin (Austin Ziegler)
06:15 PM Feature #18481: Porting YJIT to Rust (request for feedback)
Eregon (Benoit Daloze) wrote in #note-3:
> jeremyevans0 (Jeremy Evans) wrote in #note-2:
> ...
I don't think that is true, at least not for releases. ruby-3.1.0.tar.gz includes all bundled gems in a `.bundle` directory. `tool/config....
jeremyevans0 (Jeremy Evans)
05:59 PM Feature #18481: Porting YJIT to Rust (request for feedback)
jeremyevans0 (Jeremy Evans) wrote in #note-2:
> I don't think so. Trying to download during a build will result in problems for many packagers.
Yes, for packagers I think they would typically prefer to use an existing Rust package (...
Eregon (Benoit Daloze)
05:03 PM Feature #18481: Porting YJIT to Rust (request for feedback)
Eregon (Benoit Daloze) wrote in #note-1:
> Would it make sense to automatically download a Rust toolchain when building with YJIT?
I don't think so. Trying to download during a build will result in problems for many packagers. Ruby ...
jeremyevans0 (Jeremy Evans)
04:29 PM Feature #18481: Porting YJIT to Rust (request for feedback)
Would it make sense to automatically download a Rust toolchain when building with YJIT?
I assume the Rust code would need a specific version of Rust (newer versions might work but not always, backward compat is not eternal) and so it'...
Eregon (Benoit Daloze)
03:53 PM Feature #18481 (Closed): Porting YJIT to Rust (request for feedback)
TL;DR: The YJIT team wants to explore using Rust to help develop YJIT. The rest of CRuby will continue to build without Rust tools and building YJIT will remain optional.
We’re currently exploring the possibility of porting YJIT to Ru...
maximecb (Maxime Chevalier-Boisvert)
06:22 PM Bug #18475 (Closed): Yielding an element for Enumerator in another thread dumps core
Applied in changeset commit:git|ae5458f228a5477383e9c00425d85d50a3867817.
----------
thread.c: Convert TAG_BREAK to a normal exception at thread top-level
[Bug #18475]
mame (Yusuke Endoh)
08:32 AM Bug #18475: Yielding an element for Enumerator in another thread dumps core
https://github.com/ruby/ruby/pull/5431 mame (Yusuke Endoh)
08:31 AM Bug #18475: Yielding an element for Enumerator in another thread dumps core
This is almost the same issue as #11254. When TAG_BREAK is thrown to the top-level frame, it dumps core. #11254 fixed the case where TAG_BREAK is thrown to the top-level of the main thread, but not of a non-main thread.
I think this p...
mame (Yusuke Endoh)
06:21 PM Revision ae5458f2 (git): thread.c: Convert TAG_BREAK to a normal exception at thread top-level
[Bug #18475] mame (Yusuke Endoh)
06:14 PM Bug #18479 (Third Party's Issue): I encountered a bug in the Ruby interpreter or extension libraries
This is a third-party's issue. See https://github.com/ffi/ffi/issues/864 . You may want to try https://github.com/ffi/ffi/issues/864#issuecomment-875242776 . Or `bundle config --local build.ffi --enable-libffi-alloc`. mame (Yusuke Endoh)
02:33 PM Bug #18479: I encountered a bug in the Ruby interpreter or extension libraries
Can you try using Ruby 2.7.5 or newer? Ruby 2.6 is on security maintenance and will be EOL on March 2022. peterzhu2118 (Peter Zhu)
11:39 AM Bug #18479 (Third Party's Issue): I encountered a bug in the Ruby interpreter or extension libraries
I received a message saying that I encountered a bug in the Ruby interpreter or extension libraries after running the following:
Clone this repo
```
git clone https://github.com/raviriley/agency-jekyll-theme.git
cd agency-jekyll-t...
batool (batool almarzouq)
05:01 PM Revision 59eb02cd (git): * 2022-01-13 [ci skip]
git[bot]
05:00 PM Revision 98fb0ab6 (git): Enable Variable Width Allocation by default
peterzhu2118 (Peter Zhu)
05:00 PM Revision 2d81a718 (git): Make embedded string length a long for VWA
A short (2 bytes) will cause unaligned struct accesses when strings are
used as a buffer to directly store binary data.
peterzhu2118 (Peter Zhu)
02:53 PM Bug #18468 (Closed): Tutorial Link for Optionparser is broken
Applied in changeset commit:git|92630e2346a221fdfeaa484632938a06765bc6e5.
----------
[ruby/optparse] Fix links to the page directory files [Bug #18468]
https://github.com/ruby/optparse/commit/dab72c543d
nobu (Nobuyoshi Nakada)
01:13 PM Bug #18480 (Closed): Dtrace enabled build fails on systems with DTRACE_REBUILD=yes
When building Ruby 3.1 on Solaris, where dtrace requires a recompilation (DTRACE_REBUILD=yes), the compilation fails with the following linking error:
```
linking miniruby
Undefined first referenced
symbol in file
__dtr...
Kulikjak (Jakub Kulik)
12:16 PM Revision e28dbd0f (git): [ruby/optparse] Fix for ruby 3.0 or earlier
https://github.com/ruby/optparse/commit/9e29d86c12 nobu (Nobuyoshi Nakada)
12:16 PM Revision 743a41f7 (git): [ruby/optparse] DidYouMean::PlainFormatter is deprecated
https://github.com/ruby/optparse/commit/0ac9957696 nobu (Nobuyoshi Nakada)
12:16 PM Revision 92630e23 (git): [ruby/optparse] Fix links to the page directory files [Bug #18468]
https://github.com/ruby/optparse/commit/dab72c543d nobu (Nobuyoshi Nakada)
12:16 PM Revision 7d94df63 (git): [ruby/optparse] Add rdoc options
Specify the main page and the page directory. Also in Rakefile,
extract and use the same options from the gemspec file.
https://github.com/ruby/optparse/commit/d182cd60b5
nobu (Nobuyoshi Nakada)
12:16 PM Revision 39bebd76 (git): [ruby/optparse] Add .document files
https://github.com/ruby/optparse/commit/ed283559d4 nobu (Nobuyoshi Nakada)
09:57 AM Bug #18472: rb_w32_map_errno is not found on Ruby-3.1.0
It is because of a change in rubyinstaller-3.1.0-x64.
In https://rubyinstaller.org/2021/12/31/rubyinstaller-3.1.0-1-released.html:
> RubyInstaller-3.1.0-x64 has a changed C-runtime called UCRT replacing the old MSVCRT.
I guess tha...
kubo (Takehiro Kubo)
08:51 AM Revision 26b4aa85 (git): Show JIT options only when supported
nobu (Nobuyoshi Nakada)
08:21 AM Bug #18474: 938e027c seems to have caused a regression in yield handling with concurrent-ruby
I think I understand the issue. When the following code is executed on Ruby 3.0, it prints `"should_not_reach_here"`.
```
def foo
Thread.new do
1.times do
yield
end
p "should_not_reach_here"
end.join
end
...
mame (Yusuke Endoh)
02:02 AM Revision dcb02cb2 (git): [ruby/io-nonblock] Use omit instead of skip for test-unit
https://github.com/ruby/io-nonblock/commit/a7bfbfa049 hsbt (Hiroshi SHIBATA)
01:59 AM Revision 186fd890 (git): [ruby/rinda] Use omit instead of skip for test-unit
https://github.com/ruby/rinda/commit/1d3512aa26 hsbt (Hiroshi SHIBATA)
01:53 AM Revision bf2bd6dc (git): [ruby/io-wait] Use omit instead of skip for test-unit
https://github.com/ruby/io-wait/commit/75543ab1bc hsbt (Hiroshi SHIBATA)
01:53 AM Revision 7f5e0660 (git): [ruby/date] Use omit instead of skip for test-unit
https://github.com/ruby/date/commit/537f3f681e hsbt (Hiroshi SHIBATA)
01:52 AM Revision 236678b8 (git): [ruby/open3] Use omit instead of skip for test-unit
https://github.com/ruby/open3/commit/f6ca124b56 hsbt (Hiroshi SHIBATA)
01:50 AM Revision 8ccbca26 (git): [ruby/win32ole] Use omit() for skip()
https://github.com/ruby/win32ole/commit/2d5dc47ed4 hsbt (Hiroshi SHIBATA)
01:50 AM Revision 5331615d (git): [ruby/win32ole] Use omit instead of skip for test-unit
https://github.com/ruby/win32ole/commit/c0586b2f75 hsbt (Hiroshi SHIBATA)
01:49 AM Revision c02a9994 (git): [ruby/resolv] Use omit instead of skip for test-unit
https://github.com/ruby/resolv/commit/55e42221d4 hsbt (Hiroshi SHIBATA)
01:49 AM Revision d494a16a (git): [ruby/resolv] Support more characters in link local addresses
Implements [Feature #17524]
https://github.com/ruby/resolv/commit/993a1a374f
jeremyevans (Jeremy Evans)
12:45 AM Bug #18471 (Rejected): Regex#match(re, position) with start of a string anchors ^ and \A
jeremyevans0 (Jeremy Evans)

01/11/2022

07:55 PM Feature #18478 (Open): Module#constant_pairs
Let's say I have a module like this:
```ruby
module A
B = 1
class C
end
end
```
I can find out its constants with `constants`:
```ruby
A.constants # => [:B, :C]
```
But if I also want to get the values of the cons...
johansenjaa (Joseph Johansen)
07:28 PM Feature #18477: Float#sqrt and Integer#sqrt
See https://twitter.com/kddnewton/status/1480977779688710145 for why I filed this bug dorianmariefr (Dorian Marié)
07:28 PM Feature #18477: Float#sqrt and Integer#sqrt
Actually maybe not worth it, also there are a lot of methods from the Math module that could be done like that dorianmariefr (Dorian Marié)
07:26 PM Feature #18477 (Open): Float#sqrt and Integer#sqrt
Would be nice to do:
```ruby
10.sqrt # => 3.1622776601683795
3.5.sqrt # => 1.8708286933869707
```
dorianmariefr (Dorian Marié)
07:18 PM Revision 421bb589 (git): * 2022-01-12 [ci skip]
git[bot]
07:17 PM Revision 14967347 (git): YJIT stats documentation additions and updates (#5427)
* YJIT documentation additions and updates
* Update yjit.md
Co-authored-by: Maxime Chevalier-Boisvert <[email protected]>
Noah Gibbs
06:30 PM Bug #18476 (Open): Call to require stuck forever after receiving EAGAIN on writev when running with zeus
# Environment
I'm using Ubuntu 18.04 running on Windows using WSL2:
```
$ uname -a
Linux myhostname 5.10.60.1-microsoft-standard-WSL2 #1 SMP Wed Aug 25 23:20:18 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modu...
JelteF (Jelte Fennema)
06:30 PM Bug #18474: 938e027c seems to have caused a regression in yield handling with concurrent-ruby
Thank you for your report.
I don't yet know exactly what's going on, but as far as I see your repro code, the behavior of `yield "some-value"` is different from `1.times { yield "some-value" }` on Ruby 3.0, and they are the same on Ru...
mame (Yusuke Endoh)
04:06 PM Bug #18474 (Closed): 938e027c seems to have caused a regression in yield handling with concurrent-ruby
I'm sorry for the awful title, I don't know enough about what is going on to describe it better. From a debugging perspective it seems that a very specific set of circumstances causes a `begin` block to be jumped out of when a proc it is... aaronjensen (Aaron Jensen)
06:26 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
Dan0042 (Daniel DeLorme) wrote in #note-19:
> I was thinking what should be the return value of `each_caller{ }` with no `break`. Building and returning an array of frames seems wasteful since in most cases it would never be used (due t...
Eregon (Benoit Daloze)
04:47 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
Sorry, last bikeshed:
I was thinking what should be the return value of `each_caller{ }` with no `break`. Building and returning an array of frames seems wasteful since in most cases it would never be used (due to break), so nil seems a...
Dan0042 (Daniel DeLorme)
06:24 PM Bug #18475 (Closed): Yielding an element for Enumerator in another thread dumps core
I faced [BUG] when investigating #18474
```
def run
Thread.new do
1.times do |value|
yield "some-value"
end
end.join
end
to_enum(:run).first
```
```
$ ruby repro.rb
#<Thread:0x00007fcab26af0c0 repro....
mame (Yusuke Endoh)
06:23 PM Bug #18465: Make `IO#write` atomic.
If the scheduler hook is called under the write lock that sounds like it could cause additional problems including deadlocks, long waits, etc.
So my POV is the fix as originally proposed with the write lock is incomplete and likely to c...
Eregon (Benoit Daloze)
05:24 PM Bug #18465: Make `IO#write` atomic.
"ioquatix (Samuel Williams)" <[email protected]> wrote:
> By the way, even calling `write` directly is no guarantee of
> synchronous output between threads/processes - on Linux there
> is an informal guarantee of page-sized atomi...
normalperson (Eric Wong)
04:20 PM Feature #18438: Add `Exception#additional_message` to show additional error information
@nobu did you mean that the name "description" is vague or the concept itself? Would you find it less vague if it was named something else? (e.g. "detailed_message" or something) Dan0042 (Daniel DeLorme)
02:38 PM Feature #18438: Add `Exception#additional_message` to show additional error information
@nobu How so? Do you have an example?
The responsibilities for `description` are to call `super` and include it in the return value. That's it, nothing else.
The same goes for `additional_message` and is necessary if there are mult...
Eregon (Benoit Daloze)
05:59 AM Feature #18438: Add `Exception#additional_message` to show additional error information
`Exception#description` seems to add too much flexibility and make responsibilities vague. nobu (Nobuyoshi Nakada)
04:16 PM Feature #16122: Data: simple immutable value object
matz (Yukihiro Matsumoto) wrote in #note-19:
> I like the idea of helpers in https://bugs.ruby-lang.org/issues/16122#note-18.
> ...
Having helpers would definitely provide a nice easy experience. But since the important thing here is t...
Dan0042 (Daniel DeLorme)
07:52 AM Feature #16122: Data: simple immutable value object
@ko1
> It seems not related to "immutability".
Yes, I covered this, too (I know it is a large wall of text, sorry!), in **Concrete proposal** section:
> Class API is copying Structs one (most of the time -- even reuses the imple...
zverok (Victor Shepelev)
07:47 AM Feature #16122: Data: simple immutable value object
zverok (Victor Shepelev) wrote in #note-24:
> @ko1, the initial ticket provides some explanations:
Sorry I found it just after commented.
It seems not related to "immutability".
ko1 (Koichi Sasada)
07:43 AM Feature #16122: Data: simple immutable value object
@ko1, the initial ticket provides some explanations:
> For example, this code snippet shows why `to_a` is problematic:
```ruby
Result = Struct.new(:success, :content)
# Now, imagine that other code assumes `data` could be eithe...
zverok (Victor Shepelev)
07:29 AM Feature #16122: Data: simple immutable value object
I don't use `Enumerable` features of `Struct` classes, but I don't have any trouble by having `Enumerable`.
Why do you want to remove `Enumerable` features?
I can not find any benefits.
ko1 (Koichi Sasada)
02:13 PM Bug #18473 (Open): Raw data in Socket::Option#inspect on Amazon Linux 2
Hello,
I found a weird issue when running attached script. Locally on Ubuntu running kernel 5.11, on CI (GitHub Actions) and through docker image (ruby:3.1.0-alpine3.15), the response is as it should be with all data parsed correctly:...
driv3r (Leszek Zalewski)
02:11 PM Bug #18472 (Closed): rb_w32_map_errno is not found on Ruby-3.1.0
I faced Fiddle::DLError such following.
```
C:/hostedtoolcache/windows/Ruby/3.1.0/x64/lib/ruby/3.1.0/fiddle/import.rb:297:in `import_function': cannot find the function: rb_w32_map_errno() (Fiddle::DLError)
from C:/hostedtoolcache/...
joker1007 (Tomohiro Hashidate)
12:50 PM Revision 34ebf82e (git): [ruby/tmpdir] Use omit instead of skip for test-unit
https://github.com/ruby/tmpdir/commit/40107b59b3 hsbt (Hiroshi SHIBATA)
12:45 PM Revision 9b3dcf19 (git): [ruby/net-http] Use omit instead of skip for test-unit
https://github.com/ruby/net-http/commit/843d4548de hsbt (Hiroshi SHIBATA)
12:40 PM Revision 167121a9 (git): [ruby/find] Use omit instead of skip for test-unit
https://github.com/ruby/find/commit/0ebbd5b852 hsbt (Hiroshi SHIBATA)
12:35 PM Revision 6b87d980 (git): [ruby/zlib] Use omit instead of skip for test-unit
https://github.com/ruby/zlib/commit/5f23cd3009 hsbt (Hiroshi SHIBATA)
12:17 PM Revision f95039af (git): Use omit instead of skip without the default gems tests
hsbt (Hiroshi SHIBATA)
11:20 AM Revision 6d3ee418 (git): [rubygems/rubygems] Markup code with RDoc notations
https://github.com/rubygems/rubygems/commit/c29cd23826 nobu (Nobuyoshi Nakada)
10:58 AM Revision b633c9ac (git): Reduce p_args rules with p_rest
palkan (Vladimir Dementyev)
10:38 AM Feature #18408: Allow pattern match to set instance variables
palkan (Vladimir Dementyev) wrote in #note-6:
> jeremyevans0 (Jeremy Evans) wrote in #note-2:
> ...
Here is a PR: https://github.com/ruby/ruby/pull/5426
palkan (Vladimir Dementyev)
08:21 AM Feature #18408: Allow pattern match to set instance variables
jeremyevans0 (Jeremy Evans) wrote in #note-2:
> I don't think it's a bug that pattern match only supports setting local variables. However, I agree that it would be a useful feature for pattern match to support setting instance variabl...
palkan (Vladimir Dementyev)
08:19 AM Feature #18408: Allow pattern match to set instance variables
baweaver (Brandon Weaver) wrote in #note-4:
> While we're in that domain where would we want to draw the line? Globals, constants, class variables?
> ...
I think, the phrase "variable assignment" draws a line here: any variable (local,...
palkan (Vladimir Dementyev)
07:17 AM Feature #18408: Allow pattern match to set instance variables
jeremyevans0 (Jeremy Evans) wrote in #note-2:
> I don't think it's a bug that pattern match only supports setting local variables. However, I agree that it would be a useful feature for pattern match to support setting instance variabl...
baweaver (Brandon Weaver)
08:55 AM Bug #18471: Regex#match(re, position) with start of a string anchors ^ and \A
`\G` matches.
```ruby
str = "hello world"
/\Gworld/.match(str, 6)
```
znz (Kazuhiro NISHIYAMA)
08:54 AM Bug #18471: Regex#match(re, position) with start of a string anchors ^ and \A
> I [...] expect [...] staring from position 6 in “hello world” [to] be equivalent to staring with position 0 in [the sub-]string “world”
I do not think so. Moving "the position in the string to begin the search" does not mean the strin...
sawa (Tsuyoshi Sawada)
08:14 AM Bug #18471 (Rejected): Regex#match(re, position) with start of a string anchors ^ and \A
Found this. Is it a bug in `Regex#match(re, position)`?
From `Regex#match` docs
> If the second parameter is present, it specifies the position in the string to begin the search.
```rb
str = "hello world"
/^world/.match(str, 6...
vlazar (Vlad Zarakovsky)
08:33 AM Revision b5310b89 (git): Fix compile errors
```
compiling ../ruby.c
../ruby.c:1547:17: error: implicit declaration of function 'setup_yjit_options' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
setup_yjit_options(s, &opt->yjit);
^
../r...
znz (Kazuhiro NISHIYAMA)
08:26 AM Revision 3d675c72 (git): Use `setup_yjit_options` only when supported
nobu (Nobuyoshi Nakada)
07:46 AM Bug #18470 (Closed): Union of two identical sets produces a set with duplicate members
byroot (Jean Boussier)
07:45 AM Bug #18470: Union of two identical sets produces a set with duplicate members
> `Set#reset`
Ah, that's the rehash equivalent I didn't see.
Yeah, I think we can close.
byroot (Jean Boussier)
01:18 AM Bug #18470: Union of two identical sets produces a set with duplicate members
Doesn't the following from https://bugs.ruby-lang.org/issues/16996 address this issue?
> ...
> ...
It seems like this is not a bug and the outcome is expected without a call to `Set#reset`:
```ruby
C = Struct.new :id
a = Set.new
...
ufuk (Ufuk Kayserilioglu)
01:08 AM Bug #18470: Union of two identical sets produces a set with duplicate members
> The main problem is that `Set` doesn't expose a `rehash` method, so there's not really any way to workaround it. Maybe it should?
The rehash works. Should `add` also have a rehash?
```ruby
C = Struct.new :id
a = Set.new
f = C...
smokinggun (John Weir)
05:46 AM Feature #18136: take_while_after
I'd rather choose an obvious name, like `take_until_after`. knu (Akinori MUSHA)
02:49 AM Revision 1c9b5d45 (git): Reject command line option ending with `-`
nobu (Nobuyoshi Nakada)
02:25 AM Feature #17391 (Closed): How about removing File.exists?
Removed at https://github.com/ruby/ruby/commit/bf97415c02b11a8949f715431aca9eeb6311add2 znz (Kazuhiro NISHIYAMA)
01:12 AM Revision 8b585f74 (git): Define YJIT options only when supported
nobu (Nobuyoshi Nakada)
12:11 AM Bug #18468 (Assigned): Tutorial Link for Optionparser is broken
nobu (Nobuyoshi Nakada)

01/10/2022

11:29 PM Feature #18439: YJIT: Support Microsoft x86 calling convention
Supporting Windows is in the plans, but as my colleagues have said it's fairly tricky as it could add a fair bit of complexity in several places. We're hoping to potentially migrate the YJIT codebase to Rust, which would give us more too... maximecb (Maxime Chevalier-Boisvert)
11:02 PM Revision d920535d (git): Enhanced RDoc for IO (#5425)
Treats:
#pread
#pwrite
#binmode
#binmode?
burdettelamar (Burdette Lamar)
09:16 PM Bug #18470: Union of two identical sets produces a set with duplicate members
So it's indeed a rehash issue: https://github.com/casperisfine/set/commit/40ff2f907118d8766217bbe8ac27119111050217
Also it seems @marcandre knew about this case (or similar), based on the description of the issue I linked.
The main...
byroot (Jean Boussier)
09:09 PM Bug #18470: Union of two identical sets produces a set with duplicate members
The tricky part is that the object is mutated after being inserted, so it's sounds like a rehash no longer happens, possibly because of https://bugs.ruby-lang.org/issues/16996.
It may or may not be considered a bug, I'll see what it wou...
byroot (Jean Boussier)
08:29 PM Bug #18470 (Closed): Union of two identical sets produces a set with duplicate members
We came across an issue where the union of two identical sets produced a non uniq Set.
We noticed this when upgrading from 2.7.1 to 3.1
See the attached test, the last assertion fails
``` ruby
C = Struct.new :id
a = Set.new
b...
smokinggun (John Weir)
09:14 PM Revision 6931d70e (git): Enhanced RDoc for IO (#5424)
Treats:
#sysseek
#syswrite
#sysread
burdettelamar (Burdette Lamar)
09:10 PM Revision 9e79ae53 (git): [ruby/reline] Clear dialog when just_move_cursor is called with dialog at last line
https://github.com/ruby/reline/commit/05024b968e aycabta (aycabta .)
07:54 PM Bug #18465: Make `IO#write` atomic.
By the way, even calling `write` directly is no guarantee of synchronous output between threads/processes - on Linux there is an informal guarantee of page-sized atomicity. ioquatix (Samuel Williams)
07:53 PM Bug #18465: Make `IO#write` atomic.
Thanks for all that information.
This is a bug fix, but what you are proposing sounds like a feature request.
I want to merge this bug fix, but I think we should consider the direction you propose. I'm happy to raise this point at ...
ioquatix (Samuel Williams)
11:59 AM Bug #18465: Make `IO#write` atomic.
ioquatix (Samuel Williams) wrote in #note-6:
> The current implementation before and after this PR makes no such guarantee unfortunately. The best you can do as a user is buffer your own string and call write with that as an argument to...
Eregon (Benoit Daloze)
06:53 PM Revision 930ebdd7 (git): YJIT: Support kwargs for cfunc
This adds support for passing keyword arguments to cfuncs. This is done
by calling a helper method to create the hash from the top N values on
the stack (determined by the callinfo) and then moving that value onto
the stack.
jhawthorn (John Hawthorn)
06:45 PM Revision a9dc0c59 (git): [DOC] Enhanced RDoc for IO (#5422)
Revises much of the introductory material.
Also treats:
#close_on_exec
#close
#closed?
#close_read
#close_write
burdettelamar (Burdette Lamar)
05:02 PM Revision 04d9b6d2 (git): [DOC] Link to Ruby Spec and rephrase project goal
The word "specification" can be confusing as it might make readers
assume that the Ruby Spec Suite is a specification similar to an ISO
specification. Avoid the word and link to the project so curious parties
could read more about the pr...
alanwu (Alan Wu)
03:30 PM Revision c9325cb8 (git): * 2022-01-11 [ci skip]
git[bot]
03:29 PM Revision 4053e8ba (git): Update to ruby/spec@226cfdc
Eregon (Benoit Daloze)
03:29 PM Revision 8abfc106 (git): Update to ruby/mspec@3ea3d32
Eregon (Benoit Daloze)
03:12 PM Bug #18292: 3.1.0-dev `include` cause Module to be marked as initialized
byroot (Jean Boussier) wrote in #note-4:
> @jeremyevans thanks for the fix. Do you think we should mark this as a 3.1 backport?
Sure, that makes sense to me.
jeremyevans0 (Jeremy Evans)
10:25 AM Bug #18292: 3.1.0-dev `include` cause Module to be marked as initialized
@jeremyevans thanks for the fix. Do you think we should mark this as a 3.1 backport? byroot (Jean Boussier)
12:08 PM Revision ca97001a (git): Make the Ractor-safe section more fluent
Eregon (Benoit Daloze)
12:05 PM Misc #18467 (Closed): Clarify and update language around Ractor-safety for extensions
Thanks, merged. Eregon (Benoit Daloze)
12:04 PM Revision b4d0d07e (git): Clarify ractor documentation meaning and formatting.
TreyE (Trey Evans)
11:24 AM Bug #18469 (Closed): Backport c764e368bd9c0487e6cc97f8a62e0e0e99a0d7c5
https://github.com/ruby/ruby/blob/ruby_3_1/NEWS.md#mjit says
```
The default --mjit-max-cache is changed from 100 to 10000.
```
But `ruby --help` says 100 yet.
So I think https://github.com/ruby/ruby/commit/c764e368bd9c0487e6cc9...
znz (Kazuhiro NISHIYAMA)
11:18 AM Revision 7b5d49a0 (git): * 2022-01-10 [ci skip]
git[bot]
11:17 AM Revision c764e368 (git): Fix default --jit-max-cache in `ruby --help`
changed at 028f1887c2bfa50dcfc1b623470d6ab1b880fdde znz (Kazuhiro NISHIYAMA)
05:35 AM Bug #18468 (Closed): Tutorial Link for Optionparser is broken
If one happens to go to this page for viewing documentation for [OptionParser ](https://docs.ruby-lang.org/en/master/OptionParser.html). The link for seeing the [tutorial](https://docs.ruby-lang.org/en/master/doc/optparse/tutorial_rdoc.h... apatniv (Vivek Ak)

01/09/2022

08:19 PM Bug #18465: Make `IO#write` atomic.
> I think it'd better to guarantee atomicity for puts and write, even if the same fd is used by multiple IO instances, and even if the same fd is used by multiple processes.
The current implementation before and after this PR makes no...
ioquatix (Samuel Williams)
01:41 PM Bug #18465: Make `IO#write` atomic.
Ah and in either case the IO scheduler should either receive the already-concatenated string, or all strings to write together in a single hook call.
Calling the write hook for each argument is of course broken.
Eregon (Benoit Daloze)
01:39 PM Bug #18465: Make `IO#write` atomic.
I think it'd better to guarantee atomicity for `puts` and `write`, even if the same fd is used by multiple IO instances, and even if the same fd is used by multiple processes.
The write lock does not address both of these cases and it's...
Eregon (Benoit Daloze)
08:01 AM Bug #18465: Make `IO#write` atomic.
Even though `stderr` should not be buffered, I feel like it would be advantageous to use a write lock too, to avoid interleaved log output if possible. Obviously still an issue for multi-process all logging to the same `stderr`. ioquatix (Samuel Williams)
06:46 AM Bug #18465: Make `IO#write` atomic.
I tried to make a micro-benchmark measuring this.
```
> make benchmark ITEM=io_write
/Users/samuel/.rubies/ruby-3.0.3/bin/ruby --disable=gems -rrubygems -I../benchmark/lib ../benchmark/benchmark-driver/exe/benchmark-driver \
...
ioquatix (Samuel Williams)
06:34 AM Bug #18465: Make `IO#write` atomic.
As part of working through the implementation, I merged <https://github.com/ruby/ruby/pull/5418>.
The follow up PR, making `io_binwrite` and `io_binwritev` atomic, is here: <https://github.com/ruby/ruby/pull/5419>.
ioquatix (Samuel Williams)
06:33 AM Bug #18465 (Closed): Make `IO#write` atomic.
Right now, `IO#write` including everything that calls it including `IO#puts`, has a poorly specified behaviour w.r.t. other fibers/threads that call `IO#write` at the same time.
Internally, we have a write lock, however it's only used...
ioquatix (Samuel Williams)
07:28 PM Misc #18467 (Closed): Clarify and update language around Ractor-safety for extensions
The language around what makes an extension Ractor safe could use a little clarification.
The PR for this issue is https://github.com/ruby/ruby/pull/5421.
TreyE (Trey Evans)
10:17 AM Revision 65a8d522 (git): Revert "[DOC] Mention RBOOL in extension.rdoc [Feature #13125]"
This reverts commit 9ad34da47ff7d71446e667897559047ed5635b60, as
`RBOOL` is not defined publicly yet.
nobu (Nobuyoshi Nakada)
08:32 AM Bug #18466 (Third Party's Issue): Im receiving an error when attempting to download RealmSwift Pods
It's third party's issue. https://github.com/typhoeus/ethon/issues/193 mame (Yusuke Endoh)
06:36 AM Bug #18466 (Third Party's Issue): Im receiving an error when attempting to download RealmSwift Pods
I was attempting to install the RealmSwift Pods. I received the following error during the installation. This was in terminal.
jeremiahdepass@Jeremiahs-Air Pod % pod install
Analyzing dependencies
/Library/Ruby/Gems/2.6.0/gems/eth...
xbbnqjg (Jeremiah DePass)
04:21 AM Revision b43ad6b8 (git): [DOC] Fold too long lines
nobu (Nobuyoshi Nakada)
03:40 AM Revision 83983bac (git): [DOC] Mention `make check`
nobu (Nobuyoshi Nakada)
03:39 AM Revision a7faca51 (git): Add `=num` to yjit options
`--yjit-call-threshold` and `--yjit-max-versions` need an argument. znz (Kazuhiro NISHIYAMA)
03:34 AM Revision cc01ae59 (git): [DOC] test-spec would be preferable now
nobu (Nobuyoshi Nakada)

01/08/2022

11:06 PM Revision 86484575 (git): Don't combine test-all and rubyspec.
Samuel Williams
08:07 PM Revision 33cc8816 (git): Revert "Enable Variable Width Allocation by default"
This reverts commit c365c5921ea26e31c03a85b01ff4c04629abfc10. peterzhu2118 (Peter Zhu)
07:41 PM Revision a5fffb31 (git): * 2022-01-09 [ci skip]
git[bot]
07:40 PM Revision 18b97eee (git): YJIT: Add support for ruby array cfuncs (argc=-2)
This adds support for cfuncs which take variable arguments using a Ruby
array. This is specified with the method entry's argc == -2.
jhawthorn (John Hawthorn)
07:40 PM Revision b5c03912 (git): YJIT: Save SP later in cfunc call
Saving SP later allows us to avoid storing SP in an intermediate
register and allows using the ctx_stack_opnd helpers.
jhawthorn (John Hawthorn)
11:32 AM Revision 09cfc653 (git): [ruby/reline] Fix reline on Solaris
Solaris requires that the pointer errret_int is alined to an integer,
however, with VWA, strings are no longer aligned to an integer, so use a
Fiddle::Pointer with a malloc'd region instead.
https://github.com/ruby/reline/commit/5fcd89ab0c
peterzhu2118 (Peter Zhu)
11:03 AM Revision 0ca00e2c (git): Move IO write buffer allocation into function.
Samuel Williams
09:59 AM Bug #18464 (Assigned): RUBY_INTERNAL_EVENT_NEWOBJ tracepoint causes an interpreter crash when combined with Ractors
nobu (Nobuyoshi Nakada)
04:37 AM Bug #18464 (Closed): RUBY_INTERNAL_EVENT_NEWOBJ tracepoint causes an interpreter crash when combined with Ractors
When a Ractor is created whilst a tracepoint for `RUBY_INTERNAL_EVENT_NEWOBJ` is active (registered with `rb_tracepoint_new`/`rb_tracepoint_enabled`), the interpreter crashes with a null pointer dereference with the following backtrace:
...
kjtsanaktsidis (KJ Tsanaktsidis)
09:55 AM Feature #18463: Random number generation with xoshiro
That gem seems pretty old, before `include/ruby/random.h` was introduced.
You can see a skeleton at `ext/-test-/random/loop.c` too.
nobu (Nobuyoshi Nakada)
05:47 AM Revision 47a05f7c (git): Do not run the same tests twice
nobu (Nobuyoshi Nakada)
05:47 AM Revision fb532d80 (git): Run an old fixed bug in the same process
nobu (Nobuyoshi Nakada)
05:47 AM Revision 64eccbf5 (git): Run the tests on a subclass of String
nobu (Nobuyoshi Nakada)
03:49 AM Revision 32a0d9dd (git): Prefer the dedecated conversion function
nobu (Nobuyoshi Nakada)
12:29 AM Revision 54c91042 (git): YJIT: Discard local var type info on routine call
Routines that are called from YJIT's output code can call methods, and
calling methods mean they can capture and change the environment of the
calling frame.
Discard type info whenever we perform routine calls. This is more
conservative...
alanwu (Alan Wu)

01/07/2022

08:48 PM Revision bc643bbe (git): Use unsigned short for length of embedded strings
peterzhu2118 (Peter Zhu)
07:22 PM Revision d9ef711f (git): Improve string info in rb_raw_obj_info
Improve rb_raw_obj_info to output additional into about strings
including the length, capacity, and whether or not it is embedded.
peterzhu2118 (Peter Zhu)
06:27 PM Revision c365c592 (git): Enable Variable Width Allocation by default
peterzhu2118 (Peter Zhu)
06:23 PM Feature #12125: Proposal: Shorthand operator for Object#method
Has `&&` been considered?
```
Dir["*/*.c"].map(&&File.basename)
```
It can also adapt to outside usage so `&File.basename` equals `File.method(:basename)`.
konsolebox (K B)
05:46 PM Bug #18435: Calling `protected` on ancestor method changes result of `instance_methods(false)`
I'm not fully clear on the expected semantics of private/protected/public in a subclass, that would probably be good to improve in the docs of these methods or in general docs.
However since the current semantics seems to clearly create...
Eregon (Benoit Daloze)
05:02 PM Feature #18461: closures are capturing unused variables
bughit (bug hit) wrote in #note-9:
> V8 handles that, detecting eval and deopting, so ruby can too.
So what does V8 do then if `eval` is aliased e.g., to `e`?
---
BTW, your replies feel rather aggressive to me.
You are speakin...
Eregon (Benoit Daloze)
03:50 PM Revision a1bef7c2 (git): * 2022-01-08 [ci skip]
git[bot]
03:50 PM Revision be68b3a4 (git): Change termlen when changing encoding during concatenation
After changing the encoding, we should update the terminator length. peterzhu2118 (Peter Zhu)
03:01 PM Bug #12666: Fatal error: glibc detected an invalid stdio handle
I can see the patch https://github.com/ruby/fiddle/commit/a267a40be7844224c5f000530bd3e8e906f1acea is applied into the Ruby 3.0 stable branch ruby_3_0 and Ruby 3.0.3 as a part of upgrading the fiddle to 1.0.8 by the following commit.
ht...
jaruga (Jun Aruga)
02:23 PM Bug #12666: Fatal error: glibc detected an invalid stdio handle
Let me explain more context about this backport requests.
Here is current `test/fiddle/helper.rb` file on ruby/ruby ruby_2_6 branch.
https://github.com/ruby/ruby/blob/02c341c9bc5879eae568ed2ba02cf227ed948199/test/fiddle/helper.rb#L...
jaruga (Jun Aruga)
02:55 PM Revision 3f9af8a9 (git): [DOC] Fix typos in a doxygen comment [ci skip]
nobu (Nobuyoshi Nakada)
09:25 AM Feature #17473: Make Pathname to embedded class of Ruby
For what it's worth, although for unrelated reasons, I completely rewrote `Pathname` in pure Ruby here: https://github.com/rubygems/rubygems/pull/4992. deivid (David Rodríguez)
07:11 AM Feature #18463: Random number generation with xoshiro
Thanks for the feedback. Another good algorithm is pcg https://rubygems.org/gems/pcg_random bbrklm (Benson Muite)
06:55 AM Feature #18463: Random number generation with xoshiro
I guess you can start implementing xoshiro as a separate gem now. I remember @mrkn once wanted to implement xorshift, and `include/ruby/random.h` was introduced (mainly) for that purpose. Not sure his current status though. shyouhei (Shyouhei Urabe)
06:34 AM Feature #18463 (Open): Random number generation with xoshiro
Xoshiro https://prng.di.unimi.it/ random number generation is typically faster than Mersenne Twister currently used in Ruby in https://github.com/ruby/ruby/blob/master/random.c It would be good to allow use of xoshiro either as an opti... bbrklm (Benson Muite)
06:31 AM Misc #18399: DevMeeting-2022-01-13
* [Feature #18462] Proposal to merge WASI based WebAssembly support (mame)
* Let's support wasm. This will allow MRI to work on browsers and edge computing platforms.
mame (Yusuke Endoh)
06:10 AM Feature #18462 (Closed): Proposal to merge WASI based WebAssembly support
# Proposal to merge WASI based WebAssembly support
This is an initial port of WASI based WebAssembly support.
This enables a CRuby binary to be available on Web browser, Serverless Edge environment, and other WebAssembly/WASI embedde...
katei (Yuta Saito)
12:44 AM Revision 533bc771 (git): Fix typo [ci skip]
znz (Kazuhiro NISHIYAMA)
12:42 AM Bug #18158 (Closed): Pathname#each_entry without block does not return Enumerator
jeremyevans0 (Jeremy Evans)
12:42 AM Revision dd6a7519 (git): [ruby/pathname] Make Pathname#each_entry return enumerator if called without block
Fixes [Bug #18158]
https://github.com/ruby/pathname/commit/914c726aa2
jeremyevans (Jeremy Evans)
12:39 AM Bug #18389: `binding.irb` can fail in some classes that implement `context` and `print` methods.
I've submitted a pull request to fix this error: https://github.com/ruby/irb/pull/325 jeremyevans0 (Jeremy Evans)
12:23 AM Revision 6baa78bb (git): Use chomp: option when chomp mode
Get rid of depending on using $/ internally in String#chomp!, and
chomp the separator at once.
nobu (Nobuyoshi Nakada)
12:23 AM Revision 83b98705 (git): Explicitly pass $/ when loop mode
Get rid of depending on using $/ internally in ARGF.gets. nobu (Nobuyoshi Nakada)
 

Also available in: Atom