Project

General

Profile

Activity

From 10/15/2024 to 10/21/2024

10/21/2024

09:30 PM Feature #15381: Let double splat call `to_h` implicitly
Eregon (Benoit Daloze) wrote in #note-4:
> Should `**` call `to_h` rather than `to_hash`, similar to `*` calling `to_a` and not `to_ary`?
Hi, I’m learning Ruby and the fact that `**` calls `to_hash` rather than `to_h` surprised me; I wo...
sanjioh (Fabio Sangiovanni)
09:22 PM Bug #20796: Segmentation fault in rubyzip tests with ruby 3.4.0-preview2~659 e7cb70be4e on x86_64-darwin24
Thank you very much!
I have confirmed a83c91dd7a addresses the issue on Intel mac:
```console
$ ruby -v
ruby 3.4.0dev (2024-10-21T11:40:42Z master a83c91dd7a) +PRISM [x86_64-darwin24]
$ bundle exec rake
ostruct was loaded fro...
tikkss (Tsutomu Katsube)
09:28 AM Bug #20796: Segmentation fault in rubyzip tests with ruby 3.4.0-preview2~659 e7cb70be4e on x86_64-darwin24
I don't have an access to Intel mac, but I think https://github.com/ruby/ruby/pull/11519 has indeed an off-by-one bug. I could reproduce the issue on Linux with valgrind by forcing to use the wrong `memrchr` function.
```
$ valgrind ...
mame (Yusuke Endoh)
06:15 PM Bug #20808: Data#pretty_print doesn't handle private or remove attribute readers
cc @akr , as maintainer of PP perhaps you have an opinion on how this sort of issue should be handled? byroot (Jean Boussier)
04:49 PM Bug #20808: Data#pretty_print doesn't handle private or remove attribute readers
> Struct and Data both assume all member readers are public:
Actually I misread. The `Struct` one uses `Struct#[]` so it would work with Struct. `Data` however has no such method, so two solutions I can think of are:
- Use `send`...
byroot (Jean Boussier)
04:45 PM Bug #20808: Data#pretty_print doesn't handle private or remove attribute readers
The `pp` implementation for `Struct` and `Data` both assume all member readers are public:
```ruby
class Struct # :nodoc:
def pretty_print(q) # :nodoc:
q.group(1, sprintf("#<struct %s", PP.mcall(self, Kernel, :class).name), ...
byroot (Jean Boussier)
04:43 PM Bug #20808: Data#pretty_print doesn't handle private or remove attribute readers
So the problem isn't with `inspect`, as it only reproduce in `irb`.
It's coming from `pretty_inspect`:
```
>> d.pretty_inspect
/opt/rubies/3.3.5/lib/ruby/3.3.0/pp.rb:432:in `public_send': private method `name' called for an insta...
byroot (Jean Boussier)
04:24 PM Bug #20808 (Closed): Data#pretty_print doesn't handle private or remove attribute readers
Given the next code:
```
Dog = Data.define(:name) do
def inspect
"Hello!"
end
private
attr_reader :name
end
Dog.new(name: "Fido")
```
It throws an error:
- An error occurred when inspecting the object: #<NoM...
maicolben (Maicol Bentancor)
04:48 PM Revision 5131fb5d (git): Don't clear out flags in rb_gc_obj_free
If there's a crash after rb_gc_obj_free, it's hard to debug because the
flags have been cleared out already.
peterzhu2118 (Peter Zhu)
04:12 PM Revision 20c5a3e1 (git): YJIT: Rename method substitution functions and improve docs (+1) (#11919)
* YJIT: Fill in commented-out assertion
* YJIT: Rename yjit_reg_method() and add links in docs
alanwu (Alan Wu)
03:45 PM Misc #20806: Redmine ML forwarding seems to be broken (likely since Oct 15)
Thanks. Good news is that it seems that the queue has been preserved 👍 vo.x (Vit Ondruch)
09:39 AM Misc #20806 (Closed): Redmine ML forwarding seems to be broken (likely since Oct 15)
I fixed this at https://github.com/ruby/b.r-l.o/commit/c1c82dc1bd3bd26982cfeaaf56c0a87684ada8d2
`good_job` is not working with Rails 6.1 stable releases. I reverted that and pointed `6-1-stable` again.
Thank you for reporting.
hsbt (Hiroshi SHIBATA)
08:52 AM Misc #20806 (Assigned): Redmine ML forwarding seems to be broken (likely since Oct 15)
I'm investigating now. hsbt (Hiroshi SHIBATA)
07:35 AM Misc #20806 (Closed): Redmine ML forwarding seems to be broken (likely since Oct 15)
I am subscribed to ruby-core ML and it seems that Redmine have not forwarded any notification there since ~Oct 15. Could somebody PTAL? vo.x (Vit Ondruch)
03:41 PM Revision c4b6ce36 (git): Merge syntax-suggest-2.0.1
hsbt (Hiroshi SHIBATA)
03:18 PM Bug #19268 (Closed): Mingw64 Build Failure
jeremyevans0 (Jeremy Evans)
03:12 PM Bug #20716: Different instance_method behavior in Ruby 2.7 and Ruby 3.x
natton (Tien Truong) wrote in #note-9:
> Is there a way to backport this fix to Ruby version 3.1 and 3.2
Ruby 3.2 was recently fixed, and it will be in the next Ruby 3.2 release. Ruby 3.1 is in security fix only mode, and this is no...
jeremyevans0 (Jeremy Evans)
03:00 PM Revision 6588bbfa (git): Fix wmap_compact from potentially corrupting ST table
Since we hash by the address of the key in the WeakMap, we cannot change
the key in the same entry because deleting the key could require hashing.
This commit changes it to allocate and insert a new entry if the key has
moved.
peterzhu2118 (Peter Zhu)
03:00 PM Revision ef059707 (git): [DOC] Fix indentation of comment in wmap_compact_table_i
peterzhu2118 (Peter Zhu)
11:40 AM Revision a83c91dd (git): Fix an off-by-one error of own memrchr implementation
and make it support `search_len == 0`, just for the case
Ref [Bug #20796]
mame (Yusuke Endoh)
11:07 AM Bug #20807 (Open): String#gsub fails when called from string subclass with a block passed
When `String#gsub` is called from a string subclass with a block, `Regexp.last_match` is nil, but passed block is executed. Here is example code:
```ruby
def call_gsub(str)
str.gsub(/%/) do
puts "checking #{str.class}"
p...
koilanetroc (Oleg Tolmashov)
10:52 AM Feature #20792: String#with_encoding(encoding)
Right.
But if it is valid in that encoding, wouldn't you always or almost always then want the String (or a copy of it) in that encoding?
If you do, `.with_encoding` would be more efficient as it keeps the computed coderange.
If you d...
Eregon (Benoit Daloze)
10:34 AM Feature #20205 (Closed): Enable `frozen_string_literal` by default
I merged https://github.com/ruby/ruby/pull/11893 which I believe addresses https://bugs.ruby-lang.org/issues/20205#note-56 byroot (Jean Boussier)
10:05 AM Feature #20205: Enable `frozen_string_literal` by default
hartator (Julien Khaleghy) wrote in #note-55:
> If the main point is to avoid some kind of bugs, the reverse is also true. `# frozen_string_literal: true` can be a misdirection and introduces its own kind of bugs. IRL this has introduce...
pdfrod (Pedro Rodrigues)
10:33 AM Revision 257f78fb (git): Show where mutated chilled strings were allocated
[Feature #20205]
The warning now suggests running with --debug-frozen-string-literal:
```
test.rb:3: warning: literal string will be frozen in the future (run with --debug-frozen-string-literal for more information)
```
When using --d...
etienne (Étienne Barrié)
10:09 AM Bug #20804: Stop reserving stack ahead-of-time in on Linux
Yes, that’s exactly right. I will go ahead and delete this code then. Thank you! kjtsanaktsidis (KJ Tsanaktsidis)
09:52 AM Bug #20804: Stop reserving stack ahead-of-time in on Linux
In short, you are saying that the issue is supposed to have been fixed since Linux 4.13, right? Then I don't see a problem. mame (Yusuke Endoh)
10:06 AM Bug #20693: Dir.tmpdir should perform a real access check before warning about writability
OK. Thank you. akr (Akira Tanaka)
09:01 AM Bug #20800: Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
vo.x (Vit Ondruch) wrote in #note-2:
> the path should likely be `/usr/libexec/x86_64-linux/ruby`
Just to clarify, the `ruby` would be the binary. Of course it could also be directory should there be need for more files in `libexec`
vo.x (Vit Ondruch)
07:30 AM Bug #20800: Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
> but using --enable-multiarch when not multiarch seems like a misuse of the feature.
I don't disagree. If I had other option, I'd use it. If somebody is interested to help, I'll gladly open separate ticket to share what are my thoughts...
vo.x (Vit Ondruch)
06:50 AM Feature #20805 (Feedback): Allow Ractor#send from a signal trap Proc
It was surfaced in https://bugs.ruby-lang.org/issues/18139 that Ractor is designed to "unexpected interruption free" and it's not supposed to have a `kill`-like method.
A better alternative to that would be allow the main Ractor to co...
kirs (Kir Shatrov)

10/20/2024

03:19 PM Bug #19383: Time.now.zone encoding for German display language in Windows is incorrect
There is another remaining locale related issue.
ref: https://bugs.ruby-lang.org/issues/20774
As an alternative solution, if setlocale(LC_CTYPE, ".65001") could be used, it would solve the problem, but it does not seem to work in all...
YO4 (Yoshinao Muramatsu)
11:17 AM Bug #20796: Segmentation fault in rubyzip tests with ruby 3.4.0-preview2~659 e7cb70be4e on x86_64-darwin24
> This PR seems relevant, and fits in the (rather large) preview1/preview2 window: https://github.com/ruby/ruby/pull/11519
Thanks for your sharing.
According to git bisect between preview1 and preview2, it is triggered since ruby 3...
tikkss (Tsutomu Katsube)
10:33 AM Revision 75ef89ca (git): Remove unused or wrong conversions
The GMT offset and zone fields are not used in calculating the week
number, and `zone` in `struct vtm` is a `VALUE` and should not be cast
to `char *` at least.
nobu (Nobuyoshi Nakada)
10:26 AM Revision d21b614b (git): [DOC] Improve `Socket::tcp` with Happy Eyeballs Version 2
With the introduction of Happy Eyeballs Version 2 to `Socket::tcp`, the following areas have been mainly enhanced:
- How the value specified for `connect_timeout` works
- How Socket.tcp operates with Happy Eyeballs Version 2
A descript...
Misaki Shioi
09:55 AM Bug #20804 (Closed): Stop reserving stack ahead-of-time in on Linux
In Linux, the main thread generally only gets a small stack mapped in initially. As the application attempts to use more stack memory, the kernel will map in more stack pages.
In https://github.com/ruby/ruby/pull/822, we added some lo...
kjtsanaktsidis (KJ Tsanaktsidis)
09:38 AM Bug #20693: Dir.tmpdir should perform a real access check before warning about writability
Sorry it took me so long to get back to you @akr . I've added a short comment about this - if you're OK with it I will commit it. Thanks! kjtsanaktsidis (KJ Tsanaktsidis)
08:48 AM Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
ruby_3_2 commit:e55b1af2573eb21db57a06e5509f9868f288b583, commit:2fbae07c42f40ea43b4822e278cc92fb2415cb61, commit:f70e3254e067663e72e6d410370d231e4245e4f4, commit:db5201ffd531d07747de03c55c4cb1c0e9e5c5bf, commit:fc5b9ffad1b0710bd999521d0... nagachika (Tomoyuki Chikanaga)
06:18 AM Revision fe17697a (git): [ruby/irb] Improve history test's encoding setting
(https://github.com/ruby/irb/pull/1022)
* improve history test's encoding setting
* fix missing locale error for ci and refactoring
https://github.com/ruby/irb/commit/7f385bc19b
Go
05:21 AM Bug #19268: Mingw64 Build Failure
Actually this now works without change on latest version of mingw64 make. This issue can be closed. cfis (Charlie Savage)
03:56 AM Bug #19268: Mingw64 Build Failure
Still a issue in Ruby 3.3.x
One thing I forgot to mention in the original report, the file with the issue is:
ruby-3.3.5/common.mk
cfis (Charlie Savage)
05:21 AM Revision e55b1af2 (git): merge revision(s) ce20367a0e2f1fcfabebf3b6bea732fc71fa79f7: [Backport #20500]
Define `incflags` also on mswin nagachika (Tomoyuki Chikanaga)
05:19 AM Revision 2fbae07c (git): merge revision(s) bcb3247072e6973d0f6b50ca5fed238d5824bd28: [Backport #20500]
[Bug #19778] Pass additional include options to INCFLAGS in common.mk nagachika (Tomoyuki Chikanaga)
04:56 AM Revision f70e3254 (git): merge revision(s) 5fa6ba9568e87e43e08a4daeba1572254c589fb1: [Backport #20500]
[Bug #20500] Search non-default directories for jemalloc
Co-Authored-by: lish82 (Hiroki Katagiri)
nagachika (Tomoyuki Chikanaga)

10/19/2024

06:31 PM Bug #20314: Simultaneous Timeout expires may raise an exception after the block
Ref: https://github.com/ruby/ruby/pull/10851 Eregon (Benoit Daloze)
01:00 PM Revision 1c653cab (git): Update default gems list at b101ca598ef7a0b7c81efe673fea52 [ci skip]
git[bot]
12:59 PM Revision b101ca59 (git): [ruby/ipaddr] Bump the version to 1.2.7
https://github.com/ruby/ipaddr/commit/b44d2a1173 Akinori MUSHA
12:56 PM Revision bfc586b2 (git): [ruby/ipaddr] Use string interpolation instead of format()
https://github.com/ruby/ipaddr/commit/1f41cd7320 Akinori MUSHA

10/18/2024

08:06 PM Feature #16986: Anonymous Struct literal
Eregon (Benoit Daloze) wrote in #note-69:
> That's pretty slow and inefficient as it creates a new Struct subclass for every Hash it's applied to.
> ...
Um ok so I'm voting against a new syntax. It's not necessary. A simple method like...
danh337 (Dan H)
07:01 PM Revision 7be9a333 (git): YJIT: Allow shareable consts in multi-ractor mode (#11917)
* Update yjit-bindgen deps
* YJIT: Allow shareable consts in multi-ractor mode
* Update yjit/src/codegen.rs
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
---------
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
jhawthorn (John Hawthorn)
06:16 PM Revision e17243d3 (git): Point keyword->table into iseq local table
kddnewton (Kevin Newton)
05:15 PM Revision f370a315 (git): [ruby/irb] Suppress "literal string will be frozen in the future"
warning
(https://github.com/ruby/irb/pull/1019)
* Suppress "literal string will be frozen in the future" warning
Before change:
```console
$ ruby -W -I lib -e 'require "irb"; IRB.setup(nil); IRB::Irb.new.build_statement("1 + 2")'
/Use...
tikkss (Tsutomu Katsube)
05:15 PM Revision 09ddfd4d (git): [ruby/irb] Always use alternate sceen on alt-d
(https://github.com/ruby/irb/pull/988)
https://github.com/ruby/irb/commit/db0a923d62
tompng (tomoya ishida)
05:06 PM Revision fbabe13b (git): Use rb_id_table_foreach_values for marking Ractor local storage
Since we only mark the values, we can use rb_id_table_foreach_values to
avoid the overhead of converting the key to an ID.
peterzhu2118 (Peter Zhu)
05:00 PM Feature #18336: How to deal with Trojan Source vulnerability
Please consider the issue of ASCII smuggling as a potential aspect of this problem. While I don’t currently see how ASCII smuggling could be used to affect Ruby, I do believe it would be worthwhile to explore if the command "ruby -c" sho... wilburlo (Daniel Lo)
04:35 PM Bug #20803 (Closed): Windows intermittent spec failure - ObjectSpace.memsize_of(:abc)
This frequently fails on ruby-loco's mingw build, but I think there have been less frequent failures on ucrt and mswin. I've started a new GHA build when it occurs, and it usually passes. I could not repro locally.
```
ObjectSpace....
MSP-Greg (Greg L)
04:19 PM Revision fce5bbd6 (git): [rubygems/rubygems] Add `bundle add --quiet` option
This option is similar to the `bundle install --quiet` option
https://github.com/rubygems/rubygems/commit/3bd773d827
jeromedalbert (Jerome Dalbert)
04:03 PM Revision 689f14e2 (git): [ruby/ipaddr] Use string interpolation instead of format()
https://github.com/ruby/ipaddr/commit/73f59e111f Akinori MUSHA
03:12 PM Revision d1b5c109 (git): [DOC] Tweaks for Array#sum
burdettelamar (Burdette Lamar)
03:08 PM Revision 161ea389 (git): [DOC] Tweaks for Array#sort_by!
burdettelamar (Burdette Lamar)
03:00 PM Revision eb8cf1d6 (git): [ruby/ipaddr] Added to_json/as_json method
Updated to use cidr method when return address with prefix in #as_json
https://github.com/ruby/ipaddr/commit/cf8181d53e
Taketo Takashima
02:25 PM Revision 6b1268c7 (git): [rubygems/rubygems] Clarify `bundle install --quiet` documentation
Bundler always exits with a status code.
https://github.com/rubygems/rubygems/commit/3a38bd0b12
jeromedalbert (Jerome Dalbert)
01:06 PM Revision 3ddaf24c (git): Move object processing in Process.warmup to gc.c
peterzhu2118 (Peter Zhu)
05:03 AM Bug #20797: UTC offset seconds part is not checked
I think the issue is trivial and the making the validation more restrictive could cause errors in applications.
I decided to WONTFIX on ruby_3_2.
nagachika (Tomoyuki Chikanaga)
04:58 AM Bug #20716: Different instance_method behavior in Ruby 2.7 and Ruby 3.x
ruby_3_2 commit:cb75fcef6feb126a67874109ce1503976a6f90cc merged revision(s) commit:6118e8a47394409b53164b60e79fadf348b97db3, commit:dc64448202299633a235f310b8bf2192263f274f. nagachika (Tomoyuki Chikanaga)
04:58 AM Bug #20755: IO::Buffer#transfer transfers mutable reference to String's memory but not lock ownership
ruby_3_2 commit:087e4ed6cc9da9cfca1a107058905446ff474bd1 merged revision(s) commit:35e124832e29b65c84d4e0e4e434616859f9bdf5. nagachika (Tomoyuki Chikanaga)
04:57 AM Revision cb75fcef (git): merge revision(s) 6118e8a47394409b53164b60e79fadf348b97db3, dc64448202299633a235f310b8bf2192263f274f: [Backport #20716]
Fix method caching bug when including/prepend module A that prepends module B
Fix by always adding the generated iclass to the subclasses list,
otherwise the method cache for the iclass is not cleared when
the me...
nagachika (Tomoyuki Chikanaga)
04:57 AM Revision 087e4ed6 (git): merge revision(s) 35e124832e29b65c84d4e0e4e434616859f9bdf5: [Backport #20755]
[Bug #20755] Frozen string should not be writable via IO::Buffer nagachika (Tomoyuki Chikanaga)
03:59 AM Bug #20771: make-snapshot is broken with ubuntu-latest
merged at https://github.com/ruby/ruby/commit/d85516eab59f932d65283572d0b9090005f60c20. nagachika (Tomoyuki Chikanaga)
03:59 AM Revision d85516ea (git): Disabled annocheck same as f5b6b3dba7b32dcd1f15c150dd78dce6c0d92b1e
hsbt (Hiroshi SHIBATA)
03:59 AM Revision 4873bbd6 (git): .travis.yml: Drop all the pipelines due to jobs not starting.
Remove `.travis.yml` as a temporary workaround. Jun Aruga
03:59 AM Revision dcad0ad9 (git): -l option of 7z is unknown switch with the `ubuntu-latest`.
https://github.com/ruby/actions/actions/runs/11095032727/job/30823174026#step:3:349 hsbt (Hiroshi SHIBATA)
03:19 AM Bug #20752: IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
ruby_3_2 commit:5777fe5ab57d6479326bdb21ef9a6b88ea1516dc merged revision(s) commit:637067440f74043c6d79fc649ab8acf1afea25a5. nagachika (Tomoyuki Chikanaga)
03:19 AM Bug #20719: `Float` converts ASCII-incompatible string
ruby_3_2 commit:18074c508105244552678cf6afd4b23304cb4c8f merged revision(s) commit:c1862cbb89a6bf42dcd07d92fe4f4bfeebca5775. nagachika (Tomoyuki Chikanaga)
03:19 AM Bug #20704: Windows: `-C` option does not work for multibyte path name
ruby_3_2 commit:48af30b068729058c2f45375e67fa76f6240a228 merged revision(s) commit:d33e3d47b84a73b38644f2a3d41881ce9be6ef18. nagachika (Tomoyuki Chikanaga)
02:55 AM Bug #20501: ruby SEGV
While trying to backport d592ddd5e619ffe1691b8050de2ccc3e1bd6e080 to ruby_3_2, I found that it depends on 6e64d4370456190541705ec4c6cf3af6bf4ac647 (for [Bug #19862]). And I cannot reproduce the SEGV on rub-3.2.
I decided to set WONTFIX ...
nagachika (Tomoyuki Chikanaga)
02:35 AM Revision 9a98b70a (git): [ruby/fiddle] test: Fix a typo
(https://github.com/ruby/fiddle/pull/154)
https://github.com/ruby/fiddle/commit/1f818e4684
kojix2
02:31 AM Revision 326a21d4 (git): Relax Pure::Parser's comment regex...
...to allow any character sequence, including "/*", before then end
sequence of a multi-line ANSI C-style comment
.
Stephen Humphries
02:30 AM Revision 8feed977 (git): [ruby/json] Assume Encoding is defined
https://github.com/ruby/json/commit/8713aa4812 byroot (Jean Boussier)
02:30 AM Revision 20dc1e5c (git): [ruby/json] Always dup argument to preserve original encoding for force_encoding
https://github.com/ruby/json/commit/db9a489ca2 aeroastro (Takumasa Ochi)
02:30 AM Revision 5777fe5a (git): merge revision(s) 637067440f74043c6d79fc649ab8acf1afea25a5: [Backport #20752]
[Bug #20752] Slice of readonly `IO::Buffer` also should be readonly nagachika (Tomoyuki Chikanaga)
02:28 AM Revision 57e1b64c (git): [ruby/json] Fix behavior of trying to parse non-string objects
https://github.com/ruby/json/commit/e2e9936047 YuheiNakasaka
02:28 AM Revision c4d4c6b8 (git): [ruby/json] Speedup Parser initialization
Extracted from: https://github.com/ruby/json/pull/512
Use `rb_hash_lookup2` to check for hash key existence instead
of going through `rb_funcall`.
https://github.com/ruby/json/commit/43835a0d13
Co-Authored-By: lukeg <luke.gru@gmail.com>
byroot (Jean Boussier)
02:25 AM Revision 18074c50 (git): merge revision(s) c1862cbb89a6bf42dcd07d92fe4f4bfeebca5775: [Backport #20719]
[Bug #20719] `Float` argument must be ASCII compatible nagachika (Tomoyuki Chikanaga)
02:22 AM Revision 48af30b0 (git): merge revision(s) d33e3d47b84a73b38644f2a3d41881ce9be6ef18: [Backport #20704]
[Bug #20704] Win32: Fix chdir to non-ASCII path
On Windows, `chdir` in compilers' runtime libraries uses the active
code page, but command line arguments in ruby are always UTF-8, since
commit:33ea2646b98adb49ae2...
nagachika (Tomoyuki Chikanaga)
02:07 AM Revision 5152f81f (git): Update default gems list at 8b4df90a24a886ed2ccb4b381d43a5 [ci skip]
git[bot]
02:07 AM Revision 8b4df90a (git): [ruby/syntax_suggest] Bump up 2.0.1
https://github.com/ruby/syntax_suggest/commit/0b9e4081c0 hsbt (Hiroshi SHIBATA)
01:48 AM Revision 4b21fb12 (git): [ruby/syntax_suggest] Removed empty comment
https://github.com/ruby/syntax_suggest/commit/e1d9c83736 hsbt (Hiroshi SHIBATA)
01:36 AM Revision e67137fe (git): [ruby/syntax_suggest] A gem executable should not use require_relative
Otherwise it makes incorrect assumption about RubyGems layout.
https://github.com/ruby/syntax_suggest/commit/04585d820d
Eregon (Benoit Daloze)

10/17/2024

09:59 PM Revision cb39283c (git): YJIT: In stats, group by resolved C method name
Previously, in the "Top-N most frequent C calls"
section of --yjit-stats output, we printed the class
name of the receiver, not the method owner. This meant
that calls on subclass instances that land on the same
method showed up as diffe...
alanwu (Alan Wu)
09:36 PM Revision 158b8cb5 (git): YJIT: Add compilation log (#11818)
* YJIT: Add `--yjit-compilation-log` flag to print out the compilation log at exit.
* YJIT: Add an option to enable the compilation log at runtime.
* YJIT: Fix a typo in the `IseqPayload` docs.
* YJIT: Add stubs for getting the YJIT c...
Kevin Menard
09:18 PM Bug #20800: Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
I'm not familiar with this area, but using `--enable-multiarch` when not multiarch seems like a misuse of the feature. Also, can you explain where you'd like it to place `ruby`? alanwu (Alan Wu)
08:24 AM Bug #20800 (Closed): Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
Trying to prepare Ruby 3.4 package for Fedora, it seems that since [1], the `ruby` executable is installed into `/usr/libexec/x86_64-linux/bin`:
~~~
installing binary commands: /usr/libexec/x86_64-linux/bin
~~~
Unfortunat...
vo.x (Vit Ondruch)
08:54 PM Revision c78e2987 (git): [DOC] Tweaks for Array#sort!
burdettelamar (Burdette Lamar)
08:53 PM Revision b1ffd9e9 (git): [DOC] Tweaks for Array#sort (#11907)
burdettelamar (Burdette Lamar)
08:40 PM Revision 0b38e184 (git): [ruby/rdoc] feature: Render mixed-in methods and constants with
`--embed-mixins`
(https://github.com/ruby/rdoc/pull/842)
* Embed mixed-in methods and constants with `--embed-mixins`
When `--embed-mixins` option is set:
- methods from an `extend`ed module are documented as singleton methods
- attrs...
mdalessio (Mike Dalessio)
07:07 PM Revision 48899d56 (git): [ruby/json] Sync changes
Some changes were missed in the automatic sync. peterzhu2118 (Peter Zhu)
05:39 PM Revision e4330536 (git): [ruby/json] Fix State#max_nesting=
Returning state->max_nesting is not valid because it's not a Ruby object.
https://github.com/ruby/json/commit/6679ceb
peterzhu2118 (Peter Zhu)
04:31 PM Feature #20792: String#with_encoding(encoding)
Yeah I'm saying it doesn't require a mutable string because it just checks the current string, it doesn't require a dup/allocation. So this avoids having to allocate a new string to check if it's possible. kddnewton (Kevin Newton)
03:55 PM Revision 494fcc50 (git): Merge RubyGems-3.5.22 and Bundler-2.5.22
hsbt (Hiroshi SHIBATA)
03:55 PM Revision d03e4228 (git): Merge RubyGems-3.5.21 and Bundler-2.5.21
hsbt (Hiroshi SHIBATA)
03:37 PM Revision c6828a10 (git): Update maintainers of Prism
kddnewton (Kevin Newton)
03:21 PM Revision a7317f53 (git): Add a fast path for ASCII strings
This optimization is based on a few assumptions:
- Most strings are ASCII only.
- Most strings had their coderange scanned already.
If the above is true, then by checking the string coderange, we can
use a much more streamlined fun...
byroot (Jean Boussier)
01:42 PM Bug #20802 (Closed): It is possible to set the encoding of an IO instance to one that requires binmode when binmode is not set
I don't know what problems this may cause, but there are guards against setting the encoding of an IO instance to one such as UTF-16LE when the IO instance is not set to binary mode. Here is a method to bypass those guards:
```ruby
f1...
javanthropus (Jeremy Bopp)
01:02 PM Revision df48f597 (git): [ruby/json] Get rid of some more outdated compatibility code
All these macros are available on Ruby 2.3+
https://github.com/ruby/json/commit/227885f460
byroot (Jean Boussier)
12:22 PM Revision 6105bae3 (git): [ruby/json] Get rid of compatibility code for older rubies
All of these are for rubies older than 2.3.
https://github.com/ruby/json/commit/811297f86a
byroot (Jean Boussier)
11:35 AM Revision 0e2ac465 (git): Optimize Ext::Generator::State#configure
If we assume that most of the time the `opts` hash is small
it's faster to go over the provided keys with a `case` than
to test all possible keys one by one.
Before:
```
== Encoding small nested array (121 bytes)
ruby 3.4.0preview2 (20...
byroot (Jean Boussier)
11:35 AM Revision a1c420c7 (git): [ruby/json] generator.c: reduce the number of globals
Most of these classes and modules don't need to be global variables
https://github.com/ruby/json/commit/b783445ec9
byroot (Jean Boussier)
11:35 AM Revision 43e08133 (git): [ruby/json] Convert Generator initialize and configure method into Ruby
This helps very marginally with allocation speed.
https://github.com/ruby/json/commit/25db79dfaa
byroot (Jean Boussier)
10:34 AM Revision 5a189564 (git): ruby-style.el: Minimize backslash columns [ci skip]
Basically we don't align line continuation backslashes. nobu (Nobuyoshi Nakada)
10:18 AM Bug #20801 (Feedback): Handling non-ascii drive letter on Windows
On Windows, non-ascii drive letters are allowed for virtual drives. Some Ruby methods do not seem to handle this well.
```
subst ä: C:\tmp\
```
```ruby
File.absolute_path?("ä:/") #=> expected: true, actual: false
File.wr...
mame (Yusuke Endoh)
10:11 AM Revision fc11579c (git): [ruby/rdoc] Use scroll-margin-top on anchor targets
(https://github.com/ruby/rdoc/pull/1190)
This will make the anchor target easier to read.
https://github.com/ruby/rdoc/commit/e2fe4882f4
st0012 (Stan Lo)
10:10 AM Revision 1f0b5403 (git): [ruby/rdoc] Add scroll-margin-top on all :target elements
(https://github.com/ruby/rdoc/pull/1174)
https://github.com/ruby/rdoc/commit/7398e5b0ad
Co-authored-by: Stan Lo <stan001212@gmail.com>
Mads Ohm Larsen
09:31 AM Revision 494d8146 (git): Optimize JSON.dump argument parsing
`JSON.dump` looks terrible on micro-benchmarks because the way it
handles arguments is quite allocation heavy compared to the actual
JSON generation work.
Profiling the `small hash` benchmarked show 14% of time spent in `Array#compact`
...
byroot (Jean Boussier)
08:54 AM Revision 233f63c7 (git): [ruby/json] Use `RB_ENCODING_GET` instead of `rb_enc_get` to improve performance
This speeds up `JSON.generate` by about 12% in a benchmark.
https://github.com/ruby/json/commit/4329e30826
mame (Yusuke Endoh)
08:54 AM Revision 0b4257ef (git): [ruby/json] Apply RB_UNLIKELY for less frequently used options
This speeds up `JSON.generate` by about 4% in a benchmark.
https://github.com/ruby/json/commit/6471710cfc
mame (Yusuke Endoh)
08:54 AM Revision 64c24f69 (git): [ruby/json] Stop prebuilding object_delim2
Also, remove static functions that are no longer used.
This speeds up `JSON.generate` by about 5% in a benchmark.
https://github.com/ruby/json/commit/4c984b2017
mame (Yusuke Endoh)
08:54 AM Revision 186e7720 (git): [ruby/json] Stop prebuilding object_delim
This speeds up `JSON.generate` by about 4% in a benchmark
https://github.com/ruby/json/commit/ed47a10e4f
mame (Yusuke Endoh)
08:54 AM Revision 88719fb3 (git): [ruby/json] Stop prebuilding array_delim
The purpose of this change is to exploit `fbuffer_append_char` that is
faster than `fbuffer_append`.
`array_delim` was a buffer that concatenated a single comma with
`array_nl`. However, in the typical use case (`JSON.generate(data)`),
...
mame (Yusuke Endoh)
08:54 AM Revision fb84aa55 (git): [ruby/json] Directly use `generate_json_string` for object keys
... instead of `generate_json`.
Since the object key is already confirmed to be a string, using a
generic dispatch function brings an unnecessary overhead.
This speeds up `JSON.generate` by about 3% in a benchmark.
https://github.com/...
mame (Yusuke Endoh)
08:54 AM Revision 3911189f (git): [ruby/json] Use efficient object-type dispatching
Dispatching based on Ruby's VALUE structure is more efficient than
simply cascaded "if ... else if ..." checks.
This speeds up `JSON.generate` by about 5% in a benchmark.
https://github.com/ruby/json/commit/4f9180debb
mame (Yusuke Endoh)
08:54 AM Revision 7962b4c3 (git): [ruby/json] Use `RARRAY_AREF` instead of `rb_ary_entry` to improve performance
It is safe to use `RARRAY_AREF` here because no Ruby code is executed
between `RARRAY_LEN` and `RARRAY_AREF`.
This speeds up `JSON.generate` by about 4% in a benchmark.
https://github.com/ruby/json/commit/c5d80f9fd4
mame (Yusuke Endoh)
07:44 AM Revision 681787d1 (git): [ruby/syntax_suggest] Fallback to load syntax_suggest/api when failing to load with require_relative.
https://github.com/ruby/syntax_suggest/commit/b782897560 hsbt (Hiroshi SHIBATA)
07:32 AM Revision 9da60a14 (git): [ruby/etc] Fix sysconfdir when load-relative
When relative load paths option is enabled, the prefix is determined
at the runtime. The only way to get it outside libruby is to use
rbconfig.rb.
https://github.com/ruby/etc/commit/e5b498fad9
nobu (Nobuyoshi Nakada)
07:10 AM Revision d4a18d4a (git): [rubygems/rubygems] Allow using `gemspec` DSL twice with same dependency and compatible requirements
https://github.com/rubygems/rubygems/commit/a8d14c1fc2 deivid (David RodrĂ­guez)
05:33 AM Revision 817f2cc1 (git): Re-ordered Stdlib updates section
hsbt (Hiroshi SHIBATA)
03:09 AM Revision 72b8fa9e (git): [ruby/win32-registry] Exclude rake files from packages [ci skip]
https://github.com/ruby/win32-registry/commit/e7b2eeb885 nobu (Nobuyoshi Nakada)
02:12 AM Revision 34d800eb (git): [ruby/win32-registry] Exclude mailmap from packages [ci skip]
https://github.com/ruby/win32-registry/commit/521f93af9e nobu (Nobuyoshi Nakada)
01:51 AM Revision 85ce3b17 (git): [ruby/win32-registry] Fix compatibility with JRuby
JRuby's fiddle implementation has quite some shortcomings compared with the CRuby impl.
Add JRuby tests in CI.
https://github.com/ruby/win32-registry/commit/7f34184c2e
Lars Kanis
01:48 AM Revision 6a49bbd7 (git): [ruby/win32-registry] Move all tests to volatile environment and use per-test individual registry key
This allows to run all tests in parallel.
Usage of `File` methods is avoided.
Since all tests are executed in the volatile environment of the registry,
the dedicated 'create_volatile' test is removed now.
Also add some documentation to t...
larskanis (Lars Kanis)

10/16/2024

09:57 PM Revision 36b7ad3c (git): [rubygems/rubygems] Fix `bundle check` sometimes locking gems under the wrong source
https://github.com/rubygems/rubygems/commit/1e5780db0a
Co-authored-by: Taylor Thurlow <thurlow@hey.com>
deivid (David RodrĂ­guez)
09:57 PM Revision def5fdf8 (git): [rubygems/rubygems] Delay and refactor verification of changed sources
https://github.com/rubygems/rubygems/commit/d5dce93167 deivid (David RodrĂ­guez)
09:57 PM Revision cff18256 (git): [rubygems/rubygems] No reason for `Definition#sources` to be private
https://github.com/rubygems/rubygems/commit/432fe083a6 deivid (David RodrĂ­guez)
09:57 PM Revision 9d5be3d9 (git): [rubygems/rubygems] Lock definition directly
https://github.com/rubygems/rubygems/commit/55eb6630a8 deivid (David RodrĂ­guez)
09:56 PM Revision e9e66f74 (git): [rubygems/rubygems] Add missing comma in documentation
https://github.com/rubygems/rubygems/commit/fe9999f2cf Leo Arnold
06:52 PM Revision 90aa6aef (git): Fix memory leak in syntax error in prism
If there is a syntax error, there could be an ast_node in the result.
This could get leaked if there is a syntax error so parsing could not
complete (parsed is not set to true).
For example, the following script leaks memory:
10.ti...
peterzhu2118 (Peter Zhu)
06:52 PM Revision 4621c9b8 (git): [DOC] Tweaks for Array#slice! (#11902)
burdettelamar (Burdette Lamar)
06:31 PM Revision 5eca11ca (git): RubyVM::InstructionSequence.of Thread::Backtrace::Location
This would be useful for debugging. kddnewton (Kevin Newton)
06:22 PM Revision 78fb1ab8 (git): * remove trailing spaces. [ci skip]
git[bot]
06:22 PM Revision 92519713 (git): [ruby/prism] Add a sample for multiplexing constants
https://github.com/ruby/prism/commit/e265dc5862 kddnewton (Kevin Newton)
06:12 PM Revision 3affd43c (git): [DOC] Tweaks for Array#shuffle
burdettelamar (Burdette Lamar)
06:11 PM Revision f549448e (git): [DOC] Correct related for Array#shuffle!
burdettelamar (Burdette Lamar)
03:56 PM Revision 550ae745 (git): [ruby/prism] Relocation
https://github.com/ruby/prism/commit/5ea6042408 kddnewton (Kevin Newton)
02:17 PM Revision ebfe615a (git): Skip GC compaction tests in test_yjit.rb when not supported
peterzhu2118 (Peter Zhu)
12:53 PM Revision c6c1e111 (git): Remove unused shared GC configuration in GitHub Actions
Shared GC CI is no longer running in the compilers workflow, so we can
remove it from .github/actions/compilers/entrypoint.sh.
peterzhu2118 (Peter Zhu)
08:49 AM Revision 2bf9c82f (git): [ruby/yaml] Support old version of Psych
https://github.com/ruby/yaml/commit/5b39653c52 hsbt (Hiroshi SHIBATA)
08:49 AM Revision c1f6ad56 (git): [ruby/yaml] Also use safe_load on YAML::Store
https://github.com/ruby/yaml/commit/09691d005f hsbt (Hiroshi SHIBATA)
08:04 AM Revision 21bac991 (git): [ruby/yaml] Make YAML::DBM optional
https://github.com/ruby/yaml/commit/f7c44d3fd7 hsbt (Hiroshi SHIBATA)
08:04 AM Revision 1d7547f5 (git): [ruby/yaml] Also use safe_load with each_value, values and shift
https://github.com/ruby/yaml/commit/f47d6123eb hsbt (Hiroshi SHIBATA)
08:04 AM Revision d45fb19e (git): [ruby/yaml] Prefer to use YAML.safe_load
https://github.com/ruby/yaml/commit/c3d0f64224 hsbt (Hiroshi SHIBATA)
08:04 AM Revision 623897c9 (git): [ruby/yaml] Added basic test cases
https://github.com/ruby/yaml/commit/36a339c0d7 hsbt (Hiroshi SHIBATA)
08:04 AM Revision fdcdc05b (git): [ruby/yaml] Removed confused VERSION constant for YAML::DBM
https://github.com/ruby/yaml/commit/952fd361b1 hsbt (Hiroshi SHIBATA)
07:11 AM Revision 19969155 (git): [ruby/json] Godounov ==> Godunov
https://github.com/ruby/json/commit/dbf7e9f473 ydah (Yudai Takada)
04:35 AM Revision a7a0fb9b (git): Followed up https://github.com/ruby/json/pull/613
hsbt (Hiroshi SHIBATA)
04:34 AM Revision 1379ef6f (git): [ruby/json] Embedded helper.rb into test_helper.rb
https://github.com/ruby/json/commit/f8417ffc69 hsbt (Hiroshi SHIBATA)
04:34 AM Revision 3c1b0f21 (git): [ruby/json] Fixed load path for ext version
https://github.com/ruby/json/commit/c17823688e hsbt (Hiroshi SHIBATA)
04:17 AM Bug #20716: Different instance_method behavior in Ruby 2.7 and Ruby 3.x
Hi Evans,
I am sorry for my late response.
Is there a way to backport this fix to Ruby version 3.1 and 3.2
natton (Tien Truong)
02:25 AM Revision a4bb2491 (git): Update default gems list at 8af6606b225ade043322cf9d50ac96 [ci skip]
git[bot]
02:24 AM Revision 8af6606b (git): Restore missing test-case from https://github.com/ruby/json/commit/c5a6d8042752dca312cfb407a6d3e594458d1cd6
Co-authored-by: "Jean Boussier" <byroot@ruby-lang.org> hsbt (Hiroshi SHIBATA)
02:24 AM Revision fdbead76 (git): [ruby/json] ractor_test.rb: ignore stderr
When rubygems is double loaded it fails the test.
The warning should happen in the first place but this
makes the test more resilient.
https://github.com/ruby/json/commit/513ddeaeb1
byroot (Jean Boussier)
02:24 AM Revision 80136b6a (git): Bump version
Sutou Kouhei
02:24 AM Revision 8d127c9b (git): Use JRuby implementation for TruffleRuby (#149)
Fix GH-145
Rename `lib/fiddle/jruby.rb` to `lib/fiddle/ffi_backend.rb` as a generic
ffi gem API based implementation.
JRuby and TruffleRuby use `lib/fiddle/ffi_backend.rb`.
---------
Co-authored-by: Benoit Daloze <eregontp@gmail.com>
Sutou Kouhei
02:24 AM Revision bbd5b8dd (git): [ruby/fiddle] Ractor support
(https://github.com/ruby/fiddle/pull/139)
https://github.com/ruby/fiddle/commit/91d0ea9849
Co-authored-by: Sutou Kouhei <kou@clear-code.com>
nobu (Nobuyoshi Nakada)
02:06 AM Bug #20799 (Closed): Bug in forwarding to struct methods
Applied in changeset commit:git|a0ecdbfbfe57a57ab33bdb5e1de4d5dfa8407dbb.
----------
Remove "simple" flag from forwarded ICs
I don't think we should ever consider forwarded IC's to be "simple".
Previously, the "simple" flag would be co...
tenderlovemaking (Aaron Patterson)
02:06 AM Revision a0ecdbfb (git): Remove "simple" flag from forwarded ICs
I don't think we should ever consider forwarded IC's to be "simple".
Previously, the "simple" flag would be copied to the derived IC and this
happened to cause struct set / get iseqs to write an invalid CC
fastpath:
https://github.com...
tenderlovemaking (Aaron Patterson)

10/15/2024

11:56 PM Bug #20799 (Closed): Bug in forwarding to struct methods
This program crashes:
```ruby
Thing = Struct.new(:value)
Obj = Thing.new("ok")
def delegate(...)
Obj.value(...)
end
def no_args
delegate
end
def splat_args(*args)
delegate(*args)
end
no_args
splat_args
``...
tenderlovemaking (Aaron Patterson)
10:59 PM Revision ed993b5b (git): [ruby/rdoc] Generate meta tags based on page's content
(https://github.com/ruby/rdoc/pull/1091)
https://github.com/ruby/rdoc/commit/716bc16a7d
Vinicius Stock
07:44 PM Feature #16986: Anonymous Struct literal
That's pretty slow and inefficient as it creates a new Struct subclass for every Hash it's applied to.
The core idea of this proposal is to make it syntax and disallow **h to make sure that doesn't happen.
This example could be a dec...
Eregon (Benoit Daloze)
06:54 PM Feature #16986: Anonymous Struct literal
Adding this here because a new method, something like `as_struct`, feels more Rubyish to me than a new syntax.
I've been using this because it lets me define with standard Hash syntactic sugar, then access the object members with meth...
danh337 (Dan H)
06:34 PM Revision f45eb3dc (git): Use GC.respond_to?(:compact) in bootstraptest/test_yjit.rb
defined?(GC.compact) will always return true even when compaction is not
supported. We should use GC.respond_to?(:compact) instead.
peterzhu2118 (Peter Zhu)
06:33 PM Revision 644153bf (git): [DOC] Tweaks for Array#shuffle! (#11891)
burdettelamar (Burdette Lamar)
06:02 PM Feature #18242: Parser makes multiple assignment sad in confusing way
These `and` & `or` operators are good things. They are much more readable for one-liners in some cases.
@matz @nobu I know you are super busy, but is there any way to move this forward?
danh337 (Dan H)
01:10 PM Revision 3da3cabf (git): Remove a puts in test_finalizer_thread_raise
peterzhu2118 (Peter Zhu)
11:48 AM Revision 48f953d6 (git): [ruby/json] Added license files on gemspec
https://github.com/ruby/json/commit/81092639e8 hsbt (Hiroshi SHIBATA)
11:47 AM Revision 914608be (git): The part of ext/json/generator/generator.c is replaced from CVTUTF code.
* https://github.com/ruby/json/pull/567
* https://github.com/ruby/json/commit/c96351f874
hsbt (Hiroshi SHIBATA)
11:35 AM Revision 7eed1df1 (git): [ruby/json] Update gemspec files
https://github.com/ruby/json/commit/0f9564104f byroot (Jean Boussier)
10:01 AM Feature #20770: A *new* pipe operator proposal
Reflecting on the opposing points raised, I believe the pipe operator could work differently, avoiding the issue of "implicit blocks" mentioned by @zverok.
As suggested by @Eregon, translating the operator to local variables reduces t...
AlexandreMagro (Alexandre Magro)
05:52 AM Revision d58ec119 (git): [Bug #20797] Yet another test
nobu (Nobuyoshi Nakada)
03:39 AM Feature #15554: warn/error passing a block to a method which never use a block
In this ticket, `Warning[:strict_unused_block]` is accepted by Matz.
We should discuss `:strict` category in different tickets.
ko1 (Koichi Sasada)
02:44 AM Revision 6c7209cd (git): Bump github/codeql-action from 3.26.12 to 3.26.13
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.12 to 3.26.13.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG....
dependabot[bot]
 

Also available in: Atom