Project

General

Profile

Activity

From 05/18/2024 to 05/24/2024

05/24/2024

09:33 PM Misc #20509 (Open): Document importance of #to_ary and #to_hash for Array#== and Hash#==
Both `Array#==` and `Hash#==` provide special behaviour in case the `other` argument is not an Array/Hash but defines the special `#to_ary`/`#to_hash` methods. Those methods are never called, they are just checked for existence. And if t... gettalong (Thomas Leitner)
09:31 PM Feature #20508: Explicit access to *, **, &, and ...
Implementing this would require removing recent and planned optimizations to avoid allocations that take advantage of the fact that `*` and `**` are not directly accessible as objects, only passable as splats.
> I'm not sure how to ac...
jeremyevans0 (Jeremy Evans)
09:14 PM Feature #20508 (Open): Explicit access to *, **, &, and ...
I find debugging and certain meta-programming tasks challenging because there's no explicit APIs for accessing certain types of arguments in Ruby.
Here's some example code:
```ruby
def splats(one, *, two: nil, **, &)
# These wo...
bradgessler (Brad Gessler)
09:04 PM Feature #20205: Enable `frozen_string_literal` by default
I was going to say this is MRI, not Rubinius, but it turns out chilled strings actually have a bug in MRI when used as Hash keys
```ruby
k = "key"
h = {}
h[k] = 42
k << "!" #warning: literal string will be frozen in the future
p h...
Dan0042 (Daniel DeLorme)
01:19 PM Feature #20205: Enable `frozen_string_literal` by default
To give a concrete example, Hash would be broken if it calls frozen? for string keys. That's the case on Rubinius: https://github.com/rubinius/rubinius/blob/84368419a49767ef9549a5778812e5f54b6c6223/core/hash.rb#L54-L56
So the pattern of...
Eregon (Benoit Daloze)
12:46 PM Feature #20205: Enable `frozen_string_literal` by default
@Dan0042 @headius mentioned a few above.
It also seems pretty bad that an object could `frozen? => true` and then become unfrozen, I think that alone could cause very tricky and serious bugs (e.g. it would break custom hash tables).
Eregon (Benoit Daloze)
12:42 PM Feature #20205: Enable `frozen_string_literal` by default
> avoiding the false positive on the `str.dup if str.frozen?` pattern
`+str` seems a good replacement for that pattern.
Besides, I would think it's pretty rare that it's OK to use that pattern, because it mutates a String that is not...
Eregon (Benoit Daloze)
12:27 PM Feature #20205: Enable `frozen_string_literal` by default
This is quite unfortunate, as there is not a single useful case for frozen? -> false
Oh well :-/
Dan0042 (Daniel DeLorme)
09:04 PM Revision 4d0c5486 (git): [rubygems/rubygems] update cache checksums to decrease string allocations
https://github.com/rubygems/rubygems/commit/85371a961a Jacklyn Ma
07:52 PM Misc #20507: Allow C extensions to be compiled cleanly with the `-Wsign-conversion` warning option
Pull request is https://github.com/ruby/ruby/pull/10843 mdalessio (Mike Dalessio)
07:50 PM Misc #20507 (Closed): Allow C extensions to be compiled cleanly with the `-Wsign-conversion` warning option
As a maintainer of several C extensions, I like to compile my code with some of the common [Warning Options](https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html) to help maintain code quality and safety.
One of the options that is...
mdalessio (Mike Dalessio)
07:27 PM Revision c7281e2d (git): [ruby/prism] Fix up ruby_parser string concat
https://github.com/ruby/prism/commit/4b06eae0df kddnewton (Kevin Newton)
06:46 PM Bug #20506: YJIT build error on aarch64 with Rust 1.78.0
The macos one is https://bugs.ruby-lang.org/issues/20495. Until https://github.com/ruby/ruby/pull/10699 is merged, you can run `git checkout coroutine/arm64/Context.S` and then `make` again. I added the git checkout to my build script in... eileencodes (Eileen Uchitelle)
05:02 PM Bug #20506 (Assigned): YJIT build error on aarch64 with Rust 1.78.0
k0kubun (Takashi Kokubun)
03:15 PM Bug #20506 (Third Party's Issue): YJIT build error on aarch64 with Rust 1.78.0
I was unable to compile Ruby 3.4.0-preview1 on Ubuntu 24.04 via Github Actions. As the logs are not retained indefinitely here's a link to the compilation failure: https://gist.github.com/schneems/bc6bdd6fba08ff6bfdd1bce8d76c457d
The ...
schneems (Richard Schneeman)
05:37 PM Revision 9f71393f (git): [ruby/prism] Fix up self-write order for lex
https://github.com/ruby/prism/commit/8f6da451b4 kddnewton (Kevin Newton)
05:19 PM Revision f8b75037 (git): [ruby/prism] Remove Debug module
https://github.com/ruby/prism/commit/4d8929ff6a kddnewton (Kevin Newton)
05:19 PM Revision 745a948b (git): [ruby/prism] Remove dynamic Debug module methods
https://github.com/ruby/prism/commit/b850794db9 kddnewton (Kevin Newton)
05:19 PM Revision 79001c8b (git): [ruby/prism] Remove error formatting, put directly in CRuby
https://github.com/ruby/prism/commit/53b2866487 kddnewton (Kevin Newton)
05:19 PM Revision 653652bc (git): [ruby/prism] Remove Debug#named_captures
https://github.com/ruby/prism/commit/5050dfbe70 kddnewton (Kevin Newton)
05:19 PM Revision e1041a8e (git): [ruby/prism] Move profiling to prism module directly
https://github.com/ruby/prism/commit/75fabf7081 kddnewton (Kevin Newton)
05:19 PM Revision b04c9596 (git): [ruby/prism] Remove various unused memsize infra
https://github.com/ruby/prism/commit/283938ed1f kddnewton (Kevin Newton)
05:19 PM Revision b8681c2e (git): [ruby/prism] Remove Debug::integer_parse
https://github.com/ruby/prism/commit/14e397598b kddnewton (Kevin Newton)
05:19 PM Revision 87035025 (git): [ruby/prism] Remove Debug::static_inspect
https://github.com/ruby/prism/commit/486c71c426 kddnewton (Kevin Newton)
05:05 PM Revision 47b723f8 (git): [PRISM] Use only bundled error formatting
kddnewton (Kevin Newton)
04:58 PM Revision ba336027 (git): [PRISM] Move error formatting into Ruby
kddnewton (Kevin Newton)
04:37 PM Bug #20401 (Closed): Duplicated when clause warning line number
kddnewton (Kevin Newton)
04:37 PM Bug #20401: Duplicated when clause warning line number
I've merged it for now. Happy to revert or change further if there's any more feedback! kddnewton (Kevin Newton)
04:36 PM Revision 47f09652 (git): Update duplicated when clause warning message
kddnewton (Kevin Newton)
04:36 PM Revision 7021e156 (git): [ruby/prism] Update duplicated when error message
https://github.com/ruby/prism/commit/54316fd8a0 kddnewton (Kevin Newton)
04:25 PM Revision 180ae009 (git): [rubygems/rubygems] Rework `bundle gem` specs so that they work on Windows
Most of the commands run by these specs actually prompt for user input
but for some reason `Open3` outside of Windows ignores that and goes on
with no user input. Windows does not like this.
This commit refactors these specs so that:
*...
deivid (David Rodríguez)
03:05 PM Bug #20218: aset/masgn/op_asgn with keyword arguments
@matz Why is this feature being removed instead of fixed? bughit (bug hit)
03:02 PM Revision 6a7e4c40 (git): [rubygems/rubygems] Neither `--force` flag or inline mode should mandate a remote resolution
https://github.com/rubygems/rubygems/commit/50dd93e217 deivid (David Rodríguez)
03:02 PM Revision eef125fd (git): [rubygems/rubygems] Fix error messages to not mention cached gems when they were not used
https://github.com/rubygems/rubygems/commit/5ce9a7ff17 deivid (David Rodríguez)
03:02 PM Revision 744dd5a3 (git): [rubygems/rubygems] Fix performance regression on applications with a local cache
Even if all gems are properly installed and no resolve is needed, we
recently started always reading all packages in `vendor/cache` and
extracting specifications from them.
This commit fixes the problem by longer making considering cach...
deivid (David Rodríguez)
03:02 PM Revision c23798c2 (git): [rubygems/rubygems] Remove `@remote` instance variable from Definition
It's a sources specific concern, so keep it there. It allows to simplify
the code quite a lot.
https://github.com/rubygems/rubygems/commit/639f0b72f4
deivid (David Rodríguez)
03:02 PM Revision ea7e3e7b (git): [rubygems/rubygems] Give better message when resolving because there's no lockfile
https://github.com/rubygems/rubygems/commit/4e048bc255 deivid (David Rodríguez)
03:02 PM Revision 0f9781b5 (git): [rubygems/rubygems] Use `Definition#no_resolve_needed?`
https://github.com/rubygems/rubygems/commit/5074c58ffb deivid (David Rodríguez)
03:02 PM Revision 3832a1bd (git): [rubygems/rubygems] Make code more symmetric
https://github.com/rubygems/rubygems/commit/dc7c9f029a deivid (David Rodríguez)
02:36 PM Bug #20495: Running "make clean" deletes critical "coroutine/amd64/Context.S" file and causes "make" to fail
The fix looks good to me. I also think we should do out of tree builds if possible to make things like `make clean` a bit less accidentally destructive. ioquatix (Samuel Williams)
08:39 AM Bug #20505: Reassigning the block argument in method body keeps old block when calling super with implicit arguments
mame (Yusuke Endoh) wrote in #note-3:
> Actually, `super` is totally confusing. Do you know that `super()` passes the block argument? I have been using Ruby for 20 years and never knew about it until recently.
> ...
I believe super alw...
Earlopain (Earlopain _)
08:31 AM Bug #20505: Reassigning the block argument in method body keeps old block when calling super with implicit arguments
Actually, `super` is totally confusing. Do you know that `super()` passes the block argument? I have been using Ruby for 20 years and never knew about it until recently.
```
class A
def foo
yield
end
end
class B < A
...
mame (Yusuke Endoh)
08:17 AM Bug #20505: Reassigning the block argument in method body keeps old block when calling super with implicit arguments
nobu (Nobuyoshi Nakada) wrote in #note-1:
> I think that's what it is.
> ...
Ok, I see what you mean. This makes sense, somewhat. You could also just assign a string literal which makes even less sense, didn't think about that beforeha...
Earlopain (Earlopain _)
07:57 AM Bug #20505: Reassigning the block argument in method body keeps old block when calling super with implicit arguments
I think that's what it is.
`Proc` is an instantiated block representation, but not a block itself.
nobu (Nobuyoshi Nakada)
07:31 AM Bug #20505 (Rejected): Reassigning the block argument in method body keeps old block when calling super with implicit arguments
You can call super without arguments and parenthesis to pass along all the enclosing method arguments to the parent method.
You can modify positional and keyword arguments before the call to super, and the parent method will recieve t...
Earlopain (Earlopain _)
08:00 AM Revision e49d68bf (git): correct typo [ci skip]
Sampat Badhe
07:59 AM Revision 7da01370 (git): Revert "[ruby/openssl] Use EVP_Digest{Sign,Verify} when available"
This reverts commit 63f40a5be59ac898e87528630568b7890ffcf5fb. hsbt (Hiroshi SHIBATA)
07:59 AM Revision dc969b3a (git): Revert "[ruby/openssl] Enable HKDF support for LibreSSL 3.6 and later"
This reverts commit b6da54c7219197eacdbfdca53739686f0bb2d06a. hsbt (Hiroshi SHIBATA)
04:02 AM Revision 7ef3a758 (git): * 2024-05-24 [ci skip]
git[bot]
04:02 AM Revision b6da54c7 (git): [ruby/openssl] Enable HKDF support for LibreSSL 3.6 and later
LibreSSL 3.6 added support for HKDF in EVP. Enable this in ossl_kdf.c.
https://github.com/ruby/openssl/commit/9bdd39a7e2
Theo Buehler
04:02 AM Revision 63f40a5b (git): [ruby/openssl] Use EVP_Digest{Sign,Verify} when available
LibreSSL 3.4 added EVP_DigestSign() and EVP_DigestVerify(). Use them
when available to prepare for the addition of Ed25519 support in
LibreSSL 3.7.
https://github.com/ruby/openssl/commit/475b2bf766
Theo Buehler
04:02 AM Revision 5f641517 (git): LibreSSL 3.5 and later provide and need to use PEM_write_bio_PrivateKey_traditional()
Co-authored-by: "Jeremy Evans" <code@jeremyevans.net> hsbt (Hiroshi SHIBATA)
01:53 AM Revision acdd19fa (git): [rubygems/rubygems] Fiks speeling cott bye codespell
https://github.com/rubygems/rubygems/commit/508ed917a5 Martin Emde
01:27 AM Revision 2d4d99f7 (git): [PRISM] Update remaining test excludes
kddnewton (Kevin Newton)
12:04 AM Bug #20501: ruby SEGV
git bisect shows the problem is caused by the following commit.
```
% git bisect bad
84e4453436c3549b4fda6014cdd5fcc9e0b80755 is the first bad commit
commit 84e4453436c3549b4fda6014cdd5fcc9e0b80755
Author: Aaron Patterson <tender...
akr (Akira Tanaka)

05/23/2024

10:57 PM Revision 76e31d9a (git): [rubygems/rubygems] Remove MD5 ETag generation from compact index
This was an offramp for generated etags to allow existing caches
to be served until people could upgrade. It has been about 6 months
since the transitional version was released, so we can remove this
transitional code now.
https://githu...
Martin Emde
07:30 PM Revision c96b5791 (git): [ruby/prism] Raise `void value expression` in begin clauses
In some cases Prism was either not raising an appropriate `void value
expression` error, or raising that error when the syntax is considered
valid.
To fix this Prism needs to check whether we have other clauses on the
`begin` rather tha...
eileencodes (Eileen Uchitelle)
07:11 PM Revision 49fcd33e (git): Introduce a specialize instruction for Array#pack
Instructions for this code:
```ruby
# frozen_string_literal: true
[a].pack("C")
```
Before this commit:
```
== disasm: #<ISeq:<main>@test.rb:1 (1,0)-(3,13)>
0000 putself ( ...
nobu (Nobuyoshi Nakada)
06:47 PM Bug #20504 (Closed): Interpolated string literal in regexp encoding handling
There is some very odd behavior that I'm not sure is intentional or not, so I'm looking for guidance. In here:
```ruby
# encoding: us-ascii
interp = "\x80"
regexp = /#{interp}/
```
the `regexp` variable is a ascii-8bit regula...
kddnewton (Kevin Newton)
06:45 PM Revision e5e079e7 (git): [ruby/prism] Only accept command call when specified for constant path
https://github.com/ruby/prism/commit/0ae908b6ee kddnewton (Kevin Newton)
06:00 PM Feature #20205: Enable `frozen_string_literal` by default
I'm still on my way back from Kaigi, so I haven't started working on this. But I had a quick chat with Matz, and it wasn't clear to him that we went with `frozen? -> true`, and he was clear he expects `frozen? -> false`.
Also based on...
byroot (Jean Boussier)
05:53 PM Feature #20205: Enable `frozen_string_literal` by default
@byroot How is that experiment going? I'm all for experimenting, but just as in #15554 I believe we should reduce false positives to a minimum.
Also I spent some time on this, but I'm having a hard time coming up with a non-contrived ...
Dan0042 (Daniel DeLorme)
05:39 PM Bug #20478: Circular parameter syntax error rules
Also:
```ruby
def foo(bar = -> { bar }) end
def foo(bar = ->( ) { bar }) end
def foo(bar = ->(_) { bar }) end
```
Two of these are a syntax error, but I think either all of them should be or none of them should be.
kddnewton (Kevin Newton)
05:37 PM Bug #20478: Circular parameter syntax error rules
If we go with only syntax errors at depth 0, then this:
```ruby
def foo(bar = baz { bar }) end
```
should not be a syntax error either. I think that makes sense, because the `baz` method could use `instance_exec`/`instance_eval` ...
kddnewton (Kevin Newton)
05:22 PM Revision 56a51fcd (git): [PRISM] Fix up some masgn topn calculations
kddnewton (Kevin Newton)
05:22 PM Misc #20503: Dedenting heredoc line continuation
For additional context, if you have:
```ruby
<<~eos
TEXT1
TEXT2
eos
```
you will get `"TEXT1\nTEXT2\n"`. But with a line continuation:
```ruby
<<~eos
\
TEXT1
TEXT2
eos
```
you get: `" TEXT1\n TEXT2\n"`. E...
kddnewton (Kevin Newton)
04:03 PM Misc #20503 (Closed): Dedenting heredoc line continuation
When there is a line continuation inside a dedenting heredoc, occasionally it will impact the dedent calculation in interesting ways. I'm not sure if it's a bug, or if my understanding is incorrect.
```ruby
<<~eos
TEXT
eos
```
...
kddnewton (Kevin Newton)
04:41 PM Revision 0ebd3723 (git): [PRISM] Enable TestSyntax#test_unterminated_heredoc_cr
kddnewton (Kevin Newton)
03:51 PM Revision 7d89d527 (git): [ruby/prism] Disallow newlines in heredoc identifiers
https://github.com/ruby/prism/commit/737f2c2117 kddnewton (Kevin Newton)
10:28 AM Revision a99d79dd (git): Remove dead code
Since 140512d2225e6fd046ba1bdbcd1a27450f55c233, `else` without
`rescue` has been a syntax error.
nobu (Nobuyoshi Nakada)
10:26 AM Revision 1471a160 (git): Add RB_GC_GUARD for rb_str_to_parser_string
I think this fixes the following random test failure that could not be
fixed for a long time:
```
1) Failure:
TestSymbol#test_inspect_under_gc_compact_stress [/home/chkbuild/chkbuild/tmp/build/20240522T003003Z/ruby/test/ruby/test_symb...
mame (Yusuke Endoh)
10:20 AM Misc #20387: Meta-ticket for ASAN support
Some more thoughts:
* How do other projects use ASAN? They must have similar situations regarding dependencies compiled or not with ASAN.
* Gentoo IIRC has this feature to easily set flags/features globally for all installed packages. ...
Eregon (Benoit Daloze)
10:15 AM Misc #20387: Meta-ticket for ASAN support
> Technically speaking, when using ASAN, you should compile all of your dependencies with ASAN as well. If you don't do this, ASAN might miss crashes where you pass an invalid pointer to a shared library, and it dereferences that.
I am ...
Eregon (Benoit Daloze)
06:46 AM Misc #20387: Meta-ticket for ASAN support
So I've been thinking about how I'm going to do the setup-ruby thing this week. _Technically_ speaking, when using ASAN, you should compile all of your dependencies with ASAN as well. If you don't do this, ASAN might miss crashes where y... kjtsanaktsidis (KJ Tsanaktsidis)
05:17 AM Bug #19920: Ruby 3.1 fails to build with --enable-shared on macos-arm64: is an incompatible architecture (have 'arm64', need '')
https://github.com/ruby/ruby/pull/10827 is for Ruby 3.1 hsbt (Hiroshi SHIBATA)
05:17 AM Bug #19751: Ruby 3.2.2 Fails to Compile from Source
https://github.com/ruby/ruby/pull/10829 is for Ruby 3.1 hsbt (Hiroshi SHIBATA)
05:16 AM Bug #20431: Ruby 3.3.0 build fail with make: *** [io_buffer.o] Error 1
https://github.com/ruby/ruby/pull/10831 is for Ruby 3.1 hsbt (Hiroshi SHIBATA)
03:36 AM Bug #20431 (Closed): Ruby 3.3.0 build fail with make: *** [io_buffer.o] Error 1
@nagachika @katei also found https://github.com/ruby/ruby/pull/10572 for this. Thank you both! hsbt (Hiroshi SHIBATA)
03:35 AM Bug #20431: Ruby 3.3.0 build fail with make: *** [io_buffer.o] Error 1
Maybe https://github.com/ruby/ruby/commit/1faeb44dfcf777ace28321e80d0ebf942161a0a7 is the fix for this issue? nagachika (Tomoyuki Chikanaga)
02:41 AM Bug #20431 (Open): Ruby 3.3.0 build fail with make: *** [io_buffer.o] Error 1
@nobu What's the fixed commit? I can't fix this ticket with backport. hsbt (Hiroshi SHIBATA)
05:15 AM Bug #20183: `erb/escape.so` cannot be loaded when `--with-static-linked-ext`
https://github.com/ruby/ruby/pull/10832 is for Ruby 3.1 hsbt (Hiroshi SHIBATA)
05:12 AM Revision 0a671907 (git): merge revision(s) ae8990aef098410ecc2b5f48fea9d7d171a3c5f6:
Alias init functions
The extension library has each initialization function named "Init_" +
basename. If multiple extensions have the same base name (such as
cgi/escape and erb/escape), the same function will be ...
hsbt (Hiroshi SHIBATA)
04:49 AM Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
Thank you for your fix!
Also, I think this change needs to be backported to 3.2.x as well:
https://bugs.ruby-lang.org/issues/20494#note-7
I hope you can change the Backport field If the above is correct
lish82 (Hiroki Katagiri)
04:17 AM Bug #20500 (Closed): Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
Applied in changeset commit:git|5fa6ba9568e87e43e08a4daeba1572254c589fb1.
----------
[Bug #20500] Search non-default directories for jemalloc
Co-Authored-by: lish82 (Hiroki Katagiri)
nobu (Nobuyoshi Nakada)
03:13 AM Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
Thank you, makes sense.
https://github.com/ruby/ruby/pull/10830
nobu (Nobuyoshi Nakada)
04:24 AM Revision 60fb6d48 (git): merge revision(s) 7f87ad9fc4bc45faf8cd33602a025f27c094b2fd:
Refer autoconfigured endian macro (#10572)
Remove the case `RB_IO_BUFFER_HOST_ENDIAN` is not defined.
---
include/ruby/io/buffer.h | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
hsbt (Hiroshi SHIBATA)
04:24 AM Revision c54f52fb (git): merge revision(s) 1faeb44dfcf777ace28321e80d0ebf942161a0a7:
Check if macros are defined before using
Assume macros with the same prefix would be defined together.
---
include/ruby/io/buffer.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
hsbt (Hiroshi SHIBATA)
04:16 AM Revision ce20367a (git): Define `incflags` also on mswin
nobu (Nobuyoshi Nakada)
04:16 AM Revision 5fa6ba95 (git): [Bug #20500] Search non-default directories for jemalloc
Co-Authored-by: lish82 (Hiroki Katagiri) nobu (Nobuyoshi Nakada)
03:45 AM Revision 7256dfd4 (git): [Bug #19751] Remove linemarkers in middle
nobu (Nobuyoshi Nakada)
03:36 AM Revision fc9acbaa (git): Bump ruby/setup-ruby from 1.177.0 to 1.177.1
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.177.0 to 1.177.1.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/7dc18ff0ca6e3630d3f29d2a85ebf6cc27...
dependabot[bot]
02:59 AM Bug #20451 (Closed): Bad Ruby 3.1.5 backport causes fiddle to fail to build
hsbt (Hiroshi SHIBATA)
02:58 AM Revision c884de63 (git): merge revision(s) 48644e71096c70132be9dfdcbfb414ec2e68d18b:
tool/runruby.rb: remove LD_PRELOAD-like env-var options from
runruby.rb
LD_PRELOAD sometimes forces loading libraries into unrelated
executables. For example, macOS on recent Apple Silicon can execute
ar...
hsbt (Hiroshi SHIBATA)
02:18 AM Bug #20501: ruby SEGV
Although I can't reproduce it, it looks like that `catch_iseq` is broken, from the backtrace. nobu (Nobuyoshi Nakada)
01:58 AM Revision 3abd0398 (git): * 2024-05-23 [ci skip]
git[bot]
01:57 AM Revision 5979e411 (git): macos-11 will be retired at Jun, 2024
hsbt (Hiroshi SHIBATA)
01:57 AM Revision 80b11b21 (git): merge revision(s) a4ad6bd9aac564e93219284c912b26a72f9e82fc:
[ruby/fiddle] closure: free resources when an exception is raised in
Closure.new
GitHub: GH-102
https://github.com/ruby/fiddle/commit/81a8a56239
---
ext/fiddle/closure.c | 56 ++++++++++++++++++...
Sutou Kouhei
01:18 AM Revision aad09104 (git): Update default gems list at 2cc047df9a92e0c6b9d0fb57f305f4 [ci skip]
git[bot]
01:17 AM Revision 2cc047df (git): [ruby/rdoc] Bump up 6.7.0
https://github.com/ruby/rdoc/commit/a667e616e1 hsbt (Hiroshi SHIBATA)

05/22/2024

08:34 PM Revision 6d81ae3f (git): [PRISM] Properly support 'it'
kddnewton (Kevin Newton)
08:34 PM Revision e5759548 (git): [ruby/prism] Fix support for 'it' implicit local variable
https://github.com/ruby/prism/commit/53bbcfe513 kddnewton (Kevin Newton)
04:58 PM Bug #20502 (Closed): Backport pthread_kill fix to Ruby 3.3
commit:ef3803ed4028810f9088019f0db1a366370ab53a should be backported to Ruby 3.3. I've now seen this bug affect multiple cases. On OpenBSD, there are test failures in by (https://github.com/jeremyevans/by) on Ruby 3.3.1, but not Ruby 3.... jeremyevans0 (Jeremy Evans)
12:19 PM Bug #20501: ruby SEGV
`t.rb` is not minimized because the probability of SEGV is reduced when I make the file smaller. akr (Akira Tanaka)
12:11 PM Bug #20501 (Closed): ruby SEGV
I encountered SEGV of ruby.
```
% ./ruby -v
ruby 3.4.0dev (2024-05-22T06:59:19Z master 5613d6e95b) [x86_64-linux]
% ./ruby t.rb
t.rb:33: [BUG] Segmentation fault at 0x00007fc243696098
ruby 3.4.0dev (2024-05-22T06:59:19Z master 56...
akr (Akira Tanaka)
09:28 AM Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
> Or use `RUBY_CHECK_HEADER` instead of `AC_CHECK_HEADER?`
I think it's enough to solve the first problem (Non-system directories are not searched when checking jemalloc headers)
But the process that checks `jemalloc` has a process tha...
lish82 (Hiroki Katagiri)
09:21 AM Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
It might be correct to fix it so that `-ljemalloc` is not specified when building `enc` lish82 (Hiroki Katagiri)
09:20 AM Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
I don't know if `enc` uses jemalloc actually
But the build of `enc` fails because `-ljemalloc` is specified when building `enc`
lish82 (Hiroki Katagiri)
05:43 AM Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
Or use `RUBY_CHECK_HEADER` instead of `AC_CHECK_HEADER`?
A question, does enc use jemalloc?
nobu (Nobuyoshi Nakada)
06:59 AM Revision 5613d6e9 (git): Update bundled gems list as of 2024-05-22
git[bot]
06:01 AM Revision 5b9b6b4d (git): [rubygems/rubygems] move git clone depth error handling to else branch
https://github.com/rubygems/rubygems/commit/022eb473f8 Ellen Keal
06:01 AM Revision ec9de0c4 (git): [rubygems/rubygems] fix for gems not downloading from git via http
https://github.com/rubygems/rubygems/commit/592a2fcd54 Ellen Keal
04:49 AM Revision 1e08a9f0 (git): [Bug #20499] Use Xcode owned tools for Xcode clang
Xcode has its own version tools that may be incompatible with genuine
LLVM tools, use the tools in the same directory.
nobu (Nobuyoshi Nakada)
04:16 AM Revision 911b7d1d (git): [ruby/reline] Catches Errno::ENODEV and Errno::EBADF in
get_screen_size. Closes https://github.com/ruby/reline/pull/690
(https://github.com/ruby/reline/pull/702)
* Catches exceptions Errno::ENODEV and Errno::EBADF in get_screen_size. Closes https://github.com/ruby/reline/pull/690
* Just cat...
vtamara (Vladimir Támara Patiño)
03:02 AM Revision ae07c606 (git): ---
updated-dependencies:
- dependency-name: ruby/setup-ruby
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot]
02:58 AM Feature #20497: Tempfile.create_io
Previous discussions:
- https://bugs.ruby-lang.org/issues/11715 @akr thinks it's a good idea to have an anonymous file, then name it afterwards.
- https://bugs.ruby-lang.org/issues/13743 @akr is against the pull request which actuall...
shyouhei (Shyouhei Urabe)
01:45 AM Revision f8e67522 (git): Revert "[Bug #20499] Use consistent version tools with CC"
This reverts commit 8277cf0799145bed0c813bfcc187739f77b3102d.
This change break to build with `rbenv install ruby-dev` with the following error.
```
touch yjit/target/release/libyjit.a
transdb.h updated
./tool/darwin-ar: line 6: /nm: N...
hsbt (Hiroshi SHIBATA)

05/21/2024

11:39 PM Bug #20094: Inline while loop behavior changed unexpectedly in 3.3.0
I have found that the backport commit was reverted at https://github.com/ruby/ruby/commit/9f18cbd7964f32f224e7d0efba79ee0476a442e0.
nagachika (Tomoyuki Chikanaga)
11:05 PM Bug #20094: Inline while loop behavior changed unexpectedly in 3.3.0
I see the issue was fixed on master branch.
I will revert back Backport field to "3.3: REQUIRED", but stay the ticket status "Closed.
nagachika (Tomoyuki Chikanaga)
05:26 PM Bug #20094: Inline while loop behavior changed unexpectedly in 3.3.0
Can we reopen this bug (please), or should we create a new issue? nevans (Nicholas Evans)
06:45 PM Revision b20adf90 (git): [ruby/prism] Fix up ruby_parser interpolation concatenation
https://github.com/ruby/prism/commit/79cec4be22 kddnewton (Kevin Newton)
06:43 PM Revision 12386d36 (git): [ruby/prism] Provide deprecated numeric method
https://github.com/ruby/prism/commit/77bf9038a2 kddnewton (Kevin Newton)
06:27 PM Revision 7a8f797c (git): [PRISM] Use new rational layout
kddnewton (Kevin Newton)
06:27 PM Revision 89efb94f (git): [ruby/prism] Reconfigure rationals
This eliminates the subnode on RationalNode and replaces it with two
integer fields, which represent the ratio for the rational. It also
reduces those two integers if they both fit into 32 bits.
Importantly, this PR does not implement b...
kddnewton (Kevin Newton)
06:27 PM Revision 42930d28 (git): [PRISM] Handle safe navigation in call target nodes
kddnewton (Kevin Newton)
06:27 PM Revision 16b0bb3d (git): [PRISM] Enable TestSyntax#test_warn_balanced
kddnewton (Kevin Newton)
04:56 PM Revision bcbfc675 (git): [PRISM] Enable TestSyntax#test_numbered_parameter
kddnewton (Kevin Newton)
03:59 PM Feature #20497: Tempfile.create_io
From what I understand, the real intent of this proposal is to "let the OS clean up after the generated tempfile". If so, I don't think the name `create_io` represents the intent.
I vote for adding a keyword argument to `Tempfile.create...
matz (Yukihiro Matsumoto)
03:53 PM Bug #20500 (Closed): Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
I found a problem similar to #20494 on jemalloc
It's similar to #20494, but it has a few more issues
Problems:
- Non-system directories (specified by `--with-opt-dir`) are not searched when checking jemalloc headers (almost the sa...
lish82 (Hiroki Katagiri)
03:46 PM Revision ff43b4a2 (git): [ruby/prism] Add error for numbered parameter used in inner block
https://github.com/ruby/prism/commit/c386ba6d48 kddnewton (Kevin Newton)
03:05 PM Bug #20218: aset/masgn/op_asgn with keyword arguments

These are not arguments for removing a useful, long-standing syntactic feature, but for fixing the various edge cases with it.
Multiple assignment segfaults in 2.6 too. I didn't know about it but it did not prevent me from using the...
bughit (bug hit)
02:38 PM Bug #20218: aset/masgn/op_asgn with keyword arguments
Thanks for the clarification @jeremyevans0. I think it's also worth noting you should be able to call them normally with a call operator, as in:
```ruby
a.[]=(1, 2, 4, bar: 3, &b)
```
kddnewton (Kevin Newton)
02:35 PM Bug #20218: aset/masgn/op_asgn with keyword arguments
In Ruby 3.3, behavior is inconsistent:
```ruby
a = Class.new do
def [](*a, **kw, &b)
p([a, kw, b])
0
end
alias []= []
end.new
b = proc{}
# Regular assignment treats keywords as positional
a[1, 2, bar: 3, &b] ...
jeremyevans0 (Jeremy Evans)
02:24 PM Bug #20218: aset/masgn/op_asgn with keyword arguments
The release notes, which is what caught my attention, are categorical:
> Keyword arguments are no longer allowed in index. [Bug #20218]
bughit (bug hit)
02:20 PM Bug #20218: aset/masgn/op_asgn with keyword arguments
There were long-standing bugs with aset within masgn. Things like:
```ruby
foo, bar[1, 2, qux: 1, &qaz], baz = *qoz
```
and in other expressions like:
```ruby
begin
rescue => bar[1, 2, qux: 1, &qaz]
end
```
and:
```r...
kddnewton (Kevin Newton)
02:13 PM Bug #20218: aset/masgn/op_asgn with keyword arguments
@matz Why is it necessary to introduce a breaking change here by removing useful, long-standing syntax? See example in the previous post. bughit (bug hit)
12:35 PM Bug #20495: Running "make clean" deletes critical "coroutine/amd64/Context.S" file and causes "make" to fail
I wrote a fix for this a couple weeks ago. https://github.com/ruby/ruby/pull/10699 eileencodes (Eileen Uchitelle)
11:17 AM Feature #20448: Make coverage event hooking C API public
> Thanks for the research. So, `TracePoint.new(:branch)` seems good enough for the use case of fuzzer, right?
Yes, `TracePoint.new(:branch)` will work. It would be nice to have a C interface as well, but it's not strictly necessary. T...
ms-tob (Matt S)
09:51 AM Bug #20499 (Closed): Ruby builds on macOS store absolute paths for AR and NM in rbconfig since Ruby 3.2.3/3.3.0
Applied in changeset commit:git|8277cf0799145bed0c813bfcc187739f77b3102d.
----------
[Bug #20499] Use consistent version tools with CC
As Apple Xcode is relocatable and selectable with `xcode-select`, use
consistent versions of command...
nobu (Nobuyoshi Nakada)
08:03 AM Revision 8277cf07 (git): [Bug #20499] Use consistent version tools with CC
As Apple Xcode is relocatable and selectable with `xcode-select`, use
consistent versions of commands in the same location.
nobu (Nobuyoshi Nakada)
05:07 AM Bug #20151 (Closed): Can't build Ruby 3.1 on FreeBSD 14.0
I fixed this at https://github.com/ruby/ruby/pull/10814 hsbt (Hiroshi SHIBATA)
05:06 AM Revision 07c11226 (git): merge revision(s) cfc564ac40496a392f463658ea33954ea76d6b11:
Include headers for `ruby_qsort` only if needed
If GNU `qsort_r` is available, we use the function and these headers
are not used.
---
util.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletion...
hsbt (Hiroshi SHIBATA)
05:06 AM Revision 24d7a1c6 (git): merge revision(s) ed3d8f74ec2eee43d50f9826e2f11ceea279823e:
Delete a macro that has never been used, probably added by mistake
---
util.c | 7 -------
1 file changed, 7 deletions(-)
hsbt (Hiroshi SHIBATA)
05:06 AM Revision 122b510b (git): merge revision(s) 7400628cb054a9a9651d69411a100fc9d518099f:
[Bug #18997] Don't define ruby_qsort when POSIX qsort_r is available
The current code would define ruby_qsort as a wrapper of qsort_s
when it is available. When both qsort_s and POSIX (GNU) qsort_r
are available,...
hsbt (Hiroshi SHIBATA)
04:52 AM Revision c773453c (git): ripper: Splat find patterns
nobu (Nobuyoshi Nakada)
04:52 AM Revision 501dbf2b (git): ripper: Splat hash patterns
nobu (Nobuyoshi Nakada)
04:52 AM Revision 978c31f0 (git): ripper: Splat array patterns with `pre_arg`
nobu (Nobuyoshi Nakada)
04:52 AM Revision 3e81bc3d (git): ripper: Splat `$:opt_args_tail` for `params!`
nobu (Nobuyoshi Nakada)
04:52 AM Revision be0f2ab3 (git): ripper: Splat `$:head` for `defs!`
nobu (Nobuyoshi Nakada)
04:52 AM Revision 4c7ec5e0 (git): ripper: Extend to represent array access and splat
nobu (Nobuyoshi Nakada)
04:52 AM Revision 5bba5fb7 (git): ripper: Describe `var_ref` for `user_variable` in ripper DSL
nobu (Nobuyoshi Nakada)
04:52 AM Revision 56d2c26c (git): ripper: Move `assign_error` call to `assignable`
Prepare `lhs` as `$:$` before `assignable` and update it there.
Remove `ripper_assignable` which is no longer used.
nobu (Nobuyoshi Nakada)
04:52 AM Revision e61e5c3b (git): ripper: Move `assign_error` call to `const_decl`
Prepare `path` as `$:$` before `const_decl` and update it there.
Remove `ripper_const_decl` which is no longer used.
nobu (Nobuyoshi Nakada)
04:52 AM Revision 66446b94 (git): ripper: Allow parenthesized comma in options
nobu (Nobuyoshi Nakada)
04:52 AM Revision 47efdae6 (git): ripper: Preserve indentation
nobu (Nobuyoshi Nakada)
04:52 AM Revision 147134b4 (git): ripper: Remove rb_ripper_none
Now it is used only for wheter `opt_paren_args` is `none`. Introduce
a new special node to distinguish an empty parentheses from it .
nobu (Nobuyoshi Nakada)
04:52 AM Revision ee8bbbab (git): ripper: Show popped TOS in debug mode
nobu (Nobuyoshi Nakada)
04:52 AM Revision 2e765c20 (git): ripper: Short hand for `rb_ary_new_from_args`
nobu (Nobuyoshi Nakada)
04:52 AM Revision 2d92a4af (git): ripper: Make `$:n` to refer each grammar values
Ripper DSL uses these values for callbacks, but does not need indexes. nobu (Nobuyoshi Nakada)
04:52 AM Revision 5fed63f7 (git): ripper: Use ripper DSL in simple dispatch chain cases
nobu (Nobuyoshi Nakada)
02:49 AM Revision 30aa300f (git): ---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot]
01:25 AM Revision 6ddc0a80 (git): [PRISM] Enable TestRegexp#test_unescape
kddnewton (Kevin Newton)
01:25 AM Revision e82c7a05 (git): [PRISM] Enable TestRegexp#test_match_control_meta_escape
kddnewton (Kevin Newton)

05/20/2024

08:33 PM Revision 86cf074f (git): Avoid array allocation for empty ruby2_keywords flagged keyword hash
If the method being called does not have a positional splat
parameter, there is no point in allocating the array, as
decrementing given_argc is sufficient to ensure the empty keyword
hash is not considered an argument, assuming that we a...
jeremyevans (Jeremy Evans)
08:33 PM Revision 2433b57b (git): Avoid hash allocation for empty ruby2_keywords flagged keyword hash
If the method being called does not have a keyword splat parameter,
there is no point in allocating the hash, because the hash will
be unused (as empty keyword hashes are ignored).
jeremyevans (Jeremy Evans)
08:33 PM Revision f021bcdb (git): Add allocation tests for ruby2_keywords
This tests ruby2_keywords flagged methods, as well as passing
ruby2_keywords flagged hashes to other methods.
Some of the behavior here is questionable, such as allocating
different numbers of objects depending on whether a block is
pas...
jeremyevans (Jeremy Evans)
07:39 PM Revision 7c2c528d (git): [ruby/prism] Fix up regexp escapes with control/meta
https://github.com/ruby/prism/commit/8a7afa6988 kddnewton (Kevin Newton)
07:39 PM Revision 012b764f (git): [ruby/prism] Fix up regexp escapes with control/meta and x
https://github.com/ruby/prism/commit/1dbbbedf55 kddnewton (Kevin Newton)
05:23 PM Bug #20499 (Closed): Ruby builds on macOS store absolute paths for AR and NM in rbconfig since Ruby 3.2.3/3.3.0
This is a regression introduced by https://github.com/ruby/ruby/commit/038f9ade3c4d965415e4956561975454cf9eeb21 and causes various downstream problems such as https://github.com/ruby/prism/issues/2716. Development tools on macOS are relo... Bo98 (Bo Anderson)
04:28 PM Revision 6c07aa36 (git): [PRISM] Remove old prism spec workflow, just use default.mspec now
kddnewton (Kevin Newton)
04:28 PM Revision a708b6aa (git): [PRISM] Respect eval coverage setting
kddnewton (Kevin Newton)
04:28 PM Revision 78e504f2 (git): [PRISM] Enable TestPrism#test_truncated_source_line
kddnewton (Kevin Newton)
03:28 PM Revision ca5b4580 (git): [PRISM] Match CRuby line semantics for evstr
kddnewton (Kevin Newton)
03:14 PM Bug #20494: Non-default directories are not searched when checking for a gmp header
@nobu
I just realized, isn't it necessary to backport this change to 3.2.x?
Since this bug seems to be present since 3.2.3, and 3.2.x has not yet reached EOL
I'm sorry if this has already been addressed
lish82 (Hiroki Katagiri)
02:43 PM Bug #20494: Non-default directories are not searched when checking for a gmp header
@nobu
Thank you for your quick fix!
lish82 (Hiroki Katagiri)
07:40 AM Bug #20494: Non-default directories are not searched when checking for a gmp header
>Specifying --with-gmp-dir=/opt/homebrew does not work
Ah, sorry. I skipped to read above report. It seems not only ruby-build issue.
hsbt (Hiroshi SHIBATA)
07:35 AM Bug #20494: Non-default directories are not searched when checking for a gmp header
What's your ruby-build version? ruby-build already have auto-detect feature for gmp provided by homebrew
https://github.com/rbenv/ruby-build/blob/master/bin/ruby-build#L1034
hsbt (Hiroshi SHIBATA)
04:54 AM Bug #20494 (Closed): Non-default directories are not searched when checking for a gmp header
Applied in changeset commit:git|18eaf0be905e3e251423b42d6f4e56b7cae1bc3b.
----------
[Bug #20494] Search non-default directories for GMP
Co-Authored-by: lish82 (Hiroki Katagiri)
nobu (Nobuyoshi Nakada)
02:49 AM Bug #20494: Non-default directories are not searched when checking for a gmp header
Made a separate macro.
```diff
commit a0d3cda4b54ce3eb9e77a450462a47fc3944d93c
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
AuthorDate: 2024-05-20 11:44:27 +0900
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
CommitDate: ...
nobu (Nobuyoshi Nakada)
03:04 PM Revision 1ba93c2c (git): Upload cores to AWS S3 (if any)
mame (Yusuke Endoh)
03:04 PM Revision f1bbcc81 (git): Make sure that kern.coredump=1
mame (Yusuke Endoh)
02:49 PM Revision 785fba3b (git): [PRISM] Enable TestSyntax#test_warn_balanced
kddnewton (Kevin Newton)
02:42 PM Revision 2e8ae139 (git): [ruby/prism] Fix invalid read at EOF
https://github.com/ruby/prism/commit/dddaf67c34 kddnewton (Kevin Newton)
02:06 PM Bug #20479: Ensure line number in begin...end in method
Just to check back in @mame because it's only the `first_lineno` field, is that okay to change? kddnewton (Kevin Newton)
02:05 PM Bug #20478: Circular parameter syntax error rules
@nobu another option would be to delete those tests and leave it up to the parser instead of forcing parse.y to implement it. Specifically I'm talking about:
```
o = Object.new
assert_warn("") do
o.instance_eval("def ...
kddnewton (Kevin Newton)
02:01 PM Revision e90e8f8b (git): [ruby/prism] Implement ambiguous binary operator warning
https://github.com/ruby/prism/commit/6258c3695f kddnewton (Kevin Newton)
01:41 PM Feature #20498: Negated method calls
For `foo&.!empty?`, the result would be `nil` if `foo` is `nil`. This is not handled by the prototype.
The alternatives mentionned so far look like this:
`foo&.empty?&.!`
`foo&.non&.empty?`
`foo&.empty?&.not`
`foo&.!(&:empty?)`
...
MaxLap (Maxime Lapointe)
01:26 PM Feature #20498: Negated method calls
MaxLap (Maxime Lapointe) wrote in #note-7:
> @nobu: I'd say it's both syntax sugar and an operator, just like `&.`.
Seems like pure syntax sugar.
That's not to say it's not a good idea. It's difficult to say if the added convenien...
marcandre (Marc-Andre Lafortune)
01:02 PM Feature #20498: Negated method calls
Thanks for the feedback. I updated the gist to have an example with arguments in the call:
```ruby
puts A.new.!exists?(with_friends: true, skip_administrator: true)
```
This highlights some problems with the alternatives:
* Ca...
MaxLap (Maxime Lapointe)
08:42 AM Feature #20498: Negated method calls
I saw such a proposal before and I thought of some syntax and implementation, but I didn't submit that in the previous issue:
```ruby
class MethodNegator < BasicObject
def initialize(obj)
@obj = obj
end
def method_mis...
hmdne (hmdne -)
08:04 AM Feature #20498: Negated method calls
I wonder how wild it would be to make `!` accept an optional block. That way we could write:
```ruby
must_create_user = User.where(somelong: :condition, even_more: "thing").!(&:exists?)
```
which very close to what the original poste...
ufuk (Ufuk Kayserilioglu)
05:57 AM Feature #20498: Negated method calls
We can use `foo.!`.
```
must_create_user = User.where(somelong: :condition, even_more: "thing").exists?.!
```
akr (Akira Tanaka)
04:36 AM Feature #20498: Negated method calls
In your prototype, `foo . ! exist?` was transpiled to `!(foo . exist?)`.
Your proposal is not a new operator, but a syntax sugar?
nobu (Nobuyoshi Nakada)
03:23 AM Feature #20498: Negated method calls
I think defining an explicit method for this purpose (on `Object`, I guess) would be better, because it wouldn't add complications to the syntax. The name could be `not` or `invert` or `negate or some such. Your result would look like:
...
duerst (Martin Dürst)
09:10 AM Revision 82482684 (git): Update bundled gems list at 7f0e26b7f99bf76408569892ce2031 [ci skip]
git[bot]
09:10 AM Revision 7f0e26b7 (git): Re-use strscan with ruby repo
hsbt (Hiroshi SHIBATA)
09:10 AM Revision 70ad58cb (git): Update bundled_gems
hsbt (Hiroshi SHIBATA)
08:17 AM Bug #20496 (Assigned): Segfault when enabling YJIT
k0kubun (Takashi Kokubun)
05:59 AM Revision 0b384033 (git): Fix incorrect assertion in TestThreadInstrumentation
The test meant to assert the thread is suspended at least once,
but was actually asserting to it to be suspected at least twice.
byroot (Jean Boussier)
04:54 AM Revision fa26ef5b (git): Fix the end of "compiler section"
nobu (Nobuyoshi Nakada)
04:54 AM Revision 14da90f2 (git): --with-gmp-dir option is for ruby itself, not extensions
nobu (Nobuyoshi Nakada)
04:54 AM Revision 18eaf0be (git): [Bug #20494] Search non-default directories for GMP
Co-Authored-by: lish82 (Hiroki Katagiri) nobu (Nobuyoshi Nakada)
03:47 AM Revision eb410c9f (git): [ruby/error_highlight] Load "did_you_mean" explicitly in test
I'm not sure how it works, but I seem to get an error
`undefined method 'formatter' for module DidYouMean` in parallel mode of
`make test-all`.
https://app.launchableinc.com/organizations/ruby/workspaces/ruby/data/test-paths/file%3Dtest...
mame (Yusuke Endoh)
01:37 AM Feature #20205: Enable `frozen_string_literal` by default
I thought about this more at Kaigi, maybe avoiding the false positive on the `str.dup if str.frozen?` pattern isn't worth the possible confusion.
I'll experiment with chilled strings `frozen?` method returning `false`.
byroot (Jean Boussier)
01:35 AM Revision a10a483a (git): [rubygems/rubygems] Should rescue vendored net-http exception
https://github.com/rubygems/rubygems/commit/7d2c4cf364 nobu (Nobuyoshi Nakada)

05/19/2024

10:52 PM Feature #20498 (Open): Negated method calls
I want to propose the following syntax: `foo.!bar`. I know it's already valid syntax, but please read on for details.
When someone write a somewhat long line of code that is negated, the main way I've seen of doing it is:
```
must...
MaxLap (Maxime Lapointe)
04:35 PM Feature #20497 (Closed): Tempfile.create_io
I propose Tempfile.create_io.
It is similar to Tempfile.create but the actual file is unlinked before returning the method.
https://github.com/ruby/ruby/pull/10803
Purpose:
Sometimes, applications need a temporary file but it i...
akr (Akira Tanaka)
04:30 PM Revision d037c519 (git): Suppress -Wclobbered warnings
At 7afc16aa48beb093b06eb978bc430f90dd771690, now `BLOCKING_REGION`
contains `setjmp` call in `RB_VM_SAVE_MACHINE_CONTEXT`. By this
change, variables in blocks for this macro may be clobbered.
nobu (Nobuyoshi Nakada)
02:24 PM Revision 48ebd77e (git): Fix comment: Buffer.for(string) without block returns readonly buffer
tommy (Masahiro Tomita)
02:24 PM Revision cb43540d (git): Fix IO::Buffer comment
tommy (Masahiro Tomita)
01:15 PM Revision 8c0b57d3 (git): `rb_enc_compile_warn` and `rb_enc_compile_warning` are printf format
nobu (Nobuyoshi Nakada)
11:59 AM Bug #20496 (Closed): Segfault when enabling YJIT
I installed Ruby 3.4-dev via rbenv to see how the improvements in YJIT with 3.4-dev (after reading https://speakerdeck.com/k0kubun/rubykaigi-2024) translate to other parts of HexaPDF. However, when running the HexaPDF optimization benchm... gettalong (Thomas Leitner)
11:45 AM Revision b47533f6 (git): Remove `rb_bug` after COMPILE_ERROR
Fix test failures since 7afc16aa48beb093b06eb978bc430f90dd771690.
Why crash after reported compile error properly.
nobu (Nobuyoshi Nakada)
11:21 AM Bug #20495: Running "make clean" deletes critical "coroutine/amd64/Context.S" file and causes "make" to fail
This has been plaguing people developing on MacOS (and I suppose any case insensitive file system) for months. Maxime recently added a `.gitignore` rule to somewhat work-around it, but I suspect there is a better fix: https://github.com/... byroot (Jean Boussier)
08:02 AM Bug #20495: Running "make clean" deletes critical "coroutine/amd64/Context.S" file and causes "make" to fail
I guess it happens when building in-place on case-insensitive fs platform due to this line: https://github.com/ruby/ruby/blob/7afc16aa48beb093b06eb978bc430f90dd771690/template/Makefile.in#L498
I could reproduce it on macOS with in-place...
katei (Yuta Saito)
05:04 AM Bug #20495: Running "make clean" deletes critical "coroutine/amd64/Context.S" file and causes "make" to fail
For now, `make clean` is for those who "git clone" the repository. Don't use it for tarball package. mame (Yusuke Endoh)
04:41 AM Bug #20495 (Closed): Running "make clean" deletes critical "coroutine/amd64/Context.S" file and causes "make" to fail
When attempting to build v3.4.0-preview1 from source, we discovered that `make clean` will delete `coroutine/amd64/Context.S`, and then neither `./configure` nor `make` will replace that file. When that file is missing, `make` will fail.... fallwith (James Bunch)
10:07 AM Bug #20493: Segfault on rb_io_getline_fast
Awesome! I was about to ask what was the plan for having this change in ruby 3.2/3.3.
I've submitted the patches to the projects in openSUSE with the contents of the Backport PR's to have our rubies fixed
- https://build.opensuse.o...
josegomezr (Jose Gomez)
03:20 AM Bug #20493 (Closed): Segfault on rb_io_getline_fast
kjtsanaktsidis (KJ Tsanaktsidis)
03:20 AM Bug #20493: Segfault on rb_io_getline_fast
Closed by merging https://github.com/ruby/ruby/pull/10795
I opened two PR's to backport this to 3.2 & 3.3 (I think crashes like this should be backported?)
* 3.2: https://github.com/ruby/ruby/pull/10797
* 3.3: https://github.com/r...
kjtsanaktsidis (KJ Tsanaktsidis)
05:10 AM Feature #20492: Debug option for tempfile
I too have wanted to do this multiple times. However, I am also a little concerned about the possibility of security risks (such as, DoS to make the storage full, failure to delete sensitive information, etc.) if it can be specified too ... mame (Yusuke Endoh)
03:08 AM Revision 7afc16aa (git): Inline RB_VM_SAVE_MACHINE_CONTEXT into BLOCKING_REGION
There's an exhaustive explanation of this in the linked redmine bug, but
the short version is as follows:
blocking_region_begin can spill callee-saved registers to the stack for
its own use. That means they're not saved to ec->machine b...
kjtsanaktsidis (KJ Tsanaktsidis)
03:08 AM Revision ad636033 (git): Update to ruby/spec@6b04c1d
andrykonchin (Andrew Konchin)
02:04 AM Bug #20494 (Assigned): Non-default directories are not searched when checking for a gmp header
Looks good to me. I found no other AC_CHECK_HEADERS that might want to find non-system header files. @nobu What do you think? mame (Yusuke Endoh)
01:49 AM Bug #20494 (Closed): Non-default directories are not searched when checking for a gmp header
This is my very first issue submission
I would be happy to know if I missed anything
---
I found that the ruby installed with `ruby-build` is not linked to the gmp library
Environment:
- OS: macOS Sonoma 14.5
- Directory that...
lish82 (Hiroki Katagiri)

05/18/2024

03:29 PM Revision dbbaf871 (git): [DOC] Fix `$<` comment
nobu (Nobuyoshi Nakada)
03:27 PM Revision fd8e6e8c (git): Replace cast tags for `tSTRING_DVAR` with typed midrule actions
nobu (Nobuyoshi Nakada)
02:59 PM Bug #20154: aarch64: configure overrides `-mbranch-protection` if it was set in CFLAGS via environment
I don't think I quite understand what exactly the right course of action here is.
> Would it make sense to check if such flags exist and not overwrite them if they do?
Why is this not a serious proposal? "We should respect user giv...
kjtsanaktsidis (KJ Tsanaktsidis)
12:48 PM Bug #20493: Segfault on rb_io_getline_fast
You're welcome, thank you for posting such a detailed and actionable report. You're exactly right; your patch deals with this issue in IO methods using `rb_io_getline_fast` but this is probably causing crashes in other places as well; _h... kjtsanaktsidis (KJ Tsanaktsidis)
10:28 AM Bug #20493: Segfault on rb_io_getline_fast
Thanks for this extremely detailed explanation!
Just for my own understanding [I'm not as proficient in low level C, took me a while reading through all details], can I assert that: the fix I suggested would've only "fixed" the segfau...
josegomezr (Jose Gomez)
09:44 AM Bug #20493: Segfault on rb_io_getline_fast
After applying that fix to the RPM spec file in https://build.opensuse.org/package/show/devel:languages:ruby/ruby3.3, I can't get the reproduction to crash any more. kjtsanaktsidis (KJ Tsanaktsidis)
09:43 AM Bug #20493: Segfault on rb_io_getline_fast
I opened https://github.com/ruby/ruby/pull/10795 as a proposed fix for this. Let's see what other people (and CI) think :) kjtsanaktsidis (KJ Tsanaktsidis)
09:37 AM Bug #20493: Segfault on rb_io_getline_fast
OK, I believe I've worked out what's wrong here.
The BLOCKING_REGION macro is used to release the GVL, run some code, and re-acquire the GVL. It looks like this:
```
#define BLOCKING_REGION(th, exec, ubf, ubfarg, fail_if_interrupt...
kjtsanaktsidis (KJ Tsanaktsidis)
07:15 AM Bug #20493: Segfault on rb_io_getline_fast
Thank you for your bug report and excellent reproduction! I've had a look at this today - I haven't reached a conclusion yet, but I want to write down where I got so far.
The crash is happening because:
* One thread is calling `rb_...
kjtsanaktsidis (KJ Tsanaktsidis)
11:10 AM Bug #19753: IO::Buffer#get_string can't handle negative offset
Backported by https://github.com/ruby/ruby/pull/10778 nagachika (Tomoyuki Chikanaga)
11:09 AM Revision 0e664ebc (git): Fix `io_buffer_get_string` default length computation. (#8427)
* Fix `io_buffer_get_string` default length computation.
When an offset bigger than the size is given, the resulting length will be
computed incorrectly. Raise an argument error in this case.
* Validate all arguments.
Samuel Williams
11:09 AM Revision 67d499a7 (git): Improvements to `IO::Buffer` `read`/`write`/`pread`/`pwrite`. (#7826)
- Fix IO::Buffer `read`/`write` to use a minimum length. Samuel Williams
11:09 AM Revision 359e40e3 (git): Rename `data` -> `buffer` for better readability. (#7836)
Samuel Williams
11:09 AM Revision 1bfdd68b (git): Adjust `else` style to be consistent in each files [ci skip]
nobu (Nobuyoshi Nakada)
10:46 AM Revision 232f7b37 (git): Replace cast tags with typed midrule actions
* Add types to `tLAMBDA` and `tSTRING_DBEG` to store corresponding
information when returning these tokens.
* Add `enum lex_state_e state` to `%union` for `tSTRING_DBEG`.
nobu (Nobuyoshi Nakada)
10:16 AM Feature #20492: Debug option for tempfile
Since you say you're OK with solutions requiring modifying the program though, have you tried doing something like this?
```
Tempfile::Remover.class_eval { def call(...) = nil }
```
I realise if this is a common use-case it would...
kjtsanaktsidis (KJ Tsanaktsidis)
06:44 AM Revision ac85eef1 (git): Fix links
burdettelamar (Burdette Lamar)
02:26 AM Revision 55c62e67 (git): No need to specify tags anymore
In the past, these codes were used by both parser and ripper.
On ripper, the type of LHS is `<val>` then type cast was needed.
However currently these are only used by parser then no need to
cast.
yui-knk (Kaneko Yuichiro)
 

Also available in: Atom