General

Profile

Eregon (Benoit Daloze)

  • Login: Eregon
  • Registered on: 07/30/2009
  • Last sign in: 07/30/2026

Issues

open closed Total
Assigned issues 2 67 69
Reported issues 33 200 233

Projects

Project Roles Registered on
Ruby Committer 08/02/2012

Activity

07/31/2026

02:43 PM Ruby Misc #22221: DevMeeting-2026-08-06
* [Bug #22197] Backtraces show methods which do not exist (eregon)
* As the title says, backtraces sometimes list methods which do not exist, because of mixing definition name with run-time owner (`Method#owner`).
* Since we print fi...
Eregon (Benoit Daloze)
02:42 PM Ruby Misc #22221: DevMeeting-2026-08-06
* [Feature #22212] Add Thread::Backtrace::Location#source_range (eregon)
* Proposes a portable API returning a `Ruby::SourceRange` for an exception's `backtrace_locations` or for `caller_locations`.
* This gives tools stable start/...
Eregon (Benoit Daloze)
02:01 PM Ruby Feature #22222: Expose a C API equivalent of `RubyVM::InstructionSequence.load_from_binary`
I guess one concrete issue here with using `rb_str_new_static()` is the mmaped file/stack buffer will be freed soon after the `RubyVM::InstructionSequence.load_from_binary(String)` call, but that String object might live longer, there is... Eregon (Benoit Daloze)

07/30/2026

10:29 PM Ruby Bug #22216: Regexp backref and IO lastline are incompatible with Ractor
> in each Proc or binding
A small precision here which might be helpful is svars are only stored on method frames, never on block frames. So it's per method frame and Proc are unaffected (they just access the encapsulating method fram...
Eregon (Benoit Daloze)
09:21 PM Ruby Bug #22216: Regexp backref and IO lastline are incompatible with Ractor
To give a bit more details, TruffleRuby then always reserves one slot in the frame for svar's, and lazily allocate the storage for them on first access:
https://github.com/truffleruby/truffleruby/blob/33598a0447c4cd0b56eb56b80e81b094ea5...
Eregon (Benoit Daloze)
09:16 PM Ruby Bug #22216: Regexp backref and IO lastline are incompatible with Ractor
TruffleRuby already make these always thread-local, and there has been 0 compatibility issue reported about that.
It's basically option (1) mentioned by @ko1, i.e. a dictionary/ThreadLocal object on the frame, but with the optimization ...
Eregon (Benoit Daloze)

07/29/2026

11:03 PM Ruby Feature #22212: Add Thread::Backtrace::Location#source_range
ko1 (Koichi Sasada) wrote in #note-14:
> Just to confirm: the PR's implementation of `Thread::Backtrace::Location#source_range` seems fragile because it reparses the script from the file system.
> ...
Yes, this is intentional to avoid ...
Eregon (Benoit Daloze)

07/25/2026

08:51 PM Ruby Feature #22205: Deprecate ruby2_keywords
Ah one more thing I wanted to mention is it might still be possible to support Ruby 2.7 in gems without `ruby2_keywords` by using `def foo(...); bar(...); end` which was introduced in Ruby 2.7.2 (although that does not cover all delegati... Eregon (Benoit Daloze)
08:48 PM Ruby Feature #22205: Deprecate ruby2_keywords
Big +1 from me, and agreed it's definitely worth deprecating them but also there is no immediate need so the proposed schedule sounds good to me.
The main thing I'm interested to remove is the special dispatch on `foo(*args)` when `ar...
Eregon (Benoit Daloze)
08:16 PM Ruby Feature #22212: Add Thread::Backtrace::Location#source_range
Because that reply is long I'll also make a concise reply regarding use cases:
This API is useful to any tool or gem that needs to locate or extract the source code associated with an exception's `backtrace_locations` (or `caller_loca...
Eregon (Benoit Daloze)

Also available in: Atom