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...
-
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 ...
-
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 -
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... -
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... -
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... -
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/... -
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... -
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... -
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 ... -
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... -
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...
-
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... - 10:04 AM Revision d0031db9 (git): Prefer RB_NUM2LONG for string length. (#7379)
-
09:34 AM Bug #19467 (Assigned): Some linear_time regexp does not match in linear time
-
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... -
09:04 AM Feature #19465: [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
- Seems fine.👍
-
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... -
08:38 AM Revision d3ee9e59 (git): [ruby/stringio] Remove (newly unneeded) remarks about aliases
- https://github.com/ruby/stringio/commit/60bb320477
- 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.
- 05:40 AM Revision 57bc3f2f (git): Add `IO::Buffer.string` for efficient string creation. (#7364)
-
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.
-
04:16 AM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
- I've submitted a bug report to Apple:

-
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... -
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?
-
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 -
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
``` -
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`?... -
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.
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_... -
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 ??
-
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... -
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)
```
-
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... -
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
``` -
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... -
04:04 AM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
- Thanks, that's quite an epic Q/A.
-
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. -
09:25 PM Feature #19453 (Closed): Move `Fiber.current` into core.
- Awesome, thanks for the details!
-
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... -
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... -
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... -
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.
... -
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... -
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 ... -
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... -
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... -
09:10 PM Revision fa1eb31f (git): [ci skip] Add note in gc.c about ambiguous case
-
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... -
07:10 PM Revision d2631c42 (git): Fix RubyVM::CExpr#inspect
- @__LINE__ can be nil which causes the inspect method to fail.
-
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 -
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_... -
02:03 PM Revision f471f461 (git): YJIT: Use enum for expressing type diff (#7370)
-
02:01 PM Revision d8d152e6 (git): YJIT: Compress TempMapping (#7368)
-
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... - 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
- 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
-
10:44 AM Revision aff41a36 (git): Add information about runirb in make help
-
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.
> ... -
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...
-
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 ... -
12:14 AM Bug #19462 (Assigned): MJIT not enabled with universal macOS x86_64 + arm64 build
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.
-
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... -
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.
-
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... -
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.
-
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.
-
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... -
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. -
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... -
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... -
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... -
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" ... -
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;
| ^ -
06:08 PM Revision b9f9440e (git): YJIT: Trivial fixes in codegen.rs
-
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 -
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. -
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 -
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] -
03:01 PM Revision 2a5354e5 (git): Implement ObjectSpace::WeakKeyMap basic allocator
- [Feature #18498]
-
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 ... -
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.
-
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... - 08:50 AM Revision 9406245d (git): [rubygems/rubygems] lint fix again
- https://github.com/rubygems/rubygems/commit/118d28ad27
- 08:50 AM Revision 3d766122 (git): [rubygems/rubygems] lint fix
- https://github.com/rubygems/rubygems/commit/de3b69f1a7
- 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
- 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
- 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
- 08:50 AM Revision ffc20273 (git): [rubygems/rubygems] add test for private load_marshal method
- https://github.com/rubygems/rubygems/commit/3a772125b8
- 08:50 AM Revision 583137fe (git): [rubygems/rubygems] make Bundler.load_marshal private
- https://github.com/rubygems/rubygems/commit/4909d071d2
- 08:50 AM Revision d5994eb4 (git): [rubygems/rubygems] safe marshal gem specs when inflating
- https://github.com/rubygems/rubygems/commit/5c5d0c5350
- 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
-
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.
-
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(-) -
06:11 AM Bug #18629: block args array splatting assigns to higher scope _ var
- ruby_3_1 536f5ba0d48c033e63398d1751aebd0a11bcc6ff merged revision(s) 3ddf6ad4d2f6dae4caa00b8c407768c7062099a0.
-
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.
-
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 +++++++++++++++++++++++++... -
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 `... -
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 -
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... -
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`. -
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(-) -
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.
-
03:46 AM Revision d485a5dc (git): bump patchlevel
-
03:45 AM Revision 76c61c99 (git): Backport https://github.com/ruby/ruby/pull/7321
-
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.
-
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.
-
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(+)... -
02:25 AM Revision da0e6b99 (git): Move `dump_machine_register` definitions
-
01:01 AM Feature #19457: Some improvements to test-all suite
- Interesting, patches are welcome.
-
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...
02/22/2023
-
09:22 PM Revision e9e4e1cb (git): YJIT: Introduce Opnd::Stack (#7352)
- 09:09 PM Revision 4f48debd (git): * remove trailing spaces. [ci skip]
-
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. -
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>
... -
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... -
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 ... -
07:26 PM Revision 220cdbee (git): [lldb] Add a print_flags command (#7358)
-
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 ...
-
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... -
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 ... -
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 -
01:14 PM Revision b112ae99 (git): Skip failing test on MSWin
-
10:00 AM Revision 65ab2c1e (git): Backport [Bug #19158] for Ruby 3.2 (#7356)
- Backport https://github.com/ruby/ruby/pull/7321
-
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 ... -
08:42 AM Revision 6232e1b9 (git): [rubygems/rubygems] Skip extension test on jruby
- https://github.com/rubygems/rubygems/commit/38ee82c297
-
08:42 AM Revision 151ae979 (git): [rubygems/rubygems] Better teardown
- https://github.com/rubygems/rubygems/commit/5fa0ebf09b
-
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 -
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 -
08:42 AM Revision 616a7e1f (git): [rubygems/rubygems] Nil out Gem.configuration after tests
- https://github.com/rubygems/rubygems/commit/3135ad91d4
-
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 -
08:42 AM Revision 931db212 (git): [rubygems/rubygems] Add tests covering pre-releases for gem exec
- https://github.com/rubygems/rubygems/commit/f6877c29b9
-
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
-
08:42 AM Revision 2dd96983 (git): [rubygems/rubygems] Allow gem exec gem
- https://github.com/rubygems/rubygems/commit/a767f7b9be
-
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 -
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
-
08:42 AM Revision 3f0f9a79 (git): [rubygems/rubygems] Add gem exec description
- https://github.com/rubygems/rubygems/commit/dac1609fd5
-
08:42 AM Revision d81be060 (git): [rubygems/rubygems] Add specs for gem exec
- https://github.com/rubygems/rubygems/commit/3078e5834e
-
08:42 AM Revision cbe14cc8 (git): [rubygems/rubygems] Add gem exec command
- https://github.com/rubygems/rubygems/commit/ca69a317f3
-
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... -
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?
-
07:22 AM Bug #19158 (Closed): Ruby 3.1.3 installs wrong gemspec for debug gem
-
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... -
05:40 AM Revision 693e4dec (git): Prohibit GIT after setting readonly
- 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> - 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... -
01:23 AM Revision d025ff29 (git): Clone bundled gem sources only if GIT is available
-
01:23 AM Revision ac5a949c (git): Refine exception messages when git failed
-
01:20 AM Revision 015bf5c4 (git): Removed accidentally commits with ruby/readline-ext
- Partly reverted 1ddda4c0d7d2b83658ab149e36e088961ca0b2dc
-
01:18 AM Revision fc59b587 (git): [ruby/readline-ext] test_readline.rb only needs EnvUtil
- https://github.com/ruby/readline-ext/commit/9245965ecd
-
01:18 AM Revision 08891906 (git): [ruby/readline-ext] Omit some tests with macOS platform
- https://github.com/ruby/readline-ext/commit/efe2be6e4c
-
01:18 AM Revision 1ddda4c0 (git): [ruby/readline-ext] Import EnvUtils and related test libraries
- https://github.com/ruby/readline-ext/commit/f034697a48
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 ... -
09:34 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
- Thank you! :)
-
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... -
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> -
09:10 PM Revision 0353277b (git): YJIT: Avoid checking symbol ID twice on send (#7350)
-
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... - 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> -
06:00 PM Revision d579f475 (git): Bump SHAPE_MAX_NUM_IVS to 80 (#7344)
-
05:13 PM Bug #19439: Marshal.load doesn't load Regexp instance variables
- Thank you!
-
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... -
05:07 PM Revision 37b6d988 (git): Use `Gem::Package#build` instead of the class method for old baseruby
-
05:07 PM Revision 289080e4 (git): Clone and create dummy gemspec in sequential build
-
05:07 PM Revision 241c4cfd (git): Move dummy gemspec file creation for extract-gems-sequential
-
05:07 PM Revision 0a9efe87 (git): Use git directories instead of gemspec files as dependency
- Minitest repository does not commit its gemspec file.
-
04:00 PM Bug #19446 (Closed): Remove `compiler_wd` related warnings in `tool/update-deps`
-
03:57 PM Revision 3c01342e (git): Fix detection of compiler_wd in tool/update-deps
-
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"? -
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... -
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... -
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... -
03:39 PM Revision a26a0af0 (git): Use `BigDecimal::VERSION` instead of `RUBY_VERSION`
- 03:36 PM Revision ace116fc (git): Update default gems list at 0cde887eb9fd47b9857c9e4a7fbafc [ci skip]
-
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... -
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
-
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 -
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... -
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 ... -
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. -
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... -
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.
- 11:00 AM Revision 61709227 (git): Update default gems list at b572f2436c70bef75126fe4e30910a [ci skip]
-
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... -
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 -
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 - 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 -
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. - 10:31 AM Revision 18e840ac (git): [ruby/strscan] Bump version
- https://github.com/ruby/strscan/commit/681cde0f27
-
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. - 10:31 AM Revision a350ef9f (git): [ruby/csv] test: use mailing list ID instead of unavailable URL
- https://github.com/ruby/csv/commit/04862ccf87
-
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 -
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 -
10:28 AM Revision 38fa8eb4 (git): Merge rubygems/bundler master
- Pick from https://github.com/rubygems/rubygems/commit/e9304aed7e43308b99e70c2f7b92028315fee8a5
-
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
-
10:28 AM Revision b5eb9ebd (git): [rubygems/rubygems] Fix crash in pub grub involving empty ranges
- https://github.com/rubygems/rubygems/commit/0f168516f7
-
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> -
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 -
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
-
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 - 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... -
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... -
09:40 AM Revision cb40432c (git): Use `ERROR_ARGS_AT`
-
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
-
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... -
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... -
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.
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?
-
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 -
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... -
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... -
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... -
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...
-
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... -
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. -
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
-
07:02 AM Feature #19451: Extract path and line number from SyntaxError?
- (and while we are at it, how about column information?)
-
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... -
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. -
05:06 PM Revision ecd0cdaf (git): YJIT: Fix assertion for partially mapped last pages (#7337)
- Follows up [Bug #19400]
-
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... -
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::... -
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:... -
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... -
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>
```
-
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. -
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... -
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.
-
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.
-
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... -
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... -
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?.. -
01:07 AM Feature #19377: Rename Fiber#storage to Fiber.storage
- It's useful for debugging to access the storage of a different fiber.
-
04:41 AM Misc #19431: DevMeeting at RubyKaigi 2023
- Updating description to include RubyKaigi ruby-core invitation.
--Sorah on behalf of RubyKaigi Organizers -
01:50 AM Revision b326a5f3 (git): Adjust indent [ci skip]
-
01:33 AM Revision 7d5794ba (git): error.c: Use "undefined local variable or method `...' for main"
- ... for the toplevel.
-
01:33 AM Revision 0e830e63 (git): Update some ruby specs for the new message format of NoMethodError
-
01:33 AM Revision 8f868a1a (git): Update some tests for the new message format of NoMethodError
-
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... -
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...
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 -
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 - 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... -
10:26 PM Revision 3b239d24 (git): Remove (newly unneeded) remarks about aliases
-
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 -
08:32 PM Revision 976cc385 (git): [DOC] Return *args to Enumerable method definitions
-
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 -
08:32 PM Revision 4f049e91 (git): [DOC] Document IO::Timeout
-
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) -
08:32 PM Revision 0258e92e (git): [DOC] Improve Kernel#binding docs
- * Add links to Binding class
* Make examples practical
* Extend possible usages description -
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 -
08:32 PM Revision 0c0b9191 (git): [DOC] Update TracePoint#binding docs for 3.2 behavior
-
08:32 PM Revision 01509f34 (git): [DOC] Restore Process module doc lost due to RDoc update
-
08:05 PM Feature #19024 (Closed): Proposal: Import Modules
-
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... -
07:58 PM Revision 59f7bf96 (git): Mention when it is appropriate to document aliases in call-seq
-
07:41 PM Revision ea507659 (git): [DOC] Change to handling of aliases (#7340)
- Change to handling of aliases
-
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.... -
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. -
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'... -
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 -
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 -
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://... -
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:...>...