Project

General

Profile

Activity

From 06/05/2023 to 06/11/2023

06/11/2023

09:01 PM Feature #19723: [RFC] Deprecate/disallow passing `"|command..." values to open-uri's URI.open() method
mdalessio (Mike Dalessio) wrote in #note-2:
> I think we should merge this discussion into #19630 since the behavior you wish to deprecate comes from `Kernel#open` (called by `URI.open` in the fall-through case).
> ...
This could be do...
postmodern (Hal Brodigan)
04:18 PM Feature #19723: [RFC] Deprecate/disallow passing `"|command..." values to open-uri's URI.open() method
I think we should merge this discussion into #19630 since the behavior you wish to deprecate comes from `Kernel#open` (called by `URI.open` in the fall-through case).
If #19630 is accepted, the naive implementation proposed at https:/...
mdalessio (Mike Dalessio)
04:35 PM Feature #19630: [RFC] Deprecate `Kernel#open("|command-here")` due to frequent security issues
If we all agree that deprecating this behavior in `Kernel#open` is a good idea, is there any objection to something like https://github.com/ruby/ruby/pull/7915 ?
@byroot I agree with your concerns about people ignoring deprecation war...
mdalessio (Mike Dalessio)
03:41 PM Bug #19681: The final classpath of partially named modules is sometimes inconsistent once permanently named
@matz the related spec proposed in https://github.com/ruby/spec/pull/1044 says in a commment
> You get one of the two, but you don't know which one.
It is written this way because that is all CRuby can say, since we have seen that the ...
fxn (Xavier Noria)
02:19 PM Bug #19681: The final classpath of partially named modules is sometimes inconsistent once permanently named
Yes, in the C spec terms, “undefined behavior” really is an “undefined behavior”, even a demon can be appeared. We can call it “implementation defined”.
Matz.
matz (Yukihiro Matsumoto)
08:28 AM Bug #19681: The final classpath of partially named modules is sometimes inconsistent once permanently named
New spec and a couple others for the same price in https://github.com/ruby/spec/pull/1044 👍. fxn (Xavier Noria)
01:32 PM Feature #19717: `ConditionVariable#signal` is not fair when the wakeup is consistently spurious.
> have ConditionVariable#wait take an optional kwarg that lets the caller report whether their last wakeup was spurious or no
A better API might be to have the `ConditionVariable#wait` accept a block, and have Ruby do the looping & ch...
kjtsanaktsidis (KJ Tsanaktsidis)
01:29 PM Feature #19717: `ConditionVariable#signal` is not fair when the wakeup is consistently spurious.
This is mostly just semantics, but I read some sources tonight - glibc doesn't actually do anything to implement "fair" condition variables. But, in the Linux kernel, the set of waiters waiting on a particular futex address is stored in ... kjtsanaktsidis (KJ Tsanaktsidis)
12:33 PM Feature #19717: `ConditionVariable#signal` is not fair when the wakeup is consistently spurious.
I spent a bit of time looking into this issue. I think I understand _why_ it's happening now, but I don't quite know what, if anything, we should do about it.
Firstly, I fixed up the reproduction issue in a couple of ways - after thes...
kjtsanaktsidis (KJ Tsanaktsidis)
08:31 AM Revision dcdc2cbd (git): `RString::len` was moved at 7577c101ed6452de3e72fadb43db595946acc701
[ci skip] nobu (Nobuyoshi Nakada)
07:01 AM Revision 52131d84 (git): Update bundled gems list at 2023-06-11
git[bot]

06/10/2023

09:20 PM Feature #15192: Introduce a new "shortcut assigning" syntax to convenient setup instance variables
I really believe this would be seen a major improvement to Ruby.
Personally, I still feel
``` ruby
def initialize(@foo)
```
is the cleanest implementation (or something else the comes _before_ the arg name), but I would be happy ...
bradly (Bradly Feeley)
03:01 PM Revision e1ccb283 (git): [ruby/irb] Use `Kernel.warn` to print command alias warning
(https://github.com/ruby/irb/pull/601)
This aligns with other warnings in irb and properly channel the message
to stderr.
st0012 (Stan Lo)
02:13 PM Revision be86767e (git): Add VM_ASSERT on `fiber->blocking == 0`. (#7926)
I have not seen any problems with this code, but this ensures the invariant. Samuel Williams
12:51 PM Revision a41e0886 (git): [ruby/irb] Remove the unused fork command definition
(https://github.com/ruby/irb/pull/600)
https://github.com/ruby/irb/commit/b039b89343
st0012 (Stan Lo)
01:41 AM Feature #19723 (Closed): [RFC] Deprecate/disallow passing `"|command..." values to open-uri's URI.open() method
Due to `Kernel.open()` supporting opening pipe-commands (ex: `"|command-here..."`) this has led to multiple [1] security [2] vulnerabilities [3], where malicious user-input eventually is passed to `Kernel.open()`. One of the code-paths t... postmodern (Hal Brodigan)

06/09/2023

05:45 PM Bug #19681: The final classpath of partially named modules is sometimes inconsistent once permanently named
Yes, absolutely, a spec example allowing both would be welcome in ruby/spec. Eregon (Benoit Daloze)
03:41 PM Bug #19681: The final classpath of partially named modules is sometimes inconsistent once permanently named
@Eregon right, I was thinking in terms of "it is M::C or M::D, but which one of the two is undefined".
I was wondering if it would make sense to add a spec that makes this decision explicit, and tests that `M::C.name` is one of the tw...
fxn (Xavier Noria)
02:49 PM Bug #19681: The final classpath of partially named modules is sometimes inconsistent once permanently named
Just to clarify, this is not undefined behavior (which has very scary semantics in the C language), it is: either "M::D" or "M::C" is an acceptable outcome for the program in the description.
So it is defined but non-deterministic behav...
Eregon (Benoit Daloze)
02:53 PM Feature #19719: Universal Parser
Eregon (Benoit Daloze) wrote in #note-2:
> First of all, I think @yui-knk should show the status of Universal Parser and how it improves over YARP, otherwise it seems to purposefully ignore a much more advanced and established project (...
jeremyevans0 (Jeremy Evans)
02:12 PM Feature #19719: Universal Parser
As I discussed with @matz and @yui-knk at RubyKaigi, the API, serialization to convert efficiently from C to Java, and AST format (a much cleaner AST) needed for JRuby and TruffleRuby are the ones developed in YARP.
JRuby and TruffleRub...
Eregon (Benoit Daloze)
02:43 PM Misc #19722: DevMeeting-2023-07-13
* [Feature #19720] Warning for non-linear Regexps (eregon)
* I think this is the best way to avoid ReDoS and ensure there are no too slow Regexps in a Ruby program/app.
* So let's add `Warning[:regexp] = true`?
* I will help to ...
Eregon (Benoit Daloze)
05:55 AM Misc #19722: DevMeeting-2023-07-13
* [Bug #18572] Performance regression when invoking refined methods (shugo)
* Should we limit usage of using to fix the performance issue?
* https://bugs.ruby-lang.org/issues/18572?issue_count=121&issue_position=11&next_issue...
shugo (Shugo Maeda)
02:04 AM Misc #19722 (Closed): DevMeeting-2023-07-13
# The next dev meeting
**Date: 2023/07/13 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/2023/DevMeeting-2023-07-13.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at t...
mame (Yusuke Endoh)
01:20 PM Feature #19694: Add Regexp#timeout= setter
> They are never changed once initialized until destruction, "Copy-on-Write" won't be a proper word.
Right, I just meant directly sharing that structure, or more accurately having some `T_STRUCT` simply keeping a reference to another ...
byroot (Jean Boussier)
01:17 PM Feature #19694: Add Regexp#timeout= setter
byroot (Jean Boussier) wrote in #note-12:
> > I made a patch to improve Regexp.new(/RE/) (and Regexp#dup).
> ...
Do you mean compiled pattern and so on in `OnigRegexType`?
They are never changed once initialized until destruction, "Co...
nobu (Nobuyoshi Nakada)
10:00 AM Feature #19694: Add Regexp#timeout= setter
janosch-x (Janosch Müller) wrote in #note-9:
> A custom `timeout` only being available on `Regexp::new` might lead people to write less performant code.
I think it is very well known and easy to know though profiling that one should ...
Eregon (Benoit Daloze)
08:05 AM Feature #19694: Add Regexp#timeout= setter
> I made a patch to improve Regexp.new(/RE/) (and Regexp#dup).
Interesting. Given that literal regexp are frozen, and even for unfrozen ones most of their state is immutable, have you considered using Copy on Write at the Ruby object ...
byroot (Jean Boussier)
05:35 AM Feature #19694: Add Regexp#timeout= setter
janosch-x (Janosch Müller) wrote in #note-9:
> I guess the only noteworthy argument for a change goes like this:
> ...
I made a patch to improve `Regexp.new(/RE/)` (and `Regexp#dup`).
https://github.com/nobu/ruby/tree/re_copy
Comparison...
nobu (Nobuyoshi Nakada)
12:45 PM Revision d7300038 (git): * expand tabs. [ci skip]
Please consider using misc/expand_tabs.rb as a pre-commit hook. git[bot]
11:58 AM Feature #19630: [RFC] Deprecate `Kernel#open("|command-here")` due to frequent security issues
postmodern (Hal Brodigan) wrote in #note-8:
> I was unaware that these methods can accept `|command` style inputs. Based on the stdlib documentation, the first argument is called `name` and the examples show reading from `testfile`, whi...
nobu (Nobuyoshi Nakada)
11:22 AM Revision ab6eb378 (git): Optimize `Regexp#dup` and `Regexp.new(/RE/)`
When copying from another regexp, copy already built `regex_t` instead
of re-compiling its source.
nobu (Nobuyoshi Nakada)
10:41 AM Feature #19521: Support for `Module#name=` and `Class#name=`.
@timcraft thanks for your input. All those issues have already been discussed, and it won't work for nested classes or existing code that uses class names without a huge retrofit. I also don't like introducing `label` as a new concept si... ioquatix (Samuel Williams)
10:00 AM Feature #19521: Support for `Module#name=` and `Class#name=`.
What about `Module#label=` and `Class#label=` etc?
* If the value e.g. `"fake name"` cannot be used to reference the class then is that really a name?
* The naming of the `#labeled_module` and `#labeled_class` methods posted in the d...
timcraft (Tim Craft)
02:29 AM Feature #19521: Support for `Module#name=` and `Class#name=`.
@matz do you mind clarifying what kind of abuse you are concerned about and whether limitations on `Module#name=` as outlined above are sufficient to consider using `#name=`?
> What if name= was a no-op or raised an error if the class...
ioquatix (Samuel Williams)
10:40 AM Bug #18572: Performance regression when invoking refined methods
shugo (Shugo Maeda) wrote in #note-10:
> It's simple to prohibit using calls in blocks, but it will break backward compatibility, e.g., using in module_eval.
It would still be possible to use `using` outside the `module_eval` (e.g. i...
Eregon (Benoit Daloze)
05:42 AM Bug #18572: Performance regression when invoking refined methods
Eregon (Benoit Daloze) wrote in #note-9:
> From https://bugs.ruby-lang.org/issues/14083#note-3 it seems part of the problem at least is CRuby currently implements what I would call invalid usages of refinements (different set of activat...
shugo (Shugo Maeda)
10:32 AM Feature #19720: Warning for non-linear Regexps
nobu (Nobuyoshi Nakada) wrote in #note-4:
> Literals can be statically checkable.
> ...
Right, but the monkey-patch has the problem it does not check any dynamically-created regexp created before the monkey-patch was loaded.
So if e....
Eregon (Benoit Daloze)
10:17 AM Feature #19720: Warning for non-linear Regexps
duerst (Martin Dürst) wrote in #note-5:
> Introducing such a warning might be a good idea. But there are several issues:
Thanks for the feedback.
> ...
Yes, as I mentioned in the description, it would be opt-in.
> 2) To a very large e...
Eregon (Benoit Daloze)
06:32 AM Feature #19720: Warning for non-linear Regexps
Introducing such a warning *might* be a good idea. But there are several issues:
1) The warning should only be used when asked for with an option (i.e. default off).
2) To a very large extent, whether a regular expression is linear o...
duerst (Martin Dürst)
02:55 AM Feature #19720: Warning for non-linear Regexps
Eregon (Benoit Daloze) wrote in #note-3:
> nobu (Nobuyoshi Nakada) wrote in #note-2:
> ...
Literals can be statically checkable.
> And even if it did, how could the external utility ensure it is loaded early enough, e.g., before Rub...
nobu (Nobuyoshi Nakada)
09:54 AM Revision d54f66d1 (git): Assign into optimal size pools using String#split("")
When String#split is used with an empty string as the field seperator it
effectively splits the original string into chars, and there is a
pre-existing fast path for this using SPLIT_TYPE_CHARS.
However this path creates an empty array ...
eightbitraptor (Matt V-H)
09:53 AM Bug #19715 (Rejected): Coverage oneshot_lines mode is not working after result clear
Hi @ngan
The documentation may not be clear, but this is by design. (Document improvements are welcome!)
`oneshot_lines` is a mode that reports execution at most once for each line. The record is not reset even by `clear: true`. C...
mame (Yusuke Endoh)
09:47 AM Feature #19712: IO#reopen removes singleton class
I proposed adding a keyword argument as `io1.reopen(io2, retain_class:true)` at the meeting.
The keyword argument `retain_class:true` disables changing the class.
That means `io1.reopen(io2, retain_class:true)` just do `dup2(io2.fileno...
akr (Akira Tanaka)
09:45 AM Revision 72f07f0a (git): Reduce concurrency of Cirrus-CI [ci skip]
clang-12 takes 2-3 times longer than gcc-11. nobu (Nobuyoshi Nakada)
08:33 AM Feature #19057: Hide implementation of `rb_io_t`.
Thanks for the report, fixed in https://github.com/ioquatix/raindrops/commit/94dbdd94977d895f98c084d0ca31c2b9cf0d25d3 ioquatix (Samuel Williams)
08:14 AM Feature #19057: Hide implementation of `rb_io_t`.
@ioquatix I'm not sure which change exactly is the cause, but it appears that the recent `rb_io_t` changes broke `raindrops`
```
current directory: /usr/local/lib/ruby/gems/3.3.0+0/gems/raindrops-0.20.1/ext/raindrops
make DESTDIR\= sit...
byroot (Jean Boussier)
07:48 AM Feature #18368: Range#step semantics for non-Numeric ranges
The three clarifications described in #note-17 were discussed at the dev meeting.
@matz said he wanted to make sure if the following pseudo code meets @zverok's expectation.
```ruby
class Range
def step(n)
# TODO: we need ...
mame (Yusuke Endoh)
07:30 AM Revision 11cc1827 (git): Added entry for racc changes to NEWS.md
hsbt (Hiroshi SHIBATA)
06:47 AM Revision 56d74e4c (git): Update bundled gems list at fcbc721ae92fd66a01cdf42ba24e6e [ci skip]
git[bot]
03:38 AM Revision fcbc721a (git): Bump ruby/setup-ruby from 1.150.0 to 1.151.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.150.0 to 1.151.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/8a45918450651f5e4784b6031db26f4b9f...
dependabot[bot]
02:04 AM Misc #19684 (Closed): DevMeeting-2023-06-08
hsbt (Hiroshi SHIBATA)

06/08/2023

08:21 PM Bug #19721: IO#timeout= can be called without required argument
Ah, I see. Thank you. andrykonchin (Andrew Konchin)
03:04 PM Bug #19721 (Rejected): IO#timeout= can be called without required argument
All assignment methods called via `recv.method = ` are called with one argument. `()` is translated to `nil` by the compiler, because it is an expression that is evaluated to `nil`:
```ruby
eval('()')
# => nil
```
jeremyevans0 (Jeremy Evans)
03:03 PM Bug #19721: IO#timeout= can be called without required argument
I believe the syntax `f.timeout=()` is _not_ calling the `timeout=` method with no parameters, but instead it is assigning `()` to `f.timeout` attribute. Since `()` in Ruby evaluates to `nil` (because it is an empty subexpression), in es... ufuk (Ufuk Kayserilioglu)
02:54 PM Bug #19721 (Rejected): IO#timeout= can be called without required argument
```ruby
f = File.open("a.txt", "w")
f.timeout=() # => nil
```
`IO#timeout=` requires an argument (or it's supposed to require it) but if it's called as a method it seems the check is skipped and missing argument is treated as `nil`...
andrykonchin (Andrew Konchin)
04:05 PM Feature #19521: Support for `Module#name=` and `Class#name=`.
Note that `#name` already returns the temporary name
```ruby
m1 = Module.new
m1::NAMED = m2 = Module.new
m2.name #=> "#<Module:0x00005606bc180560>::NAMED"
```
So if you're talking about changing that current behavior, it may be ok ...
Dan0042 (Daniel DeLorme)
03:18 PM Feature #19521: Support for `Module#name=` and `Class#name=`.
If we are adding a setter method, do we really need the `set_` prefix? Moreover, does assigning a "temporary name" change the result of calling `#name`?
IMO, we should add `#temporary_name=` and `#temporary_name` methods, and a non-`n...
ufuk (Ufuk Kayserilioglu)
01:47 PM Feature #19521: Support for `Module#name=` and `Class#name=`.
matz (Yukihiro Matsumoto) wrote in #note-11:
> I agree with adding an ability to name classes/modules. But I am against the method name `name=`. It's too short and handy (and tempting to abuse).
What if `name=` was a no-op or raised ...
Dan0042 (Daniel DeLorme)
09:39 AM Feature #19521: Support for `Module#name=` and `Class#name=`.
For more context, CRuby itself refers to permanent and temporary names, and anonymous components/names.
Here: https://github.com/ruby/ruby/blob/d6bddcb0137d5a640eb22fbd17f9aa83f71fbd48/variable.c#L111
```
/**
* Returns +classpath+ of ...
ioquatix (Samuel Williams)
08:41 AM Feature #19521: Support for `Module#name=` and `Class#name=`.
Unfortunately, I am not 100% satisfied for both names. For `set_temporary_name`, the name implies limited scope or time of name availability, but it's not.
For `set_anonymous_name`, the name assumes the target is an anonymous (nameless)...
matz (Yukihiro Matsumoto)
07:49 AM Feature #19521: Support for `Module#name=` and `Class#name=`.
Thanks Matz, are you happy with `#set_temporary_name` which is how it's referred to internally (and in contrast to assigning a permanent name when you assign to an actual constant).
An alternative would be `#set_anonymous_name` but I th...
ioquatix (Samuel Williams)
07:00 AM Feature #19521: Support for `Module#name=` and `Class#name=`.
I agree with adding an ability to name classes/modules. But I am against the method name `name=`. It's too short and handy (and tempting to abuse).
If we could have a better name, I accept this proposal.
Matz.
matz (Yukihiro Matsumoto)
03:20 PM Revision eaf11d3d (git): [rubygems/rubygems] Stop publishing Gemfile in default gem template
Similarly to how the other ignored files are intended for local
development and not for production, the Gemfile and Gemfile.lock files
for a gem only relate to local development and aren't useful to people
installing the gem.
https://gi...
gareth (Gareth Adams)
02:42 PM Revision 441302be (git): Remove RHASH_TRANSIENT_FLAG
Hashes are no longer allocated on the transient heap. peterzhu2118 (Peter Zhu)
02:28 PM Revision 41496305 (git): * remove trailing spaces. [ci skip]
git[bot]
02:28 PM Revision d9ef326d (git): [DOC] Add comment about flags for Hash
peterzhu2118 (Peter Zhu)
01:50 PM Misc #19679: Migrate Wiki from bugs.ruby-lang.org to ruby/ruby GitHub repository
Okay, I have now migrated all pages as listed [on this sheet](https://docs.google.com/spreadsheets/d/1Ld83ZKxknYgECXxNSh28fjFw82pSRb6W2iPljtDX95E/edit#gid=0). The new wiki is live at https://github.com/ruby/ruby/wiki 🎉
Next week, I wi...
jemmai (Jemma Issroff)
01:01 PM Misc #19679: Migrate Wiki from bugs.ruby-lang.org to ruby/ruby GitHub repository
I now have permissions, thank you! jemmai (Jemma Issroff)
05:33 AM Misc #19679: Migrate Wiki from bugs.ruby-lang.org to ruby/ruby GitHub repository
@jemmai I added you to `Ruby` project as triage team.
![](Screenshot%202023-06-08%20at%2014.32.44.png)
Can you confirm again?
hsbt (Hiroshi SHIBATA)
12:17 PM Feature #19630: [RFC] Deprecate `Kernel#open("|command-here")` due to frequent security issues
IIRC `IO` methods all have an equivalent under `File`, and those do not accept pipes.
So e.g. RuboCop warns about them and suggest to use `File.some_method` instead: https://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Security/IoMethods
...
Eregon (Benoit Daloze)
03:54 AM Feature #19630: [RFC] Deprecate `Kernel#open("|command-here")` due to frequent security issues
@mdalessio (Mike Dalessio) wrote in #note-5:
> @hsbt Because this functionality has existed in Ruby for such a long time, maybe we should target the next major release for removal of this functionality, and for now just print a deprecat...
postmodern (Hal Brodigan)
11:59 AM Feature #19712: IO#reopen removes singleton class
To clarify, my main motivation to solve this issue is to have a nicer object model (the Kernel#class of an object never changes, only a singleton class can be added to an object, never removed) and to avoid surprises when defining single... Eregon (Benoit Daloze)
11:55 AM Feature #19712: IO#reopen removes singleton class
@matz What if I made a PR to not change the class for `IO#reopen`, and we commit it experimentally, and if it causes issues in multiple gems/apps, we revert it?
Would it be OK to merge that experimentally?
Eregon (Benoit Daloze)
09:42 AM Feature #19712: IO#reopen removes singleton class
We still have concerns about compatibility.
One is keeping the receiver's class, and the other is mixing of file descriptors and sockets (especially on Windows).
Both can be the cause of issues that cannot be solved easily.
We hav...
matz (Yukihiro Matsumoto)
09:01 AM Feature #19712: IO#reopen removes singleton class
@matz (Yukihiro Matsumoto) wrote in #note-5:
> The `#reopen` has special semantics that re-initialized the IO object. As a result, singleton methods will be wiped out.
Yes, that's the current semantics.
I think it's both confusing a...
Eregon (Benoit Daloze)
08:05 AM Feature #19712: IO#reopen removes singleton class
The `#reopen` has special semantics that re-initialized the IO object. As a result, singleton methods will be wiped out.
So I propose to update the document to describe regarding singleton classes (and it may change the class of the rec...
matz (Yukihiro Matsumoto)
11:49 AM Feature #19720: Warning for non-linear Regexps
nobu (Nobuyoshi Nakada) wrote in #note-2:
> We introduced `Regexp.linear_time?` in order to check the linear-ness by **external** utilities.
> ...
Interesting.
However that initialize monkey-patch does not get called for literal Regex...
Eregon (Benoit Daloze)
10:49 AM Feature #19720: Warning for non-linear Regexps
We introduced `Regexp.linear_time?` in order to check the linear-ness by **external** utilities.
You can also check dynamically created regexps.
```ruby
Regexp.prepend Module.new {
def initialize(...)
re = super
raise "...
nobu (Nobuyoshi Nakada)
09:41 AM Feature #19720 (Rejected): Warning for non-linear Regexps
I believe the best way to solve ReDoS is to ensure all Regexps used in the process are linear.
Using `Regexp.timeout = 5.0` or so does not really prevent ReDoS, given enough requests causing that timeout the servers will still be very u...
Eregon (Benoit Daloze)
11:22 AM Revision 3fe09eba (git): Add deprecations for public `struct rb_io` members. (#7916)
* Add deprecations for public struct rb_io members. Samuel Williams
09:05 AM Revision d6bddcb0 (git): racc/cparse is extracted from ruby/ruby repository
hsbt (Hiroshi SHIBATA)
09:03 AM Feature #19702 (Closed): Promote racc as bundled gems
Thanks. racc is now bundled gems. hsbt (Hiroshi SHIBATA)
06:30 AM Feature #19702: Promote racc as bundled gems
Sounds OK. Go ahead.
Matz.
matz (Yukihiro Matsumoto)
03:53 AM Feature #19702: Promote racc as bundled gems
I and @nobu removed `racc/parser` dependency from `RDoc::RD`.
* https://github.com/ruby/racc/pull/218
* https://github.com/ruby/rdoc/pull/1019
hsbt (Hiroshi SHIBATA)
08:29 AM Feature #19719: Universal Parser
Sorry for bikeshedding, but can we please avoid using `_struct` on struct tag names? It's already clear it's a `struct` because you must always include the `struct` keyword, i.e. `struct rb_parser_config`. `struct rb_parser_config` does ... ioquatix (Samuel Williams)
02:14 AM Feature #19719 (Closed): Universal Parser
# Background
There are three use cases where we need a CRuby parser which is independent of other CRuby features like Object, GC. I call such a parser a Universal Parser.
1. Use Universal Parser from Ruby applications.
For example R...
yui-knk (Kaneko Yuichiro)
08:26 AM Revision 4e8b859c (git): Update default gems list at e69bb9f0d7dab447d757c34f674474 [ci skip]
git[bot]
08:25 AM Revision e69bb9f0 (git): Bump up racc-1.7.0
hsbt (Hiroshi SHIBATA)
08:25 AM Revision ab5aade5 (git): Removed executable of racc
hsbt (Hiroshi SHIBATA)
08:25 AM Revision d24e514d (git): Added racc dependency
hsbt (Hiroshi SHIBATA)
08:25 AM Revision 55e0f8cf (git): Removed sync task for racc
hsbt (Hiroshi SHIBATA)
08:25 AM Revision 044d0606 (git): Removed racc/cparse checking
hsbt (Hiroshi SHIBATA)
08:25 AM Revision d1775aa3 (git): Try to promote racc as bundled gems
hsbt (Hiroshi SHIBATA)
08:12 AM Feature #19718 (Rejected): Extend `-0` option
Very few users know the existence of `-0`. If we extend the option, probably no one uses the feature.
Matz.
matz (Yukihiro Matsumoto)
07:51 AM Revision b90683be (git): [ruby/psych] Drop to support Ruby 2.4 because the latest version of core_assertions only support Ruby 2.5+
https://github.com/ruby/psych/commit/6ec316b7fa hsbt (Hiroshi SHIBATA)
06:58 AM Feature #19520 (Rejected): Support for `Module.new(name)` and `Class.new(superclass, name)`.
I reject this idea, because adding a new optional name argument to `new` method is too easy to abuse. I am rather for the idea in #19521. Let's discuss there.
Matz.
matz (Yukihiro Matsumoto)
12:04 AM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
As I mentioned, I think using arbitrary `#inspect` is too risky / performance issues. If you are trying to log an error, it's much safer to use a pre-existing string than to call user code (which may fail). ioquatix (Samuel Williams)
06:22 AM Revision fe42d88a (git): Pass -Werror=lto-type-mismatch for GCC LTO jobs
This helps to find possible LTO miscompilations earlier. See also
https://github.com/ruby/ruby/pull/7695.
Sam James
05:41 AM Bug #19681 (Closed): The final classpath of partially named modules is sometimes inconsistent once permanently named
I understand the feeling the name once was "C", could be renamed to "D" later. But in reality, we don't think it's worth maintaining "C" with adding more complexity.
So I choose option 2 in #note-26. If you see the real-world benefit t...
matz (Yukihiro Matsumoto)
04:10 AM Bug #11704 (Rejected): Refinements only get "used" once in loop
The behavior is intended.
Matz.
matz (Yukihiro Matsumoto)
03:06 AM Revision 533368cc (git): Split long options from `proc_options`
nobu (Nobuyoshi Nakada)
03:06 AM Revision 6ffbd961 (git): Split some options from `proc_options`
`-W`, `-e`, `-K`, `-0`, `-E` and `--encoding` options. nobu (Nobuyoshi Nakada)
02:39 AM Feature #19057: Hide implementation of `rb_io_t`.
Okay, here is a PR to introduce deprecations: https://github.com/ruby/ruby/pull/7916 ioquatix (Samuel Williams)
02:16 AM Misc #19684: DevMeeting-2023-06-08
[Feature #19719] Universal Parser
* Want to discuss the direction of development (Design) and release management (Release management).
yui-knk (Kaneko Yuichiro)
01:31 AM Revision 182d3262 (git): Sample files of racc is not available in ruby/ruby
hsbt (Hiroshi SHIBATA)
01:20 AM Revision 7ef1a238 (git): Re-generate RDoc::RD parsers with racc-1.7.0
hsbt (Hiroshi SHIBATA)
01:13 AM Revision a84f2fe8 (git): Manually merge https://github.com/ruby/racc/pull/217
hsbt (Hiroshi SHIBATA)
01:09 AM Revision 8a772757 (git): Update default gems list at 0f2ebfee85af383f859d9fdc64d58f [ci skip]
git[bot]
01:09 AM Revision 0f2ebfee (git): [ruby/racc] Bump up v1.7.0
https://github.com/ruby/racc/commit/0feca00301 hsbt (Hiroshi SHIBATA)
12:59 AM Revision 8206a821 (git): Update parser-text.rb with https://github.com/ruby/racc/pull/218
hsbt (Hiroshi SHIBATA)
12:58 AM Revision c0bbec2e (git): Fix wrong directory layout for racc test
hsbt (Hiroshi SHIBATA)
12:49 AM Revision 0ee9bd58 (git): [ruby/racc] Embed racc/info.rb too
https://github.com/ruby/racc/commit/b5e121f304 nobu (Nobuyoshi Nakada)

06/07/2023

11:46 PM Feature #19718: Extend `-0` option
Dan0042 (Daniel DeLorme) wrote in #note-3:
> I meant it will not be possible to use `-u` in the future.
Yes, and I thought it wouldn’t be a problem, but might not be a good idea.
> ...
`-0=$'\t'` and `-0:09`(= `-0:x09`)?
nobu (Nobuyoshi Nakada)
03:39 PM Feature #19718: Extend `-0` option
I meant it will not be possible to use `-u` in the future.
With colon we could write anything after, like `-0:$'\t'` or `-0:011` or `-0:x09` or `-0:u0009` or `-0:b1001` 😃
Or use `=` instead of `:` ?
Cheers.
Dan0042 (Daniel DeLorme)
02:25 PM Feature #19718: Extend `-0` option
I thought the issue about `-u` is simply a matter of priorities; just the chance of `-0x` cannot be denied, but `-0u` should have never been used.
But now I remembered `-U` has been implemented since 1.9.
My patch allows `-0U` as wel...
nobu (Nobuyoshi Nakada)
02:00 PM Feature #19718: Extend `-0` option
It's a nifty idea, but `-0uCODEPOINT` means that the `-u` option is forever reserved for this usage which no one will ever really use I think, because `-0` is meant to be used like xargs `-0` option (ex: `find . -print0 | ruby -0ne 'p $_... Dan0042 (Daniel DeLorme)
12:02 PM Feature #19718 (Rejected): Extend `-0` option
Recently I learned that Perl's `-0` option is extended to accept a hexadecimal Unicode codepoint.
However it uses `-0x`, and since `-x` is used for shebang and cd, it would cause a backward incompatibility if we will incorporate it as i...
nobu (Nobuyoshi Nakada)
03:01 PM Feature #19712: IO#reopen removes singleton class
> It's not possible to reuse the singleton class for that example.
Yes, that's why I wrote: "whether the singleton_class should be copied", same semantic than `#clone`
byroot (Jean Boussier)
02:56 PM Feature #19712: IO#reopen removes singleton class
@byroot It's not possible to reuse the singleton class for that example. A singleton class has a given superclass, and that must never change.
But I suppose it might be possible to *copy* the singleton class, although that might be surp...
Eregon (Benoit Daloze)
09:50 AM Feature #19712: IO#reopen removes singleton class
For what it's worth, I think:
- It would seem unnatural to me to not clear the `singleton_class`, as in my mental model at least, the `singleton_class` is the actual class of an object.
- I think it would be even more error prone...
byroot (Jean Boussier)
02:09 PM Feature #19630: [RFC] Deprecate `Kernel#open("|command-here")` due to frequent security issues
I've created https://github.com/ruby/ruby/pull/7915 for review. mdalessio (Mike Dalessio)
01:45 PM Feature #19630: [RFC] Deprecate `Kernel#open("|command-here")` due to frequent security issues
> for now just print a deprecation warning.
My worry is that since deprecation warnings are disabled by default, many people might not notice.
Recent examples show that things like `File.exists?` was deprecated for a decade, and so...
byroot (Jean Boussier)
01:39 PM Feature #19630: [RFC] Deprecate `Kernel#open("|command-here")` due to frequent security issues
@hsbt Because this functionality has existed in Ruby for such a long time, maybe we should target the next major release for removal of this functionality, and for now just print a deprecation warning.
@postmodern Just to clarify, you...
mdalessio (Mike Dalessio)
10:04 AM Feature #19717 (Open): `ConditionVariable#signal` is not fair when the wakeup is consistently spurious.
For background, see this issue <https://github.com/socketry/async/issues/99>.
It looks like `ConditionVariable#signal` is not fair, if the calling thread immediately reacquires the resource.
I've given a detailed reproduction here ...
ioquatix (Samuel Williams)
06:48 AM Bug #18743: Enumerator#next / peek re-use each others stacktraces
Your PR makes `stop_exc` to be overwritten for each `StopIteration`.
IMO, it should not change and the `cause` of all subsequent `StopIteration`s should be the same first exception.
nobu (Nobuyoshi Nakada)
06:00 AM Bug #19700: TestProcess#test_execopts_redirect_open_fifo_interrupt_print is flaky on macOS
It seems from my survey around the office that my test program works on Intel macs and crashes on ARM ones. I opened a bug report with Apple about this (FB12251512) kjtsanaktsidis (KJ Tsanaktsidis)
01:10 AM Revision 46583f7d (git): Adjust style [ci skip]
nobu (Nobuyoshi Nakada)
12:27 AM Bug #19716: SystemStackError occurs too easily on Alpine Linux (due to small stack size reported by pthread_attr_getstacksize on musl libc)
Output from `make test` after applying the patch:
```
Fiber count: 10000 (skipping)
PASS all 1669 tests
exec ./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems "./bootstraptest/runner.rb" --rub...
alexdowad (Alex Dowad)
12:19 AM Bug #19716: SystemStackError occurs too easily on Alpine Linux (due to small stack size reported by pthread_attr_getstacksize on musl libc)
I just applied @ncopa's patch from: https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch
After `make` and `make install`, I am now able to run `bundle exec rake db:migrate`...
alexdowad (Alex Dowad)
12:13 AM Bug #19716 (Feedback): SystemStackError occurs too easily on Alpine Linux (due to small stack size reported by pthread_attr_getstacksize on musl libc)
This is the same problem previously reported against Ruby 2.5 in https://bugs.ruby-lang.org/issues/14387. I just ran into the same problem on Ruby 3.1.4, built on Alpine Linux 3.16.
@hsbt stated in the previous thread (https://bugs.ru...
alexdowad (Alex Dowad)
12:08 AM Bug #19715 (Rejected): Coverage oneshot_lines mode is not working after result clear
Given a simple Ruby file (`foo.rb`):
```ruby
def hello
puts "hello"
end
```
If I do the following in `irb`, I get unexpected results:
```
irb(main):001:0> require 'coverage'
irb(main):002:0> Coverage.setup(oneshot_lines: tru...
ngan (Ngan Pham)

06/06/2023

02:21 PM Revision 2b54c135 (git): YJIT: Avoid identity-based known-class guards for IO objects (#7911)
`IO#reopen` is very special in that it is able to change the class and
singleton class of IO instances. In its presence, it is not correct to
assume that IO instances has a stable class/singleton class and guard
by comparing identity.
alanwu (Alan Wu)
02:19 PM Revision 7577c101 (git): Unify length field for embedded and heap strings (#7908)
* Unify length field for embedded and heap strings
The length field is of the same type and position in RString for both
embedded and heap allocated strings, so we can unify it.
* Remove RSTRING_EMBED_LEN
peterzhu2118 (Peter Zhu)
02:18 PM Revision fae2f80d (git): Revert debugging code in test_gc_compact.rb
peterzhu2118 (Peter Zhu)
02:18 PM Revision c3dc9fcc (git): Fix heap growth in GC.verify_compaction_references
We should grow by at least gc_params.heap_init_slots, but the previous
calculation was incorrect.
peterzhu2118 (Peter Zhu)
01:12 PM Misc #19679: Migrate Wiki from bugs.ruby-lang.org to ruby/ruby GitHub repository
> If you don't have wiki permission, please ask me again because configuration of Redmine is too complex.
Thanks @hsbt, I think I still don't have edit permissions though.
![](clipboard-202306060912-oxjwy.png)
jemmai (Jemma Issroff)
12:44 PM Feature #19714 (Closed): Add Refinement#refined_module
Eregon (Benoit Daloze) wrote in https://bugs.ruby-lang.org/issues/12737#note-15:
> `Refinement#refined_class` is a bit strange given it can return a module.
> ...
I'm for it. What do you think, Matz?
shugo (Shugo Maeda)
12:37 PM Feature #12737: Module#defined_refinements
Eregon (Benoit Daloze) wrote in #note-15:
> `Refinement#refined_class` is a bit strange given it can return a module.
> ...
I'm for it, but it may be better to create another issue.
shugo (Shugo Maeda)
12:00 PM Feature #12737: Module#defined_refinements
`Refinement#refined_class` is a bit strange given it can return a module.
How about adding `Refinement#refined_module` as an alias for clarity?
Eregon (Benoit Daloze)
07:01 AM Feature #19702: Promote racc as bundled gems
`rails/rails` already used `gem "racc"` under the bundler environment.
https://github.com/rails/rails/blob/main/Gemfile#L145
There is no effect with this changes.
hsbt (Hiroshi SHIBATA)
05:15 AM Bug #19713: Off-by-one error when computing very large Integer numbers
You can use `Integer#quo`.
```ruby
a.quo(b+c) + b.quo(a+c) + c.quo(a+b) #=> (4/1)
```
nobu (Nobuyoshi Nakada)
05:11 AM Bug #19713 (Rejected): Off-by-one error when computing very large Integer numbers
It is by design. `Integer#/` does integer division.
```
p 1 / 2 #=> 0
```
mame (Yusuke Endoh)
03:42 AM Revision 1f64301e (git): Bump octokit/request-action from 2.1.8 to 2.1.9
Bumps [octokit/request-action](https://github.com/octokit/request-action) from 2.1.8 to 2.1.9.
- [Release notes](https://github.com/octokit/request-action/releases)
- [Commits](https://github.com/octokit/request-action/compare/352d2ae93e...
dependabot[bot]
01:52 AM Revision 79e8d914 (git): [rubygems/rubygems] Delay cache access in `LockfileParser`
It's the only part that needs "root folder resultion" to figure out the
folder for the cache, but it's only needed for some things, so run that
logic lazily when needed.
https://github.com/rubygems/rubygems/commit/c7b9eae0bc
deivid (David Rodríguez)
01:52 AM Revision 03246719 (git): [rubygems/rubygems] Fix `path` vs `deployment` precedence when path set through ENV
The `deployment` setting sets `path` to `vendor/bundle` implicitly, but
that should only apply if `path` is not set explicitly, at any level.
https://github.com/rubygems/rubygems/commit/3552c064c1
deivid (David Rodríguez)
01:52 AM Revision 7b317243 (git): [rubygems/rubygems] Unexclude some specs on bundler 3
These should all be passing on Bundler 3.
https://github.com/rubygems/rubygems/commit/4a8c172965
deivid (David Rodríguez)
01:52 AM Revision 6353f1d5 (git): [rubygems/rubygems] Fill in missing deployment specs
https://github.com/rubygems/rubygems/commit/e16aa47b8f deivid (David Rodríguez)
01:52 AM Revision 60377244 (git): [rubygems/rubygems] Remove redundant specs
They are already tested above.
https://github.com/rubygems/rubygems/commit/23073dcece
deivid (David Rodríguez)
01:52 AM Revision 8819dc43 (git): [rubygems/rubygems] Always rely on $LOAD_PATH when jumping from exe to lib
Normally, we use `require_relative` when requiring internal code.
However, Bundler may also load external code (for example, bundler
plugins), and when that external code loads Bundler itself, using
`require_relative` without setting up ...
deivid (David Rodríguez)
01:52 AM Revision 1f9e6683 (git): [rubygems/rubygems] Fix inline mode with multiple sources
If we're in inline mode, Bundler first resolves using only local gems,
and if some gems are missing, then it re-resolves using remote gems.
However, "source resolution" from the initial "local" try was being
memoized, resulting in Bundle...
deivid (David Rodríguez)

06/05/2023

09:58 PM Revision ebe10773 (git): YJIT: Fix a warning on cargo test (#7909)
k0kubun (Takashi Kokubun)
09:28 PM Bug #19713 (Rejected): Off-by-one error when computing very large Integer numbers
Ruby computes this Elliptic Curve result incorrectly when using Integer operations, but has the correct result when using Rational:
```
a = 154476802108746166441951315019919837485664325669565431700026634898253202035277999
b = 368751...
bannable (Joe Truba)
09:01 PM Revision 2e14a653 (git): Add an example for rust-analyzer.cargo.unsetTest [ci skip]
k0kubun (Takashi Kokubun)
07:47 PM Revision 2543a657 (git): Implement Struct on VWA
The benchmark results show that this feature has either a positive or
no impact on performance. The memory usage is also mostly unchanged,
except in hexapdf, where there is a decrease in RSS.
-------------- ----------- ---------- ---...
peterzhu2118 (Peter Zhu)
07:12 PM Revision 45ff2f4a (git): [ruby/irb] Refactor ExtendCommand::Nop
(https://github.com/ruby/irb/pull/598)
* Rename conf to irb_context
* Drop Nop#irb method because it's only used by irb/ext/loader.rb
We don't need to expose this method to all command classes, especially
when it's just an alias of `i...
st0012 (Stan Lo)
07:02 PM Revision 273b3847 (git): [ruby/irb] Simplify irb_info command
(https://github.com/ruby/irb/pull/597)
https://github.com/ruby/irb/commit/0a0409c52b
st0012 (Stan Lo)
06:34 PM Revision 76ee4edb (git): [ruby/irb] Fixed string escaping omissions
(https://github.com/ruby/irb/pull/599)
I received a `RegexpError` when I typed `::Array[`.
::Array[/Users/mi/ghq/github.com/ruby/irb/lib/irb/completion.rb:236:in `retrieve_completion_data': premature end of char-class: /^Array[/ (Regexp...
ima1zumi (Mari Imaizumi)
06:11 PM Revision 135a5eb7 (git): Add missing write barrier
We were missing the write barrier for class_value to cref. This should
fix the segv we were seeing in http://ci.rvm.jp/logfiles/brlog.trunk-gc-asserts.20230601-165052
Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
eileencodes (Eileen Uchitelle)
06:11 PM Revision 40f090f4 (git): Revert "Revert "Fix cvar caching when class is cloned""
This reverts commit 10621f7cb9a0c70e568f89cce47a02e878af6778.
This was reverted because the gc integrity build started failing. We
have figured out a fix so I'm reopening the PR.
Original commit message:
Fix cvar caching when class is...
eileencodes (Eileen Uchitelle)
05:10 PM Revision 29ea3c5a (git): [rubygems/rubygems] Try again with https://github.com/rubygems/rubygems/pull/6693
https://github.com/rubygems/rubygems/commit/73c0d5f059 hsbt (Hiroshi SHIBATA)
03:07 PM Feature #19712 (Open): IO#reopen removes singleton class
The documentation states:
> This may dynamically change the actual class of this stream.
As well `#reopen` removes the singleton class, even when the logical class is the same. This can be surprising at times.
An example:
```...
itarato (Peter Arato)
02:59 PM Revision 3cdafe9b (git): Move per sections in help message
nobu (Nobuyoshi Nakada)
02:59 PM Revision b5467ae3 (git): Add additional info for `-0` to `--help` message
nobu (Nobuyoshi Nakada)
02:59 PM Revision feb946c3 (git): Fold option lines in help message
nobu (Nobuyoshi Nakada)
01:49 PM Revision 1a7ee145 (git): [DOC] Update flags doc for strings
The length of an embedded string is no longer in the flags. peterzhu2118 (Peter Zhu)
09:43 AM Feature #19056: Introduce `Fiber.annotation` for attaching messages to fibers.
I understand your concerns.
Every production system I've worked on has some kind of APM, and I've never heard anyone complain about the overhead - it's usually minuscule in comparison to the actual work being done.
I'm fine for it ...
ioquatix (Samuel Williams)
09:37 AM Feature #19056: Introduce `Fiber.annotation` for attaching messages to fibers.
Probably not, but I also think net-http shouldn't use it.
There is overhead to e.g. call Addrinfo#inspect (or #to_s) in your screenshot above.
Also for such logging to be useful one most likely needs string interpolation, which means s...
Eregon (Benoit Daloze)
09:31 AM Feature #19056: Introduce `Fiber.annotation` for attaching messages to fibers.
If it's not in core, can we still use it in `net-http` and other gems like that? ioquatix (Samuel Williams)
09:30 AM Feature #19056: Introduce `Fiber.annotation` for attaching messages to fibers.
Why not use a fiber-local variable for this? Then there is much less risk of conflict between libraries, and of course you can define convenience methods as you like.
Or as you implemented it in that gem, as an attribute + `annotate(mes...
Eregon (Benoit Daloze)
09:25 AM Feature #19708: Support `attr_reader :foo?`
Agreed this would be nice and make such query methods more optimized.
In https://bugs.ruby-lang.org/issues/12046#note-3 it sounds to me matz was looking for a concrete use case, I think there are plenty in the wild.
I think a PR/pa...
Eregon (Benoit Daloze)
09:15 AM Feature #19708: Support `attr_reader :foo?`
This was proposed and rejected by Matz several time in the past (see the linked issues).
Not saying it's impossible to try again, but you'll likely need a much stronger case than that to convince Matz.
byroot (Jean Boussier)
04:44 AM Feature #19708: Support `attr_reader :foo?`
> > You can workaround this by using attr_reader to create the optimized method, alias_method to give it the
> ...
That's not equivalent. It's the "next best thing", but it creates a `VM_METHOD_TYPE_ISEQ` method, not a more optimized `VM...
AMomchilov (Alexander Momchilov)
06:18 AM Bug #19711: NoMethodError "private method `new' called for class" since bebd05fb51ea65bc57344b67100748200f8311eb
This code was added almost 10 years ago via https://github.com/rails/rails/commit/71993c6f9770b1350aa41fe8c68f1dd2c7800403 and I have not found the reason why yet.
My opinion is I also want some deprecation cycle before dropping this ...
yahonda (Yasuo Honda)
06:07 AM Bug #19711: NoMethodError "private method `new' called for class" since bebd05fb51ea65bc57344b67100748200f8311eb
> do you have any opinion on Rails' usage as outlined above?
Before even looking at the issue, we'll fix it if necessary, but we need advance notice first, otherwise this will cause a mess for people upgrading to 3.3.
byroot (Jean Boussier)
04:31 AM Bug #19711: NoMethodError "private method `new' called for class" since bebd05fb51ea65bc57344b67100748200f8311eb
@yahonda do you have any opinion on Rails' usage as outlined above? ioquatix (Samuel Williams)
03:53 AM Bug #19711: NoMethodError "private method `new' called for class" since bebd05fb51ea65bc57344b67100748200f8311eb
Looks like https://github.com/rails/rails/blob/main/activesupport/test/deprecation_test.rb calls `.new` on the Deprecation Singleton a bunch of places. This behavior _should_ not be possible on a singleton, however `.new` is explicitly ... dpepper (Daniel Pepper)
01:33 AM Bug #19711: NoMethodError "private method `new' called for class" since bebd05fb51ea65bc57344b67100748200f8311eb
```ruby
module ActiveSupport
class Deprecation
include Singleton
```
Why is Rails trying to call `new` on a singleton class?
What is the expected behaviour of calling new on a subclass of a Singleton?
ioquatix (Samuel Williams)
01:12 AM Bug #19711: NoMethodError "private method `new' called for class" since bebd05fb51ea65bc57344b67100748200f8311eb
I reverted commit:bebd05fb51ea65bc57344b67100748200f8311eb at commit:3a4302c742622dda9fbaeeb90fd42364badc423d
hsbt (Hiroshi SHIBATA)
01:03 AM Bug #19711 (Closed): NoMethodError "private method `new' called for class" since bebd05fb51ea65bc57344b67100748200f8311eb
Rails CI against ruby3.3.0dev has been failing https://buildkite.com/rails/rails/builds/96929#0188841c-cf1f-46d6-b48b-f510a5675262/1069-1078
According to git bisect, this change has been triggered via bebd05fb51ea65bc57344b67100748200f8...
yahonda (Yasuo Honda)
04:29 AM Revision 542c70aa (git): [ruby/singleton] Simplify implementation of `Singleton#instance`.
(https://github.com/ruby/singleton/pull/9)
- Add more tests to cover rails' usage.
dpepper (Daniel Pepper)
03:06 AM Bug #19685 (Closed): ruby --helpに --yydebugの情報がない
Applied in changeset commit:git|3fe0f8c68bf2cd861b7061de8a662885e5aa5234.
----------
[Bug #19685]: Add `-y` and `--yydebug` document to `--help`
Add -y option information to `--help`
Fix a warning on the man page
Anonymous
03:05 AM Revision 3fe0f8c6 (git): [Bug #19685]: Add `-y` and `--yydebug` document to `--help`
Add -y option information to `--help`
Fix a warning on the man page
Yla Aioi
01:17 AM Bug #19700: TestProcess#test_execopts_redirect_open_fifo_interrupt_print is flaky on macOS
I think it's the same failure as these:
- http://rubyci.s3.amazonaws.com/osx1200arm/ruby-master/log/20230601T215005Z.fail.html.gz
- http://rubyci.s3.amazonaws.com/osx1200arm/ruby-master/log/20230531T165005Z.fail.html.gz
Is it an ar...
kjtsanaktsidis (KJ Tsanaktsidis)
12:04 AM Bug #19700 (Feedback): TestProcess#test_execopts_redirect_open_fifo_interrupt_print is flaky on macOS
I haven't seen that failures on macOS.
```
ProductName: macOS
ProductVersion: 13.4
BuildVersion: 22F66
```
Also your test program runs fine.
nobu (Nobuyoshi Nakada)
01:10 AM Revision 3a4302c7 (git): [ruby/singleton] Revert "Simplify the implementation
(https://github.com/ruby/singleton/pull/7)"
This reverts commit https://github.com/ruby/singleton/commit/545b6b61a40d.
This change break Rails CI: https://bugs.ruby-lang.org/issues/19711
https://github.com/ruby/singleton/commit/9115...
hsbt (Hiroshi SHIBATA)
 

Also available in: Atom