Project

General

Profile

Activity

From 11/28/2021 to 12/04/2021

12/04/2021

08:48 PM Feature #17881: Add a Module#const_added callback
Alternative solution can be implemented with two hooks for "opening" and "closing" class/module definition i.e. `Module::on_open`. One can get the existing list of constants, methods, class variables etc on the opening, and calculate dif... cvss (Kirill Vechera)
03:40 PM Feature #17881: Add a Module#const_added callback
To clarify my earlier concern, I'm against adding a hook triggered on every constant defined, because of the involved startup cost of doing so.
A hook just for `class Foo`/`module Foo` would be more reasonable from a startup perf POV, b...
Eregon (Benoit Daloze)
08:47 PM Revision a72aecac (git): [rubygems/rubygems] Don't write outside of destdir when regenerating plugins
https://github.com/rubygems/rubygems/commit/141ef4cb9a deivid (David Rodríguez)
08:47 PM Revision 9dc76e10 (git): [rubygems/rubygems] Don't write outside of destdir when installing default bundler
https://github.com/rubygems/rubygems/commit/a62d00c5e8 deivid (David Rodríguez)
08:47 PM Revision ec28771f (git): [rubygems/rubygems] Fold a line that got out of hand
https://github.com/rubygems/rubygems/commit/49317d8beb deivid (David Rodríguez)
08:47 PM Revision ed7a5001 (git): [rubygems/rubygems] Fix binstubs and plugins regeneration with `--destdir` is used
https://github.com/rubygems/rubygems/commit/7079de16fa deivid (David Rodríguez)
08:02 PM Bug #18385: Refinement#import_methods(Enumerable) doesn't work
Yeah, at least the message should be clearer.
I didn't realize that `import_methods` is a make-believe feature, not really integrated with the interpreter/object model.
Are there any plans to integrate it more tightly, with refine...
zverok (Victor Shepelev)
05:48 PM Bug #18385: Refinement#import_methods(Enumerable) doesn't work
It means you can't import methods defined in C, only methods defined with Ruby code.
Methods need to be defined in Ruby code to be affected by refinements (e.g. other refinements in that `refine` block or under `M`).
So for example this ...
Eregon (Benoit Daloze)
02:53 PM Bug #18385 (Closed): Refinement#import_methods(Enumerable) doesn't work
Very simple to reproduce:
```ruby
module M
refine String do
import_methods Enumerable
end
end
```
Leads to: `import_methods': Can't import method: Enumerable#drop (ArgumentError)`
Which, grepping through code, seems to b...
zverok (Victor Shepelev)
06:04 PM Revision 62957deb (git): README.md: Fix link to platform maintainers list
Follow up for 6bca410ae8b16238d02c868ce8fa1af13a5c4460
[ci skip]
alanwu (Alan Wu)
05:16 PM Bug #18386 (Third Party's Issue): bash-3.2$ pod install / GRDB on OSX 12.01. Monterey / M1 Max
Crash during installation of GRDB (https://github.com/groue/GRDB.swift#installation) on a MacBook Pro with M1 Max processor
last command was: pod install
Analyzing dependencies
/Library/Ruby/Gems/2.6.0/gems/ethon-0.15.0/lib/ethon/...
cschog (Chris Schog)
04:35 PM Revision 9733b7e3 (git): * 2021-12-05 [ci skip]
git[bot]
04:35 PM Revision 34b5e256 (git): YJIT: Enable out of memory tests
As of [1] and [2], YJIT has enough support for out of memory conditions
to pass these two basic tests.
OOM code paths are prone to bugs since they are rarely exercised in
common workloads. We might want to add CI runs that stress test t...
alanwu (Alan Wu)
04:29 PM Bug #17799: Seg fault in rb_class_clear_method_cache
I ran into this once again when I forgot to apply the patch in https://bugs.ruby-lang.org/issues/17799#note-3.
@tenderlovemaking Is it possible we're just missing a `RB_GC_GUARD`?
```diff
diff --git a/class.c b/class.c
index f17e7f053a...
stanhu (Stan Hu)
03:33 PM Misc #18335: openindiana ruby 3.1 --enable-dtrace requires debugflags="-g1"

Thanks, but I think this is partly a Ruby configuration issue.
The goal of "configure" is to find suitable configuration for the target operating system so that the build works on the target OS where configure is ran.
The Ruby co...
stes (David Stes)
12:48 PM Feature #17047: Support parameters for MAIL FROM and RCPT TO
How about this: https://github.com/ruby/net-smtp/pull/34
For example, to send `MAIL FROM:<sender@example.com> size=12345` and `RCPT TO:<rcpt@example.com> notify=success`:
```ruby
smtp.send_message("msg", Net::STMP::Address.new("sender@...
tommy (Masahiro Tomita)
10:55 AM Feature #15912: Allow some reentrancy during TracePoint events
I think the idea to explicitly `reopen`/allow recursive events is good.
For common usages of tracepoint I think it's a good idea to avoid any tracepoint event firing from a tracepoint handler,
but in such case such as the debugger exec...
Eregon (Benoit Daloze)
08:32 AM Feature #15912: Allow some reentrancy during TracePoint events
I took the liberty to re-add this to the next developer meeting because `ruby/debug` appear to have the same problem: https://github.com/ruby/debug/issues/408 byroot (Jean Boussier)
08:31 AM Misc #18346: DevelopersMeeting20211209Japan
* [Feature #15912] Allow some reentrancy during TracePoint event
* Alternative to `Module#const_added` for fixing the Zeitwerk and debuggers combinaison.
* @ko1 proposed `Tracepoint#reopen(&block)` so that debuggers can yield to th...
byroot (Jean Boussier)
07:29 AM Bug #18374 (Closed): make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
Applied in changeset commit:git|a4964174e26303524cee8c2d8523048b87137993.
----------
Fix circular dependencies specific to in-place build [Bug #18374]
* Move the rubyspec running recipe after the rule for rubyspec
C-API extension lib...
nobu (Nobuyoshi Nakada)
06:14 AM Bug #18374: make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
As for `ruby.pc`, this is due to `--with-ruby-pc=ruby.pc` specified for `configure` argument. Combined with [configure.ac#L4295-L4299](https://github.com/ruby/ruby/blob/1f4af993835219efa8feaf76a0b36252028691f1/configure.ac#L4295-L4299) a... xtkoba (Tee KOBAYASHI)
07:20 AM Revision 4a6ca129 (git): Remove unversioned phony target for pkgconfig file [Bug #18374]
It results in a circular dependency when `--with-ruby-pc=ruby.pc`
is given. [ci skip]
nobu (Nobuyoshi Nakada)
06:49 AM Feature #14835: Support TracePoint#raised_exception on non-:raise events
We cannot know how "return" events are triggered. It can be triggered by usual returns (return values), and also be triggered by raised exceptions (does not return values).
This also makes it impossible to know where the raised exceptio...
tagomoris (Satoshi Tagomori)
01:40 AM Revision a4964174 (git): Fix circular dependencies specific to in-place build [Bug #18374]
* Move the rubyspec running recipe after the rule for rubyspec
C-API extension library, so that separate dummy recipe is not
needed.
* Add a dummy recipe for rubyspec.h before the rubyspec running
recipe, so that the dependency of...
nobu (Nobuyoshi Nakada)
01:35 AM Revision d118e7c0 (git): Turn nd_type_p into an inline function
nobu (Nobuyoshi Nakada)
01:02 AM Revision f41b4d44 (git): YJIT: Bounds check every byte in the assembler
Previously, YJIT assumed that basic blocks never consume more than
1 KiB of memory. This assumption does not hold for long Ruby methods
such as the one in the following:
```ruby
eval(<<RUBY)
def set_local_a_lot
#{'_=0;'*0x40000}
end
R...
alanwu (Alan Wu)

12/03/2021

11:19 PM Feature #17881: Add a Module#const_added callback
I added the ticket back to the next developer meeting (Dec 9th) agenda. byroot (Jean Boussier)
11:13 PM Feature #17881: Add a Module#const_added callback
I thought `debug` didn't have this tracepoint issue, hence why I didn't bother to push this more. But if it does, then yes I do think we need to add non-tracepoint API for Zeitwerk.
What's too bad is that's it's a bit too late for 3.1...
byroot (Jean Boussier)
11:02 PM Feature #17881: Add a Module#const_added callback
I came across this issue when researching why `zeitwerk`-enabled applications can fail to autoload constants inside `ruby/debug` breakpoints (see issues below). It does seem that an alternative to the `:class` tracepoint like the one pr... brasic (Carl Brasic)
11:19 PM Misc #18346: DevelopersMeeting20211209Japan
- [Feature #17881] Add a Module#const_added callback
- Would allow the Zeitwerk autoloader to no longer use tracepoint.
- The main problem with Zeitwerk using tracepoint is that since tracepoint callbacks are not "reentrant" Zeitwe...
byroot (Jean Boussier)
08:58 PM Revision 3be06723 (git): NEWS for [GH-#5146] [ci skip] (#5210)
jhawthorn (John Hawthorn)
08:18 PM Revision c38c1d82 (git): [rubygems/rubygems] Let original EACCES error be raised
This block of code already wraps file operations with
`SharedHelpers.filesystem_access`, which rescues and re-raises more
friendly errors. Also, I'm not fully sure creating a temporary directory
can end up raising an `Errno::EACCES` erro...
deivid (David Rodríguez)
05:45 PM Revision 54ca530d (git): YJIT: Add ivar counter exits
On Rails we're seeing a lot of exits for ivars in the Active Record
tests. In trying to track them down it was hard to find what code is
exiting.
This change adds a counted exit for when an object is "megamorphic". In
these cases there ...
eileencodes (Eileen Uchitelle)
04:46 PM Revision 7fc9d83b (git): Fix link (#5208)
burdettelamar (Burdette Lamar)
03:45 PM Bug #18374: make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
vo.x (Vit Ondruch) wrote in #note-3:
> So looking into the source:defs/gmake.mk history (thx for the pointer), the commit:git|d1f0d1ca2ea4d7418b096ce71f68ce2bb3afd2c4 caught my eye. And indeed, reverting the [PR #4776](https://github.co...
vo.x (Vit Ondruch)
03:42 PM Bug #18374: make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
Carefully checking the logs, there is one more place with similar issue:
~~~
make: Circular ruby.pc <- ruby.pc dependency dropped.
~~~
vo.x (Vit Ondruch)
03:24 PM Bug #18374: make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
So looking into the source:defs/gmake.mk history (thx for the pointer), the commit:git|d1f0d1ca2ea4d7418b096ce71f68ce2bb3afd2c4 caught my eye. And indeed, reverting the [PR #4776](https://github.com/ruby/ruby/pull/4776) fixed the issue.
...
vo.x (Vit Ondruch)
01:30 PM Bug #18374: make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
This is the build [1], but for your convenience and because it will be garbage collected soon, I'll attach the full build.log (containing the messages) as well as root.log (which contains the full version list of components used during t... vo.x (Vit Ondruch)
03:44 PM Bug #18375: Timeout.timeout(sec, klass: MyExceptionClass) can not retry correctly.
jeremyevans0 (Jeremy Evans) wrote in #note-2:
> I don't think this is a bug, and I don't think timeout can work with your proposed code. There's no way the block-level `rescue` can work the way you want, since what you want requires the...
zw963 (Wei Zheng)
03:40 PM Feature #18181: Introduce Enumerable#min_with_value, max_with_value, and minmax_with_value
There's also a frequent similar problem with `#find` when you need to find the first matched value instead of entry. But since it involves two semantically different code parts, it a bit more complex and cannot be implemented nicely with... cvss (Kirill Vechera)
03:00 PM Feature #18181: Introduce Enumerable#min_with_value, max_with_value, and minmax_with_value
What about `min_with` ?
```ruby
%w(abcde fg hijk).min_with(&:size) # => ['fg', 2]
# ^min ^size
```
Dan0042 (Daniel DeLorme)
05:04 AM Feature #18181: Introduce Enumerable#min_with_value, max_with_value, and minmax_with_value
Just for confirmation, is it OK that `min_with_value` returns only a single value?
I don't like the name `_with_value`. It explains that the method returns an additional value with the minimum/maximum value, but no additional informatio...
matz (Yukihiro Matsumoto)
03:26 PM Revision 08153902 (git): Refactor GC functions to have consistent naming
Refactor function names for consistency. Function with name xyz_page
should have a corresponding function named xyz_plane.
peterzhu2118 (Peter Zhu)
03:04 PM Bug #18073: test/ruby/test_jit.rb: "error: invalid use of '__builtin_va_arg_pack ()'" on Ruby 2.7.4 on gcc 4.8.5
I run into a similar issue (in https://github.com/DataDog/dd-trace-rb/issues/1799); in my case, I was running the Semaphore CI Ruby image for 2.7.5 and when trying to run with JIT I get the same failures
```
semaphore@semaphore-vm:~$ ru...
ivoanjo (Ivo Anjo)
03:01 PM Revision 81eadd97 (git): * 2021-12-04 [ci skip]
git[bot]
03:01 PM Revision ec7f14d9 (git): Add `nd_type_p` macro
S_H_ (Shun Hiraoka)
02:44 PM Feature #18384: Pattern Match Object
> it leads to a proverbial rabbit hole
Probably, instead of a separate Patter Match class it would be enough to make a cosy shorthand creating a Proc that encloses a pattern matching code. That way, we avoid right now the need of the in...
cvss (Kirill Vechera)
09:23 AM Feature #18384: Pattern Match Object
There was an idea in the past, while various attempts to facilitate functional programming were considered, to deprecate a syntax like:
```ruby
%w[hello world].map(&:length)
```
With a new syntax of:
```ruby
%w[hello world].m...
hmdne (hmdne -)
08:35 AM Feature #18384: Pattern Match Object
I remember we briefly discussed the problem with @palkan and @matz in person at RubyConf'19, and, if the memory serves me, Matz said there was just no good syntax/semantics invented to put PM in a value.
If it could be achieved (and I...
zverok (Victor Shepelev)
07:06 AM Feature #18384: Pattern Match Object
See also this comment from Zverok: https://bugs.ruby-lang.org/issues/18369#note-11 baweaver (Brandon Weaver)
07:05 AM Feature #18384 (Open): Pattern Match Object
Related to discussion in #18369 it might be nice to have a literal syntax for constructing a single pattern match case outside of a one-liner.
Years ago in Qo I had done this via `===` to enable syntax like this:
```ruby
list_of_p...
baweaver (Brandon Weaver)
02:34 PM Feature #18275: Add an option to define_method to not capture the surrounding environment
~~Does `Ractor.make_shareable(proc{})` actually _do_ anything? It seem to only check if the proc is (can be?) shareable and raise an error otherwise, but it doesn't freeze any objects like `Ractor.make_shareable(obj)` usually does.~~
~~...
Dan0042 (Daniel DeLorme)
11:56 AM Feature #18275: Add an option to define_method to not capture the surrounding environment
+1 for `define_method(:show_a, shareable: true){p a}`.
That nicely avoids the issue of whether `Ractor.make_shareable(some_Proc)` should make the receiver shareable, which is in the unique case of `define_method` does not matter.
Eregon (Benoit Daloze)
03:42 AM Feature #18275 (Open): Add an option to define_method to not capture the surrounding environment
Eregon's comment #7 is true. This is why `Ractor.make_shareable(proc_object)` is supported.
So
```ruby
class C
a = 10
define_method(:show_a, &Ractor.make_shareable(pr))
end
Ractor.new{ C.new.show_a }.take
#=> 10
```
works complet...
ko1 (Koichi Sasada)
02:32 PM Feature #18279: ENV.merge! support multiple arguments as Hash.merge!
https://github.com/ruby/ruby/pull/5207 nobu (Nobuyoshi Nakada)
03:53 AM Feature #18279 (Assigned): ENV.merge! support multiple arguments as Hash.merge!
`Hash#merge!(*other)` accepts multiple values, so I think it is acceptable.
Matz, how about it?
ko1 (Koichi Sasada)
02:23 PM Feature #18369: users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" }
> Close enough?
Obviously :) But still a "hack". E.g. it is not a "value representing the pattern", this way we can talk ourselves into "we didn't need PM at all, we always could
```ruby
MY_PATTERN = -> { _1[:name] =~ /^B/ && _1[:age] ...
zverok (Victor Shepelev)
02:04 PM Feature #18369: users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" }
zverok (Victor Shepelev) wrote in #note-11:
> TBH, since pattern matching inception I hope for some way of putting patterns into values
Close enough?
```ruby
MY_PATTERN = proc{ _1 in {name: /^B/, age: 18..} }
people = [{:name=>"...
Dan0042 (Daniel DeLorme)
02:14 PM Bug #18373: Bundled gem (RBS, debug) extensions are not properly built
Can you provide the full log of the `build.log` showing the build error as an attachment of this ticket or somewhere?
jaruga (Jun Aruga)
01:35 AM Bug #18373: Bundled gem (RBS, debug) extensions are not properly built
What `make` command do you use? ko1 (Koichi Sasada)
02:09 PM Misc #18354: Lazily create singletons on instance_{exec,eval}
Bravo! This is really great work! Dan0042 (Daniel DeLorme)
12:52 AM Misc #18354 (Closed): Lazily create singletons on instance_{exec,eval}
Closed in 733500e9d02b11ff60fbbdb8daa43c2e9cfbd750 jhawthorn (John Hawthorn)
01:49 PM Feature #18033: Time.new to parse a string
Eregon (Benoit Daloze) wrote in #note-17:
> Hence, why not make `Time.iso8601` fast and a core method?
> ...
First, the primary target is the result of `Time#inspect`, and it is not fully compliant with ISO-8601.
Second, ISO-8601 allo...
nobu (Nobuyoshi Nakada)
01:21 PM Feature #18033: Time.new to parse a string
sawa (Tsuyoshi Sawada) wrote in #note-16:
> nobu (Nobuyoshi Nakada) wrote in #note-15:
> ...
The timezone name will be converted by `find_timezone` method on the class of a `Time` instance, so that subclasses can override it.
nobu (Nobuyoshi Nakada)
11:33 AM Feature #18033: Time.new to parse a string
Yes, `Kernel#Time(str)` seems better than `Time.new(str)`.
However I think being precise for parsing is key for times.
Hence, why not make `Time.iso8601` fast and a core method?
Then code already using the right method would just be...
Eregon (Benoit Daloze)
10:23 AM Feature #18033: Time.new to parse a string
nobu (Nobuyoshi Nakada) wrote in #note-15:
> I remember #18331 won't work with subclasses of `Time`.
Can you elaborate on that? Is your concern about certain frameworks using time-like classes other than `Time`? I don't see any probl...
sawa (Tsuyoshi Sawada)
06:54 AM Feature #18033: Time.new to parse a string
I remember #18331 won't work with subclasses of `Time`.
Does `Time.at("2021-12-04 02:00:00")` make sense?
nobu (Nobuyoshi Nakada)
04:07 AM Feature #18033: Time.new to parse a string
Eregon (Benoit Daloze) wrote in #note-10:
> Also it's technically incompatible (the first argument is always the year for `Time.new` and it even accepts strings):
> ...
I overlooked it.
May #18331 be better?
nobu (Nobuyoshi Nakada)
01:12 PM Revision 28fb6d6b (git): Adding links to literals and Kernel (#5192)
* Adding links to literals and Kernel burdettelamar (Burdette Lamar)
12:10 PM Misc #18335 (Third Party's Issue): openindiana ruby 3.1 --enable-dtrace requires debugflags="-g1"
OpenIndiana's gcc + gnu binutils + dtrace only work with `-g1` seems to be OpenIndiana specific problem and this should essentially be resolved in OpenIndiana.
As far as I can see, such problem is not reported in other platforms.
Acc...
ngoto (Naohisa Goto)
11:52 AM Feature #17721: Proc.new should be able to contruct a lambda
There is `Kernel.send(lambda ? :lambda : :proc) { ... }` if you really really need this.
But it's probably slow and Ruby implementations have troubles to optimize this as they have no idea when parsing if the block is for a proc or lamb...
Eregon (Benoit Daloze)
02:13 AM Feature #17721 (Feedback): Proc.new should be able to contruct a lambda
A correct status of a ticket whose description doesn't have a use cases or user stories to discuss the validness of the request and the actual API design is "Feedback".e naruse (Yui NARUSE)
11:27 AM Revision 324d57df (git): TestClass#test_subclass_gc reduce the number of iteration by 10x
The test was taking 10 seconds on my machine and did timeout
on CI once.
byroot (Jean Boussier)
11:00 AM Revision 0073f624 (git): [rubygems/rubygems] Don't unnecessarily loop twice through dependencies
https://github.com/rubygems/rubygems/commit/06b4a7994d deivid (David Rodríguez)
11:00 AM Revision 4c5e8624 (git): [rubygems/rubygems] Improve source gemfile/lockfile equivalence checks
Since we no longer have multiple global sources, each top level dependency is
always pinned to a single source, so it makes little sense to talk about
adding or removing a source. Instead, source changes always mean to
change the source ...
deivid (David Rodríguez)
11:00 AM Revision 248fae0e (git): [rubygems/rubygems] Improve sources representation
We have two representations of a source. Once used for sorting, which
should not depend on the source's state, but solely on its static
information, like remotes. Another one used for error and informational
messages, which should proper...
deivid (David Rodríguez)
11:00 AM Revision 7d974cc5 (git): [rubygems/rubygems] Don't overwrite locked dependency sources too early
Otherwise we hide some useful message about dependency source changes.
https://github.com/rubygems/rubygems/commit/c926673c5b
deivid (David Rodríguez)
11:00 AM Revision aa87780f (git): [rubygems/rubygems] Fix incorrect order in changed sources message
https://github.com/rubygems/rubygems/commit/6f1b5f68de deivid (David Rodríguez)
11:00 AM Revision ca65f7bb (git): [rubygems/rubygems] Remove unnecessary code
Somehow this is trying to relax frozen mode constraints for path
sources. It doesn't make sense to me and it's not covered by any spec so
I'm killing it.
https://github.com/rubygems/rubygems/commit/17c978e161
deivid (David Rodríguez)
11:00 AM Revision d19c266b (git): [rubygems/rubygems] Reuse `locked_dependencies` helper
It makes the code more consistent with the above line.
https://github.com/rubygems/rubygems/commit/f28d05a548
deivid (David Rodríguez)
11:00 AM Revision 901a2575 (git): [rubygems/rubygems] Reformat for consistency with the above line
https://github.com/rubygems/rubygems/commit/11193be3f1 deivid (David Rodríguez)
11:00 AM Revision 906b9578 (git): [rubygems/rubygems] Remove unnecessary nil checks
https://github.com/rubygems/rubygems/commit/d047b8935d deivid (David Rodríguez)
10:20 AM Feature #16456 (Closed): Ruby 2.7 argument delegation (...) should be its own kind of parameter in Method#parameters
On current master:
```ruby
irb(main):001:0> def foo(...); end
irb(main):002:0> p method(:foo).parameters
[[:rest, :*], [:keyrest, :**], [:block, :&]]
```
Which seems exactly the same semantics to what you'd get if you manually desugared...
Eregon (Benoit Daloze)
09:35 AM Revision e4c7c546 (git): Add tests of string argument to Time.at
nobu (Nobuyoshi Nakada)
09:18 AM Bug #18383: When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
mame (Yusuke Endoh) wrote in #note-8:
> Thank you. I guess it is a bug of sassc-ruby.
> ...
I fix it!!
Thanks a lot!
yuuyake9191 (Heppoko Neet)
09:10 AM Bug #18383 (Third Party's Issue): When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
Thank you. I guess it is a bug of sassc-ruby.
https://github.com/sass/sassc-ruby/issues/197
https://github.com/sass/sassc-ruby/issues/207
mame (Yusuke Endoh)
09:06 AM Bug #18383: When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
mame (Yusuke Endoh) wrote in #note-5:
> Sorry for the lack of clarity. I'd like to see the sections before the numbers start. This is an example of the full trace: https://bugs.ruby-lang.org/issues/18178
I hoped pasting as text, but ...
yuuyake9191 (Heppoko Neet)
08:31 AM Bug #18383: When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
Sorry for the lack of clarity. I'd like to see the sections before the numbers start. This is an example of the full trace: https://bugs.ruby-lang.org/issues/18178 mame (Yusuke Endoh)
08:19 AM Bug #18383: When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
mame (Yusuke Endoh) wrote in #note-3:
> Thanks. Unfortunately, the part I want to see is before
> ...
I tryied to get before 3443 somehow.
Is it enough fot you ?
if it is not, please let me know.
```
3154 /Users/daimetatsuru/.rben...
yuuyake9191 (Heppoko Neet)
07:34 AM Bug #18383: When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
Thanks. Unfortunately, the part I want to see is before
```
3443 /Users/daimetatsuru/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/actionview-7.0.0.alpha2/lib/action_view/path_set.rb
...
```
Maybe the part is gone since it exc...
mame (Yusuke Endoh)
07:00 AM Bug #18383: When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
mame (Yusuke Endoh) wrote in #note-1:
> Could you please paste all logs without omission? I guess the full terminal log is the most important.
Thank you for replying.
full error log is here.
it's pretty much long, sorry for that.
...
yuuyake9191 (Heppoko Neet)
05:33 AM Bug #18383: When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
Could you please paste all logs without omission? I guess the full terminal log is the most important. mame (Yusuke Endoh)
04:29 AM Bug #18383 (Third Party's Issue): When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
Terminal log is like this:
``` ruby
103bfa000-103bfb000 r-x /Users/daimetatsuru/.rbenv/versions/3.0.0/bin/ruby
103bfb000-103c08000 r-- /Users/daimetatsuru/.rbenv/versions/3.0.0/bin/ruby
103c08000-10403f000 r-- /Users/daimetatsuru/....
yuuyake9191 (Heppoko Neet)
09:04 AM Feature #18339: GVL instrumentation API
> could you try?
Sure. Would likely be a next year thing anyway.
However Is a new dedicated hook API ok? Since apparently making the tracepoint API usable outside the GVL would be very hard.
byroot (Jean Boussier)
04:09 AM Feature #18339: GVL instrumentation API
ah, it not easy to implement...
could you try?
ko1 (Koichi Sasada)
07:00 AM Revision dd6c59cd (git): Update bundled_gems at 2021-12-03
git[bot]
04:17 AM Revision 433a5a0e (git): [DOC] Fix Time.new description [ci skip]
nobu (Nobuyoshi Nakada)
04:04 AM Feature #18276 (Rejected): `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)`
Ok, I close this ticket. ko1 (Koichi Sasada)
03:56 AM Feature #18376: Version comparison API
I think it is useful for not just gem authors but also application developers.
In my known case of providing an SDK and API as service, version string compare is often used in parsing SDK version string on request from SDK to API server...
unasuke (Yusuke Nakamura)
03:41 AM Feature #14794 (Feedback): Primitive arrays (Ruby 3x3)
As far as I understand, this ticket proposes an optimization of the Array representation, for example, by using raw memory of `long*` when all the elements are Fixnums, or by using `double*` when all are Floats. The idea is interesting, ... mame (Yusuke Endoh)
02:41 AM Feature #14794: Primitive arrays (Ruby 3x3)
@ahorek I guess what you want is like `pandas.Series`. Is my speculation is correct? mrkn (Kenta Murata)
03:28 AM Feature #15504: Freeze all Range objects
Eregon (Benoit Daloze) wrote in #note-19:
> This issue title is a bit confusing, also https://bugs.ruby-lang.org/issues/15504#note-9.
> ...
I see. Not sure but maybe it is only implementation issue.
ko1 (Koichi Sasada)
03:13 AM Feature #14394: Class.descendants
Note:
The internal implementation of subclass iteration seems fragile (difficult to maintain) because it needs to manage with weakref. In fact, our CI shows SEGV in a few times in years (difficult to debug because of its rareness. But...
ko1 (Koichi Sasada)
03:08 AM Feature #18253: `ID` in `rb_id_table_foreach_with_replace`
Which patch, passing the ID, or removing ID argument? nobu (Nobuyoshi Nakada)
02:46 AM Bug #18244 (Closed): Unexpected errors output order
nobu (Nobuyoshi Nakada)
02:23 AM Bug #16908: Strange behaviour of Hash#shift when used with `default_proc`.
ioquatix (Samuel Williams) wrote in #note-8:
> Should we introduce some kind of deprecation or warning in 3.1?
Not allowed.
Ruby 3.1 shouldn't introduce anything which requests application developers to change something in their app...
naruse (Yui NARUSE)
01:46 AM Bug #8826 (Third Party's Issue): BigDecimal#div and #quo different behavior and inconsistencies
The behavior of `BigDecimal#div` to return an Integer isn't a bug but the specification of `Numeric#div`. `Float#div` also always returns an Integer.
It is a bug that `BigDecimal#div` doesn't accept a Float without precision. I'll f...
mrkn (Kenta Murata)
01:36 AM Bug #17813: rb_funcall() may reset the latest socket error unexpectedlly since Ruby 3.0.0
Ruby cannot guarantee that the state of WSA does not change between two method calls, because select is called internally when thread switch occurs.
So, the solution of fiddle (adding `Fiddle.win32_last_socket_error`) is unavoidable in ...
usa (Usaku NAKAMURA)

12/02/2021

11:53 PM Revision 733500e9 (git): Lazily create singletons on instance_{exec,eval} (#5146)
* Lazily create singletons on instance_{exec,eval}
Previously when instance_exec or instance_eval was called on an object,
that object would be given a singleton class so that method
definitions inside the block would be added to the ob...
jhawthorn (John Hawthorn)
11:41 PM Bug #18374: make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
I have never seen such messages in my environment, and cannot find ones in Ruby CI (disable-shared) or GitHub Actions (enable-shared).
Where are the circular dependencies defined? Does [defs/gmake.mk#L411-L424](https://github.com/ruby...
xtkoba (Tee KOBAYASHI)
10:43 PM Bug #18079: [PATCH] make error for MinGW with Clang/LLVM + LLD
This no longer happens, presumably fixed by commit:be9cc6c75865b24652d001f0f34f2e63180418c6. Thanks! xtkoba (Tee KOBAYASHI)
09:32 PM Bug #18373: Bundled gem (RBS, debug) extensions are not properly built
FYI, in my environment ruby-3.1.0-preview1 can be cross-installed without error for `aarch64-linux-android` target (with build host being `x86_64-linux-gnu`).
Some observation:
```
$ grep 'config\.h' /var/tmp/build/arm64-v8a/lib/r...
xtkoba (Tee KOBAYASHI)
09:01 PM Bug #18130 (Closed): Showing exceptions from Ractor on console causes errors
The GH ticket is closed, so I close it too. ko1 (Koichi Sasada)
09:01 PM Revision 1f4af993 (git): [rubygems/rubygems] Move required_ruby_version gemspec attribute to recommended section.
https://github.com/rubygems/rubygems/commit/de6552ac30 retro (Josef Šimánek)
08:59 PM Feature #18139 (Rejected): Add a method to stop/kill a Ractor from outside
Now Ractor is designed to "unexpected interruption free" (at least cross-ractor interruptions) so now it is not acceptable. Let's try without interrupts. ko1 (Koichi Sasada)
08:55 PM Feature #18253: `ID` in `rb_id_table_foreach_with_replace`
I don't think this was intentional. Nobu, can you apply the patch? (Or I can) tenderlovemaking (Aaron Patterson)
08:55 PM Bug #18120 (Assigned): Deadlock and segfault when using autoload in Ractor
ko1 (Koichi Sasada)
08:35 PM Feature #18047 (Feedback): TracePoint: Add event type for constant access
ko1 (Koichi Sasada)
08:17 PM Bug #17998 (Assigned): ractor: process hanging (with ractors initialized, but not being used)
ko1 (Koichi Sasada)
08:14 PM Feature #14835 (Feedback): Support TracePoint#raised_exception on non-:raise events
Sorry I can't understand the request.
Could you explain more?
ko1 (Koichi Sasada)
08:07 PM Feature #17785: Allow named parameters to be keywords
I personally like `\class` too. I run into the issue from time to time. ioquatix (Samuel Williams)
07:53 PM Misc #17502: C vs Ruby
> 1) be accessible to C extensions
I think it is better but not sure we can.
> ...
Do you mean Cython for Python?
> 3) has an easy way to define keyword parameters?
I believe the easiest way to write keywords is written in Ru...
ko1 (Koichi Sasada)
07:41 PM Feature #18369: users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" }
> it would be nice to have syntax that allows to shorten one-line matchers for predicates where they would be commonly used
TBH, since pattern matching inception I hope for some way of putting patterns into values—to store them in con...
zverok (Victor Shepelev)
05:58 PM Feature #18369: users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" }
Pattern Matching may make a very interesting tie-in here for a short-hand:
```ruby
# Struct provides built-in pattern matching abilities
Person = Struct.new(:first_name, :last_name, :age)
jim = Person.new("Jim", "Smith", 30)
jil...
baweaver (Brandon Weaver)
04:16 PM Feature #18369: users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" }
cvss (Kirill Vechera) wrote in #note-8:
> It's a good occasion to use the composition of Proc/Method objects:
> ...
Your trick forces the use of Yoda conditions, which may be tricky and cryptic.
sawa (Tsuyoshi Sawada)
01:52 PM Feature #18369: users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" }
It's a good occasion to use the composition of Proc/Method objects:
``` ruby
collection.detect(&:first_name.to_proc>>"Dorian".method(:==))
```
If we had a shorthand operator for Object#method (#12125), it would look nicer:
``` ruby
co...
cvss (Kirill Vechera)
06:00 AM Feature #18369: users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" }
Since `Enumerable#detect` or `Enumerable#find` has the argument for the different purpose, I think that the extension in this way is not acceptable and should be a separate method.
The "arguments after a block" is one of rejected idea...
nobu (Nobuyoshi Nakada)
07:40 PM Bug #17840 (Closed): `make install` overriding file permission with 644
So far my understanding is the `make install` overriding file permission with 644 is specification. In my case with the downstream Ruby on Fedora if we want to keep the file permission as 755, we can run the following command as suggeste... jaruga (Jun Aruga)
07:35 PM Feature #17721: Proc.new should be able to contruct a lambda
Why a new ticket? What's wrong with this one? If you wanted clarification you didn't have to close it, and even now you can still reopen.
As to the substance, if you want to transform an existing proc or lambda in a way that involves ...
bughit (bug hit)
06:45 PM Feature #17721 (Rejected): Proc.new should be able to contruct a lambda
could you make new ticket with more motivation/example/discussion? ko1 (Koichi Sasada)
07:24 PM Bug #14090 (Assigned): `TestGc#test_interrupt_in_finalizer` fails very rarely
ko1 (Koichi Sasada)
07:21 PM Bug #17826 (Assigned): Ractor#take hangs if used in multiple Threads
ko1 (Koichi Sasada)
06:57 PM Bug #17765 (Feedback): Segmentation fault when calling String#gsub
ko1 (Koichi Sasada)
06:31 PM Feature #17670 (Closed): Improve performance Float#to_i
closed on GH PR ko1 (Koichi Sasada)
06:07 PM Bug #18382 (Closed): Crash in compaction for ObjectSpace.trace_object_allocations
Applied in changeset commit:git|9f0c6f20c58067923864575b60af730d191b8f6c.
----------
[Bug #18382] Fix crash in compaction for ObjectSpace.trace_object_allocations
ObjectSpace.trace_object_allocations can crash when auto-compaction is
e...
peterzhu2118 (Peter Zhu)
04:20 PM Bug #18382 (Closed): Crash in compaction for ObjectSpace.trace_object_allocations
# GitHub PR: https://github.com/ruby/ruby/pull/5202
`ObjectSpace.trace_object_allocations` can crash with auto-compaction. The following script demonstrates the crash:
```ruby
require "objspace"
GC.auto_compact = true
GC.str...
peterzhu2118 (Peter Zhu)
06:06 PM Revision 9f0c6f20 (git): [Bug #18382] Fix crash in compaction for ObjectSpace.trace_object_allocations
ObjectSpace.trace_object_allocations can crash when auto-compaction is
enabled.
peterzhu2118 (Peter Zhu)
05:01 PM Revision fbc16157 (git): YJIT: Fix side-exit typo in comments [ci skip]
HParker (Adam Hess)
04:56 PM Feature #18376: Version comparison API
Sorry @Austin, I was actually replying to @vo.x in my previous comment, but our comments crossed. Anyways, I don't have much to add, really! deivid (David Rodríguez)
04:54 PM Feature #18376: Version comparison API
Of course, but I believe most people who need this are gem authors, and most gem authors use rubygems. People developing apps usually support a single version of gems or ruby, so generally don't need this kind of feature? I think most Ru... deivid (David Rodríguez)
04:50 PM Feature #18376: Version comparison API
deivid (David Rodríguez) wrote in #note-15:
> I'm definitely aware that this is used for what you point out. But most gem authors just use it and don't worry about "what if rubygems is not available?", which I think it's reasonable beca...
austin (Austin Ziegler)
04:42 PM Feature #18376: Version comparison API
deivid (David Rodríguez) wrote in #note-15:
> But most gem authors
This is OT, but just FTR, I might be considered "gem author", but I am Ruby developer on the first place. RubyGems are mostly convenient way of code distribution, but...
vo.x (Vit Ondruch)
04:32 PM Feature #18376: Version comparison API
There is probably more to this issue.
1. On the first place, I'd love if everybody used introspection instead of version checks. We would not need to have this conversation. But honestly, I don't really know how to detect the kwargs.
...
vo.x (Vit Ondruch)
04:11 PM Feature #18376: Version comparison API
I'm definitely aware that this is used for what you point out. But most gem authors just use it and don't worry about "what if rubygems is not available?", which I think it's reasonable because rubygems is part of ruby and they are devel... deivid (David Rodríguez)
03:28 PM Feature #18376: Version comparison API
deivid (David Rodríguez) wrote in #note-11:
> > RubyGems could adopt this API and slowly phase out its own version.
> ...
I have at least two libraries that I maintain using the `Gem::Version` API for feature enablement or back-port su...
austin (Austin Ziegler)
10:45 AM Feature #18376: Version comparison API
That feature request was rejected by Matz because of not being common enough, and nothing seems to have changed in that regard. deivid (David Rodríguez)
10:35 AM Feature #18376: Version comparison API
`String#version_compare` (#5861) would likely be a much less invasive way to add this, and so probably better. Eregon (Benoit Daloze)
09:56 AM Feature #18376: Version comparison API
> RubyGems could adopt this API and slowly phase out its own version.
Thanks for bringing that up. The more I think about it, the more I dislike it. I don't think version comparison is common enough to be something builtin to core, le...
deivid (David Rodríguez)
08:16 AM Feature #18376: Version comparison API
If you are saying we want to use some rubygems feature with --disable-gems, we need to raise #17684 again. naruse (Yui NARUSE)
07:47 AM Feature #18376: Version comparison API
`::Version` will be conflict with `optparse`'s convention. Probably we need to consider the naming.
ref: https://github.com/ruby/ruby/blob/fe506d7945788f4c3243e9ec25c20c5dbd315073/lib/optparse.rb#L1208-L1213
pocke (Masataka Kuwabara)
03:56 PM Revision 6b64e788 (git): [ruby/irb] Examine indentation of in keyword when trying to type include
Use in_keyword_case_scope?
Return fast
https://github.com/ruby/irb/commit/8acc7f8dc7
kaiquekandykoga (Kaíque Koga)
03:51 PM Revision d486286f (git): [ruby/irb] Add Alt+d keycode when convert-meta isn't used
I pushed reline#389 for when convert-meta is not turned on in .inputrc.
Alt+D in irb also needs to be set to the keycode for not using convert-meta.
https://github.com/ruby/irb/commit/328eddf851
ima1zumi (Mari Imaizumi)
03:48 PM Bug #18377: Integer#times has different behavior depending on the size of the integer
jemmai (Jemma Issroff) wrote in #note-4:
> Thanks for the quick response Jeremy! I'm very new to opening issues on here and making fixes on Ruby. Quick question on process though - I had basically that PR written already. Should I have ...
jeremyevans0 (Jeremy Evans)
02:36 PM Bug #18377: Integer#times has different behavior depending on the size of the integer
Thanks for the quick response Jeremy! I'm very new to opening issues on here and making fixes on Ruby. Quick question on process though - I had basically that PR written already. Should I have linked it above?
I had thought (maybe in...
jemmai (Jemma Issroff)
12:22 AM Bug #18377 (Closed): Integer#times has different behavior depending on the size of the integer
Applied in changeset commit:git|fe1725236c8a4d6cb780874c470f7f443185ed38.
----------
Don't call + and < in Integer.times for !FIXNUM
The methods aren't called for FIXNUM, and it's best to have
consistent behavior.
Fixes [Bug #18377]
jeremyevans (Jeremy Evans)
03:42 PM Revision dcbe29d2 (git): [ruby/irb] Fix bug infinite loop when pasting multilines fo code in Ruby 2.6
Fix bug infinite loop when pasting multilines fo code in Ruby 2.6.
This is not reproduced in Ruby 2.7.
Changes added in https://github.com/ruby/irb/pull/242/files#diff-612b926e42ed78aed1a889ac1944f7d22229b3a489cc08f837a7f75eca3d3399R155 ...
osyo (manga osyo)
03:39 PM Revision 4d4716d9 (git): [ruby/reline] No need to check `x > 0`
Checked in the previous line.
https://github.com/ruby/reline/commit/bf774c0f2c
ima1zumi (Mari Imaizumi)
03:14 PM Revision 0b22e3e1 (git): * 2021-12-03 [ci skip]
git[bot]
03:14 PM Revision f7bdfb39 (git): Don't clear the constant cache when finishing compaction
References are being updated correctly, so this is no longer necessary eightbitraptor (Matt V-H)
02:41 PM Revision ca33b590 (git): [ruby/reline] fix `TerminfoError` -> `Reline::Terminfo::TerminfoError`
https://github.com/ruby/reline/commit/c07b0ace6a ima1zumi (Mari Imaizumi)
02:41 PM Revision 697d7b8d (git): [ruby/reline] Rescue if tigetstr(capname) cannot be obtained
fix https://github.com/ruby/reline/issues/384
If `$TERM` is `vt102`, there are no `kend`, `khome`, `civis`, or `cnorm` in capabilities.
`TerminfoError` is raised in `Reline::Terminfo.tigetstr(capname)`, so it is rescued if it does not e...
ima1zumi (Mari Imaizumi)
02:19 PM Bug #18381: Default vs Bundled gems
💡Not sure if this helps, but [Ruby Standard Gems](https://stdgems.org) is always a great source of reference. I use it often, myself. bkuhlmann (Brooke Kuhlmann)
01:24 PM Bug #18381 (Closed): Default vs Bundled gems
Could there be documented what is the difference between default and bundled gems? E.g.
* Are the Bundled gems considered a part of StdLib or not?
* What is general strategy for the future, seeing more and more gems moving from defau...
vo.x (Vit Ondruch)
02:00 PM Feature #12125: Proposal: Shorthand operator for Object#method
One more use case - method composition, for example from #18369:
``` ruby
collection.detect(&:first_name>>"Dorian".:==)
```
cvss (Kirill Vechera)
01:21 PM Revision 3f1dcd7f (git): Cache downloaded files
Cache downloaded external libraries/gems, which are expected not
changed so frequently.
Also sometimes downloading from zlib returns the current time as
the date header in unexpected format, and checksums mismatch at
that time.
nobu (Nobuyoshi Nakada)
12:13 PM Revision 60fc8dda (git): update-bundled_gems.rb: Fix typo and version comparison
nobu (Nobuyoshi Nakada)
09:29 AM Revision 524a808d (git): Define Ripper::Lexer::Elem#to_s
Alias `#inspect` as `#to_s` also in the new `Ripper::Lexer::Elem`
class, so that `puts Ripper::Lexer.new(code).scan` shows the
attributes.
nobu (Nobuyoshi Nakada)
09:10 AM Revision 39f2b4f1 (git): [rubygems/rubygems] This warrants a comment
https://github.com/rubygems/rubygems/commit/8fa29e5e55 deivid (David Rodríguez)
09:10 AM Revision cf882713 (git): [rubygems/rubygems] Fix gemspec source unlocking also for prereleases like 0.0.0.SNAPSHOT
The default prerelease requirement in rubygems doesn't actually match
things like "0.0.0.SNAPSHOT".
https://github.com/rubygems/rubygems/commit/711498b342
deivid (David Rodríguez)
09:10 AM Revision 2a15b28a (git): [rubygems/rubygems] Fix materialization of locked 0 prereleases
Since the default requirement in rubygems is ">= 0", it was failing to
match 0 prereleases. Changing the default globally to be ">= 0.a"
instead is a major refactoring that's quite tricky to make backwards
compatible, so I'm special casi...
deivid (David Rodríguez)
08:32 AM Bug #18380 (Closed): TestAddressResolve#test_socket_getnameinfo_domain_blocking test failures
Testing Ruby 3.1.0, I observe the following test failure:
~~~
2) Error:
TestAddressResolve#test_socket_getnameinfo_domain_blocking:
SocketError: getnameinfo: Temporary failure in name resolution
/builddir/build/BUILD/ruby-3....
vo.x (Vit Ondruch)
08:29 AM Bug #18378: Parsing CSV files from ARGF not working correctly anymore (it stopped working starting from Ruby 2.5)
Okay, thank you, I reported it there Fravadona (Frava Dona)
02:02 AM Bug #18378 (Third Party's Issue): Parsing CSV files from ARGF not working correctly anymore (it stopped working starting from Ruby 2.5)
Could you report this to https://github.com/ruby/csv ? kou (Kouhei Sutou)
01:05 AM Bug #18378 (Third Party's Issue): Parsing CSV files from ARGF not working correctly anymore (it stopped working starting from Ruby 2.5)
Hi everyone,
I noticed that, starting from Ruby 2.5, parsing multiple CSV files from `ARGF` stops after reading first *input*.<br>
For example, the simple one-liner:
``` shell
ruby -r csv -e 'CSV.new(ARGF).each{|row| p row}' fi...
Fravadona (Frava Dona)
07:58 AM Misc #18335: openindiana ruby 3.1 --enable-dtrace requires debugflags="-g1"
Thanks for explaining. Indeed, I tested I can confirm that,
by default it seems to set debugflags to "-g3" (or -ggdb3 actually) but I think -ggdb3 is equivalent to -g3.
So by default it uses level 3 debug info -ggdb3.
For the --enab...
stes (David Stes)
07:45 AM Misc #16980 (Closed): Improve documentation on JSON#parse and JSON#parse!
Merged at https://github.com/flori/json/commit/75ada77b9664c1d1f0ae6e210f8db4919849561e hsbt (Hiroshi SHIBATA)
07:07 AM Revision fe506d79 (git): [MSWin] Stop passing non-numeric string to `exit` command
nobu (Nobuyoshi Nakada)
06:55 AM Revision 8944009b (git): Deprecate `Lexer::Elem#[]` and `Lexer::State#[]`
Discussed in https://github.com/ruby/ruby/pull/5093#issuecomment-964426481.
> it would be enough to mimic only [] for almost all cases
This adds back the `Lexer::Elem#[]` and `Lexer::State#[]` and adds deprecation warnings for them.
schneems (Richard Schneeman)
06:55 AM Revision 2b22c935 (git): Compatibility with IRB
Instead of accessing the struct as an array, access it via methods. There are other places inside of this file already using this API (for example https://github.com/ruby/ruby/blob/e0a5c3d2b71dfad038d7562fdd33f02ffd79232d/lib/irb/ruby-le... schneems (Richard Schneeman)
06:55 AM Revision 3685b5af (git): Only iterate Lexer heredoc arrays
The last element in the `@buf` may be either an array or an `Elem`. In the case it is an `Elem` we iterate over every element, when we do not need to. This check guards that case by ensuring that we only iterate over an array of elements. schneems (Richard Schneeman)
06:55 AM Revision 3f74eaa7 (git): ~1.10x faster Change Ripper.lex structs to classes
## Concept
I am proposing we replace the Struct implementation of data structures inside of ripper with real classes.
This will improve performance and the implementation is not meaningfully more complicated.
## Example
Struct versus...
schneems (Richard Schneeman)
06:53 AM Revision 6721ce1c (git): Cast tv_usec to int32_t to fit in tv_nsec
suseconds_t, which is the type of tv_usec, may be defined with a longer
size type than tv_nsec's type (long). So usec to nsec conversion needs
an explicit casting.
katei (Yuta Saito)
03:28 AM Revision a7d0c2c4 (git): Needs to update revision.h unless existing [ci skip]
nobu (Nobuyoshi Nakada)
03:05 AM Misc #18371: Release branches (release information in general)
On 2021-12-02 09:24, tenderlovemaking (Aaron Patterson) wrote:
> Issue #18371 has been updated by tenderlovemaking (Aaron Patterson).
>
>
> Eregon (Benoit Daloze) wrote in #note-2:
>>> when the first preview is shipped
>>
>> Do...
duerst (Martin Dürst)
02:44 AM Misc #18371: Release branches (release information in general)
tenderlovemaking (Aaron Patterson) wrote in #note-3:
> So is RC the point when we create a branch? I guess I'm just not clear on when release branches get made.
The trend for the past few years has been to branch on the day of the o...
mame (Yusuke Endoh)
02:13 AM Misc #18371 (Assigned): Release branches (release information in general)
>I guess I'm just not clear on when release branches get made.
It's totally release manager's convenience.
hsbt (Hiroshi SHIBATA)
12:24 AM Misc #18371: Release branches (release information in general)
Eregon (Benoit Daloze) wrote in #note-2:
> > when the first preview is shipped
> ...
So is RC the point when we create a branch? I guess I'm just not clear on when release branches get made.
tenderlovemaking (Aaron Patterson)
02:23 AM Bug #18379 (Closed): [CI] Windows mingw/ucrt - test-all timeout failures
Recently there was another test-all timeout failure on a Windows mingw or ucrt job. These are intermittent failures, and the last indicated that the test suite had passed.
See https://github.com/ruby/ruby/runs/4389116424?check_suite_...
MSP-Greg (Greg L)
12:21 AM Revision fe172523 (git): Don't call + and < in Integer.times for !FIXNUM
The methods aren't called for FIXNUM, and it's best to have
consistent behavior.
Fixes [Bug #18377]
jeremyevans (Jeremy Evans)

12/01/2021

11:50 PM Revision e387458d (git): Ignore to generate the documentation from vendored libraries
hsbt (Hiroshi SHIBATA)
11:06 PM Bug #17836: JIT fails to create a precompiled header with Clang
ruby_3_0 69272c74a3f675373fc6c6f32b685620da8a85ee merged revision(s) 9f8a50723f8a84b3e4755b418570148f422d1b28. nagachika (Tomoyuki Chikanaga)
11:05 PM Revision 69272c74 (git): merge revision(s) 9f8a50723f8a84b3e4755b418570148f422d1b28: [Backport #17836]
Specify -c to emit pch with clang (#4423)
[Bug #17836]
---
mjit_worker.c | 1 +
1 file changed, 1 insertion(+)
nagachika (Tomoyuki Chikanaga)
11:04 PM Bug #13392 (Closed): TracePoint return event location is incorrect for methods defined with define_method
Applied in changeset commit:git|9121e57a5f50bc91bae48b3b91edb283bf96cb6b.
----------
Rework tracing for blocks running as methods
The main impetus for this change is to fix [Bug #13392]. Previously, we
fired the "return" TracePoint eve...
alanwu (Alan Wu)
11:03 PM Revision 5c5974db (git): merge revision(s) 44d67128a827c65d1a3867c5d8fd190d10aa1dd2:
test/openssl/test_cipher: skip AES-CCM tests on OpenSSL <= 1.1.1b
AES CCM mode in OpenSSL <= 1.1.1b was overly strict in the parameters
assignment order. This has been relaxed by OpenSSL 1.1.1c.
https://github.c...
nagachika (Tomoyuki Chikanaga)
10:59 PM Feature #18376: Version comparison API
RubyGems could adopt this API and slowly phase out its own version. vo.x (Vit Ondruch)
09:24 PM Feature #18376: Version comparison API
Yeah, I still think it's completely overkill, and people will be confused because we will have two different things that do the same thing. deivid (David Rodríguez)
08:36 PM Feature #18376: Version comparison API
Note that for default gems (which ffi is on jruby/truffleruby) it's also not possible to use RubyGems, so I think there is a non-trivial amount of cases.
Additionally, if people use bundler standalone mode, there is also no RubyGems l...
Eregon (Benoit Daloze)
05:55 PM Feature #18376: Version comparison API
My opinion is that the right place for this functionality is RubyGems and that adding/duplicating it as builtin functionality because someone might need it before rubygems is loaded, or while using `--disable-gems` is overkill. deivid (David Rodríguez)
05:47 PM Feature #18376: Version comparison API
Eregon (Benoit Daloze) wrote in #note-1:
> One issue I could imagine is different version conventions and how to compare them.
Opportunity for standardization? :) RubyGems with their version checking are doing that anyway.
vo.x (Vit Ondruch)
05:08 PM Feature #18376: Version comparison API
I think this could be useful.
I've seen several cases like this, notably I remember https://github.com/ffi/ffi/blob/master/lib/ffi.rb.
There is a workaround there: `(RUBY_ENGINE_VERSION.split('.').map(&:to_i) <=> [20, 1, 0]) >= 0` sinc...
Eregon (Benoit Daloze)
04:56 PM Feature #18376 (Open): Version comparison API
Is there a chance to have version comparison API? For example if `Gem::Version` was extracted into `::Version`. This idea was triggered by this PR [1] and [2], where the `Gem::Version` API is used for comparing Ruby versions. While RubyG... vo.x (Vit Ondruch)
10:42 PM Revision 9121e57a (git): Rework tracing for blocks running as methods
The main impetus for this change is to fix [Bug #13392]. Previously, we
fired the "return" TracePoint event after popping the stack frame for
the block running as method (BMETHOD). This gave undesirable source
location outputs as the ret...
alanwu (Alan Wu)
09:44 PM Bug #18377: Integer#times has different behavior depending on the size of the integer
Eregon (Benoit Daloze) wrote in #note-1:
> The inconsistency for bignums is indeed surprising, I think that is worth fixing in CRuby.
Agreed. Here's a pull request to make bignums operate like fixnums: https://github.com/ruby/ruby/p...
jeremyevans0 (Jeremy Evans)
08:42 PM Bug #18377: Integer#times has different behavior depending on the size of the integer
I think this should remain unspecified, or explicitly mention both behavior (respecting +, < or not) are valid.
For instance it's been shown rewriting `Integer#times` in Ruby is beneficial for JITs (among other things it also enables in...
Eregon (Benoit Daloze)
05:05 PM Bug #18377 (Closed): Integer#times has different behavior depending on the size of the integer
If we redefine `+` or `>`, `Integer#times` adheres to this redefinition for big integers but not for small integers.
Reproduction script to run on Ruby 3.0.2:
```
ARGV.first.to_i.times do
Integer.undef_method(:+)
Integer.def...
jemmai (Jemma Issroff)
09:41 PM Bug #18375 (Rejected): Timeout.timeout(sec, klass: MyExceptionClass) can not retry correctly.
I don't think this is a bug, and I don't think timeout can work with your proposed code. There's no way the block-level `rescue` can work the way you want, since what you want requires the `timeout` method be called again.
This code:...
jeremyevans0 (Jeremy Evans)
12:28 PM Bug #18375 (Rejected): Timeout.timeout(sec, klass: MyExceptionClass) can not retry correctly.
Following is a example for describe this issue.
```rb
class DelayError < Exception
end
Timeout.timeout(2, DelayError) do |arg|
puts 'start'
sleep 10
rescue DelayError
puts '*'*10
retry
end
```
Will output
```...
zw963 (Wei Zheng)
09:07 PM Bug #18260 (Closed): YJIT uses insecure mmap protections
Fixed by commit:157095b3a44d8b0130a532a0b7be3f5ac197111c jeremyevans0 (Jeremy Evans)
08:46 PM Revision 3b2b28d0 (git): Revert "Force disable yjit on OpenBSD"
This reverts commit 119626da947bf6492ef7a27abf3bf12de5d0d95a. tenderlovemaking (Aaron Patterson)
08:45 PM Revision 4079f0da (git): Check that cb / ocb exist before marking executable
If YJIT isn't enabled, or hasn't finished booting, cb / ocb could be
null. This commit just checks to make sure they're available before
marking as executable
Co-Authored-By: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify....
tenderlovemaking (Aaron Patterson)
08:45 PM Revision 157095b3 (git): Mark JIT code as writeable / executable depending on the situation
Some platforms don't want memory to be marked as writeable and
executable at the same time. When we write to the code block, we
calculate the OS page that the buffer position maps to. Then we call
`mprotect` to allow writes on that part...
tenderlovemaking (Aaron Patterson)
07:43 PM Revision 94ee88b3 (git): [rubygems/rubygems] Provide distinguished name which will be correctly parsed.
It seems that since ruby openssl 2.1.0 [[1]], the distinguished name
submitted to `OpenSSL::X509::Name.parse` is not correctly parsed if it
does not contain the first slash:
~~~
$ ruby -v
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) ...
Vít Ondruch
05:25 PM Revision eb7ec00d (git): * 2021-12-02 [ci skip]
git[bot]
05:25 PM Revision d0772632 (git): YJIT: Fail gracefully while OOM for new entry points
Previously, YJIT crashes with rb_bug() when asked to compile new methods
while out of executable memory.
To handle this situation gracefully, this change keeps track of all the
blocks compiled each invocation in case YJIT runs out of me...
alanwu (Alan Wu)
02:24 PM Misc #18371: Release branches (release information in general)
> when the first preview is shipped
Do you mean when the first RC is shipped?
Previews can be early in the dev cycle and don't prevent new features being added after AFAIK.
Eregon (Benoit Daloze)
11:57 AM Bug #18373: Bundled gem (RBS, debug) extensions are not properly built
I have downgraded RBS to 1.6.2, but the same issue suffers (not surprisingly) debug:
~~~
Building native extensions. This could take a while...
/builddir/build/BUILD/ruby-3.1.0-a84dc9d80d/lib/rubygems/ext/builder.rb:95:in `run': ERR...
vo.x (Vit Ondruch)
11:11 AM Bug #18373 (Closed): Bundled gem (RBS, debug) extensions are not properly built
Trying to build Ruby 3.1.0 preview1 (or the current snapshot), I observe the following issue during installation of bundled RBS:
~~~
Building native extensions. This could take a while...
/builddir/build/BUILD/ruby-3.1.0-0b53a8895f/...
vo.x (Vit Ondruch)
11:43 AM Bug #18374 (Closed): make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
The build log contains plenty of messages such as:
~~~
... snip ...
make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
make: Circular spec/ruby/optional/capi/ex...
vo.x (Vit Ondruch)
09:54 AM Bug #18353 (Closed): Czech keyboard input encoding on czech Windows
Applied in changeset commit:git|37cd35aea8afa35476640e454eaf2c53150dc014.
----------
[win32] Transcode input from console [Bug #18353]
On Windows, as the input from console is encoded in the active
code page, convert the input to the i...
nobu (Nobuyoshi Nakada)
09:54 AM Revision a84dc9d8 (git): [win32] skip example about STDIN encodings
nobu (Nobuyoshi Nakada)
09:54 AM Revision 37cd35ae (git): [win32] Transcode input from console [Bug #18353]
On Windows, as the input from console is encoded in the active
code page, convert the input to the internal encoding.
nobu (Nobuyoshi Nakada)
08:16 AM Feature #18367: Stop the interpreter from escaping error messages
Dan0042 (Daniel DeLorme) wrote in #note-7:
> I'm not sure it makes sense to allow ANSI escapes that can _only_ result in broken formatting.
Good point. If you want to control attribution, I think you have to reset it by `\e[0m` at th...
mame (Yusuke Endoh)
05:59 AM Bug #18372 (Closed): Need to backport 43a3c88187dcd54ba008834a865e50eb28a78de9
To get rid of compile warning of (newer) VC++ usa (Usaku NAKAMURA)
02:00 AM Revision 0b53a889 (git): Merge rubygems master fd676ac464491afaa0baf5435cb11b3f86229cbd
hsbt (Hiroshi SHIBATA)
12:53 AM Revision 9f4bdeb4 (git): Removed vcr files. They are needless for this repo
hsbt (Hiroshi SHIBATA)

11/30/2021

11:33 PM Misc #18371: Release branches (release information in general)
In recent years, we released the final version of new release from master branch directly. Because creating the release branch before the final release is hard work to backport for release manager. hsbt (Hiroshi SHIBATA)
10:52 PM Misc #18371 (Assigned): Release branches (release information in general)
Hi,
I was trying to learn about Ruby's release process. I noticed that we don't create a release branch until the final version is shipped. Is there a reason we don't create the release branch when the first preview is shipped? The...
tenderlovemaking (Aaron Patterson)
10:15 PM Revision 3eac05c7 (git): * 2021-12-01 [ci skip]
git[bot]
10:15 PM Revision b68217ff (git): [rubygems/rubygems] Update bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt
https://github.com/rubygems/rubygems/commit/8836fe157b
Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
olleolleolle (Olle Jonsson)
10:15 PM Revision 46a24f7e (git): [rubygems/rubygems] Update main.yml.tt
https://github.com/rubygems/rubygems/commit/3260173c59 olleolleolle (Olle Jonsson)
10:15 PM Revision a7fd6394 (git): [rubygems/rubygems] newgem tmpl: ruby as "2.7" in GH Actions matrix
https://github.com/rubygems/rubygems/commit/f5bead5634 olleolleolle (Olle Jonsson)
10:15 PM Revision 42efb8c1 (git): [rubygems/rubygems] newgem templ: Avoid Float 3.0 -> "3" in GH Action
This change avoids a YAML Float-to-String conversion, which turns a 3.0 into a "3". That can make names of builds less clear.
In order to use this new capability, I added a "name" descriptor to the matrix-created Job.
https://github.co...
olleolleolle (Olle Jonsson)
07:07 PM Feature #18367: Stop the interpreter from escaping error messages
How is this supposed to interact with the default highlighting?
-e:1:in `<main>': **\e[31mRed\e[0m error (_RuntimeError_)**
If the ANSI escape codes are not escaped, the `\e[0m` would reset the formatting early and it would look l...
Dan0042 (Daniel DeLorme)
09:14 AM Feature #18367: Stop the interpreter from escaping error messages
Eregon (Benoit Daloze) wrote in #note-2:
> To clarify, does this affect only `full_message` and the default exception "printer"?
This affects only the exception "printer". `full_message` does not apply the escaping.
```
$ ruby -e...
mame (Yusuke Endoh)
09:12 AM Feature #18367: Stop the interpreter from escaping error messages
Thanks, I have created a PR: https://github.com/ruby/ruby/pull/5195 mame (Yusuke Endoh)
06:11 AM Feature #18367: Stop the interpreter from escaping error messages
+1 matz (Yukihiro Matsumoto)
03:47 PM Misc #18346: DevelopersMeeting20211209Japan
- [Feature #18364] Add `GC.stat_pool` for Variable Width Allocation (peterzhu2118)
- This feature will allow accessing stats for memory pools through Ruby. This will be especially useful for the Variable Width Allocation feature.
-...
peterzhu2118 (Peter Zhu)
02:37 PM Misc #18346: DevelopersMeeting20211209Japan
* [Feature #18370] Call Exception#full_message to print exceptions reaching the top-level (eregon)
* Improve consistency in how exceptions are shown, and makes it easier to evolve exception formatting.
* OK to do?
Eregon (Benoit Daloze)
02:36 PM Feature #18370 (Closed): Call Exception#full_message to print exceptions reaching the top-level
Extracted from https://bugs.ruby-lang.org/issues/18296#note-6.
I think this a clear gain to improve consistency in how exceptions are shown, and it also makes it easier to evolve exception formatting in the future.
It would also so...
Eregon (Benoit Daloze)
02:28 PM Feature #18369: users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" }
Maybe the feature would be to be possible to have arguments after a block, e.g.
```ruby
def detect(&block, value)
User.all.detect { |user| block.call(user) == value }
end
detect(&:first_name, "Dorian")
```
dorianmariefr (Dorian Marié)
02:21 PM Feature #18369: users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" }
I think that is too specific to be a part of Ruby core. I don't think this feature would be accepted.
I think you can define a Proc constructor method for yourself like the following:
```ruby
def attreql k, v
Proc.new{_1.send(k) == ...
sawa (Tsuyoshi Sawada)
01:55 PM Feature #18369: users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" }
Dan0042 (Daniel DeLorme) wrote in #note-3:
> So you try not to use `_1` ... just out of curiosity, would you use this?
> ...
I don't think so, still not explicit what is going on, and there is the overhead of new syntax
dorianmariefr (Dorian Marié)
01:53 PM Feature #18369: users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" }
So you try not to use `_1` ... just out of curiosity, would you use this?
`collection.detect{ .attribute == value }`
Dan0042 (Daniel DeLorme)
12:40 PM Feature #18369: users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" }
Could also be `users.detect(&:name, "Dorian")` dorianmariefr (Dorian Marié)
12:40 PM Feature #18369 (Open): users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" }
Hi,
I was thinking I often do things like `collection.detect { |item| item.attribute == value }` and a shorthand like `collection.detect(:attribute, value)` would be quite useful
What do you think?
And I know there is `collectio...
dorianmariefr (Dorian Marié)
11:54 AM Revision 7fd88da9 (git): [rubygems/rubygems] Fix race condition when reading & writing gemspecs concurrently
When bundler parallel installer installs gems concurrently, one can get
confusing warnings like the following:
```
"[/home/runner/work/rubygems/rubygems/bundler/tmp/2/gems/system/specifications/zeitwerk-2.4.2.gemspec] isn't a Gem::Speci...
deivid (David Rodríguez)
11:54 AM Revision d7f6cb0f (git): [rubygems/rubygems] Revert "Remove spec file before building"
This reverts commit af604436d8141c34cb2e1e645b9b0d47bfd55a55.
The issue that led to introducing it was never reproduced. I tried to
repro with this patch and it still works just fine. Since this removal
is getting in the middle for some...
deivid (David Rodríguez)
11:54 AM Revision 2b1f0487 (git): [rubygems/rubygems] Run hooks tests on gemspecs not already installed
The current `setup_base_installer` ends up using the `quick_gem` helper,
which leaves the created specification installed. Instead, make sure to
use the `util_spec` helper, which does a similar thing but doesn't leave
the specification i...
deivid (David Rodríguez)
11:46 AM Feature #5778 (Closed): Allow WEBrick::HTTPResponse to send IO-duck-typed bodies
webrick is removed from ruby repo since Ruby 3.0.
The canonical repo is here: https://github.com/ruby/webrick/
hsbt (Hiroshi SHIBATA)
11:44 AM Feature #8601 (Closed): Win32API.rb long life plan
Win32API.rb was removed from Ruby repo since Ruby 3.0 release.
The canonical repo is here: https://github.com/ruby/win32api.
hsbt (Hiroshi SHIBATA)
11:03 AM Misc #18335 (Rejected): openindiana ruby 3.1 --enable-dtrace requires debugflags="-g1"
By default, Ruby's configure script automatically sets `-ggdb3` or `-g` to `debugflags` after checking if the compiler accepts one of the options. The `debugflags` is included in `CFLAGS` by default.
However, setting `CFLAGS` complete...
ngoto (Naohisa Goto)
08:01 AM Bug #18355 (Assigned): require("pathname") within rack application chnages behaviors of Pathname methods, such as absolute?(), when there are two versions of 'pathname' gem installed.
hsbt (Hiroshi SHIBATA)
07:39 AM Bug #18034: Segmentation fault fiddle with `--enable-bundled-libffi` and macOS
@kou Thanks. I submitted https://github.com/ruby/fiddle/pull/98 hsbt (Hiroshi SHIBATA)
07:39 AM Revision e59f3054 (git): Delete #if line during checking madvise() on Solaris
The madvise() declaration should always be compiled on Solaris
to check whether the declaration is good on the environment.
For the purpose, the #if line is unnecessary.
(There was also a trivial typo that the #if was not closed
by #endi...
ngoto (Naohisa Goto)
07:32 AM Bug #18170: Exception#inspect should not include newlines
I have updated my PR to follow the approved semantics. https://github.com/ruby/ruby/pull/4857 mame (Yusuke Endoh)
07:25 AM Feature #14383 (Closed): Making prime_division in prime.rb Ruby 3 ready.
prime.rb removed from ruby repo for Ruby 3.1. We should move this to https://github.com/ruby/prime . hsbt (Hiroshi SHIBATA)
06:27 AM Misc #10757 (Rejected): Vagrant environment for MRI contributors
I understood that vagrant is useful software. But We have no strong reason to use it instead of other container tools like docker in 2021.
hsbt (Hiroshi SHIBATA)
06:17 AM Feature #12084: `Class#instance`
ufuk (Ufuk Kayserilioglu) wrote in #note-4:
> ```ruby
> ...
That clearly cannot be accepted as a feature because you would then have no way to distinguish whether the class's singleton object is `nil` or it does not have a singleton obje...
sawa (Tsuyoshi Sawada)
06:05 AM Feature #18366: Enumerator#return_eval
mame (Yusuke Endoh) wrote in #note-8:
> `a.lazy.map(&:length).max`
Thank you. That seems to do the work.
I have no objection against this being closed.
sawa (Tsuyoshi Sawada)
04:27 AM Feature #18366: Enumerator#return_eval
`a.lazy.map(&:length).max` mame (Yusuke Endoh)
02:53 AM Feature #18366 (Rejected): Enumerator#return_eval
* There's no real-world use case shown
* the term `eval` is not sufficient (unless it works as `eval`)
* `return` is even worse
3 strikes. Rejected. Reopen if those are addressed.
Matz.
matz (Yukihiro Matsumoto)
05:44 AM Misc #16980 (Assigned): Improve documentation on JSON#parse and JSON#parse!
hsbt (Hiroshi SHIBATA)
05:38 AM Bug #17882 (Assigned): bootstraptest/test_ractor.rb:224 segfaults on Cygwin
hsbt (Hiroshi SHIBATA)
05:37 AM Bug #18024 (Assigned): Ractor crashes when connections are closed in multiple Ractors
hsbt (Hiroshi SHIBATA)
05:26 AM Bug #17587 (Assigned): Segmentation fault with ractors and unix signals
hsbt (Hiroshi SHIBATA)
05:26 AM Bug #17516 (Assigned): forking in a ractor causes Ruby to crash
hsbt (Hiroshi SHIBATA)
05:20 AM Bug #17196 (Assigned): Segmentation Fault with Socket#close in Ractors
hsbt (Hiroshi SHIBATA)
05:16 AM Revision 438220f0 (git): Let pretty_inspect work once at first
For older pp.rb which did not need io/console, and dealing with
`LoadError`.
nobu (Nobuyoshi Nakada)
04:59 AM Feature #14973 (Closed): Proposal of percent literal to expand Hash
https://bugs.ruby-lang.org/issues/14579 was accepted and added for Ruby 3.1.
We don't need to `%` literal now.
hsbt (Hiroshi SHIBATA)
04:50 AM Feature #15353 (Closed): Support client certificates with TLS 1.3 and OpenSSL 1.1.1
This feature was merged at https://github.com/ruby/openssl/pull/239 hsbt (Hiroshi SHIBATA)
04:49 AM Revision dc46529b (git): [ruby/error_highlight] Ignore all syscall errors
At least, Error::ENOTSUP may be raised on some extreme environments
https://github.com/ruby/error_highlight/commit/2787983ff7
mame (Yusuke Endoh)
04:46 AM Revision 3288f0d0 (git): lib/pp.rb (width_for): Ignore all syscall errors
According to nobu, Errno::EBAD is raised on Windows. mame (Yusuke Endoh)
04:42 AM Bug #13671 (Assigned): Regexp with lookbehind and case-insensitivity raises RegexpError only on strings with certain characters
mame (Yusuke Endoh)
04:41 AM Feature #9673 (Closed): pieをconfigureからdisableしたい
hsbt (Hiroshi SHIBATA)
04:28 AM Feature #7400 (Closed): Incorporate OpenSSL tests from JRuby.
We continue to discuss this at https://github.com/ruby/openssl/issues/20 hsbt (Hiroshi SHIBATA)
04:17 AM Revision 20065eab (git): lib/pp.rb (width_for): ignore Errno::EINVAL
The error is raised on Solaris
http://rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20211130T030003Z.fail.html.gz
```
1) Failure:
TestRubyOptions#test_require [/export/home/users/chkbuild/cb-gcc/tmp/build/20211130T030003Z/ruby/...
mame (Yusuke Endoh)
04:15 AM Revision d400c44a (git): Load io/console earlier
Something goes wrong at loading libraries inside `mu_pp` in the
test overriding `Class.inherited`.
nobu (Nobuyoshi Nakada)
04:14 AM Feature #12913 (Open): A way to configure the default maximum width of pp
I have committed the change for 1. mame (Yusuke Endoh)
02:44 AM Feature #12913 (Closed): A way to configure the default maximum width of pp
Applied in changeset commit:git|eac347fdb04023e1a365d84a8c163263cc7a5904.
----------
lib/pp.rb (PP.pp): Use io/console's winsize by default
[Feature #12913]
mame (Yusuke Endoh)
03:40 AM Revision d20a120b (git): Recent systems prohibit symlink for relative loading
nobu (Nobuyoshi Nakada)
03:40 AM Revision 316caf6b (git): Enable load-relative on Solaris
nobu (Nobuyoshi Nakada)
02:43 AM Revision eac347fd (git): lib/pp.rb (PP.pp): Use io/console's winsize by default
[Feature #12913] mame (Yusuke Endoh)
02:12 AM Revision f379748e (git): Cache wheather madvise declaration is needed on Solaris
nobu (Nobuyoshi Nakada)
12:10 AM Revision 12fbdf4d (git): Fix conflicting declaration on Solaris
SunC
```
"cont.c", line 24: identifier redeclared: madvise
current : function(pointer to char, unsigned int, int) returning int
previous: function(pointer to void, unsigned int, int) returning int : "/usr/include/sys/mman...
nobu (Nobuyoshi Nakada)

11/29/2021

11:49 PM Revision ac8647be (git): Fix `GC.total_time` example
The result may increase actually or not, since GC can finish
shorter than the timer granularity.
nobu (Nobuyoshi Nakada)
09:29 PM Feature #12084: `Class#instance`
Agreed that `instance` is a bad name for this concept and we should not be basing the name on the `Singleton` class, since it is not the same kind of singleton in the `singleton_class`.
From what I understand this would be exposing th...
ufuk (Ufuk Kayserilioglu)
06:29 PM Feature #12084: `Class#instance`
`#instance` seems a too generic name for such a rarely-needed meta-programming feature, I think `#singleton_instance` is better.
@justcolin it would result in `Array.singleton_class`, otherwise that would break the invariant of `#sing...
Eregon (Benoit Daloze)
06:25 PM Feature #18351: Support anonymous rest and keyword rest argument forwarding
Same comment as on https://github.com/ruby/ruby/pull/4961 (I'll copy for convenience):
This could be problematic, because in various discussions and notably https://bugs.ruby-lang.org/issues/18011#note-6 and https://bugs.ruby-lang.org...
Eregon (Benoit Daloze)
04:59 PM Misc #18346: DevelopersMeeting20211209Japan
* [Feature #18351] Support anonymous rest and keyword rest argument forwarding (jeremyevans0)
* I think this is a natural addition after the addition of anonymous block forwarding in #11256.
* Is it OK to support this syntax? If so...
jeremyevans0 (Jeremy Evans)
04:29 PM Revision af59d355 (git): [rubygems/rubygems] Fix escape of filenames in `bundle doctor`
https://github.com/rubygems/rubygems/commit/3ede1435ea ooooooo-q
03:30 PM Feature #18368 (Closed): Range#step semantics for non-Numeric ranges
I am sorry if the question had already been discussed, can't find the relevant topic.
"Intuitively", this looks (for me) like a meaningful statement:
```ruby
(Time.parse('2021-12-01')..Time.parse('2021-12-24')).step(1.day).to_a
#...
zverok (Victor Shepelev)
03:27 PM Revision a60aba18 (git): * 2021-11-30 [ci skip]
git[bot]
03:07 PM Revision f8f2885b (git): Revert "test/socket/test_socket.rb: skip on Solaris"
This reverts commit 27fb9d272daaae89089dfb61849ebe8e7aa6c833.
The test failure on Solaris 10 is due to incomplete IPv6 configuration
on the CI server, that have already been fixed.
Reference for the fix: https://centrify.force.com/supp...
ngoto (Naohisa Goto)
03:03 PM Revision 8287d2f2 (git): Workaround for implicit declaration of function 'madvise' on Solaris
On Solaris, madvise(3C) is NOT defined for SUS (XPG4v2) or later,
but MADV_* macros are defined when __EXTENSIONS__ is defined.
This may cause compile error on Solaris 10 with GCC when
"-Werror=implicit-function-declaration" and "-D_XOPE...
ngoto (Naohisa Goto)
02:50 PM Revision 67a1e225 (git): Update to ruby/spec@7f22a0b
Eregon (Benoit Daloze)
02:50 PM Revision e6d93a27 (git): Update to ruby/mspec@098b320
Eregon (Benoit Daloze)
02:40 PM Revision f8ead3a7 (git): [ci skip] Update documentation for GC.stat
peterzhu2118 (Peter Zhu)
02:38 PM Revision 659c864a (git): [rubygems/rubygems] Deprecate typo name
https://github.com/rubygems/rubygems/commit/62d54cbf08 nobu (Nobuyoshi Nakada)
02:07 PM Revision 95a6212a (git): Simplify platform check for Windows-UCRT
RUBY_PLATFORM can be used since commit 576b2e64cdc5ea42ad345dd3c1c215e006c06fca . Lars Kanis
02:05 PM Feature #18367: Stop the interpreter from escaping error messages
:+1:
BTW, this is already the behavior in both JRuby and TruffleRuby :)
To clarify, does this affect only `full_message` and the default exception "printer"?
Eregon (Benoit Daloze)
09:46 AM Feature #18367: Stop the interpreter from escaping error messages
+1
A very minor thing: "a control character(s)" is wrong. It should be either "a control character", "control characters", or "(a) control character(s)".
sawa (Tsuyoshi Sawada)
06:29 AM Feature #18367 (Closed): Stop the interpreter from escaping error messages
## Proposal
At the present time, the Ruby interpreter escapes some characters (*1) in error messages when an uncaught error is printed. I'd like to propose stopping this escaping behavior.
```
class MyError < StandardError
def ...
mame (Yusuke Endoh)
02:00 PM Feature #18366: Enumerator#return_eval
I would advise against making Enumerable methods more complex with additional arguments, it'll only make them slower or more complicated to JIT compile, in addition to making their role less clear.
How would `return_eval` work? Could ...
Eregon (Benoit Daloze)
11:48 AM Feature #18366: Enumerator#return_eval
Just a thought, but another option to achieve the aims of this proposal might be to add `return_eval: true` kwargs for Enumerable methods. On the transducer front Brandon mentions, I've wished we had Enumerable kwargs to set the reducing... shan (Shannon Skipper)
05:39 AM Feature #18366: Enumerator#return_eval
baweaver (Brandon Weaver) wrote in #note-2:
> It seems the common usecase you have isolated is similar to the idea of composing some function with the idea of `map`, much like we may see with `filter_map`:
> ...
Thanks for mentioning tha...
sawa (Tsuyoshi Sawada)
04:46 AM Feature #18366: Enumerator#return_eval
Interesting. It seems the common usecase you have isolated is similar to the idea of composing some function with the idea of `map`, much like we may see with `filter_map`:
```ruby
[1, 2, 3].filter_map { |v| v * 2 if v.even? }
# v...
baweaver (Brandon Weaver)
04:04 AM Feature #18366 (Rejected): Enumerator#return_eval
Some `Enumerable` methods return one or more of the receiver's elements according to the return value of a block it takes. Often, we want such evaluated value rather than the original element.
For example, suppose we want to know the ...
sawa (Tsuyoshi Sawada)
02:00 PM Revision 4acc7563 (git): Consider environment variable case-insensitiveness
nobu (Nobuyoshi Nakada)
09:57 AM Revision 1db06618 (git): * 2021-11-29 [ci skip]
git[bot]
09:50 AM Revision e19b6564 (git): [ruby/readline] Suppress constant redefinition warning
When already set by `use_lib_reline` in test/readline/helper.rb of
readline-ext.
https://github.com/ruby/readline/commit/0e3ca3b217
nobu (Nobuyoshi Nakada)
09:48 AM Feature #18364: Add GC.stat_pool for Variable Width Allocation
> I think it is good it only contains Symbols to Integer, and there is probably code relying on that.
Yes, `size_t rb_gc_stat(VALUE)` is public for C exts. So you can't even return a Float, or you'd have to refactor the code signific...
byroot (Jean Boussier)

11/28/2021

10:39 PM Misc #18352: What is the Hash#grep expected?
Should we have `grep_{keys,values}`? matheusrich (Matheus Richard)
07:16 PM Bug #18365 (Third Party's Issue): Error with pods that says I may have encountered issue with ruby interpreter
jeremyevans0 (Jeremy Evans)
06:56 PM Bug #18365: Error with pods that says I may have encountered issue with ruby interpreter
https://bugs.ruby-lang.org/search?utf8=%E2%9C%93&scope=&issues=1&q=pod+mac xtkoba (Tee KOBAYASHI)
04:37 AM Bug #18365 (Third Party's Issue): Error with pods that says I may have encountered issue with ruby interpreter
running pod install that gives me a possible ruby interpreter error
I've attached the file and really have no idea how to fix this issue so please let me know if there is anything else needed
hyden.dev@gmail.com (Hyden Polikoff)
01:09 PM Misc #18335: openindiana ruby 3.1 --enable-dtrace requires debugflags="-g1"
I've changed the subject to "--enable-dtrace" requires CFLAGS="-g"
To be honest, what I tested so far is : with gnu-binutils 2.36 (gar version 2.36) installed,
I can say that gar itself works, as long as I set CFLAGS="-g -O2".
Ho...
stes (David Stes)
08:45 AM Revision 4a09b7de (git): Suppress address-of-packed-member warning by gcc
nobu (Nobuyoshi Nakada)
08:10 AM Revision ca7de49a (git): [ruby/ostruct] [DOC] Fix code markups [ci skip]
Backquotes are not special characters in RDoc.
https://github.com/ruby/ostruct/commit/a901df26b9
nobu (Nobuyoshi Nakada)
 

Also available in: Atom