Project

General

Profile

Activity

From 02/19/2023 to 02/25/2023

02/25/2023

05:54 PM Feature #19377: Rename Fiber#storage to Fiber.storage
@Eregon My argument was not about `#storage` taken alone, but about `#storage` vs `::[]` inconsistency. The inconsistency can be fixed either way (e.g. if "it may evolve", then why don't we do `Fiber.current['name']` from the very beginn... zverok (Victor Shepelev)
05:50 PM Feature #19458: Expose HEREDOC identifier
I came to the same idea as this ticket independently in a [half-joke discussion](https://bugs.ruby-lang.org/issues/19015#note-5), and I find it tempting, too. Even planned to submit my own proposal once I'll have it clearly formed in my ... zverok (Victor Shepelev)
04:50 PM Revision 672b81b0 (git): [ruby/irb] Remove unused Struct
(https://github.com/ruby/irb/pull/522)
https://github.com/ruby/irb/commit/97dae166ae
ima1zumi (Mari Imaizumi)
12:53 PM Bug #18572: Performance regression when invoking refined methods
palkan (Vladimir Dementyev) wrote in #note-4:
> As far as I understand, this line is responsible for "the 13 seconds" boot time overhead: https://github.com/ruby/ruby/blob/master/eval.c#L1342 (I was able to achieve similar results by ad...
Eregon (Benoit Daloze)
12:41 PM Feature #19450: Is there an official way to set a class name without setting a constant?
ioquatix (Samuel Williams) wrote in #note-18:
> > One requirement for that is the given name should not be a valid constant name then (not start with a uppercase letter).
> ...
It's a requirement for humans to always be able to tell th...
Eregon (Benoit Daloze)
12:07 PM Feature #19450: Is there an official way to set a class name without setting a constant?
I wondered about whether your point of class name consistent was valid, but I found cases like this:
```
irb(main):005:0> k = Class.new
=> #<Class:0x000000010488b9b8>
irb(main):006:0> K = k
=> K
irb(main):007:0> k.name
=> "K"
i...
ioquatix (Samuel Williams)
12:02 PM Feature #19450: Is there an official way to set a class name without setting a constant?
Here are some of the places in my own code I'd like to use such a feature:
- https://github.com/ioquatix/bake/blob/a571f0c47cc202a4b46a836b87b7383d84f74fa0/lib/bake/scope.rb#L30 - "Scope<path/to/file.rb>"
- https://github.com/ioquatix/...
ioquatix (Samuel Williams)
11:50 AM Feature #19450: Is there an official way to set a class name without setting a constant?
ioquatix (Samuel Williams) wrote in #note-16:
> It's already the case that `Module#name` can return a string which is not how you access that module (or class). Rails already does that for ActiveRecord models. Anyone can override that m...
Eregon (Benoit Daloze)
11:34 AM Feature #19450: Is there an official way to set a class name without setting a constant?
> The fundamental thing here is Module#name must return a String which is how to access that module, unless some part is anonymous and then of course it cannot be accessed via a constant path.
> ...
It's already the case that `Module#na...
ioquatix (Samuel Williams)
11:28 AM Feature #19450: Is there an official way to set a class name without setting a constant?
> I'm also pretty sure assigning to a constant is incompatible with Ractor in some cases..
No, modules and classes are always shared between Ractors. Assigning to a constant needs to be in the main Ractor but so does loading any code ...
Eregon (Benoit Daloze)
11:22 AM Feature #19450: Is there an official way to set a class name without setting a constant?
ioquatix (Samuel Williams) wrote in #note-13:
> An example of this is web frameworks which load files into anonymous modules, those modules can be named by path or mounted location in the web application.
Which web framework? Who wan...
Eregon (Benoit Daloze)
11:12 AM Feature #19450: Is there an official way to set a class name without setting a constant?
The use case is explained in https://bugs.ruby-lang.org/issues/19450#note-6 - to make it more descriptive when class names are printed which have anonymous ancestors. An example of this is web frameworks which load files into anonymous m... ioquatix (Samuel Williams)
11:09 AM Feature #19450: Is there an official way to set a class name without setting a constant?
What is the use-case here?
To name otherwise-anonymous test classes/modules?
Why not simply assigning them to a real constant, so their `name` is truthful and not a lie?
Having a filename in Module#name like in https://bugs.ruby-lan...
Eregon (Benoit Daloze)
10:04 AM Revision d0031db9 (git): Prefer RB_NUM2LONG for string length. (#7379)
Samuel Williams
09:34 AM Bug #19467 (Assigned): Some linear_time regexp does not match in linear time
hsbt (Hiroshi SHIBATA)
05:24 AM Bug #19467 (Closed): Some linear_time regexp does not match in linear time
`Regexp.linear_time?(/\A.*a.*x\z/) #=> true` but it does not match in linear time
~~~ruby
Regexp.linear_time? /\A(.*a.*)x\z/ #=> true
/\A(.*a.*)x\z/ =~ 'a'*100000+'y' #=> nil, processing time: 0.016995s
Regexp.linear_time? /\A.*a...
tompng (tomoya ishida)
09:04 AM Feature #19465: [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
Seems fine.👍 nobu (Nobuyoshi Nakada)
01:48 AM Feature #19465 (Assigned): [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
```
When loading Ruby source files, we can save the result of
successful opens as open(2)/openat(2) are a fairly expensive
syscalls. This also avoids a time-of-check-to-time-of-use
(TOCTTOU) problem.
This reduces open(2) syscalls...
normalperson (Eric Wong)
08:38 AM Revision d3ee9e59 (git): [ruby/stringio] Remove (newly unneeded) remarks about aliases
https://github.com/ruby/stringio/commit/60bb320477 burdettelamar (Burdette Lamar)
06:27 AM Revision f94e83fa (git): Assigning `nil` to fiber storage deletes the association. (#7378)
Also avoid allocations when looking up `Fiber#storage` if not needed. Samuel Williams
05:40 AM Revision 57bc3f2f (git): Add `IO::Buffer.string` for efficient string creation. (#7364)
Samuel Williams
04:25 AM Bug #19461 (Closed): Time.local performance tanks in forked process (on macOS only?)
I don't think we can do anything about this, so closing. ioquatix (Samuel Williams)
04:16 AM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
I've submitted a bug report to Apple:
![](clipboard-202302251716-rh6ma.png)
ioquatix (Samuel Williams)
03:14 AM Feature #19466 (Closed): Class.new takes a block, why doesn't Module.new take a block?
Okay, I confirmed it's working by my own hand, haha. I must work too hard this week, my brain is not functioning correctly.
I updated the PR to take advantage of that. In fact, it was right in front of me the whole time.
https://github...
ioquatix (Samuel Williams)
03:08 AM Feature #19466: Class.new takes a block, why doesn't Module.new take a block?
Ahh, I tried this but I must have made a mistake. So why does `EnvUtil` not use this? Maybe it's legacy? ioquatix (Samuel Williams)
02:58 AM Feature #19466: Class.new takes a block, why doesn't Module.new take a block?
It does.
```ruby
A = Module.new do
def foo; "foo" end
end
class B; include A end
B.new.foo # => "foo"
```
Cf. https://ruby-doc.org/3.2.1/Module.html#method-c-new
sawa (Tsuyoshi Sawada)
02:37 AM Feature #19466 (Closed): Class.new takes a block, why doesn't Module.new take a block?
```ruby
Class.new do
#... equivalent to class_eval
end
```
So, why don't we introduce:
```ruby
Module.new do
#... equivalent to class_eval
end
```
ioquatix (Samuel Williams)
03:02 AM Misc #19429: DevMeeting-2023-03-09
- [Feature #19450] Is there an official way to set a class name without setting a constant?
- Do we accept `Class.new(superclass, name)` and `Module.new(name)` syntax?
- [Feature #19451] Extract path and line number from `SyntaxError`?...
ioquatix (Samuel Williams)
02:55 AM Feature #19440: Deprecate ThreadGroup
I don't think I have ever seen `ThreadGroup` used in practice, nor do I personally know why I'd want to use it. Therefore, I'd be okay with deprecating it. ioquatix (Samuel Williams)

02/24/2023

11:59 PM Bug #19464 (Closed): YJIT miscompiles `BasicObject#__send__` to alias methods of `send`
Symptoms first experienced and [reported] by users of the `kt-paperclip` gem.
Reproducer:
```ruby
klass = Class.new do
class << self
alias_method :my_send, :send
def bar = :ok
def foo = bar
end
end
with_...
alanwu (Alan Wu)
10:52 PM Feature #19450: Is there an official way to set a class name without setting a constant?
What do you all think of https://github.com/ruby/ruby/pull/7376 ?? ioquatix (Samuel Williams)
05:32 PM Feature #19450: Is there an official way to set a class name without setting a constant?
matheusrich (Matheus Richard) wrote in #note-9:
> Semi-related (maybe it should be a separate issue?) but assigning a class to a constant via rightward assignment results in `NameError`
> ...
Not a bug. "Rightward assignment" is not a...
jeremyevans0 (Jeremy Evans)
05:14 PM Feature #19450: Is there an official way to set a class name without setting a constant?
Semi-related (maybe it should be a separate issue?) but assigning a class to a constant via rightward assignment results in `NameError`
``` ruby
Class.new => Klass
# uninitialized constant Klass (NameError)
```
matheusrich (Matheus Richard)
10:23 PM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
Wow, it's like 300x slower.
According to the stack overflow discussion, some how this does not affect Python, so maybe it's something about the function we are using in the C standard library. 100% agree it's Darwin's problem but indire...
ioquatix (Samuel Williams)
02:52 PM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
Rewritten.
```
$ clang localtime_test.c && ./a.out
Measuring in parent
localtime_r = 0.002384000
localtime = 0.001939000
Measuring in child
localtime_r = 0.576143000
localtime = 0.591077000
```
nobu (Nobuyoshi Nakada)
02:34 PM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
Seems unrelated to Ruby.
```
$ sw_vers
ProductName: macOS
ProductVersion: 13.2.1
BuildVersion: 22D68
$ clang localtime_test.c && ./a.out && ./a.out r
Measuring localtime
In parent
monotonic = 0.002226000
cputime = 0...
nobu (Nobuyoshi Nakada)
04:04 AM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
Thanks, that's quite an epic Q/A. ioquatix (Samuel Williams)
03:42 AM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
In Dec 2016, someone investigated a related question and posted here:
https://stackoverflow.com/questions/41353532/41371753#41371753
This person's findings may be helpful.
PvpDJgHP (William Thomas NELSON)
09:25 PM Feature #19453 (Closed): Move `Fiber.current` into core.
Awesome, thanks for the details! ioquatix (Samuel Williams)
05:38 PM Feature #19453: Move `Fiber.current` into core.
This seems already the case for 3.1 and 3.2:
```
$ ruby -v --disable-gems -e 'puts $"; p Fiber.current'
ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]
enumerator.so
thread.rb
fiber.so
rational.so
complex.so
ruby2...
Eregon (Benoit Daloze)
09:19 PM Bug #19463 (Closed): YJIT `[BUG] Stack consistency error` under certain invalidation scenarios
Applied in changeset commit:git|132934b82baad97107fe754d60f9a68a1db7ecda.
----------
YJIT: Generate Block::entry_exit with block entry PC
Previously, when Block::entry_exit is requested from any instruction
that is not the first one in...
alanwu (Alan Wu)
08:10 PM Bug #19463 (Closed): YJIT `[BUG] Stack consistency error` under certain invalidation scenarios
> test.rb:19: [BUG] Stack consistency error (sp: 15, bp: 16)
With the following:
```ruby
klass = Class.new do
def self.lookup(hash, key) = hash[key]
def self.foo(a, b) = []

def self.test(hash, key)
[lookup(hash...
alanwu (Alan Wu)
09:18 PM Revision 132934b8 (git): YJIT: Generate Block::entry_exit with block entry PC
Previously, when Block::entry_exit is requested from any instruction
that is not the first one in the block, we generated the exit with an
incorrect PC. We should always be using the PC for the entry of the
block for Block::entry_exit.
...
alanwu (Alan Wu)
09:15 PM Bug #18572: Performance regression when invoking refined methods
Eregon (Benoit Daloze) wrote in #note-3:
> Interesting, maybe this is partly the cause for the `13 seconds` mentioned in https://shopify.engineering/the-case-against-monkey-patching.
As far as I understand, this line is responsible f...
palkan (Vladimir Dementyev)
07:30 PM Bug #18572: Performance regression when invoking refined methods
Interesting, maybe this is partly the cause for the `13 seconds` mentioned in https://shopify.engineering/the-case-against-monkey-patching.
Maybe we should deprecate refinements: my main concern about them is it's a ton of complexity ...
Eregon (Benoit Daloze)
05:31 PM Bug #18572: Performance regression when invoking refined methods
Checked Ruby 3.2—better than Ruby 3.1 but still noticeable:
```sh
Comparison:
#symbolize_keys original: 4362026.0 i/s
#symbolize_keys refined: 3999755.6 i/s - 1.09x slower

Comparison:
no-op original: 80...
palkan (Vladimir Dementyev)
09:11 PM Bug #19456 (Closed): Incorrect line numbers in GC hook
Applied in changeset commit:git|3e098224077e8c43a1d8c2070b26ffdfda422780.
----------
Fix incorrect line numbers in GC hook
If the previous instruction is not a leaf instruction, then the PC was
incremented before the instruction was ra...
peterzhu2118 (Peter Zhu)
09:10 PM Revision fa1eb31f (git): [ci skip] Add note in gc.c about ambiguous case
peterzhu2118 (Peter Zhu)
07:10 PM Revision 3e098224 (git): Fix incorrect line numbers in GC hook
If the previous instruction is not a leaf instruction, then the PC was
incremented before the instruction was ran (meaning the currently
executing instruction is actually the previous instruction), so we
should not increment the PC other...
peterzhu2118 (Peter Zhu)
07:10 PM Revision d2631c42 (git): Fix RubyVM::CExpr#inspect
@__LINE__ can be nil which causes the inspect method to fail. peterzhu2118 (Peter Zhu)
07:09 PM Revision 05f016cd (git): [ruby/net-http] [DOC] Enhanced RDoc for Net::HTTP
(https://github.com/ruby/net-http/pull/126)
https://github.com/ruby/net-http/commit/4700d0660b
burdettelamar (Burdette Lamar)
05:25 PM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
I also reproduced the `SIGSEGV` from the original bug using a build with debug symbols:
```
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x8)
* frame #0: 0x00000001002444b4 ruby`ruby_...
benhamilton (Ben Hamilton)
02:03 PM Revision f471f461 (git): YJIT: Use enum for expressing type diff (#7370)
k0kubun (Takashi Kokubun)
02:01 PM Revision d8d152e6 (git): YJIT: Compress TempMapping (#7368)
k0kubun (Takashi Kokubun)
01:34 PM Revision 07403de5 (git): [ruby/irb] Cleanup completion tests
(https://github.com/ruby/irb/pull/520)
* Remove redundant completion test
The test case was introduced to guard an old implementation, which relied
on `Module#name`. Commit:
https://github.com/ruby/irb/commit/8827d182746396dbf4499c2c1...
st0012 (Stan Lo)
11:48 AM Revision 5d5ff6e5 (git): [ruby/set] Set#merge does not take keyword arguments as a Hash
https://github.com/ruby/set/commit/ca1c9532a9 Akinori MUSHA
11:48 AM Revision 454ac4cb (git): [ruby/set] Set#merge takes many enumerable objects like Hash#merge! does
https://github.com/ruby/set/commit/becaca994d Akinori MUSHA
10:44 AM Revision aff41a36 (git): Add information about runirb in make help
kaiquekandykoga (Kaíque Koga)
02:22 AM Bug #19378: Windows: Use less syscalls for faster require of big gems
joshc (Josh C) wrote in #note-3:
> I've attached a revert patch.
I think the only way we would revert commit:79a4484a072e9769b603e7b4fbdb15b1d7eccb15 is if someone can come up with an alternative approach to fixing Bug #17885.
> ...
jeremyevans0 (Jeremy Evans)
01:43 AM Bug #19378: Windows: Use less syscalls for faster require of big gems
I've also noticed a significant increase in file IO events (as reported by procmon) due to https://github.com/ruby/ruby/commit/79a4484a072e9769b603e7b4fbdb15b1d7eccb15 introduced in Ruby 3.1.0. The code tries to prevent the same file fro... joshc (Josh C)
01:22 AM Feature #19443: Cache `Process.pid`
"ko1 (Koichi Sasada) via ruby-core" <ruby-core@ml.ruby-lang.org> wrote:
> As I understand `getpid()` system call is well tuned so I surprised that there is an impact on the app.

It's not whether or not a system call is expensive or ...
Anonymous
12:14 AM Bug #19462 (Assigned): MJIT not enabled with universal macOS x86_64 + arm64 build
k0kubun (Takashi Kokubun)

02/23/2023

10:13 PM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
Sent PR https://github.com/ruby/ruby/pull/7367 with a fix.
benhamilton (Ben Hamilton)
09:13 PM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
I think I know what the problem is.
During the build, Ruby has special logic to serialize its own `builtin` module to disk using the binary `iseq` format during the build (I assume for speed so it doesn't have to parse `builtin` every t...
benhamilton (Ben Hamilton)
09:31 PM Bug #13831: error when try to install
We've been carrying a patch for this issue for many years now and I submitted a PR: https://github.com/ruby/ruby/pull/7366 It affects ruby 3.2.1 through 1.9.3. joshc (Josh C)
09:05 PM Bug #19462 (Closed): MJIT not enabled with universal macOS x86_64 + arm64 build
I'm trying to build a universal macOS x86_64 + arm64 ruby from upstream @ ae9e1aee59b0db1e61aa0473556165f9fd719cde on x86_64 macOS Ventura 13.2, Xcode 14.2, Apple clang version 14.0.0 (clang-1400.0.29.202).
When I run `autoconf && ./c...
benhamilton (Ben Hamilton)
08:11 PM Bug #19460: Class not able to be garbage collected
Wow, interesting! Thanks for looking into it, I hadn't heard of harb before, pretty neat. luke-gru (Luke Gruber)
04:10 PM Bug #19460 (Closed): Class not able to be garbage collected
Closing as I don't think it's a bug per say, but happy to re-open if anyone thinks otherwise. byroot (Jean Boussier)
03:50 PM Bug #19460: Class not able to be garbage collected
I just had a look at this.
Modifying your script a bit to dump the heap:
```ruby
require 'objspace'
class A
def do_something
end
end
a = A.send(:new)
a_id = A.object_id
a = nil
Object.send(:remove_const, :A)
# A s...
byroot (Jean Boussier)
04:27 AM Bug #19460: Class not able to be garbage collected
I should also note I don't know if this is a bug or if this is simply not possible to do in Ruby. I know using `load` and `remove_const` (auto-reload feature of Rails, for example) is
possible but that's different.
luke-gru (Luke Gruber)
03:55 AM Bug #19460 (Closed): Class not able to be garbage collected
I'm working on something where I need to remove a class and release all memory related to that class.
I've stumbled upon a limitation where in some instances I cannot get the class to be GC'd. The problem
(I think) is that inline metho...
luke-gru (Luke Gruber)
08:05 PM Feature #18070: `attr` should be removed
There may be backwards compatibility considerations. Personally I never
use attr. I use the longer variants (attr_accessor, attr_writer and
attr_reader), but even these I use less often compared to older code.
I tend to put variables fo...
rubyFeedback (robert heiler)
08:02 PM Feature #18136: take_while_after
I think one big problem with the proposed name such as the three word one is that they
are somewhat rare and difficult to remember. In ruby we often have one word, or two words
for methods.
We may have some three words if I remember...
rubyFeedback (robert heiler)
07:53 PM Feature #17859: Start IRB when running just `ruby`
I don't have a strong opinion on the topic. I am fine either way.
Both seem to have a valid point of view, e. g. the "it is convenient"
approach where newcomers can just type "ruby" and it would enter
"interactive ruby", like "python" ...
rubyFeedback (robert heiler)
06:13 PM Revision 1fdaa066 (git): Fix a warning on typedef
../gc.c:13317:1: warning: ‘typedef’ is not at beginning of declaration [-Wold-style-declaration]
13317 | } typedef weakkeymap_entry_t;
| ^
k0kubun (Takashi Kokubun)
06:08 PM Revision b9f9440e (git): YJIT: Trivial fixes in codegen.rs
k0kubun (Takashi Kokubun)
06:03 PM Revision 5444dde7 (git): YJIT: Skip type checks on splat args and expandarray if possible (#7363)
YJIT: Skip type checks on splat args and expandarray
if possible
k0kubun (Takashi Kokubun)
05:12 PM Revision c3cd1910 (git): YJIT: Add `make yjit-smoke-test` [ci skip]
I have this as a shell command and Maxime told me that she finds it
useful, too. I tested this on a release build and a dev build.
Note I intentional didn't put `$(Q)` in front of everything so `make`
echos the command it runs.
alanwu (Alan Wu)
04:51 PM Revision 7c47c261 (git): [ruby/net-http] [DOC] Enhanced RDoc for Net::HTTP
(https://github.com/ruby/net-http/pull/125)
https://github.com/ruby/net-http/commit/2ea20380fc
burdettelamar (Burdette Lamar)
03:02 PM Feature #18498 (Closed): Introduce a public WeakKeysMap that compares by equality
Applied in changeset commit:git|2a5354e59324cb296a423c73ec15ff9191086964.
----------
Implement ObjectSpace::WeakKeyMap basic allocator
[Feature #18498]
byroot (Jean Boussier)
03:01 PM Revision 2a5354e5 (git): Implement ObjectSpace::WeakKeyMap basic allocator
[Feature #18498] byroot (Jean Boussier)
12:24 PM Bug #19455: Ruby 3.2: wrong Regexp encoding with non-ASCII comments
i don't have a problem with this myself and the matching behavior is not affected as far as i can tell.
notable behavioral differences are:
- `/#ü/x.source == '#ü'` used to be true but is now false
- this might break some tests ...
janosch-x (Janosch Müller)
04:18 AM Bug #19455: Ruby 3.2: wrong Regexp encoding with non-ASCII comments
@janosch-x Do you have any specific problem with this change? For example, a string that used to match no longer matches, or vice versa. mame (Yusuke Endoh)
11:23 AM Bug #19461 (Closed): Time.local performance tanks in forked process (on macOS only?)
The following program demonstrates a performance regression in forked child processes when invoking `Time.local`:
```ruby
require 'benchmark'
require 'time'
def sir_local_alot
result = Benchmark.measure do
10_000.times do...
ioquatix (Samuel Williams)
08:50 AM Revision 9406245d (git): [rubygems/rubygems] lint fix again
https://github.com/rubygems/rubygems/commit/118d28ad27 Mercedes Bernard
08:50 AM Revision 3d766122 (git): [rubygems/rubygems] lint fix
https://github.com/rubygems/rubygems/commit/de3b69f1a7 Mercedes Bernard
08:50 AM Revision 10a393c2 (git): [rubygems/rubygems] add safe_load_marshal for gem::version and gem::spec
https://github.com/rubygems/rubygems/commit/2ea2ead1b3 Mercedes Bernard
08:50 AM Revision e965133f (git): [rubygems/rubygems] test Bundler::Fetcher that error raised when attempting load unexpected class
https://github.com/rubygems/rubygems/commit/795e796a9e Mercedes Bernard
08:50 AM Revision 68995c21 (git): [rubygems/rubygems] test rubygems_integration that error raised when attempting load unexpected class
https://github.com/rubygems/rubygems/commit/9798718b3b Mercedes Bernard
08:50 AM Revision ffc20273 (git): [rubygems/rubygems] add test for private load_marshal method
https://github.com/rubygems/rubygems/commit/3a772125b8 Mercedes Bernard
08:50 AM Revision 583137fe (git): [rubygems/rubygems] make Bundler.load_marshal private
https://github.com/rubygems/rubygems/commit/4909d071d2 Mercedes Bernard
08:50 AM Revision d5994eb4 (git): [rubygems/rubygems] safe marshal gem specs when inflating
https://github.com/rubygems/rubygems/commit/5c5d0c5350 Mercedes Bernard
08:50 AM Revision 3d5ec840 (git): [rubygems/rubygems] safe marshal gem versions when fetching Marshal.specs.4.8.gz
https://github.com/rubygems/rubygems/commit/23880353c1 Mercedes Bernard
06:39 AM Bug #19189: Ruby 3.1.3/3.2.x can no longer find pkg-config if not present at buildtime
ruby_3_1 0602df301cd76a3f1b444c4742b288bc6aed80ac merged revision(s) 613fca01486e47dee9364a2fd86b5f5e77fe23c8. nagachika (Tomoyuki Chikanaga)
06:14 AM Revision 0602df30 (git): merge revision(s) 613fca01486e47dee9364a2fd86b5f5e77fe23c8: [Backport #19189]
[Bug #19189] Fallback to the default "pkg-config"
---
lib/mkmf.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
nagachika (Tomoyuki Chikanaga)
06:11 AM Bug #18629: block args array splatting assigns to higher scope _ var
ruby_3_1 536f5ba0d48c033e63398d1751aebd0a11bcc6ff merged revision(s) 3ddf6ad4d2f6dae4caa00b8c407768c7062099a0. nagachika (Tomoyuki Chikanaga)
06:11 AM Bug #18765: Wrong description introduced by https://github.com/ruby/ruby/pull/4938/files
ruby_3_1 9f072e9ae1bae2d76334c9e97a47280779768859 merged revision(s) 8038d5e40a079d60dfcf7cab1155528959760c28. nagachika (Tomoyuki Chikanaga)
06:10 AM Revision 9f072e9a (git): merge revision(s) 8038d5e40a079d60dfcf7cab1155528959760c28: [Backport #18765]
Revert flawed doc for slice_after, slice_when, and chunk_while
(#5952)
Restores doc for the methods that were cited in https://bugs.ruby-lang.org/issues/18765.
---
enum.c | 162 +++++++++++++++++++++++++...
nagachika (Tomoyuki Chikanaga)
05:40 AM Bug #19459 (Closed): Is `length` of `IO::Buffer#read` required or optional?
Applied in changeset commit:git|3b567eb491e460e00a66fdea8054eeb083b5dafd.
----------
[Bug #19459] Remove unnecessary always-true checks (#7362)
`length` is a required argument for `IO::Buffer#read` and
`IO::Buffer#write` methods, and `...
nobu (Nobuyoshi Nakada)
01:17 AM Bug #19459: Is `length` of `IO::Buffer#read` required or optional?
https://github.com/nobu/ruby/tree/io_buffer-unnecessary-checks
https://github.com/ruby/ruby/pull/7362
nobu (Nobuyoshi Nakada)
01:12 AM Bug #19459 (Closed): Is `length` of `IO::Buffer#read` required or optional?
io_buffer.c has warnings.
http://ci.rvm.jp/logfiles/brlog.trunk-asserts.20230222-105209#L956
```
/tmp/ruby/src/trunk-asserts/io_buffer.c: In function 'io_buffer_read':
/tmp/ruby/src/trunk-asserts/io_buffer.c:2468:12: warning: 'le...
nobu (Nobuyoshi Nakada)
05:40 AM Revision 3b567eb4 (git): [Bug #19459] Remove unnecessary always-true checks (#7362)
`length` is a required argument for `IO::Buffer#read` and
`IO::Buffer#write` methods, and `argc` is already checked with
`rb_check_arity`. Also fix the call-seq of `IO::Buffer#read`.
nobu (Nobuyoshi Nakada)
05:36 AM Revision 536f5ba0 (git): merge revision(s) 3ddf6ad4d2f6dae4caa00b8c407768c7062099a0: [Backport #18629]
Private local variables should shadow outer variables [Bug #18629]
---
parse.y | 3 ++-
test/ruby/test_parse.rb | 4 ++++
2 files changed, 6 insertions(+), 1 deletion(-)
nagachika (Tomoyuki Chikanaga)
03:48 AM Bug #19158: Ruby 3.1.3 installs wrong gemspec for debug gem
Merged the pull request for ruby_3_1 https://github.com/ruby/ruby/pull/7355. nagachika (Tomoyuki Chikanaga)
03:46 AM Revision d485a5dc (git): bump patchlevel
nagachika (Tomoyuki Chikanaga)
03:45 AM Revision 76c61c99 (git): Backport https://github.com/ruby/ruby/pull/7321
hsbt (Hiroshi SHIBATA)
03:43 AM Bug #19153: Since 2.7.7 CGI::Cookie raises ArgumentError when cookie domains is prefixed with a dot
Updated the bundled cgi to 0.3.6 on ruby_3_1 branch. nagachika (Tomoyuki Chikanaga)
03:42 AM Bug #19153: Since 2.7.7 CGI::Cookie raises ArgumentError when cookie domains is prefixed with a dot
ruby_3_1 4141989b2aef2993bb19140a4be355d1c68b8be1 merged revision(s) 656f25987cf2885104d5b13c8d3f5b7d32f1b333,98074a57ca9f3169fe9da9af6c49b636d37db16f,745dcf5326ea2c8e2047a3bddeb0fbb7e7d07649,b335d899fff3cc22b022c9ee2ceb636d714bf1a7. nagachika (Tomoyuki Chikanaga)
03:41 AM Revision 4141989b (git): merge revision(s) 656f25987cf2885104d5b13c8d3f5b7d32f1b333,98074a57ca9f3169fe9da9af6c49b636d37db16f,745dcf5326ea2c8e2047a3bddeb0fbb7e7d07649,b335d899fff3cc22b022c9ee2ceb636d714bf1a7: [Backport #19153]
[ruby/cgi] Fix test_cgi_cookie_new_with_domain to pass on older
rubies
https://github.com/ruby/cgi/commit/05f0c58048
---
test/cgi/test_cgi_cookie.rb | 8 ++++----
1 file changed, 4 insertions(+)...
nagachika (Tomoyuki Chikanaga)
02:25 AM Revision da0e6b99 (git): Move `dump_machine_register` definitions
nobu (Nobuyoshi Nakada)
01:01 AM Feature #19457: Some improvements to test-all suite
Interesting, patches are welcome. nobu (Nobuyoshi Nakada)
12:31 AM Feature #19458: Expose HEREDOC identifier
To my understanding, the reason you can freely choose the heredoc identifier is not to label the language of the content, but to allow any string to appear in it. In your example, if you had a line within your string that is just `ERB` b... sawa (Tsuyoshi Sawada)

02/22/2023

09:22 PM Revision e9e4e1cb (git): YJIT: Introduce Opnd::Stack (#7352)
k0kubun (Takashi Kokubun)
09:09 PM Revision 4f48debd (git): * remove trailing spaces. [ci skip]
git[bot]
09:09 PM Revision 29ec8e15 (git): Make GC faster when RGENGC_CHECK_MODE >= 2
We shouldn't run gc_verify_internal_consistency after every GC step
when RGENGC_CHECK_MODE >= 2, only when GC has finished. Running it
on every GC step makes it too slow.
peterzhu2118 (Peter Zhu)
09:07 PM Feature #19458 (Open): Expose HEREDOC identifier
I’d like to have access to the HEREDOC identifier.
In the ViewComponent framework I help maintain, we added a method to declare a template as such:
```ruby
class Component
erb_template <<~ERB
<h1>Hello, <%= @name %>!</h1>
...
joelhawksley (Joel Hawksley)
08:02 PM Misc #18761: provide an example wasm project
> need more getting started instructions?
I think it may be helpful if there would be something like a "mini-tutorial", in the sense that you could go from a super simple use case (hello world), towards something that is a bit more usef...
rubyFeedback (robert heiler)
07:51 PM Feature #19457 (Closed): Some improvements to test-all suite
Hi, I've been making some improvements to this suite in a branch of my own and came up with a list of changes I think are good but I would like input from developers.
1) Currently test-all with -j option does not show errors/failures ...
luke-gru (Luke Gruber)
07:26 PM Revision 220cdbee (git): [lldb] Add a print_flags command (#7358)
eightbitraptor (Matt V-H)
04:09 PM Bug #19455: Ruby 3.2: wrong Regexp encoding with non-ASCII comments
I'm not sure that this a bug. If all non-comment characters considered in the regexp are in the US-ASCII range, it seems reasonable for US-ASCII to be used as the regexp encoding. I'll add this ticket to the next developer meeting and ... jeremyevans0 (Jeremy Evans)
10:18 AM Bug #19455 (Closed): Ruby 3.2: wrong Regexp encoding with non-ASCII comments
comments and comment groups don't trigger the correct `Regexp#encoding` on Ruby 3.2 anymore:
```ruby
# ruby 3.1
/#a/x.encoding # => #<Encoding:US-ASCII> # OK
/(?#a)/.encoding # => #<Encoding:US-ASCII> # OK
/#ü/x.en...
janosch-x (Janosch Müller)
02:49 PM Bug #19456 (Closed): Incorrect line numbers in GC hook
GitHub PR: https://github.com/ruby/ruby/pull/7357
If the previous instruction is not a leaf instruction, then the PC was incremented before the instruction was ran (meaning the currently executing instruction is actually the previous ...
peterzhu2118 (Peter Zhu)
01:58 PM Revision 4edb2a29 (git): [ruby/net-http] [DOC] Enhanced RDoc for Net:HTTP
(https://github.com/ruby/net-http/pull/124)
https://github.com/ruby/net-http/commit/aaf26b21d6
burdettelamar (Burdette Lamar)
01:14 PM Revision b112ae99 (git): Skip failing test on MSWin
nobu (Nobuyoshi Nakada)
10:00 AM Revision 65ab2c1e (git): Backport [Bug #19158] for Ruby 3.2 (#7356)
Backport https://github.com/ruby/ruby/pull/7321 hsbt (Hiroshi SHIBATA)
09:02 AM Bug #19454: Instruction `send` has nil blockiseq and ARGS_SIMPLE flag
> It seems test-unit turns off specialized_instruction in RubyVM::InstructionSequence.compile_option.
Indeed, thank you. Where can I find the description of each compile flags?
> ...
I support the proprietary gem debugger. And this is ...
dmitry.pogrebnoy (Dmitry Pogrebnoy)
08:42 AM Revision 6232e1b9 (git): [rubygems/rubygems] Skip extension test on jruby
https://github.com/rubygems/rubygems/commit/38ee82c297 segiddins (Samuel Giddins)
08:42 AM Revision 151ae979 (git): [rubygems/rubygems] Better teardown
https://github.com/rubygems/rubygems/commit/5fa0ebf09b segiddins (Samuel Giddins)
08:42 AM Revision a17b1b19 (git): [rubygems/rubygems] Always join with a string
Gem.path_separator can also be a regexp...
https://github.com/rubygems/rubygems/commit/7e6e56a5f3
segiddins (Samuel Giddins)
08:42 AM Revision 0ca3a095 (git): [rubygems/rubygems] Only update env if var exists
Will save on an error if it would be nil from an exception happening during that line
https://github.com/rubygems/rubygems/commit/d6797a04e9
segiddins (Samuel Giddins)
08:42 AM Revision 616a7e1f (git): [rubygems/rubygems] Nil out Gem.configuration after tests
https://github.com/rubygems/rubygems/commit/3135ad91d4 segiddins (Samuel Giddins)
08:42 AM Revision ae5deb1e (git): [rubygems/rubygems] Use assert_raise instead of assert_raises
For ruby-core compat
https://github.com/rubygems/rubygems/commit/c8f85c91a8
segiddins (Samuel Giddins)
08:42 AM Revision 931db212 (git): [rubygems/rubygems] Add tests covering pre-releases for gem exec
https://github.com/rubygems/rubygems/commit/f6877c29b9 segiddins (Samuel Giddins)
08:42 AM Revision 80bfa1b3 (git): [rubygems/rubygems] Fix resetting env in gem exec, and make sure it is set for gem exec gem
https://github.com/rubygems/rubygems/commit/13a6dd4992 segiddins (Samuel Giddins)
08:42 AM Revision 2dd96983 (git): [rubygems/rubygems] Allow gem exec gem
https://github.com/rubygems/rubygems/commit/a767f7b9be segiddins (Samuel Giddins)
08:42 AM Revision 47d4f73e (git): [rubygems/rubygems] Remove platform option for gem exec
Also fix native extensions that load dependencies
https://github.com/rubygems/rubygems/commit/a06f9870c7
segiddins (Samuel Giddins)
08:42 AM Revision 612ebd10 (git): [rubygems/rubygems] Ensure dependencies are updated by default when running gem exec
https://github.com/rubygems/rubygems/commit/664f3e1e5f segiddins (Samuel Giddins)
08:42 AM Revision 3f0f9a79 (git): [rubygems/rubygems] Add gem exec description
https://github.com/rubygems/rubygems/commit/dac1609fd5 segiddins (Samuel Giddins)
08:42 AM Revision d81be060 (git): [rubygems/rubygems] Add specs for gem exec
https://github.com/rubygems/rubygems/commit/3078e5834e segiddins (Samuel Giddins)
08:42 AM Revision cbe14cc8 (git): [rubygems/rubygems] Add gem exec command
https://github.com/rubygems/rubygems/commit/ca69a317f3 segiddins (Samuel Giddins)
08:03 AM Feature #19443: Cache `Process.pid`
> How to read comment #7 results?
It's a flat reduction on our latency (server response time) metrics.
On average, with the pid_cache shim, our server response time is 2 milliseconds faster.
Also to note, we're still seeing quit...
byroot (Jean Boussier)
02:44 AM Feature #19443: Cache `Process.pid`
Thank you.
How to read comment [#7](https://bugs.ruby-lang.org/issues/19443#note-7) results?
ko1 (Koichi Sasada)
07:22 AM Bug #19158 (Closed): Ruby 3.1.3 installs wrong gemspec for debug gem
hsbt (Hiroshi SHIBATA)
07:11 AM Bug #19158: Ruby 3.1.3 installs wrong gemspec for debug gem
I submitted pull-requests for Ruby 3.1 and 3.2.
* [for Ruby 3.1](https://github.com/ruby/ruby/pull/7355)
* [for Ruby 3.2](https://github.com/ruby/ruby/pull/7356)
In my investigation, this issue only happened in-place build with ru...
hsbt (Hiroshi SHIBATA)
05:40 AM Revision 693e4dec (git): Prohibit GIT after setting readonly
nobu (Nobuyoshi Nakada)
04:11 AM Revision 65ef20d2 (git): Add support for LoongArch (#7343)
* vm_dump.c: Dump machine registers on loongarch64 Linux.
* coroutines: Support for native loongarch64 coroutines.
---------
Co-authored-by: zangruochen <zangruochen@loongson.cn>
小MAO钓鱼
02:56 AM Revision 2798b13e (git): Bump actions/cache from 3.2.5 to 3.2.6
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.5 to 3.2.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.co...
dependabot[bot]
01:23 AM Revision d025ff29 (git): Clone bundled gem sources only if GIT is available
nobu (Nobuyoshi Nakada)
01:23 AM Revision ac5a949c (git): Refine exception messages when git failed
nobu (Nobuyoshi Nakada)
01:20 AM Revision 015bf5c4 (git): Removed accidentally commits with ruby/readline-ext
Partly reverted 1ddda4c0d7d2b83658ab149e36e088961ca0b2dc hsbt (Hiroshi SHIBATA)
01:18 AM Revision fc59b587 (git): [ruby/readline-ext] test_readline.rb only needs EnvUtil
https://github.com/ruby/readline-ext/commit/9245965ecd hsbt (Hiroshi SHIBATA)
01:18 AM Revision 08891906 (git): [ruby/readline-ext] Omit some tests with macOS platform
https://github.com/ruby/readline-ext/commit/efe2be6e4c hsbt (Hiroshi SHIBATA)
01:18 AM Revision 1ddda4c0 (git): [ruby/readline-ext] Import EnvUtils and related test libraries
https://github.com/ruby/readline-ext/commit/f034697a48 hsbt (Hiroshi SHIBATA)

02/21/2023

10:07 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
mame (Yusuke Endoh) wrote in #note-38:
> ```
> ...
I think that's quite confusing though without the `main:Object`, because `main` has many other meanings (main script = $0, main function, etc).
So I'd suggest either:
```
undefined ...
Eregon (Benoit Daloze)
09:34 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
Thank you! :) ivoanjo (Ivo Anjo)
09:59 PM Revision ae9e1aee (git): Call rb_ivar_set instead of exiting for many ivars
Previously, when we have a lot of ivars defined, we would exit via
`jit_chain_guard` for megamorphic ivars. Now if we have more than the
max depth of ivars we can call `rb_ivar_set` instead of exiting.
Using the following script:
```ru...
eileencodes (Eileen Uchitelle)
09:41 PM Revision 9f8056a7 (git): YJIT: Fastpath for Module#=== (#7351)
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Co-authored-by: Jimmy Miller <jimmy.miller@shopify.com>
alanwu (Alan Wu)
09:10 PM Revision 0353277b (git): YJIT: Avoid checking symbol ID twice on send (#7350)
k0kubun (Takashi Kokubun)
07:38 PM Revision 50e77b6a (git): [ruby/irb] Improve RubyLex's tests
(https://github.com/ruby/irb/pull/484)
* Improve assert_indenting helper
Instead of putting assertions inside the `auto_indent` block, we
can just make `auto_indent` return the calculated space count, and use
it for assertion outside o...
st0012 (Stan Lo)
06:21 PM Revision 5baef075 (git): YJIT: Fix clippy issues and remove unused params (#7348)
* YJIT: Fix clippy issues and remove unused params
* Remove an unnecessary whitespace
---------
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
Jimmy Miller
06:00 PM Revision d579f475 (git): Bump SHAPE_MAX_NUM_IVS to 80 (#7344)
k0kubun (Takashi Kokubun)
05:13 PM Bug #19439: Marshal.load doesn't load Regexp instance variables
Thank you! andrykonchin (Andrew Konchin)
12:57 PM Bug #19439 (Closed): Marshal.load doesn't load Regexp instance variables
Applied in changeset commit:git|d2520b7b76759118071a16e6bca22726a5de9fb4.
----------
Marshal.load: restore instance variables on Regexp
[Bug #19439]
The instance variables were restore on the Regexp source,
not the regexp itself.
Unf...
byroot (Jean Boussier)
05:07 PM Revision 37b6d988 (git): Use `Gem::Package#build` instead of the class method for old baseruby
nobu (Nobuyoshi Nakada)
05:07 PM Revision 289080e4 (git): Clone and create dummy gemspec in sequential build
nobu (Nobuyoshi Nakada)
05:07 PM Revision 241c4cfd (git): Move dummy gemspec file creation for extract-gems-sequential
nobu (Nobuyoshi Nakada)
05:07 PM Revision 0a9efe87 (git): Use git directories instead of gemspec files as dependency
Minitest repository does not commit its gemspec file. nobu (Nobuyoshi Nakada)
04:00 PM Bug #19446 (Closed): Remove `compiler_wd` related warnings in `tool/update-deps`
peterzhu2118 (Peter Zhu)
03:57 PM Revision 3c01342e (git): Fix detection of compiler_wd in tool/update-deps
eightbitraptor (Matt V-H)
03:52 PM Bug #19454 (Feedback): Instruction `send` has nil blockiseq and ARGS_SIMPLE flag
It seems test-unit turns off `specialized_instruction` in `RubyVM::InstructionSequence.compile_option`.
> This breaks some of the logic of the dependent program .
What is "the dependent program"?
nobu (Nobuyoshi Nakada)
02:45 PM Bug #19454 (Feedback): Instruction `send` has nil blockiseq and ARGS_SIMPLE flag
### Setup
* OS: MacOS Monterey 12.4
* VM: rbenv
* Gems: test-unit 3.5.3
* Ruby: ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]
### Problem Description
In some cases the instruction `send` has `nil` block arg...
dmitry.pogrebnoy (Dmitry Pogrebnoy)
03:44 PM Feature #19437: Add marking and sweeping time to GC.stat
> You can show your support for this issue by clicking "like" in the top right corner
Aha - I did not notice that before.
> ...
This is a situational question, though, as to what is to be considered "meaningful".
Ultimately it taps int...
rubyFeedback (robert heiler)
01:05 PM Feature #19437 (Closed): Add marking and sweeping time to GC.stat
Applied in changeset commit:git|93ac7405b80cc61930d73da04441fa09af1851e1.
----------
Add marking and sweeping time to GC.stat
There is a `time` key in GC.stat that gives us the total time spent in
GC. However, we don't know what propor...
peterzhu2118 (Peter Zhu)
03:39 PM Revision a26a0af0 (git): Use `BigDecimal::VERSION` instead of `RUBY_VERSION`
nobu (Nobuyoshi Nakada)
03:36 PM Revision ace116fc (git): Update default gems list at 0cde887eb9fd47b9857c9e4a7fbafc [ci skip]
git[bot]
03:35 PM Revision 0cde887e (git): [ruby/bigdecimal] Bump up to 3.1.4
ruby/bigdecimal#187 has changed a behavior and ruby/spec also needed a
follow up at https://github.com/ruby/ruby/commit/0d8ef62fc293.
However, because bigdecimal is a separate gem and can be updated in
older versions of ruby, `RUBY_VERSI...
nobu (Nobuyoshi Nakada)
02:24 PM Revision 7b768e43 (git): [ruby/bigdecimal] Move RB_GC_GUARD() at the end, like in BigMath_s_exp()
https://github.com/ruby/bigdecimal/commit/b66ef9fbb5 Eregon (Benoit Daloze)
02:24 PM Revision 5077cc2b (git): [ruby/bigdecimal] Avoid RB_GC_GUARD(a) = b in bigdecimal
* This is not supported on TruffleRuby, which requires the value to be
set before RB_GC_GUARD() is called.
* See https://github.com/oracle/truffleruby/pull/2879
https://github.com/ruby/bigdecimal/commit/7b2957922f
Eregon (Benoit Daloze)
02:09 PM Misc #19429: DevMeeting-2023-03-09
- [Feature #19437] Add marking and sweeping time to GC.stat (peterzhu2118)
- This feature records GC time in marking and sweeping phases and exposed them via a `marking_time` and `sweeping_time` key in `GC.stat`.
- This feature wil...
peterzhu2118 (Peter Zhu)
01:05 PM Revision 93ac7405 (git): Add marking and sweeping time to GC.stat
There is a `time` key in GC.stat that gives us the total time spent in
GC. However, we don't know what proportion of the time is spent between
marking and sweeping. This makes it difficult to tune the GC as we're
not sure where to focus ...
peterzhu2118 (Peter Zhu)
01:05 PM Revision d7c1ca48 (git): Refactor to separate marking and sweeping phases
This commit separates the marking and sweeping phases so that marking
functions do not directly call sweeping functions.
peterzhu2118 (Peter Zhu)
12:57 PM Revision d2520b7b (git): Marshal.load: restore instance variables on Regexp
[Bug #19439]
The instance variables were restore on the Regexp source,
not the regexp itself.
Unfortunately we have a bit of a chicken and egg problem.
The source holds the encoding, and the encoding need to be set on
the source to be...
byroot (Jean Boussier)
12:13 PM Bug #19442: Remove USE_RINCGC flag
Similarly I think we should remove all the `RGENGC_WB_PROTECTED_*` flags https://github.com/Shopify/ruby/commit/078d46c47cb0e41165e0112cd9669b3256625d8e. byroot (Jean Boussier)
11:00 AM Revision 61709227 (git): Update default gems list at b572f2436c70bef75126fe4e30910a [ci skip]
git[bot]
10:50 AM Revision b572f243 (git): [ruby/openssl] Stub gemspec for JRuby
JRuby has its own implementation of the `openssl` library in
jruby-openssl. The simplest way for us to allow users to set
openssl as a gem dependency is to ship a stub gem that just
depends on jruby-openssl. This patch adds that to the g...
headius (Charles Nutter)
10:32 AM Revision bc101f0f (git): [ruby/rdoc] Fix RDoc::Parser::Ruby not being documented
The calls to require prevent the class from being documented.
https://github.com/ruby/rdoc/commit/76283fc42e
etienne (Étienne Barrié)
10:31 AM Revision 4c772651 (git): [ruby/strscan] Mask out this test on JRuby/Windows
See https://github.com/jruby/jruby/issues/7644 for the root issue,
which will require fixes to JRuby's regular expression engine,
JOni.
https://github.com/ruby/strscan/commit/29a65abff2
headius (Charles Nutter)
10:31 AM Revision 76a4cdfb (git): [ruby/strscan] test: Run test more with fixed anchor mode
(https://github.com/ruby/strscan/pull/60)
fix https://github.com/ruby/strscan/pull/56
Sutou Kouhei
10:31 AM Revision 260bc7cd (git): [ruby/strscan] Add test case to `test_string`
(https://github.com/ruby/strscan/pull/58)
`string` returns the original string after `scan` is called. Current
test doesn't check this behavior and now it's covered.
okuramasafumi (Masafumi OKURA)
10:31 AM Revision 18e840ac (git): [ruby/strscan] Bump version
https://github.com/ruby/strscan/commit/681cde0f27 Sutou Kouhei
10:31 AM Revision a44f5ab0 (git): [ruby/strscan] Mention return value of `rest?` in the doc
(https://github.com/ruby/strscan/pull/49)
The doc of `rest?` was unclear about return value. This commit adds the
return value to the doc.
okuramasafumi (Masafumi OKURA)
10:31 AM Revision a350ef9f (git): [ruby/csv] test: use mailing list ID instead of unavailable URL
https://github.com/ruby/csv/commit/04862ccf87 Sutou Kouhei
10:31 AM Revision 2ac1efc0 (git): [ruby/csv] Use https links instead of http
(https://github.com/ruby/csv/pull/274)
https://github.com/ruby/csv/commit/e2a06929a8
apatniv (Vivek Ak)
10:31 AM Revision 1a05d988 (git): [ruby/csv] Remove unused @double_quote_character from Parser
(https://github.com/ruby/csv/pull/273)
https://github.com/ruby/csv/commit/e5622c53ae
Maumagnaguagno (Mau Magnaguagno)
10:28 AM Revision 38fa8eb4 (git): Merge rubygems/bundler master
Pick from https://github.com/rubygems/rubygems/commit/e9304aed7e43308b99e70c2f7b92028315fee8a5 hsbt (Hiroshi SHIBATA)
10:28 AM Revision a47e1328 (git): [rubygems/rubygems] Give a better message when Gemfile branch does not exist
https://github.com/rubygems/rubygems/commit/cb4fc41cbc deivid (David Rodríguez)
10:28 AM Revision b5eb9ebd (git): [rubygems/rubygems] Fix crash in pub grub involving empty ranges
https://github.com/rubygems/rubygems/commit/0f168516f7 deivid (David Rodríguez)
10:28 AM Revision 4064e3e7 (git): [rubygems/rubygems] Update pub_grub
* Replaces the wording of "is forbidden" with "cannot be used"
* Fixes the method signature of VersionRange::Empty#eql?
https://github.com/rubygems/rubygems/commit/8c6b3f130b
Co-authored-by: Daniel Colson <danieljamescolson@gmail.com>
jhawthorn (John Hawthorn)
10:28 AM Revision 80389915 (git): [rubygems/rubygems] Sync with pub_grub main branch
We became a bit out of sync lately.
https://github.com/rubygems/rubygems/commit/6161a2610a
deivid (David Rodríguez)
10:28 AM Revision e7bf8596 (git): [rubygems/rubygems] Restore better error message when locked ref does not exist
https://github.com/rubygems/rubygems/commit/c8e024359f deivid (David Rodríguez)
10:26 AM Revision 9b6d421f (git): [rubygems/rubygems] [DOC] Update the link to OpenSource.org
The static list in alphabetical order seems no longer provided.
https://github.com/rubygems/rubygems/commit/a37dff7736
nobu (Nobuyoshi Nakada)
10:05 AM Revision ba2bd6d0 (git): [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.64 to 0.9.65.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.64...v0.9.65)
---
updated-depende...
dependabot[bot]
09:50 AM Revision d13879f8 (git): [ruby/bigdecimal] Read version from bigdecimal.c
The dependency of extconf.h on bigdecimal.gemspec does not make sense
as far as no rule is defined for it. Also, the relationship between
extension library and gemspec file is various in default gems, and
does not work well.
https://gi...
nobu (Nobuyoshi Nakada)
09:40 AM Revision cb40432c (git): Use `ERROR_ARGS_AT`
nobu (Nobuyoshi Nakada)
08:55 AM Feature #19443: Cache `Process.pid`
I deployed a ruby shim of this cache to half of our servers: https://github.com/Shopify/pid_cache
Average latency: -2ms
Median latency: -2ms
p75 latency: -2ms
p99 latency: -10ms
p99.9: -30ms
byroot (Jean Boussier)
04:46 AM Revision 6384f798 (git): Prevent "warning: ambiguity between regexp and two divisions"
http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20230221T031004Z.log.html.gz
```
/home/chkbuild/chkbuild/tmp/build/20230221T031004Z/ruby/test/rubygems/test_gem_ext_cargo_builder.rb:90: warning: ambiguity between regexp and two divi...
mame (Yusuke Endoh)
03:43 AM Feature #19451: Extract path and line number from SyntaxError?
@nobu most text editors need a single line and column for each backtrace location.
As it stands, just looking at the backtrack locations is not enough. For `SyntaxError`, the editor needs to know the "first location" which is the poin...
ioquatix (Samuel Williams)
03:23 AM Feature #19451: Extract path and line number from SyntaxError?
`SyntaxError` can contain multiple error locations.
I'm trying https://github.com/nobu/ruby/tree/SyntaxError%23diagnostics.
I can't get what "prepend them to backtrace_locations" means.
nobu (Nobuyoshi Nakada)

02/20/2023

11:48 PM Feature #19453 (Closed): Move `Fiber.current` into core.
i.e. don't `require 'fiber'` to use `Fiber.current`. Are there other methods we should consider too? ioquatix (Samuel Williams)
09:57 PM Revision 899fad90 (git): [ruby/net-http] [DOC] Enhanced RDoc for Net::HTTP
(https://github.com/ruby/net-http/pull/123)
https://github.com/ruby/net-http/commit/220ff3f741
burdettelamar (Burdette Lamar)
06:12 PM Feature #19428: Adding a "piped heredoc" feature
@nobu - I'll see if I can implement a patch for this. Your steps are helpful.
@eregon - I also think the pipe character prefixed lines are hard to maintain. There are many whitespace aligned things in the wild, such as YAML, python, a...
shreeve (Steve Shreeve)
03:01 PM Feature #19428: Adding a "piped heredoc" feature
IMO the examples in the description are too hard for humans to read, and very error-prone (it breaks everything if indenting one space too little).
The `| `-prefixed variant seems more readable, but I doubt we need yet another heredoc...
Eregon (Benoit Daloze)
01:57 AM Feature #19428: Adding a "piped heredoc" feature
shreeve (Steve Shreeve) wrote in #note-3:
> The parser is already doing the work to be "looking for" the end of the heredoc, so detecting a "dedent/undent" is sufficient for the parser to know that the heredoc is complete.
Just an im...
nobu (Nobuyoshi Nakada)
06:06 PM Feature #19451: Extract path and line number from SyntaxError?
It's also worth mentioning that not all syntax errors have an associated path. `eval`, code piped to STDIN, and `ruby -e` can have invalid syntax but might not have an associated path. In the discussion around adding SyntaxSuggest to Rub... schneems (Richard Schneeman)
04:01 PM Feature #19451: Extract path and line number from SyntaxError?
Is it #lineno or #line_number? I would think #line_number would look prettier,
if we add a method to SyntaxError. (Not saying we should do, or should not do,
either; just pointing at the different names above ^^^.)
Also good to see zver...
rubyFeedback (robert heiler)
03:03 PM Feature #19451: Extract path and line number from SyntaxError?
The calling backtrace and the location of the syntax error are separated things, so I don't think we should mix them.
Adding `SyntaxError#lineno` would make sense IMO.
Eregon (Benoit Daloze)
09:20 AM Feature #19451: Extract path and line number from SyntaxError?
FWIW, `SyntaxError#path` [was added](https://rubyreferences.github.io/rubychanges/3.2.html#syntaxerrorpath) in 3.2 zverok (Victor Shepelev)
07:02 AM Feature #19451: Extract path and line number from SyntaxError?
(and while we are at it, how about column information?) ioquatix (Samuel Williams)
06:58 AM Feature #19451 (Open): Extract path and line number from SyntaxError?
There doesn't seem to be any official way to extract the path and line number from a syntax error.
There are two ways I can see us dong this:
- Provide explicit `path` and `line_number` attributes.
- Prepend them to `backtrace_loc...
ioquatix (Samuel Williams)
06:04 PM Revision 0459eaec (git): compile.c: eliminate getinstancevariable -> pop sequences
This case wasn't eliminated before because `getinstancevariable`
could emit a warning, but that's no longer the case since Ruby
3.0.
byroot (Jean Boussier)
05:06 PM Revision ecd0cdaf (git): YJIT: Fix assertion for partially mapped last pages (#7337)
Follows up [Bug #19400] k0kubun (Takashi Kokubun)
04:05 PM Feature #19452: `Thread::Backtrace::Location` should have column information if possible.
Perhaps this could be discussed as "one item" in an upcoming
dev meeting, e. g. the extensions ioquatix suggested in the
last some issues raised here. Since I love introspection I
am all in favour of what can be useful for us, when wr...
rubyFeedback (robert heiler)
07:06 AM Feature #19452 (Open): `Thread::Backtrace::Location` should have column information if possible.
I discussed this with @mame and it would be pretty useful if we could also get the column information from exception backtrace location, even if it was slow.
A POC:
```ruby
class Thread::Backtrace::Location
if defined?(RubyVM::...
ioquatix (Samuel Williams)
03:15 PM Feature #19450: Is there an official way to set a class name without setting a constant?
Just an aside note: ActiveRecord models [redefine](https://github.com/rails/rails/blob/main/activerecord/lib/active_record/core.rb#L357) `#inspect` (and not `#name`) to achieve "informative description" effect:
```ruby
p User
User(id:...
zverok (Victor Shepelev)
02:52 PM Feature #19450: Is there an official way to set a class name without setting a constant?
I don't think Class#inspect should ever lie, so IMO there shouldn't be a way.
In the comment above, the problem is `foo` is not assigned to a proper constant, that's the obvious fix, to assign foo to a constant.
The file in which the...
Eregon (Benoit Daloze)
06:56 AM Feature #19450: Is there an official way to set a class name without setting a constant?
Sure, but it's better than
```
irb(main):053:0> p foo::Bar
#<Class:0x00007fd0ad4b3860>::Bar
=> #<Class:0x00007fd0ad4b3860>::Bar
irb(main):054:0> foo::Bar.new
=> #<#<Class:0x00007fd0ad4b3860>::Bar:0x00007fd0ad81ec70>
```
ioquatix (Samuel Williams)
05:37 AM Feature #19450: Is there an official way to set a class name without setting a constant?
ioquatix (Samuel Williams) wrote in #note-4:
> So, basically, given the above, I still prefer an interface like `Class.new(..., name: ...)`.
Although I'm fine with this interface,
> ...
These names look tricky too.
nobu (Nobuyoshi Nakada)
02:33 AM Feature #19450: Is there an official way to set a class name without setting a constant?
Okay, so I tried it out, but it doesn't work consistently:
```ruby
def labeled_class(name, superclass = Object, &block)
Class.new(superclass) do
singleton_class.class_eval {define_method(:to_s) {name}; alias inspect to_s}
clas...
ioquatix (Samuel Williams)
02:14 AM Feature #19450: Is there an official way to set a class name without setting a constant?
Thanks @nobu let me check it. Well, the implementation of `labeled_class` looks a bit tricky but if it works, it's good enough. ioquatix (Samuel Williams)
02:06 AM Feature #19450: Is there an official way to set a class name without setting a constant?
ioquatix (Samuel Williams) wrote:
> Can we do better?
I'm not sure what you want to do exactly.
> ...
This is what `EnvUtil#labeled_class` does.
nobu (Nobuyoshi Nakada)
01:04 AM Feature #19450 (Closed): Is there an official way to set a class name without setting a constant?
This is the best I could come up with:
```ruby
klass = Class.new
Object.const_set("Klass", klass)
Object.send(:remove_const, "Klass")
puts klass.new
# => #<Klass:0x0000000100a9d688>
```
Can we do better?
What about som...
ioquatix (Samuel Williams)
02:48 PM Feature #19377: Rename Fiber#storage to Fiber.storage
Currently `Fiber#storage` can only be called for the current Fiber (otherwise `ArgumentError`).
But it may evolve (e.g. allow to be called on different Fiber but Fiber of same thread), this is why it's Fiber#storage and not Fiber.storag...
Eregon (Benoit Daloze)
09:33 AM Feature #19377: Rename Fiber#storage to Fiber.storage
@ioquatix,
> It's useful for debugging to access the storage of a different fiber.
Can you please expand on this?.. How it can be done for debugging?..
zverok (Victor Shepelev)
01:07 AM Feature #19377: Rename Fiber#storage to Fiber.storage
It's useful for debugging to access the storage of a different fiber. ioquatix (Samuel Williams)
04:41 AM Misc #19431: DevMeeting at RubyKaigi 2023
Updating description to include RubyKaigi ruby-core invitation.
--Sorah on behalf of RubyKaigi Organizers
sorah (Sorah Fukumori)
01:50 AM Revision b326a5f3 (git): Adjust indent [ci skip]
nobu (Nobuyoshi Nakada)
01:33 AM Revision 7d5794ba (git): error.c: Use "undefined local variable or method `...' for main"
... for the toplevel. mame (Yusuke Endoh)
01:33 AM Revision 0e830e63 (git): Update some ruby specs for the new message format of NoMethodError
mame (Yusuke Endoh)
01:33 AM Revision 8f868a1a (git): Update some tests for the new message format of NoMethodError
mame (Yusuke Endoh)
01:33 AM Revision 1fd181b4 (git): error.c: Update the message format for NoMethodError
* If the receiver is a Class, use "... for class <class name>".
* If the receiver is a Module, use "... for module <module name>".
* If the receiver is an extended object (i.e., has a singleton class),
use "... for <rb_any_to_s(receive...
mame (Yusuke Endoh)
01:33 AM Revision e7b8d32e (git): Stop using receiver#inspect for "undefined method" errors
```
42.time #=> undefined method `time' for object Integer (NoMethodError)
class Foo
privatee #=> undefined local variable or method 'privatee' for class Foo (NoMethodError)
end
s = ""
def s.foo = nil
s.bar #=> undefined meth...
mame (Yusuke Endoh)

02/19/2023

11:07 PM Revision 5c0298bf (git): [ruby/pstore] Remove (newly unneeded) remarks about aliases
(https://github.com/ruby/pstore/pull/8)
https://github.com/ruby/pstore/commit/01c4ccc7aa
burdettelamar (Burdette Lamar)
10:50 PM Revision 5fb64f52 (git): [ruby/fileutils] Remove (newly unneeded) remarks about aliases
(https://github.com/ruby/fileutils/pull/108)
https://github.com/ruby/fileutils/commit/bbe595cfa5
burdettelamar (Burdette Lamar)
10:39 PM Revision 924ab1b7 (git): test/readline/test_readline.rb: skip a test x86_64-linux-(x32|i[3-6]86)
I run a 32-bit (x86) userspace on a 64-bit kernel to save memory
and this test fails for the same reason it does on pure 32-bit
platforms.
Followup-to: 6cf7c0a48fb07a76 (test/readline/test_readline.rb: skip a test on i686-linux, 2021-11...
Eric Wong
10:26 PM Revision 3b239d24 (git): Remove (newly unneeded) remarks about aliases
burdettelamar (Burdette Lamar)
10:24 PM Revision 3d538271 (git): [ruby/date] Removed (newly unneeded) alias remarks
(https://github.com/ruby/date/pull/88)
https://github.com/ruby/date/commit/cfa7e9868b
burdettelamar (Burdette Lamar)
08:32 PM Revision 976cc385 (git): [DOC] Return *args to Enumerable method definitions
zverok (Victor Shepelev)
08:32 PM Revision ce0f3de0 (git): [DOC] Update pattern matching docs for 3.2
* Remove section about experimental status
* Add references to core objects that can deconstruct
zverok (Victor Shepelev)
08:32 PM Revision 4f049e91 (git): [DOC] Document IO::Timeout
zverok (Victor Shepelev)
08:32 PM Revision e1b447a3 (git): [DOC] Improve ObjectSpace#dump_XXX method docs
* remove false call-seq (output from Ruby parsing is cleaner)
* explain output: argument in plain words
* change parameter name in docs of #dump_shapes (typo)
zverok (Victor Shepelev)
08:32 PM Revision 0258e92e (git): [DOC] Improve Kernel#binding docs
* Add links to Binding class
* Make examples practical
* Extend possible usages description
zverok (Victor Shepelev)
08:32 PM Revision 51bb5b23 (git): [DOC] Small adjustment for String method docs
* Hide freeze method (no useful docs, same as Object#freeze)
* Add dedup to call-seq of str_uminus
zverok (Victor Shepelev)
08:32 PM Revision 0c0b9191 (git): [DOC] Update TracePoint#binding docs for 3.2 behavior
zverok (Victor Shepelev)
08:32 PM Revision 01509f34 (git): [DOC] Restore Process module doc lost due to RDoc update
zverok (Victor Shepelev)
08:05 PM Feature #19024 (Closed): Proposal: Import Modules
jeremyevans0 (Jeremy Evans)
05:49 AM Feature #19024: Proposal: Import Modules
I wanted to update this because I've changed my thinking since the original proposal.
TL;DR
1. I agree that we should not change `require`, `require_relative`, `load` or `autoload` (at least, not in ways that would break existing usa...
shioyama (Chris Salzberg)
07:58 PM Revision 59f7bf96 (git): Mention when it is appropriate to document aliases in call-seq
jeremyevans (Jeremy Evans)
07:41 PM Revision ea507659 (git): [DOC] Change to handling of aliases (#7340)
Change to handling of aliases burdettelamar (Burdette Lamar)
12:06 PM Feature #18285 (Closed): NoMethodError#message uses a lot of CPU/is really expensive to call
Applied in changeset commit:git|8a59f75de7e1ee4c021a1cd79aa78f0c6cf78507.
----------
Use the development versions of minitest and debug gems
This is a preparation for a new message format of NameError.
[Feature #18285]
https://github....
mame (Yusuke Endoh)
12:06 PM Revision 759d2358 (git): Create a dummy minitest.gemspec for a bundled gem
To use the repository version of bundled gems, we need to build a gem by
"gem build", but the repository of minitest does not include
minitest.gemspec because it uses hoe.
This change creats a dummy minitest.gemspec to pass the CI.
mame (Yusuke Endoh)
12:06 PM Revision 8eaa3466 (git): No validation for bundled gems
https://github.com/mame/ruby/actions/runs/4208869556/jobs/7305356097
```
WARNING: open-ended dependency on irb (>= 1.5.0) is not recommended
if irb is semantically versioned, use:
add_runtime_dependency 'irb', '~> 1.5', '>= 1.5.0'...
mame (Yusuke Endoh)
12:06 PM Revision 8a59f75d (git): Use the development versions of minitest and debug gems
This is a preparation for a new message format of NameError.
[Feature #18285]
https://github.com/minitest/minitest/pull/942
https://github.com/ruby/debug/pull/889
mame (Yusuke Endoh)
10:29 AM Revision 29f88b9f (git): [ruby/error_highlight] Support the new message format of NameError in Ruby 3.3
https://bugs.ruby-lang.org/issues/18285
https://github.com/ruby/ruby/pull/6950
https://github.com/ruby/error_highlight/commit/a7c2da052e
mame (Yusuke Endoh)
09:58 AM Revision ba1b9d31 (git): [ruby/bigdecimal] Fix the license name [ci skip]
```
$ gem build bigdecimal.gemspec
WARNING: license value 'BSD-2-clause' is invalid. Use a license identifier from
http://spdx.org/licenses or 'Nonstandard' for a nonstandard license.
Did you mean 'BSD-2-Clause'?
WARNING: See https://...
nobu (Nobuyoshi Nakada)
07:10 AM Revision 4dc2cb3c (git): [ruby/did_you_mean] Support the new message format of NameError in
Ruby 3.3
(https://github.com/ruby/did_you_mean/pull/184)
This change accepts the following change of the message of NameError in
a test.
https://bugs.ruby-lang.org/issues/18285#note-37
```
old: undefined method `sizee' for #<File:...>...
mame (Yusuke Endoh)
 

Also available in: Atom