Activity
From 12/05/2025 to 12/11/2025
Today
-
01:38 PM Feature #21773 (Open): Support for setting encoding when a block is passed to `Net::HTTPResponse.read_body`
- Hi everyone,
This feature request could be considered a follow-up to https://bugs.ruby-lang.org/issues/2567. Opting in to automatic detection of the right encoding for the body when passing a block to `read_body` results in an error ... -
01:38 PM Revision b49ff7cc (git): [ruby/timeout] Make Timeout.timeout work in a trap handler on CRuby
- * Fixes https://github.com/ruby/timeout/issues/17
https://github.com/ruby/timeout/commit/1a499a8f96 -
01:38 PM Revision 9865048a (git): [ruby/timeout] Encapsulate adding a timeout Request
- https://github.com/ruby/timeout/commit/cb2ba88fed
-
01:30 PM Bug #21669: Thoroughly implement void value expression check
- https://github.com/ruby/ruby/pull/15498
-
12:15 PM Bug #21669: Thoroughly implement void value expression check
- Discussed this at the dev meeting.
I was convinced that it is very rare to use `return` or other escapes from the begin block *whose result is used* even during debugging.
```
def foo
bar(begin
return 42
1
end)
en... -
01:05 PM Revision c678e1bd (git): [ruby/timeout] Revise Timeout.timeout docs and add a section about `ensure`
- https://github.com/ruby/timeout/commit/7cfa5a6778
-
01:05 PM Revision 46d8e6d9 (git): [ruby/timeout] Reset the interrupt mask when creating the Timeout thread
- * Add tests related to Thread.handle_interrupt
* Fixes https://github.com/ruby/timeout/issues/41
https://github.com/ruby/timeout/commit/a52720e82a -
12:57 PM Bug #21715: Miscompilation on x86-64-v2 due to undefined behavior in search_nonascii in string.c
- For long term, believing the intelligence of the compiler sounds reasonable.
But if we believe the compiler, it doesn't need hand written parallelism. The code can be simplified like
```c
const char *
search_nonascii2(const char ... -
12:17 PM Bug #21723 (Assigned): `binding.irb` raises a LoadError under `bundle exec`
-
12:06 PM Feature #8948: Frozen regex
- Here is the code we found in the dev meeting:
https://github.com/ctrochalakis/mongo-ruby-driver/blob/e632eb570d2f42bddc6703c88d3ce43aea6cdfe6/lib/mongo/types/regexp_of_holding.rb#L27-L41
```ruby
class LazyRegexp < Regexp
...
... -
07:48 AM Feature #8948: Frozen regex
- We found some gems inherited from Regexp and used instance variables on instances, so they would be broken if all Regexp objects become frozen. I think it's unacceptable for Ruby 4.0.
Frankly, I don't think freezing the Regexp objects i... -
11:56 AM Revision d6b40320 (git): Append found lib/<file> entries to spec.files to support out-of-place builds
- 10:59 AM Revision 674ddf4b (git): Update default gems list at 6b469b7e40f94f25b50463de2190d5 [ci skip]
-
10:58 AM Revision 6b469b7e (git): [ruby/json] Release 2.18.0
- https://github.com/ruby/json/commit/1cdd2122d5
-
10:53 AM Revision 6ad4e6a2 (git): [ruby/json] Add `allow_control_characters` parsing option
- While it's not allowed by the spec, some parsers like Oj do
accept it, and it can be blocking a transition.
Having this feature can help people migrate.
https://github.com/ruby/json/commit/3459499cb3 -
10:20 AM Bug #19558 (Closed): str.dump.undump crashes when str contains both Unicode and ASCII control characters
- Applied in changeset commit:git|281a000d6669d3fbb1c0a2f940cbb9c7c01732e6.
----------
[Bug #19558] Allow ASCII range to mix with Unicode dump -
10:20 AM Revision 281a000d (git): [Bug #19558] Allow ASCII range to mix with Unicode dump
-
10:12 AM Misc #21690 (Closed): Inconsistent `rb_popcount64()` definition
- Applied in changeset commit:git|dc41cf332613db24af512bc7e959fc9a17d85d59.
----------
[Misc #21690] Sync parser_bits.h from internal/bits.h -
09:44 AM Misc #21690: Inconsistent `rb_popcount64()` definition
- https://github.com/ruby/ruby/pull/15496
-
09:48 AM Bug #21709: Regexp interpolation is inconsistent with String interpolation
- ```ruby
re = /#{"\\p{In_Arabic}".encode("US-ASCII")}\u1234/
# encoding mismatch in dynamic regexp : US-ASCII and UTF-8
```
This behavior looks a bug. -
09:45 AM Bug #21710: Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
- byroot (Jean Boussier) wrote in #note-24:
> > I just don't think we should support this.
> ...
To be clear, we are aware we're doing really shady weird things to get a bit less overhead / a few more features, etc and we don't expect u... -
09:42 AM Revision dc41cf33 (git): [Misc #21690] Sync parser_bits.h from internal/bits.h
-
09:35 AM Bug #21712 (Closed): Prism and parse.y inconsistency in command call with block and `.()`
- Applied in changeset commit:git|c5b51bdd8c69ae038daf80cb227df854ca0110f1.
----------
[Bug #21712] Allow `.()` call for command with block
This commit allows codes like `a b do end.()` and `a b do end&.()`. -
08:57 AM Bug #21712: Prism and parse.y inconsistency in command call with block and `.()`
- `parse.y` should be fixed to adopt this case.
Matz.
-
09:35 AM Revision c5b51bdd (git): [Bug #21712] Allow `.()` call for command with block
- This commit allows codes like `a b do end.()` and `a b do end&.()`.
-
09:18 AM Revision 278a93a1 (git): This change didn't fix the original issue.
- Revert "Use base: with Dir.glob for bundler.gemspec"
This reverts commit 87f0701b6106569a8486c9623dc6b0b32438355c. -
09:00 AM Revision 240e7999 (git): [DOC] Update NEWS for `*selectors` arguments added to `String#strip` etc.
-
08:57 AM Revision 87f0701b (git): Use base: with Dir.glob for bundler.gemspec
-
08:35 AM Feature #21552 (Closed): allow String.strip and similar to take a parameter similar to String.delete
- Applied in changeset commit:git|c76ba839b153805f0498229284fea1a809308dbc.
----------
Allow String#strip etc. to take optional character selectors
[Feature #21552]
Co-Authored-By: Claude <noreply@anthropic.com> -
06:52 AM Feature #21552: allow String.strip and similar to take a parameter similar to String.delete
- I accept the proposal.
Matz.
-
08:34 AM Revision c76ba839 (git): Allow String#strip etc. to take optional character selectors
- [Feature #21552]
Co-Authored-By: Claude <noreply@anthropic.com> -
07:53 AM Feature #19979: Allow methods to declare that they don't accept a block via `&nil`
- Frankly, I should have designed from the beginning that any method that accepts a block should always take a `&blk` argument, but it is impossible to change that now.
Considering that it is meaningful to explicitly state that a method... -
06:48 AM Bug #21049: Reconsider handling of the numbered parameters and "it" parameter in `Binding#local_variables`
- I'd like to have the following new methods:
* `Binding#implicit_parameters #=> [:_1, :_2, :_3, ...] or [:it]`
* `Binding#implicit_parameter_get(:_1) #=> obj`
* `Binding#implicit_parameter_defined?(:_1) #=> true or false`
Matz.
-
05:47 AM Feature #21704: Expose rb_process_status_new to C extensions
- rb_process_status_new is declared in the PR as follows.
```
/**
* Creates a new instance of Process::Status.
*
* @param[in] pid The process ID.
* @param[in] status The "waitpid status", as returned by waitpid(2). This is NOT ... -
01:28 AM Revision 83e08070 (git): Remove an excess closing bracket
-
12:07 AM Revision c7d56e90 (git): ZJIT: Re-compile ISEQs invalidated by PatchPoint (#15459)
-
12:02 AM Revision 1c29fbec (git): GC_DEBUG_STRESS_TO_CLASS should only be for debug
- I believe this was accidentally left in as part of
2beb3798bac52624c3170138f8ef65869f1da6c0 -
12:01 AM Revision 5828872e (git): Update Ractor warning message
- Although the Ractor API is still experimental and may change, and there
may be some implementation issues, we should no longer say that there
are many.
Hopefully we can remove this warning entirely for Ruby 4.1
12/10/2025
-
10:03 PM Revision b208f46f (git): ZJIT: Don't fold LoadField with negative offsets and use byte_add
- No point doing the manual size unit conversion for add. Sorry, no new
tests since there is no way to generate a LoadField with a negative
offset from ruby code AFAICT. Careful with the `as` casts. -
09:43 PM Feature #21552: allow String.strip and similar to take a parameter similar to String.delete
- Also in practice you'd probably want to use `sub!` to mutate in place if a big String.
That would avoid a copy, since CRuby doesn't do lazy substrings which don't share the same end. -
09:41 PM Feature #21552: allow String.strip and similar to take a parameter similar to String.delete
- Eregon (Benoit Daloze) wrote in #note-9:
> but that sounds more like something that could/should be optimized in the regexp engine
To substantiate that:
```
$ ruby -rbenchmark/ips -e 'SPACES = ["\0", *("\t".."\r"), " "].join; TARGE... -
09:34 PM Feature #21552: allow String.strip and similar to take a parameter similar to String.delete
- This sounds like a lot of complexity for one specific use-case, which already has a good solution with `sub`.
From the benchmarks, `lstrip("\0 \t-\r")` and `sub(/\A[\0\s]+/, "")` are pretty close.
`sub(/[\0\s]+\z/, "")` is slower tha... -
06:28 AM Feature #21552: allow String.strip and similar to take a parameter similar to String.delete
- tr_setup_table_multi() was called twice in String#{strip,strip!}, so I've fixed it: https://github.com/ruby/ruby/pull/15400/commits/c9cb93f201644cd5e2fbbd6e83cf50acb27642de
### Benchmark
https://gist.github.com/shugo/c6367f4139bc2d... -
09:35 PM Revision 029a4817 (git): JITs: Drop cargo and use just rustc for release combo build
- So we don't expose builders to network flakiness which cannot be worked
around using cargo's --offline flag. -
09:35 PM Revision 121d0da0 (git): JITs: Move cargo-specific variables into conditional
-
09:35 PM Revision 1bab2160 (git): ZJIT: For rustc build, remove cargo touch(1) workaround
-
09:35 PM Revision b0ea9070 (git): YJIT: For rustc build, remove cargo touch(1) workaround
-
09:35 PM Revision 96c804de (git): ZJIT: Remove unused includes from zjit.c
- 09:18 PM Revision c8909030 (git): ZJIT: Fold LoadField on frozen objects to constants (#15483)
- * ZJIT: Fold LoadField on frozen objects to constants
When accessing instance variables from frozen objects via attr_reader/
attr_accessor, fold the LoadField instruction to a constant at compile
time. This enables further optimizations... -
09:07 PM Bug #21772: ruby: YJIT has panicked StackOpnd(1) should be a heap object, but was ImmSymbol for VALUE(137647867319760)
- Sure no problem anything else?
```
-- Ruby level backtrace information ----------------------------------------
/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/puma-7.1.0/lib/puma/thread_pool.rb:182:in 'block in spawn_thread'
/home... -
08:54 PM Bug #21772: ruby: YJIT has panicked StackOpnd(1) should be a heap object, but was ImmSymbol for VALUE(137647867319760)
- > Backtrace & Logs
Is it possible to share the Ruby backtrace as well? -
08:21 PM Bug #21772 (Open): ruby: YJIT has panicked StackOpnd(1) should be a heap object, but was ImmSymbol for VALUE(137647867319760)
- I'm getting a YJIT has panicked crash in my rails app locally when a part of my application rapidly uses a gem I have "auto_session_timeout".
If I patch the gem by changing the symbol to a string the error goes away.
``` ruby
... -
08:56 PM Revision ccfd3116 (git): Remove object_id in NEWOBJ tracepoint test
- Generating an object_id for any type other than T_OBJECT (and T_CLASS)
will inevitably allocate an IMEMO/fields objects, which isn't supported
in a NEWOBJ tracepoint.
See: https://bugs.ruby-lang.org/issues/21710#note-23 - 08:30 PM Revision 3640cfe5 (git): ZJIT: Use inline format args (#15482)
-
08:21 PM Bug #21710: Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
- Yeah... Either way, with the object_id now stored in `imemo/fields`, generating an object_id for anything other than `T_OBJECT` will inevitably allocate an IMEMO.
I'll remove the test case. -
08:15 PM Bug #21710: Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
- It's a noble goal, but in my view it's negative to even temporarily support this as it invites new extensions to be badly behaved and misuse these hooks.
-
07:47 PM Bug #21710: Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
- > I just don't think we should support this.
I said previously, I generally agree, but the datadog gem is quite popular, so I think we should try to find a short term solution if we can. At least that's what I tried to do. -
07:37 PM Bug #21710 (Open): Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
- This continues to be broken (in a way that I hope helps illustrate that this was always unsafe). I think there's two issues.
Since the change was introduced we're regularly seeing failures on CI related to object_id and _id2ref. Here ... -
06:10 PM Revision 330ddccf (git): ubuntu.yml: Add a ruby-bench job without ZJIT (#15480)
-
05:55 PM Bug #15479: Array#reject! modifies literal Array
- Yas
-
05:49 PM Revision 41ee6589 (git): Always treat encoding as TYPEDDATA
- Encodings are RTypedData, not the deprecated RData. Although the
structures are compatible we should use the correct API. -
05:45 PM Revision 1eb10ca3 (git): ZJIT: Exclude failing ruby-bench benchmarks (#15479)
-
04:08 PM Revision ed18a212 (git): ZJIT: Check if shape is too complex before reading ivar by index (#15478)
- This fixes a crash when the new shape after a transition is too complex;
we need to check that it's not complex before trying to read by index. -
11:42 AM Revision 2b66fc76 (git): Fix typos in comment of rb_current_execution_context()
-
10:14 AM Revision 023c6d80 (git): [ruby/json] Add a specific error for unescaped newlines
- It's the most likely control character so it's worth
giving a better error message for it.
https://github.com/ruby/json/commit/1da3fd9233 -
10:06 AM Revision 6777d101 (git): Modernize Monitor TypedData
- Make it embedded and compaction aware.
-
09:30 AM Revision c5608ab4 (git): Monitor: avoid repeated calls to `rb_fiber_current()`
- That call is surprisingly expensive, so trying doing it once
in `#synchronize` and then passing the fiber to enter and exit
saves quite a few cycles. -
09:03 AM Bug #21771: pg-1.6.2 testsuite segfaults in ruby4.0.0dev
- Looks like this segfault is indeed fixed. Thank you!
- 07:09 AM Revision ef4490d6 (git): Update default gems list at e8a55274f202df1cfddc25aa14da34 [ci skip]
-
07:08 AM Revision e8a55274 (git): [ruby/forwardable] v1.4.0
- https://github.com/ruby/forwardable/commit/0257b590c2
-
07:05 AM Bug #21708 (Closed): Ruby 3.4 Forwardable: setter delegations trigger SyntaxError from forwardable/impl.rb
- Applied in changeset commit:git|14ff851185bb8ff399e98b74cc107302a4e08e18.
----------
[ruby/forwardable] Simpler and faster check for the delegation fastpath
Fix: https://github.com/ruby/forwardable/issues/35
[Bug #21708]
Trying to com... -
07:05 AM Revision 14ff8511 (git): [ruby/forwardable] Simpler and faster check for the delegation fastpath
- Fix: https://github.com/ruby/forwardable/issues/35
[Bug #21708]
Trying to compile code to check if a method can use the delegation
fastpath is a bit wasteful and cause `RUPYOPT=-d` to be full of
misleading errors.
It's simpler and fast... -
06:48 AM Revision 375025a3 (git): Fix typo and shadowing
-
06:48 AM Revision 462df17f (git): Attempt to reuse garbage slots in concurrent hash
- This removes all allocations from the find_or_insert loop, which
requires us to start the search over after calling the provided create
function.
In exchange that allows us to assume that all concurrent threads insert
will get the same ... -
06:48 AM Revision 81fbdff8 (git): Use continuation bit in concurrent set
- This refactors the concurrent set to examine and reserve a slot via CAS
with the hash, before then doing the same with the key.
This allows us to use an extra bit from the hash as a "continuation bit"
which marks whether we have ever pr... - 06:44 AM Revision 492b1c73 (git): Update default gems list at 8e87f201cf54b112642ed0421ddabd [ci skip]
-
06:43 AM Revision 8e87f201 (git): [ruby/optparse] v0.8.1
- https://github.com/ruby/optparse/commit/f2e31e81a5
- 06:40 AM Revision a8b7fb7e (git): Update default gems list at 254653db8521618e08aaccaa63efdb [ci skip]
-
06:39 AM Revision 254653db (git): [ruby/win32-registry] v0.1.2
- https://github.com/ruby/win32-registry/commit/2a6ab00f67
-
06:18 AM Revision 6ec5c5f1 (git): [ruby/stringio] [DOC] Doc for StringIO.size
- (https://github.com/ruby/stringio/pull/171)
https://github.com/ruby/stringio/commit/95a111017a -
06:18 AM Revision b4a1f170 (git): [ruby/stringio] [DOC] Tweaks for StringIO#each_line
- (https://github.com/ruby/stringio/pull/165)
Adds to "Position": pos inside a character.
Makes a couple of minor corrections.
---------
https://github.com/ruby/stringio/commit/ff332abafa
Co-authored-by: Sutou Kouhei <kou@cozmixng.org> -
06:17 AM Revision 5bc65db5 (git): [ruby/stringio] [DOC] Tweaks for StringIO#gets
- (https://github.com/ruby/stringio/pull/190)
https://github.com/ruby/stringio/commit/77209fac20 -
06:16 AM Revision f623fcc7 (git): [ruby/stringio] [DOC] Tweaks for StringIO.getbyte
- (https://github.com/ruby/stringio/pull/188)
https://github.com/ruby/stringio/commit/66360ee5f1 -
06:16 AM Revision 668fe011 (git): [ruby/stringio] [DOC] Fix link
- https://github.com/ruby/stringio/commit/e2d24ae8d7
-
06:13 AM Revision 842f91ae (git): [ruby/stringio] [DOC] Tweaks for StringIO#getc
- (https://github.com/ruby/stringio/pull/189)
https://github.com/ruby/stringio/commit/e3d16d30ed -
06:04 AM Revision bbee62ab (git): We don't need to check the latest release of pathname
- Pathname is now embedded class of Ruby
- 05:30 AM Revision 74376fef (git): Update default gems list at 4523a905327d8438f845f5a7582222 [ci skip]
-
05:28 AM Revision 4523a905 (git): [ruby/date] v3.5.1
- https://github.com/ruby/date/commit/1d0aadc295
- 05:23 AM Revision ab80d05f (git): Update default gems list at 5f444cba4741b2ff0e1e95f4a17932 [ci skip]
-
05:22 AM Revision 5f444cba (git): [ruby/ipaddr] v1.2.8
- https://github.com/ruby/ipaddr/commit/93ef50bc04
-
05:18 AM Revision ec862b41 (git): ZJIT: Prohibit ZJIT support with USE_FLONUM=0 (#15471)
- 05:13 AM Revision 238e69d1 (git): Update default gems list at 814f23747b5fd7b0d5fb6cd8e45833 [ci skip]
-
05:12 AM Revision 814f2374 (git): [ruby/resolv] v0.7.0
- https://github.com/ruby/resolv/commit/a0e89bbe48
- 05:09 AM Revision e4786376 (git): Update default gems list at df4fc0f7fcda6c552084ea0638c718 [ci skip]
-
05:08 AM Revision df4fc0f7 (git): [ruby/psych] v5.3.0
- https://github.com/ruby/psych/commit/d8053b0d16
-
03:09 AM Revision 3636277d (git): Add `NUM2PTR` and `PTR2NUM` macros
- These macros have been defined here and there, so collect them.
-
01:23 AM Revision 3bb97e77 (git): `_RUBY_DEBUG_LOG` usable anywhere
- even if `USE_RUBY_DEBUG_LOG=0`.
It becomes `fprintf(stderr, ...)`. -
12:22 AM Revision f9eb0d8d (git): Use `ruby_version_is`
- As the markers for spec/mspec/tool/remove_old_guards.rb.
12/09/2025
- 11:28 PM Revision 264c469b (git): Fix typo in thread_pthread.c [ci skip] (#15465)
- Fix typo in thread_pthread.c: threre -> there
-
11:14 PM Revision 29c29c2b (git): ZJIT: Add dump to file for --zjit-stats (#15414)
- * ZJIT: Add dump to file for --zjit-stats
* ZJIT: Rename --zjit-stats=quiet to --zjit-stats-quiet -
10:36 PM Bug #21374 (Closed): FrozenError message is inconsistent when a singleton method is defined on a frozen object
- Applied in changeset commit:git|e436dba9fee4c75104212ad0fd16ab7f753985c4.
----------
Use rb_error_frozen_object in rb_class_modify_check
This provides information on the class of the frozen object. It also
results in a much simpler imp... -
10:35 PM Revision e436dba9 (git): Use rb_error_frozen_object in rb_class_modify_check
- This provides information on the class of the frozen object. It also
results in a much simpler implementation.
Fixes [Bug #21374] -
10:35 PM Revision 76fb0d24 (git): Use actual class instead of singleton class in frozen error message
- With the following code:
```ruby
object = []
object.singleton_class
object.freeze
object.instance_variable_set(:@a, 42)
```
The previous error message was:
```
can't modify frozen #<Class:#<Array:0x00000631d1308f78>>: []
```
With thi... -
09:20 PM Bug #21446 (Closed): StackOverflow when changing visibility in reopened refinement
- Applied in changeset commit:git|1e7cf7b2bc1f9b356b2e980e1e18548618da6363.
----------
Fix refinement modification of method visibility in superclass
Previously, this didn't work correctly, resulting in a
SystemStackError. This fixes the... -
09:19 PM Revision 1e7cf7b2 (git): Fix refinement modification of method visibility in superclass
- Previously, this didn't work correctly, resulting in a
SystemStackError. This fixes the issue by finding the related
superclass method entry, and updating the orig_me in the
refinement method to point to the superclass method.
Fixes [Bu... -
08:45 PM Bug #21757 (Closed): Splatted args array is mutated when passing unexpected kwargs
- Applied in changeset commit:git|6409715212d22699bd2751a363b050a5d8b94b83.
----------
Fix allocationless anonymous splat keyword argument check
Previously, if an argument splat and keywords are provided by
the caller, it did not check w... -
08:44 PM Revision 64097152 (git): Fix allocationless anonymous splat keyword argument check
- Previously, if an argument splat and keywords are provided by
the caller, it did not check whether the method/proc accepted
keywords before avoiding the allocation. This is incorrect,
because if the method/proc does not accept keywords, ... -
08:29 PM Revision bd0d08b6 (git): ZJIT: Show send fallback reason in HIR dump (#15454)
- This adds comments to the hir dump output like this:
v13:BasicObject = SendWithoutBlock v6, :test, v11 # SendFallbackReason: Complex argument passing -
08:00 PM Misc #21770: Stop bumping RUBY_PATCHLEVEL in release versions
- :+1: I don't think it has any usefulness anymore.
I do know of one usage of `RUBY_PATCHLEVEL`, for detecting if on a dev build or release version via `is_release = RUBY_PATCHLEVEL >= 0`.
Notably used in https://github.com/grpc/grpc/b... -
01:41 AM Misc #21770: Stop bumping RUBY_PATCHLEVEL in release versions
- I agreed this.
I already hide patchlevel from lockfile of Bundler 4.
https://github.com/ruby/rubygems/pull/7772 -
12:24 AM Misc #21770 (Open): Stop bumping RUBY_PATCHLEVEL in release versions
- ## Proposal
* Stop bumping `RUBY_PATCHLEVEL` from `0` in Ruby 4.0.0+
## Motivation
* As a stable branch maintainer, I find it frustrating that reverting a commit made by `tool/merger.rb` often causes a conflict on `#define RUBY_... -
07:52 PM Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
- Interesting. I get similar results on both linux and macos, on both benchmarks. But I'm using ARM in both cases, not x86.
-
06:07 PM Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
- Previous machine is on WSL.
On another vanilla Linux machine
Ubuntu 24.04/Linux 6.8.0-87-generic/i7-13700H nproc:20:
```
all CPU 1 CPU
MN=0 real: 0m8.919s ... -
09:06 AM Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
- Actually MN threads does similar thing.
```
$ time RUBY_MN_THREADS=1 make run
./miniruby -I../../src/trunk/lib -I. -I.ext/common -r./x86_64-linux-fake ../../src/trunk/test.rb
voluntary_ctxt_switches: 56
nonvoluntary_ctxt_switch... -
05:39 PM Bug #21719: Thread deadlock with explicit require of a base clase in Linux Ruby 3.4
- It is not stably reproducible because the code heavily relies on race condition.
Here is a more reproducible and simpified version.
```ruby
# start.rb
#
autoload :Target, "./target"
# a hack to trigger context switch after Kern... -
05:08 PM Bug #21771 (Closed): pg-1.6.2 testsuite segfaults in ruby4.0.0dev
- Applied in changeset commit:git|98390d9360b8b8c82f798f51567587882c4e5c00.
----------
Don't declare `rbimpl_check_typeddata` as pure
[Bug #21771]
It may raise so it's incorrect and can lead to the compiler
optimizing the call out. -
04:40 PM Bug #21771: pg-1.6.2 testsuite segfaults in ruby4.0.0dev
- Here's the fix: https://github.com/ruby/ruby/pull/15467
-
04:37 PM Bug #21771: pg-1.6.2 testsuite segfaults in ruby4.0.0dev
- So I'm only able to reproduce in release mode. I'm not yet clear about what is going on, but it feels like the compiler is optimizing the check out somehow.
-
04:00 PM Bug #21771: pg-1.6.2 testsuite segfaults in ruby4.0.0dev
- I will have a look, thank you.
-
03:25 PM Bug #21771: pg-1.6.2 testsuite segfaults in ruby4.0.0dev
- And actually the above segfault does *not* happen when reverting only commit:fcf3939780972d587b18afc26c4abd2da2c0b7ec
(i.e. reverting http://github.com/ruby/ruby/pull/15387 ) -
03:20 PM Bug #21771 (Assigned): pg-1.6.2 testsuite segfaults in ruby4.0.0dev
- Thank you for the detailed report!
I could be wrong, but I think the culprit is commit:fcf3939780972d587b18afc26c4abd2da2c0b7ec. Looks like the optimization skips `rb_typeddata_inherited_p` check, but maybe it is needed. @byroot, coul... -
03:08 PM Bug #21771: pg-1.6.2 testsuite segfaults in ruby4.0.0dev
- gdb result
```
type casting
shouldn't type map params unless requested
Thread 1 "ruby-mri" received signal SIGSEGV, Segmentation fault.
0x00007fffdc09de22 in alloc_query_params (paramsData=paramsData@entry=0x7fffffffb460) ... -
03:03 PM Bug #21771: pg-1.6.2 testsuite segfaults in ruby4.0.0dev
- Raw stdout/stderr log from ruby:
```
type casting
shouldn't type map params unless requested
/builddir/build/BUILD/rubygem-pg-1.6.2-build/pg-1.6.2/usr/share/gems/gems/pg-1.6.2/spec/pg/connection_spec.rb:2724: [BUG] Segmentati... -
03:02 PM Bug #21771 (Closed): pg-1.6.2 testsuite segfaults in ruby4.0.0dev
- Looks like pg-1.6.2
https://github.com/ged/ruby-pg/tree/c75ed8da19c356b52d83da2627295760780d3d36
testsuite began to segfault, especially the following
```
#!/bin/bash
export PGPORT=54321
export RUBY_PG_TEST_DIR=/builddir/build/... -
05:08 PM Revision 98390d93 (git): Don't declare `rbimpl_check_typeddata` as pure
- [Bug #21771]
It may raise so it's incorrect and can lead to the compiler
optimizing the call out. -
03:19 PM Revision f0b288ad (git): ZJIT: Put keyword bits in callee frame rather than c_args
-
03:19 PM Revision c42f4d80 (git): ZJIT: Handle caller_kwarg in direct send when all keyword params are required
-
03:19 PM Revision 76d845aa (git): ZJIT: Test additional arg passing scenarios
-
03:04 PM Revision 7ecfb1b2 (git): [ruby/resolv] use domain suffix from 'Domain' instead of 'NV Domain'
- 'NV Domain' does not change results of `powershell -command Get-DnsClientGlobalSetting`.
'Domain' do this.
https://github.com/ruby/resolv/commit/d49e3d5b84 -
02:44 PM Revision 1933f129 (git): [DOC] Clear one of known issues of Ruby Box
-
02:41 PM Revision 1e6a4795 (git): Box: relax the condition of clean up
- It is impossible to delete DLLs being loaded on Windows. I guess that
unnamed (no accessible path on the filesystem) files are not allowed
essentially. The only way is to relax the condition, such as no files
are left after the process... - 02:41 PM Revision 07e85e1d (git): Box: add a test case about deleting .so/.dll files
-
02:41 PM Revision 573896a4 (git): Box: remove copied extension files
- 02:08 PM Revision e8568bbc (git): [DOC] Update Ruby Box documents (known issues)
- 01:52 PM Revision cb9510f5 (git): ZJIT: Support opt_newarray_send with PACK_BUFFER
- 01:52 PM Revision c8441e8d (git): ZJIT: Clean up opt_newarray_send
-
01:17 PM Bug #21363 (Closed): `Namespace.current` should always return the Namespace in which it was defined
- Now it's working as we expects:
```
MBA:build s-tagomori$ cat m.rb
module M
def self.test
p test: Ruby::Box.current
end
TEST = -> {
p lambda: Ruby::Box.current
}
end
MBA:build s-tagomori$ RUBY_BOX=1 ./exe/... -
01:01 PM Bug #21341 (Closed): `Namespace is not a module (TypeError)` without enabling the namespace
- The top level `Namespace` doesn't exist now.
-
12:57 PM Bug #21320 (Closed): Namespaces leak with constant lookup
- This issue is fixed now.
```
MBA:build s-tagomori$ cat b.rb
X = :top
class C
X = :super
end
class D < C
p X
end
MBA:build s-tagomori$ RUBY_BOX=1 ./exe/ruby -ve 'puts "in main"; require "./b"; puts "in box"; Ruby::Box.... -
12:54 PM Bug #21318 (Closed): Namespaces leak with Module.nesting
- Now `Module.nesting` doesn't return its box information in a box.
```
MBA:build s-tagomori$ RUBY_BOX=1 ./exe/ruby -v
ruby 4.0.0dev (2025-12-09T12:29:36Z box-news-documents.. c998717de8) +PRISM [arm64-darwin24]
MBA:build s-tagomori$... -
12:52 PM Bug #21316: Namespaces leak with permanent names
- Now the name of classes defined in a box is just its name.
```
MBA:build s-tagomori$ RUBY_BOX=1 ./exe/ruby -e 'Ruby::Box.new.eval("class C; end; p(name: C.name, eq: C.name == \"C\")")'
./exe/ruby: warning: Ruby::Box is experimental,... -
12:51 PM Bug #21316 (Closed): Namespaces leak with permanent names
- 12:41 PM Revision edca81a1 (git): ZJIT: Add codegen for FixnumDiv (#15452)
- Fixes https://github.com/Shopify/ruby/issues/902
This pull request adds code generation for dividing fixnums.
Testing confirms the normal case, flooring, and side-exiting on division by zero. - 12:36 PM Revision 5ae2bd24 (git): [DOC] Add Ruby::Box on NEWS
- 12:10 PM Revision 4b8e48a3 (git): Update default gems list at 0da74e0aa0189b1d2ec9dadf7b580f [ci skip]
-
12:09 PM Revision 0da74e0a (git): [ruby/rubygems] Bump Rubygems version to 4.0.1
- (cherry picked from commit https://github.com/ruby/rubygems/commit/f3e5ebf5afe7)
https://github.com/ruby/rubygems/commit/583b0222ad -
12:09 PM Revision 875c4c7d (git): [ruby/rubygems] Bump Bundler version to 4.0.1
- (cherry picked from commit https://github.com/ruby/rubygems/commit/26c1db5a65a8)
https://github.com/ruby/rubygems/commit/bbb5b767d0 -
11:50 AM Revision 8d1eafa7 (git): Remove duplicate path names in error message
-
11:50 AM Revision ee6784f2 (git): Refine `copy_ext_file`
- - Define the error constants.
- Use system calls to copy files if available.
- Simplify fallback copying.
- Copy without stdio buffering. -
10:37 AM Revision 99133a66 (git): [ruby/net-http] Check whether TCPSocket#initialize supports open_timeout once and without exceptions
- * See discussion in https://github.com/ruby/net-http/pull/224
* This check is known to work on at least CRuby, TruffleRuby and JRuby.
* Exceptions show up with `ruby -d`/`$DEBUG == true` and would show for every Net::HTTP instance.
http... -
09:21 AM Bug #21717 (Feedback): Cleanup fiber scheduler after fork
-
09:20 AM Misc #21762 (Assigned): Box: Inspect improvements
-
09:17 AM Bug #21760 (Assigned): Ruby::Box: a couple of require-related problems
-
09:17 AM Bug #21761 (Assigned): NameError: uninitialized constant only when RUBY_BOX=1
-
09:13 AM Bug #21645 (Closed): Can't `require "resolve"` on Windows under Bundler without warnings
-
09:02 AM Bug #21714 (Assigned): Prism and parse.y inconsistency in `def a = a b do 1 end`
-
09:01 AM Bug #21713 (Assigned): Prism accepts pattern matching in modifier rescue followed by operators that shouldn't be allowed
-
09:00 AM Misc #21688 (Closed): Ruby::Box maturing path
-
08:57 AM Misc #21688: Ruby::Box maturing path
- Can we close this?
-
08:48 AM Revision 79c57d74 (git): Fixed by `misspell -w -error -source=text`
-
08:18 AM Bug #21676 (Closed): make[2]: *** No rule to make target '../../../.././ext/-test-/namespace/yay1/yay1.h', needed by 'yay1.o'. Stop.
-
08:07 AM Feature #21637 (Feedback): Tracing global variable assignment
-
07:51 AM Feature #21768: Remove deprecated functions
- I agree with John, we're very close to release, even more so if you consider a lot of people will be away and checked out over the holidays almost a week before release.
However I do absolutely agree that the C API is full of deprecated... - 07:45 AM Revision 25f277ab (git): Fix typos in gc.c and gc.rb
-
07:17 AM Bug #21694: Crash when looking up super method from BasicObject
- @k0kubun it was backported in https://github.com/ruby/ruby/pull/15322
-
02:43 AM Revision 59314911 (git): [ruby/prism] Nested heredoc with newline terminator
- When you have a heredoc interpolated into another heredoc where
the inner heredoc is terminated by a newline, you need to avoid
adding the newline character a second time.
https://github.com/ruby/prism/commit/8eeb5f358b -
02:43 AM Revision 268cbb29 (git): [ruby/prism] Fully handle unreferencing a block exit
- If a block exit has a further block exit in its subtree, we need to
keep recursing.
https://github.com/ruby/prism/commit/855d81a4a8 -
02:43 AM Revision cbf39c3b (git): [ruby/prism] Fix up call target node when invalid
- When there is an invalid syntax tree, we need to make sure to fill
in the required call operator location.
https://github.com/ruby/prism/commit/937313d7f0 -
02:43 AM Revision 71354a98 (git): [ruby/prism] Fix hash pattern location when missing nodes
- https://github.com/ruby/prism/commit/0ad30561e2
- 02:01 AM Revision 12c16f9d (git): [ruby/rubygems] Fix Bundler removing executables after creating them
- When running a fresh `bundle install` with gems that contains
executables, Bundler will generate binstubs but soon after will remove
them. This is a regression introduced in https://github.com/ruby/rubygems/commit/573ffad3ea4a.
This res... -
01:48 AM Misc #21689: DevMeeting-2025-12-11
- @chucke Please follow the instruction next time:
> The format is strict. We'll use this script to automatically create an markdown-style agenda. We may ignore a comment that does not follow the format.
This time I modified your com... -
12:31 AM Misc #21689: DevMeeting-2025-12-11
- * [Misc #21769] Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git (k0kubun)
* I want Ruby 4.0.0 to use `v4.0.0` as its git tag name instead of `v4_0_0`. If we release rc1, can we call it `v4.0.0-rc1` too?
* Do we also want to... -
01:37 AM Revision 19172d64 (git): [ruby/rubygems] Fix indentation of the info message for default_cli_command
- * It looked like:
In a future version of Bundler, running `bundle` without argument will no longer run `bundle install`.
Instead, the `cli_help` command will be displayed. Please use `bundle install` explicitly fo... -
01:37 AM Revision fab94ecd (git): [ruby/rubygems] Fix the config suggestion in the warning for `$ bundle`
- * `install_or_cli_help` does not exist for older Bundler like Bundler 2
and so results in a confusing error on Bundler 2:
```
$ bundle
Could not find command "".
```
* See https://github.com/ruby/rubygems/pull/9136/files#r25923... -
01:09 AM Revision 056997cb (git): Remove needless `ruby2_keywords` field from `struct rb_args_info`
- `ruby2_keywords` is set only to be `0` in parse.y.
However `args->ruby2_keywords` is initialized with `0` by `MEMZERO`
in `rb_node_args_new` function and `body->param.flags.ruby2_keywords`
is initialized with `0` by `ZALLOC` in `rb_iseq_... -
01:09 AM Revision 576acb95 (git): Remove `FORWARD_ARGS_WITH_RUBY2_KEYWORDS` check
- Because `FORWARD_ARGS_WITH_RUBY2_KEYWORDS` definition was removed
by 4f77d8d3289ece0e3537d9273a5c745120bff59a. -
01:02 AM Misc #21769: Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git
- I'm fine whether it's `vX.Y.Z` or `X.Y.Z` too. I'm personally used to `vX.Y.Z` used by `rake release` ([ref](https://github.com/ruby/ruby/blob/007a70a15c2911845f83872b83d39eeca7f0f607/lib/bundler/gem_helper.rb#L193)), so I just didn't ha...
-
12:26 AM Misc #21769: Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git
- Is there a reason to prefer `vX.Y.Z` over `X.Y.Z`? The `v` tag prefix does seem more popular, though both are widely used. The historical reason for using `_` in tags also applies to the reason the `v` prefix is used. If we are switching...
-
12:54 AM Bug #19112: Ractor garbage collection breaks/disables all active tracepoints
- I think there are a couple problems interacting here.
* First is that the GC hooks were being registered specifically on one Ractor, which doesn't make sense as GC could be run inside an arbitrary Ractor (and is global)
* Second is t... -
12:38 AM Revision de94f88c (git): Register internal tracepoints globally
- Internal tracepoints only make sense to run globally, and they already
took completely different paths. -
12:38 AM Revision 55668d74 (git): Only globally clear the flag being cleared
- This solution is not quite correct because it doesn't solve multiple
Ractors subscribing to the same event, but this will avoid unrelated
events clobbering the flags for other events.
This however will work corretly for subscribing to g... -
12:36 AM Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
- ruby_3_4 commit:6dc27d14a0427da7b28a6884578009a9740f69fd, commit:bc40e758307c9be3e39497b5010fbaceb14bf8c7, commit:d282e76fb6c9f56ac44b3abfc8a3fc9f10edd6f0.
12/08/2025
-
11:54 PM Revision 007a70a1 (git): Test that Ractor.make_shareable mutates the original Proc
-
11:54 PM Revision 4cb3a61b (git): Fix Ractor test to not depend on the previous test
-
11:54 PM Revision 39a3b886 (git): Fix some descriptions in bootstraptest/test_ractor.rb
-
11:54 PM Revision 09f8b8e3 (git): Test that Ractor.shareable_proc keeps the original Proc intact
-
11:52 PM Revision ca8630b6 (git): [ruby/rubygems] Extract and generate only bundler bin files instead of full installation.
- https://github.com/ruby/rubygems/commit/a70e573973
-
11:44 PM Misc #21769 (Open): Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git
- ## Proposal
* Use `vX.Y.Z` (e.g. `v4.0.0`) instead of `vX_Y_Z` (e.g. `v4_0_0`) as git tag names from Ruby 4.0.0
* Also use `-` for preview/rc releases, e.g. `v4.0.0-rc1` instead of `v4_0_0_rc1`
## Motivation
* Inconsistent ... -
11:30 PM Revision 6dc27d14 (git): Interpolation with only string literals must not be frozen
- Basically a redo of https://github.com/ruby/ruby/commit/a1403fb7cbd1fe0df97c932be9814c86081783dc
but respecting the frozen string literal magic comment
Fixes [Bug #21187] -
11:30 PM Revision bc40e758 (git): Interpolated strings must not be frozen
- Strings concatenated with backslash may end up being frozen when they
shouldn't be. This commit fixes the issue. It required a change
upstream in Prism, but also a change to the Prism compiler in CRuby.
https://github.com/ruby/prism... -
11:30 PM Revision d282e76f (git): Bump Prism to v1.5.2
- [Backport #21187]
-
11:04 PM Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
- Filed https://github.com/ruby/ruby/pull/15453
-
11:03 PM Bug #21648: [prism] ruby crashes for `for * in [10]; end`
- ruby_3_4 commit:d0b778cd19fdda858121d8f2405da2768603c9b1 merged revision(s) commit:0b0da6c4b26f80ad6985722d3fc0f5cdee09125d.
-
10:18 PM Bug #21648: [prism] ruby crashes for `for * in [10]; end`
- > can you mark for backport?
@Earlopain I gave you "Contributor" role on the Redmine project. You should be able to update the "Backport" field yourself going forward. -
11:03 PM Revision d0b778cd (git): merge revision(s) 0b0da6c4b26f80ad6985722d3fc0f5cdee09125d: [Backport #21648]
- [PATCH] Correctly compile splats in for-loop index in prism
Fixes [Bug #21648]
This is a followup to https://github.com/ruby/ruby/pull/13597.
The added test passed but didn't emit the same instructions.
... -
11:01 PM Revision 55ea3ec0 (git): Fix strict aliasing warning in rb_int128_to_numeric
- If we don't have uint128, then rb_int128_to_numeric emits a strict
aliasing warning:
numeric.c:3641:39: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
3641 | return rb_uin... -
10:50 PM Feature #21768: Remove deprecated functions
- To me it seems too close to the release to make this kind of breaking change. Maybe we can consider it for Ruby 4.1 instead? It would be nice if removals made it into a `-preview` release.
-
12:38 PM Feature #21768 (Open): Remove deprecated functions
- There many deprecated functions.
Why we carry them over the new major version?
Functions to be removed:
- `rb_clear_constant_cache` deprecated for 3 years
- postponed job APIs deprecated for 2 years
- old APIs to allocate a data o... -
10:47 PM Bug #21764: encoding of warning for depreciated global variables is not set
- Backporting this causes conflicts. Could you file a backport PR to `ruby_3_4` please?
-
10:46 PM Bug #21705: `UNIXServer.open(nil)` segfaults on Windows
- ruby_3_4 commit:955decc1da6cd2441c24d22e8909a3e995973769 merged revision(s) commit:beb85e7eeee4163cd45b69645a60cdb942f72c05.
-
10:46 PM Revision 955decc1 (git): merge revision(s) beb85e7eeee4163cd45b69645a60cdb942f72c05: [Backport #21705]
- [PATCH] [Bug #21705] Fix segfaults on Windows
It should check the type of the argument and coercion before
converting the encoding. -
10:45 PM Bug #21680: Integer#digits bug starting from Ruby 3.1
- ruby_3_4 commit:fe8221af30768cbd15409d4cc52b2bb18e91667e merged revision(s) commit:f4f728b319086eea3db6e9909fb9c849c276f813.
-
10:44 PM Revision fe8221af (git): merge revision(s) f4f728b319086eea3db6e9909fb9c849c276f813: [Backport #21680]
- [PATCH] [Bug #21680] Fix (base**power_of_two).digits(base) bug (#15144)
Fix wrong condition in base multiplying loop. -
10:43 PM Bug #21673: Segmentation Fault in IRB when refining `Kernel#puts` using `Module#refine` (Regression since Ruby 3.4)
- ruby_3_4 commit:625eeae0db2749e62152d8a750706eff24a271d0 merged revision(s) commit:a4dff09be79b52288a47658964d25e5aa84fc960.
-
10:38 PM Revision 625eeae0 (git): merge revision(s) a4dff09be79b52288a47658964d25e5aa84fc960: [Backport #21265]
- [PATCH] [Bug #21673] Fix resolving refined module-defined method
A method defined in a module has no `defined_class`, use the ICLASS
for it as the `defined_class`. -
10:36 PM Bug #21655: segfault when building 3.3.10 with GCC 15.2.1, regression from 3.3.9
- ruby_3_4 commit:da66b64a18414d5ece52512eb016c1af2ede1730 merged revision(s) commit:9d44cb0b2b5520b2b299851003ca2a97bf1e2079, commit:367ddd445cdf5ccc55a0481c944746ef595f72f7, commit:48dce7874fcb571765635b32fa6a3e3a12e228f8.
-
10:36 PM Revision da66b64a (git): merge revision(s) 9d44cb0b2b5520b2b299851003ca2a97bf1e2079, 367ddd445cdf5ccc55a0481c944746ef595f72f7, 48dce7874fcb571765635b32fa6a3e3a12e228f8: [Backport #21655]
- [PATCH] Remove rbimpl_rstring_getmem() usage as workaround for GCC 15.2.1 optimization bug. [Bug #21655]
[PATCH] include/ruby/internal/core/rstring.h: Remove rbimpl_rstring_getmem() definition.
[PATCH] simplify RSRING_G... -
10:30 PM Bug #21666: Math.lgamma(-1).should == [infinity_value, 1] fails with Fedora glibc-2.42.9000-8.fc44
- ruby_3_4 commit:1adfd3ec401e7a09e1e3e61708592b202a3f8277 merged revision(s) commit:c5bd4acd30320a8e180ce9fcb24acdab4e10c73a.
-
10:29 PM Revision 1adfd3ec (git): merge revision(s) c5bd4acd30320a8e180ce9fcb24acdab4e10c73a: [Backport #21666]
- [PATCH] [Bug #21666] Get rid of use of unspecified values
-
10:28 PM Bug #21694: Crash when looking up super method from BasicObject
- Backporting this causes multiple conflicts. Could you file a backport PR to `ruby_3_4` please?
-
10:24 PM Bug #21703: RUBY_CRASH_REPORT does not work when shelling out in some cases
- ruby_3_4 commit:a2ba1478e8c6a810c0fa08695a48f95ef5c29c45 merged revision(s) commit:190b017fc6c21ff7b61c2b5ece0294785e4a4ca2.
-
10:24 PM Revision a2ba1478 (git): merge revision(s) 190b017fc6c21ff7b61c2b5ece0294785e4a4ca2: [Backport #21703]
- [PATCH] Don't use non blocking pipes for RUBY_CRASH_REPORT
[Bug #21703]
RUBY_CRASH_REPORT does not work in some cases when shelling out on Linux.
For example, given the following shell script dump.sh:
... -
10:23 PM Bug #21679: Segfault when ruby calls pthread_detach in rb_getnameinfo
- ruby_3_4 commit:7482835d0b5c9f55662fb7c6586f456354e2b66e.
-
10:21 PM Bug #21265: Crash when proc from Symbol#to_proc called outside refinement scope
- ruby_3_4 commit:ef2d4bf51bf28cfc427388a19e4a5fe9bbbe7a7a merged revision(s) commit:6e6f5d3c32a709c891ac6aa7833376907a6c81b5.
-
10:21 PM Revision ef2d4bf5 (git): merge revision(s) 6e6f5d3c32a709c891ac6aa7833376907a6c81b5: [Backport #21265]
- [PATCH] Add test for [Bug #21265]
The crash was fixed by a4dff09be79b52288a47658964d25e5aa84fc960 ("Fix
resolving refined module-defined method"). I had a patch for this around
for a few months but never merged i... -
09:58 PM Revision 66bda731 (git): Remove unused local variables in test/ruby/test_io_buffer.rb (#15451)
-
07:48 PM Revision 90a9b642 (git): Use rb_current_ec_noinline in ractor_{lock,unlock}
- We're seeing an occasional crash on CI because this ends up inlined all
the way into ractor_wait_receive. On llvm (possibly other compilers) the
thread local address of ec ends up cached (not the value of ec, the
address ec is read from)... -
05:16 PM Revision e61b79b3 (git): Fix a typo in the deprecation warning message
-
05:06 PM Revision bd752290 (git): [ruby/timeout] Revert "Exclude constantly-failing test on x86_64-darwin"
- This reverts commit https://github.com/ruby/timeout/commit/45816b1b2602.
https://github.com/ruby/timeout/commit/b54f91e9dd -
04:59 PM Revision fd45496f (git): Update ZJIT docs (#15449)
-
04:36 PM Revision 956f8d49 (git): ZJIT: Avoid redundant SP save in codegen (#15448)
-
04:11 PM Bug #21765: stop using the C runtime _read() on Windows
- The current io.c code for windows is intended to avoid performance limitations of the encoding converter.
Therefore, performance is important. Here are some benchmarks before and after the patch.
(some empty lines removed manually)
``... -
03:44 PM Feature #21766: Pathname + FileUtils making sweet music together
- I am thinking in this direction: it is not unseen for standard libraries, when required, to add methods to core objects:
```ruby
{a: 1}.to_json # NoMethodError
require 'json'
{a: 1}.to_json #=> {"a": 1}
Time.parse('12:20') # NoM... -
01:20 AM Feature #21766: Pathname + FileUtils making sweet music together
- I'm open to any and all implementation suggestions, happy to do whatever is required. I just want the feature!
-
01:54 PM Feature #21720: Add a native Binary Heap / Priority Queue to Ruby's Standard Library (heapify, heappush, heappop)
- herwin (Herwin W) wrote in #note-1:
> ```ruby
> ...
------------------------------------------------------------
### Update (response to feedback)
Thank you for pointing out the fragility of the module-style API that operates dir... -
11:28 AM Revision 66b2cc3d (git): [ruby/resolv] Check the second RegGetValue type
- https://github.com/ruby/resolv/commit/3678de9e30
-
11:28 AM Revision 27d60e29 (git): [ruby/resolv] Fix warnings on cygwin
- https://github.com/ruby/resolv/commit/075e76f997
-
10:28 AM Feature #21767: Consider procs which `self` is Ractor-shareable as Ractor shareable
- Naturally it would need to follow the rules of `Ractor.shareable_proc` (#21557) regarding accessing captured variables:
* Any captured variable must not be reassigned
* The value of every captured variable must be shareable (not sure h... -
03:04 AM Feature #21767 (Open): Consider procs which `self` is Ractor-shareable as Ractor shareable
- I would like to allow procs which `self` is Ractor-shareable to be automatically eligible as shareable, without an explicit `Ractor.make_shareable` call.
```ruby
class C
PROC = proc { p ARRAY }.freeze
end
Ractor.new { C::PROC.... -
10:02 AM Misc #21689: DevMeeting-2025-12-11
- * [Feature #21766] Pathname + FileUtils making sweet music together (eregon)
* These methods are useful and in fact are expected by some to already exist on Pathname.
* How should we add them given they depend on FileUtils? -
09:41 AM Revision 159430e8 (git): ignore Thread creation error
- on resource limited environment.
```
stderr output is not empty
bootstraptest.test_ractor.rb_2446_1412.rb:23:in 'Ractor.new': can't create Thread: Cannot allocate memory (ThreadError)
``` -
09:21 AM Revision ced33367 (git): fix SEGV on clang-16/18
- Maybe because of TLS/coroutine problem, CI fails on clang-16/18
```
1) Failure:
TestTimeout#test_ractor [/tmp/ruby/src/trunk_clang_18/test/test_timeout.rb:288]:
pid 307341 killed by SIGSEGV (signal 11) (core dumped)
| /tmp/ruby/src/tr... - 07:03 AM Revision 1de15815 (git): [ruby/rubygems] Fix native extension loading in newgem template for RHEL-based systems
- Add fallback to `require` when `require_relative` fails to load native
extensions. This addresses an issue on RHEL-based Linux distributions
where Ruby scripts and built native extension shared libraries are
installed in separate directo... -
03:11 AM Revision a82aa08f (git): Make `ruby_reset_leap_second_info` internal
- It is exported only for the extension library to test, but the method
is no longer used since 29e31e72fb5a14194a78ec974c4ba56c33ad8d45. -
03:11 AM Revision 6a1f5b68 (git): Make `ruby_reset_timezone` internal
- It is used only in hash.c, when `ENV['TZ']` is set.
- 03:07 AM Revision fbc5bb91 (git): Update default gems list at 4655b174d5fa71b69781c56701be63 [ci skip]
-
03:06 AM Revision 4655b174 (git): [ruby/timeout] v0.5.0
- https://github.com/ruby/timeout/commit/837d5aac73
-
02:47 AM Revision be882278 (git): Move RBIMPL_ATTR_DEPRECATED_* macros to the appropriate header file
- Move these macros from include/ruby/backward.h to
include/ruby/internal/attr/deprecated.h, alongside the other similar
macros.
include/ruby/internal/intern/vm.h cannot currently use them because
include/ruby/backward.h is included too l... -
02:47 AM Revision f2eece71 (git): Remove the internal-only attribute from ruby_reset_timezone()
- The #ifdef is currently not taken because include/ruby/backward.h is
not included at this point. The attribute is unnecessary in an internal
header, so remove it.
12/07/2025
-
11:07 PM Misc #21154: Document or change Module#autoload?
- BTW, I do not know if you know it, but while I started working on Zeitwerk to fix autoloading in Rails, I changed my mind in the mid of it and decided to do something more generic that supports multiple autoloaders in the same process ma...
-
10:29 AM Misc #21154: Document or change Module#autoload?
- Thanks for the example @mame.
In my view, this is more a problem of circularity than a problem of autoload vs require. When you are loading a file, a require is executed and loads a file that needs a constant that was still not defined.... -
09:57 PM Feature #21766: Pathname + FileUtils making sweet music together
- Remember that `FileUtils` is loaded dynamically, so it would be something like
```ruby
class Pathname
def mkdir_p(...) = _fileutils(:mkdir_p, ...)
def ln(...) = _fileutils(:ln, ...)
def ln_s(...) = _fileutils(:ln_s, ...)
... -
08:31 PM Feature #21766 (Open): Pathname + FileUtils making sweet music together
- I love Pathname. I love FileUtils. Let's bring these two classes EVEN CLOSER TOGETHER by adding some tragically missing helpers. Something like this, perhaps?
``` ruby
class Pathname
def mkdir_p(...) = FileUtils.mkdir_p(@path, ...... -
04:51 PM Revision 4f900c35 (git): Output ivar length for T_OBJECT in obj_info
- 04:35 PM Revision a4d14213 (git): [DOC] Update bundled gems list at 379d22ce8418448ade3d410e5c76dd
-
04:35 PM Revision 379d22ce (git): Bump RDoc version to 6.17.0 (#15439)
-
03:22 PM Misc #21689: DevMeeting-2025-12-11
- * [Feature #8948] Frozen regex (eregon)
* This is to make all Regexps frozen and not just literals.
* I made a PR, it passes CI: https://github.com/ruby/ruby/pull/14547
* Is it OK to merge it for Ruby 4.0? -
03:20 PM Feature #8948: Frozen regex
- PR to make all Regexps frozen and not just literals: https://github.com/ruby/ruby/pull/14547
Is it OK to merge it for Ruby 4.0? -
02:20 PM Revision db6071b5 (git): [ruby/pathname] Raise the previous message
- Fix ruby/pathname#75.
https://github.com/ruby/pathname/commit/5ba967b274 -
02:20 PM Revision a8a188e1 (git): [ruby/pathname] Add more tests for `Pathname#initialize`
- https://github.com/ruby/pathname/commit/a2edd25bc1
-
01:51 PM Revision 806f2d35 (git): [ruby/pathname] [DOC] Pathname#freeze
- https://github.com/ruby/pathname/commit/4580540a2b
-
01:51 PM Revision f2b250c1 (git): [ruby/pathname] Define private method `same_paths?` for Ractor-safety
- https://github.com/ruby/pathname/commit/d33d18e5e2
-
12:18 PM Revision 4080abec (git): Ignore distclean failures
- Just clean the directory if it exists and is empty.
- 11:55 AM Revision eafaff94 (git): Re-introduce support for `io_close` hook. (#15434)
-
08:34 AM Revision 941e70ab (git): Sync doc/stringio in sync_default_gems.rb
-
04:44 AM Revision 68eab91b (git): Allow to sync pathname manually
- Still development of the gem continues, sync as possible manually.
-
01:59 AM Revision fb80f84f (git): [DOC] Fix formatting in docs for String#[]=
12/06/2025
-
11:22 PM Revision 33837abb (git): [ruby/stringio] [DOC] Tweaks for StringIO#pos=
- (https://github.com/ruby/stringio/pull/194)
https://github.com/ruby/stringio/commit/3cef1e0e5f -
11:22 PM Revision 82577ac0 (git): [ruby/stringio] [DOC] Tweaks for StringIO#pos
- (https://github.com/ruby/stringio/pull/193)
https://github.com/ruby/stringio/commit/90728bbbca -
11:21 PM Revision c9fe3cba (git): [ruby/stringio] [DOC] Tweaks for StringIO#lineno=
- (https://github.com/ruby/stringio/pull/192)
https://github.com/ruby/stringio/commit/8b1ee03cbe -
11:21 PM Revision f298beb2 (git): [ruby/stringio] [DOC] Tweaks for StringIO#lineno
- (https://github.com/ruby/stringio/pull/191)
https://github.com/ruby/stringio/commit/f2a2a5a99e -
10:51 PM Misc #21689: DevMeeting-2025-12-11
- * [Feature #19979] Reconsider adding `&nil` to method declarations, to signal it won't accept a block
* Adding this feature should be possible now that the syntax moratorium is over -
06:08 PM Revision 588347a0 (git): Fix id2ref for multi-Ractor
- The id2ref table needs to be under a VM lock to ensure there are no race
conditions. The following script crashes:
o = Object.new
ObjectSpace._id2ref(o.object_id)
10.times.map do
Ractor.new do
10_000.times do... -
05:49 PM Revision 87bc106b (git): [ruby/stringio] [DOC] Change link to on-page
- https://github.com/ruby/stringio/commit/a7c118d786
- 05:26 PM Revision 47c0dae1 (git): [ruby/openssl] asn1integer_to_num: don't cast away const
- ASN1_ENUMERATED_to_BN() has been const-correct for a long time in all
supported libcrytos, so we can remove this workaround.
https://github.com/ruby/openssl/commit/d0f36a7c65 -
05:13 PM Revision 1f0d41aa (git): [ruby/date] Call rb_gc_register_mark_object after object allocation
- It's possible that both half_days_in_day and day_in_nanoseconds are Ruby
objects, which means that creating day_in_nanoseconds may trigger GC.
Since half_days_in_day is not registered as a mark object until after
day_in_nanoseconds is al... - 04:50 PM Revision 8d3da814 (git): [ruby/openssl] Convert ossl_x509ext.c to opaque ASN1_STRING
- https://github.com/ruby/openssl/commit/a41cf28bab
- 04:50 PM Revision 38ad0806 (git): [ruby/openssl] Convert ossl_ts.c to opaque ASN1_STRING
- https://github.com/ruby/openssl/commit/8945f379b3
- 04:50 PM Revision a07997bf (git): [ruby/openssl] Convert ossl_ns_spki.c to opaque ASN1_STRING
- https://github.com/ruby/openssl/commit/0941ebbda5
- 04:50 PM Revision 98c151b0 (git): [ruby/openssl] Convert some of ossl_asn1.c to opaque ASN1_STRING
- This uses the normal accessors but leaves out BIT STRINGS, which will
need compat implementations for ASN1_BIT_STRING_get_length() and
ASN1_BIT_STRING_set1() for older libcryptos.
https://github.com/openssl/openssl/issues/29184
https://... - 04:50 PM Revision d3aa7b88 (git): [ruby/openssl] Convert ossl_ocsp.c to opaque ASN1_STRING
- OpenSSL plans to make asn1_string_st opaque, the struct underlying most
ASN.1 types such as ASN1_*STRING, ASN1_ENUMERATED, ASN1_INTEGER, etc.
Most of ruby/openssl's C code can be straigtforwardly converted to use
accessors available sinc... - 04:50 PM Revision 9dfb7bd7 (git): [ruby/openssl] const correct ossl_bin2hex()
- This helper only reads from its in parameter. Making that const
avoids a couple of casts in an upcoming change.
https://github.com/ruby/openssl/commit/970d5764e3 -
04:49 PM Feature #21084: Declare objects have weak references
- Hmm, yes. I'll work on rebasing the PR.
-
08:12 AM Feature #21084: Declare objects have weak references
- @peterzhu2118 regardless of whether it should be public or not, given the performance benefits, should we merge your PR?
-
04:31 PM Revision 2e828dd9 (git): Fix strict aliasing warning in ruby_swap128_int
- The following warnings are emitted. We can use type punning to prevent
strict aliasing violations.
io_buffer.c:1935:23: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
1935 | r... -
03:44 PM Revision da3b7d5e (git): [ruby/pathname] Freeze and hide internal constants
- https://github.com/ruby/pathname/commit/60f5d58d73
-
03:44 PM Revision b675deee (git): [ruby/pathname] Use `File.path` for conversion to path name
- This method has been defined since 1.9, as the standard conversion
procedure.
https://github.com/ruby/pathname/commit/8f582dc65d -
03:44 PM Revision 7319db44 (git): [ruby/pathname] Define `to_path` alias directly
- The constant `TO_PATH` was defined for 1.9 compatibility but the code
for it was dropped 10 years ago.
https://github.com/ruby/pathname/commit/95ad4ceb19 -
03:38 PM Revision 240afe50 (git): Suppress noisy outputs
- Fix up ruby/ruby#14700.
-
03:15 PM Revision e7f9abdc (git): Sync doc/stringio in sync_default_gems.rb
- 11:11 AM Revision 0346206d (git): [ruby/prism] Avoid out-of-bounds reads
- Fixes https://github.com/ruby/prism/pull/3790.
https://github.com/ruby/prism/commit/173ccb84ad -
10:32 AM Revision f4f5f0a0 (git): Add error case tests for `File.path`
- - for non-String argument
- for NUL-contained argument
- for ASCII-incompatible argument -
10:11 AM Revision aae85926 (git): [ruby/timeout] Test that Timeout does not expose extra constants
- https://github.com/ruby/timeout/commit/4de4b4759c
- 08:44 AM Revision 42f5654b (git): Yield to scheduler if interrupts are pending. (#14700)
- 07:35 AM Revision 180020e1 (git): Fix `io_pwrite` fiber scheduler hook. (#15428)
- Fix io_pwrite fiber scheduler hook.
-
07:00 AM Revision 7259c18c (git): [DOC] Update NEWS about ZJIT (#15426)
-
05:39 AM Revision d490247d (git): [DOC] Link global variables to command line options
-
03:08 AM Revision 21f9a647 (git): [ruby/stringio] [DOC] Class doc for StringIO
- (https://github.com/ruby/stringio/pull/178)
https://github.com/ruby/stringio/commit/6449251678 -
03:05 AM Revision bd64cf00 (git): [DOC] Tweaks for String#capitalize
-
03:05 AM Revision 2491a504 (git): [DOC] Tweaks for String#downcase
-
03:04 AM Revision e5e4175d (git): [DOC] Tweaks for String#upcase
-
03:04 AM Revision da2c6738 (git): [DOC] Tweaks for String#swapcase
-
03:03 AM Revision bbef73b2 (git): [DOC] Better multibyte-character data
-
03:02 AM Revision 734dab5e (git): [ruby/stringio] [DOC] Link to on-page section, not class File doc
- https://github.com/ruby/stringio/commit/dc93aa51d2
- 02:55 AM Revision a7dc53b9 (git): Add support for `u128`, `U128`, `s128` and `S128` integers to `IO::Buffer`. (#15399)
12/05/2025
-
11:40 PM Revision 8f983847 (git): Fix fields object in embedded struct
- We don't set RSTRUCT_GEN_FIELDS when RCLASS_MAX_IV_COUNT(klass) != 0, so
we need to set RSTRUCT_SET_FIELDS_OBJ to 0 otherwise it may have an
invalid value and crash. -
11:40 PM Revision 791acc56 (git): Revert "gc.c: Pass shape_id to `newobj_init`"
- This reverts commit 228d13f6ed914d1e7f6bd2416e3f5be8283be865.
This commit makes default.c and mmtk.c depend on shape.h, which prevents
them from building independently. -
10:09 PM Revision 65995c22 (git): [ruby/timeout] Exclude constantly-failing test on x86_64-darwin
- * https://github.com/ruby/ruby-dev-builder/actions/runs/19973218359/job/57293388626
https://github.com/ruby/timeout/commit/45816b1b26 -
10:00 PM Revision c4c909b5 (git): ZJIT: Include local variable names in `Get|SetLocal` insn's print value (#15423)
- ZJIT: Print local variable names GetLocal and SetLocal instructions
-
08:49 PM Revision d396a66a (git): ZJIT: Build by default when build environment allows
- "Default" means when `--enable-zjit` is absent from `./configure`
arguments. -
08:49 PM Revision f559a910 (git): ZJIT: configure.ac: Look for GNU make when detecting build environment
- Building ZJIT requires GNU make at the moment.
To get access to `$gnumake`, lift the `make` flavour detection up to the
environment section, before the JIT section runs. -
08:49 PM Revision ffe99a56 (git): ZJIT: configure.ac logic to detect suitable build environment
- This runs the detection, but does nothing with the result.
* Fixed version requirement in messages -- ZJIT requires >= 1.85 unlike
YJIT.
* New: Detect when rust 1.85 is available, and neither --enable-yjit nor
--enable-zjit is pas... -
08:49 PM Revision 9a271001 (git): YJIT: Fix unused_unsafe warning in `StatsAlloc`
-
08:49 PM Revision dce716e2 (git): ZJIT: Update `depend` for zjit.o
-
08:49 PM Revision addeafdd (git): YJIT: Fix duplicate make rule warning in combo build
-
08:49 PM Revision 8296524f (git): ZJIT: Fix duplicate make rule warning in combo build
- ~/zjit/zjit.mk:30: warning: overriding commands for target `~/build-default/'
~/yjit/yjit.mk:26: warning: ignoring old commands for target `~/build-default/'
~/zjit/zjit.mk:30: warning: overriding commands for target `~/build-def... -
08:49 PM Revision 2bc9b5a8 (git): tool/update-deps: Skip ZJIT and YJIT+ZJIT build objects
-
08:49 PM Revision fb72ff7b (git): CI: Avoid building ZJIT when LLVM is too old
-
08:49 PM Revision 109ddd29 (git): ZJIT: Avoid binding to `rb_iseq_constant_body`
- Its definition changes depending on e.g. whether there is YJIT in the
build. -
08:49 PM Revision 8132b3d1 (git): YJIT: Fix including stats for ZJIT instructions when ZJIT not in build
-
08:49 PM Revision f01fd2bd (git): JITs: Update bindings to include interpreter zjit_ opcodes
- Mostly YJIT. ZJIT already has the right bindings and this just tweaks
the CI configuration. -
08:49 PM Revision 02ca507a (git): JITs: rb_iseq_opcode_at_pc(): Accommodate switch-case interpreter
-
08:49 PM Revision 7ecd369a (git): ZJIT: Account for when YJIT is on by default in test_zjit_enable
-
08:49 PM Revision 3269ae1b (git): ZJIT: Fix -Wpedantic warning in C99 mode when built with YJIT
- > insns.def:857:5: error: assigning to 'rb_zjit_func_t' (aka 'unsigned
> ...
> [-Werror,-Wpedantic] -
08:49 PM Revision ee792328 (git): ZJIT: Skip GC.auto_compact test when unsupported
-
08:35 PM Revision 786f6739 (git): [ruby/prism] Correct constant pool bucket type logic
- When replacing an owned constant by a different type (constant or
shared) replace with the correct type instead of defaulting to
shared.
https://github.com/ruby/prism/commit/fbe9b131a1 - 08:21 PM Revision be12e198 (git): [ruby/prism] Avoid undefined int overflow behaviour
- Fixes https://github.com/ruby/prism/pull/3786.
https://github.com/ruby/prism/commit/b72b664675 - 08:20 PM Revision 834adc35 (git): [ruby/prism] Avoid out-of-bounds reads
- Fixes https://github.com/ruby/prism/pull/3784.
https://github.com/ruby/prism/commit/3fe862534b -
07:50 PM Feature #20750 (Closed): Allow rb_thread_call_with_gvl to work when thread already has GVL
- Applied in changeset commit:git|2b057859414d1ccfa4d88a898d27defc8c74dc1c.
----------
Allow rb_thread_call_with_gvl() to work when thread already has GVL
[Feature #20750]
Co-authored-by: Benoit Daloze <eregontp@gmail.com> -
07:50 PM Revision 2b057859 (git): Allow rb_thread_call_with_gvl() to work when thread already has GVL
- [Feature #20750]
Co-authored-by: Benoit Daloze <eregontp@gmail.com> -
06:40 PM Revision 8c4f79d5 (git): [ruby/openssl] x509cert: handle invalid validity periods in Certificate#inspect
- In a newly allocated OpenSSL X509 object, the notBefore and notAfter
fields contain an ASN1_STRING object with type V_ASN1_UNDEF rather than
an ASN1_TIME.
Commit https://github.com/ruby/openssl/commit/73484f67949a made asn1time_to_time(... -
06:32 PM Revision 00b91c72 (git): [ruby/timeout] Simplify logic to make GET_TIME shareable
- https://github.com/ruby/timeout/commit/281b2507e7
-
06:32 PM Revision 3e189ddb (git): [ruby/timeout] Fix logic for Ractor support
- * Fix indentation to stay a multiple of 2 spaces.
https://github.com/ruby/timeout/commit/a1d784cb66 -
06:32 PM Revision dc406af9 (git): [ruby/timeout] Fix condition and fix test to catch that broken condition
- https://github.com/ruby/timeout/commit/82fb6f6925
-
06:32 PM Revision a523e9d8 (git): [ruby/timeout] Minor tweaks
- https://github.com/ruby/timeout/commit/daab9a2193
-
06:32 PM Revision ec28bd75 (git): [ruby/timeout] support Ractor
- 1. Introduce State to store all status.
2. Store State instance to the Ractor local storage if possible
3. Make `GET_TIME` (Method object) shareable if possible
3 is supporeted Ruby 4.0 and later, so the Rator support is works
only on R... -
05:14 PM Revision 65dbd571 (git): [ruby/psych] Use Node#to_ruby parse_symbols option
- https://github.com/ruby/psych/commit/907fd4fa97
-
02:21 PM Revision 930afa1c (git): Never shrink bignum on realloc
- As far as I can tell, this only ever shrinks by one, and it's really not
worth the expensive realloc for that. -
02:21 PM Revision b0c9286d (git): Use VWA for bignum
- Previously we only allocated bignums from the 40 byte sizepool, and
embedded bignum used a fixed size. -
01:59 PM Feature #12928: Use socket conect_timeout in net stdlib for open_timeout
- For the record: net/http now uses `TCPSocket.open(open_timeout:)` in place of `Timeout.timeout`.
https://github.com/ruby/net-http/pull/224 -
01:48 PM Feature #21552: allow String.strip and similar to take a parameter similar to String.delete
- Thank you, shugo.
"someone" he says is me. My use case is here.
I want to extract chunks from a file and pass them to a neural network model to detect the file type. The model requires two chunks: the `lstrip`ped beggining portion and ... -
08:36 AM Feature #21552: allow String.strip and similar to take a parameter similar to String.delete
- I'm not strongly opposed, but this kind of API that use a string to represent a collection of characters feel outdated. It is sometimes convenient, though.
-
02:26 AM Feature #21552: allow String.strip and similar to take a parameter similar to String.delete
- shugo (Shugo Maeda) wrote in #note-4:
> Unlike String#delete, the current implementation doesn't take multiple arguments.
> ...
I've noticed that String#count also take multiple selectors, so I've applied the same changes to String#str... -
01:46 PM Bug #21669: Thoroughly implement void value expression check
- Earlopain (Earlopain _) wrote in #note-6:
> I have an implementation in https://github.com/ruby/prism/pull/3728 (maybe needs more tests)
It doesn't reject the following cases.
```ruby
x = begin
return
"NG"
end
# Expected:... -
01:13 PM Bug #21669: Thoroughly implement void value expression check
- Earlopain (Earlopain _) wrote in #note-6:
> I have an implementation in [https://github.com/ruby/prism/pull/3728](https://github.com/ruby/prism/pull/3728) (maybe needs more tests)
Great, thanks!
> ...
Agreed. I think the evaluatio... -
11:08 AM Bug #21669: Thoroughly implement void value expression check
- Sorry, I've missed this issue.
It is done to fix parse.y for 1 and 2.
I think 1 is OK, and probably no problem in practice.
But 2 is intentionally passed, IIRC, and bootraptest has such code.
```ruby
#1526 test_syntax.rb:572:
... - 12:34 PM Revision ea415e96 (git): [ruby/net-http] open: Never call Timeout.timeout in rescue clause
- The try-open_timeout-then-fallback-to-timeout introduced in
https://github.com/ruby/net-http/commit/1903cedd8cd0 works well, but when it errors
due to any reason in Rubies which do not support `open_timeout`, it
spits the rescued Argumen... -
12:24 PM Revision f179885d (git): [ruby/openssl] asn1: use ASN1_TIME_to_tm() to decode UTCTime and GeneralizedTime
- The current logic relies on sscanf() and error checks are almost
entirely missing. It also assumes that ASN1_STRING contents are NUL
terminated, which is undocumented and not guaranteed for all valid
ASN1_TIME objects.
Switch to using A... -
12:24 PM Revision bf2b9c09 (git): [ruby/openssl] asn1: reorder declarations
- Move variable declarations for OpenSSL::ASN1 classes to the top of the
file. asn1time_to_time() will need eASN1Error in the next patch.
https://github.com/ruby/openssl/commit/6c0ef87897 -
11:35 AM Revision 95ea3bd5 (git): [ruby/timeout] Only the timeout method should be public on the Timeout module
- https://github.com/ruby/timeout/commit/cd51eac3ca
-
08:01 AM Misc #21689: DevMeeting-2025-12-11
- * [Bug #21049] Reconsider handling of the numbered parameters and "it" parameter in `Binding#local_variables` (mame)
* An API like `Binding#numbered_parameter_get` was actually requested. I'd like to discuss how to proceed. -
07:57 AM Bug #21298 (Closed): `ObjectSpace.allocation_class_path` returns inconsistent results depending on `TracePoint` state
- https://github.com/ruby/ruby/pull/13232 had been already merged. Thanks!
-
07:47 AM Revision 1cad20e2 (git): [DOC] Describe `$F`
- This variation is used when `-a` option is given.
-
07:31 AM Revision 1e7373ef (git): [DOC] Describe the global variables set by command line options
- These variables are set by command line options, but it is deprecated
to assign them any value other than nil in ruby code. -
07:17 AM Feature #19430 (Rejected): Contribution wanted: DNS lookup by c-ares library
- Since c-ares has a compatibility issue on macOS, a full migration to it seems difficult. And DNS lookup is now interruptible by explicitly using pthread. Therefore, this is closed as not planned.
-
07:14 AM Revision b35aff58 (git): [DOC] Centerize Variable, English, and Constant columns
-
06:31 AM Revision 479185da (git): Add Set C API to news
- Also, don't use backticks around Set in the top level of the
Core classes updates section, as other classes/modules do not use
that format. -
05:20 AM Revision 5f6b31c2 (git): Correctly handle `Process.fork` with an active `Fiber.scheduler`. (#15385)
- In the child process, nullify the current fiber scheduler and set the current fiber to blocking.
-
05:16 AM Revision e822209d (git): Update NEWS.md for Ruby 4.0.0 (#15369)
- I extracted the relevant descriptions from the draft NEWS.md that
hsbt-san had Gemini generate by analyzing `git log`.
Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
Co-autho... -
02:00 AM Revision d3a9a17b (git): Skip Windows runner group warning under ruby/ruby repo
-
01:45 AM Revision 02cddcc2 (git): Ractor.shareable_proc(&pr) should copy pr
- `pr` should not change on this method.