Project

General

Profile

Activity

From 01/28/2024 to 02/03/2024

02/03/2024

11:04 PM Bug #20225: Inconsistent behavior of regex matching for a regex has a null loop
In TruffleRuby, we implement null checks which take into account both matching position and captures, in the spirit of Ruby's regular expressions. Both of the examples from your original issue description evaluate to `0`, and `/((?=(a)))... jirkamarsik (Jirka Marsik)
10:55 PM Bug #20225: Inconsistent behavior of regex matching for a regex has a null loop
As I understand it, the idea behind the null check is for the regex matcher to be able to identify unproductive branches in the regex execution, branches which are guaranteed to never terminate. When executing the expression `X*`, where ... jirkamarsik (Jirka Marsik)
02:29 PM Bug #20225: Inconsistent behavior of regex matching for a regex has a null loop
FWIW current TruffleRuby behavior for the two examples in the description is to return 0 for both.
Is that what you propose to change the behavior to?
Eregon (Benoit Daloze)
02:25 PM Bug #20225: Inconsistent behavior of regex matching for a regex has a null loop
Could you show how the behavior would change for these specs, e.g. with a diff of the specs or by moving the existing ones under `ruby_version_is ""..."3.4" do` and adding the new behavior under `ruby_version_is "3.4" do` ? Eregon (Benoit Daloze)
10:42 PM Feature #20235: Deprecate CHAR syntax
A `$stdin.closed?#=>true` would work as expected. You can't generally follow Ruby code immediately with an uncommented `=>` designating a return value and have it not break.
It made sense to maintain character literals for compatibili...
shan (Shannon Skipper)
08:02 PM Feature #20235: Deprecate CHAR syntax
I think the first time - and probably the only time - I heard
about the ?a syntax:
?a # => "a"
?b # => "b"
?c # => "c"
was in the pickaxe book. I believe there was a chapter in the
bookaxe that mentioned the ? syntax along ...
rubyFeedback (robert heiler)
04:53 PM Feature #20235 (Open): Deprecate CHAR syntax
I propose deprecating the `?c` syntax. It served a purpose in ruby <= 1.8, but no longer.
The reason I'm proposing this is because today I ran into this error:
```ruby
p $stdin.closed?=>true # comparison of String with true failed (...
Dan0042 (Daniel DeLorme)
08:02 PM Revision 19f61552 (git): Remove TestProcess#test_low_memory_startup
It is too flaky on many platforms. Nobody is willing to fix it. Let's
just stop it.
mame (Yusuke Endoh)
07:52 PM Feature #20215: Introduce `IO#readable?`
Actually if I think about it a little, I can work around that like this:
```ruby
loop do
if $stdin.wait_readable(0)
str = $stdin.gets or abort("<eof>")
p str
else
puts "no input, let's wait a bit..."
sleep 1...
Dan0042 (Daniel DeLorme)
05:13 PM Feature #20215: Introduce `IO#readable?`
Interesting, I didn't know about #wait_readable. Looks like previously it needed `require "io/wait"` but it was integrated in Ruby 3.2 core.
Unfortunately it doesn't work for my use case:
```
(echo 1;sleep 1;echo 2)|3.2 ruby -e '8.t...
Dan0042 (Daniel DeLorme)
03:47 PM Revision 53d4e9c4 (git): merge revision(s) 1bd98c820da46a05328d2d53b8f748f28e7ee8f7: [Backport #20172] (#9798)
Remove setaffinity of pthread for getaddrinfo
It looks like `sched_getcpu(3)` returns a strange number on some
(virtual?) environments.
I decided to remove the setaffinity mechanism because the performance
...
NARUSE, Yui
01:35 PM Revision 45064610 (git): Fix test session reuse but expire (#9824)
* Show OpenSSL version in the error message of assert_equal
* OpenSSL 3.2.1 30 Jan 2024 is also broken
NARUSE, Yui
10:39 AM Revision bc79229b (git): Show OpenSSL version in the error message of assert_equal
naruse (Yui NARUSE)
06:59 AM Revision 055615a4 (git): Statically linking does not use shared libraries of encodings
nobu (Nobuyoshi Nakada)
06:54 AM Revision 124be0aa (git): [ruby/irb] Consume the warning for non-existent history path
Fix https://github.com/ruby/irb/pull/852#issuecomment-1925170358
https://github.com/ruby/irb/commit/9a7e060e57
nobu (Nobuyoshi Nakada)
03:25 AM Revision 0854d648 (git): [PRISM] Selectively dup array in `foo(*splat, &block_arg)` calls
This is essentially an adaptation of aae8223c707 ("Dup splat array in
certain cases where there is a block argument") to pass
`TestCall#test_call_block_order`.
This also makes PRISM emit `getblockparamproxy` in cases like
`def foo(&blk)...
alanwu (Alan Wu)
01:37 AM Bug #20169: `GC.compact` can raises `EFAULT` on IO
So I think we can go with that fix, but I want to try and spell out what it means for "the rules" for extensions if we accept it.
AFAICT, by merging https://github.com/ruby/ruby/pull/9817, we are saying the following:
1. It is ille...
kjtsanaktsidis (KJ Tsanaktsidis)
12:15 AM Revision 68b57ceb (git): Use bool to check ascii only in parse_ident
No need to use ENC_CODERANGE to record ascii only or not. yui-knk (Kaneko Yuichiro)

02/02/2024

11:50 PM Revision 90ae8eae (git): [PRISM] Fix numbered parameters stealing local names
Previously, the local index of numbered parameters were assigned to
names of regular locals, making it hard to read both of them. Use proper
`_[1-9]` numbered parameters. This fixes `test_shapes.rb`.
Also, properly mark the iseq as havi...
alanwu (Alan Wu)
10:25 PM Revision 5d646fa1 (git): [ruby/irb] Require pathname (https://github.com/ruby/irb/pull/860)
https://github.com/ruby/irb/commit/0ab96ed426 st0012 (Stan Lo)
10:09 PM Revision 5a87e9e2 (git): YJIT: add missing jge comparison instruction (#9819)
I ran into this while trying to implement setbyte, was surprised
to find out we hadn't implemented it yet.
maximecb (Maxime Chevalier-Boisvert)
09:58 PM Revision aa780a67 (git): [ruby/irb] Add a warning for when the history path doesn't exist
(https://github.com/ruby/irb/pull/852)
* Add a warning for when the history path doesn't exist
* warn when the directory does not exist
* added test for when the history_file does not exist
* Update lib/irb/history.rb
---------
htt...
Ignacio Chiazzo Cardarello
09:45 PM Revision 6afccdf4 (git): [ruby/prism] Provide APIs for finding value in constant pool
https://github.com/ruby/prism/commit/be9e2abfa3 kddnewton (Kevin Newton)
09:38 PM Revision 31e4300e (git): [rubygems/rubygems] feat: Gem::Specification#initialize_copy deep-copies requirements
to avoid accidentally mutating the original's state when doing:
```ruby
spec2 = spec.dup
spec2.required_rubygems_version.concat([">= 3.3.22"])
```
see https://github.com/rake-compiler/rake-compiler/pull/236 for a
real-world use case th...
mdalessio (Mike Dalessio)
09:38 PM Revision 66a6f2b1 (git): [rubygems/rubygems] feat: Gem::Requirement#initialize_copy deep-copies @requirements
to avoid accidentally mutating the original's state when doing:
```ruby
req2 = req.dup
req2.concat([">= 3.3.22"])
```
see https://github.com/rake-compiler/rake-compiler/pull/236 for a
real-world use case that would be made simpler with...
mdalessio (Mike Dalessio)
09:16 PM Revision d2f004cf (git): [ruby/prism] Fix hash pairs in patterns
https://github.com/ruby/prism/commit/b7ab29daa0 kddnewton (Kevin Newton)
09:06 PM Feature #20215: Introduce `IO#readable?`
Would `io.wait_readable(0)` work instead? If not, why not? Eregon (Benoit Daloze)
08:43 PM Revision eaea53b8 (git): [ruby/prism] Handle missing begin body
https://github.com/ruby/prism/commit/7e54818b17 kddnewton (Kevin Newton)
08:09 PM Revision 7695ab3b (git): [ruby/prism] Fix up multibyte escapes
https://github.com/ruby/prism/commit/836a35f4af kddnewton (Kevin Newton)
07:43 PM Revision 520987c6 (git): [ruby/prism] Turn off LibrarySymbolsTest on powerpc64le
https://github.com/ruby/prism/commit/6e432f3de5 kddnewton (Kevin Newton)
07:36 PM Revision 24cdafb2 (git): [PRISM] Fix indentation of pm_scope_node_init [ci skip]
peterzhu2118 (Peter Zhu)
07:26 PM Revision 93fdf66b (git): [rubygems/rubygems] Adapt failing tests to new output
https://github.com/rubygems/rubygems/commit/cf549e71aa Vitaliy Serov
07:26 PM Revision 0bcad50c (git): [rubygems/rubygems] Fix var name and also update other places
https://github.com/rubygems/rubygems/commit/f72a7989cd Vitaliy Serov
07:26 PM Revision 064f2515 (git): [rubygems/rubygems] Change gem login message to clear up that username can be also used
https://github.com/rubygems/rubygems/commit/2bf6163eaf Vitaliy Serov
06:36 PM Revision 420a6349 (git): [ruby/prism] Small fixes for the parser translator
https://github.com/ruby/prism/commit/4327051c86 kddnewton (Kevin Newton)
05:03 PM Bug #20169: `GC.compact` can raises `EFAULT` on IO
I implemented a fix here: https://github.com/ruby/ruby/pull/9817 peterzhu2118 (Peter Zhu)
04:35 PM Bug #20228 (Closed): Memory leak in Regexp timeout
Applied in changeset commit:git|1c120efe02d079b0a1dea573cf0fd7978d9cc857.
----------
Fix memory leak in stk_base when Regexp timeout
[Bug #20228]
If rb_reg_check_timeout raises a Regexp::TimeoutError, then the stk_base
will leak.
peterzhu2118 (Peter Zhu)
04:35 PM Revision 8f9d999d (git): [ruby/prism] Fix overlapping memcpy
It's UB to use memcpy with overlapping source and destination. This
might be causing crashes on 32 bit platforms and on OpenBSD. Use memmove
instead. Add a bounds check while we're at it since it's unclear whether
one-past-end pointer wi...
alanwu (Alan Wu)
03:39 PM Revision 31378dc0 (git): Add memory leak test for Regexp timeout
[Bug #20228] peterzhu2118 (Peter Zhu)
03:39 PM Revision 01bfd1a2 (git): Fix memory leak in OnigRegion when match raises
[Bug #20228]
rb_reg_onig_match can raise a Regexp::TimeoutError, which would cause
the OnigRegion to leak.
peterzhu2118 (Peter Zhu)
03:39 PM Revision 1c120efe (git): Fix memory leak in stk_base when Regexp timeout
[Bug #20228]
If rb_reg_check_timeout raises a Regexp::TimeoutError, then the stk_base
will leak.
peterzhu2118 (Peter Zhu)
11:43 AM Revision a4e4e3b1 (git): [rubygems/rubygems] Add missing Windows job
Specs that use extension gems were failing in the new job but I noticed
that they were using very non standard `extconf.rb` files.
The hack being removed here was added just to make specs pass when run
in ruby-core but it seems the unde...
deivid (David Rodríguez)
11:15 AM Bug #20234 (Closed): Segfault parsing begin statement inside method definition receiver
Segmentation fault parsing these code in Ruby 3.3.0 and 3.4.0dev
~~~ruby
# Segmentation fault
ruby -ce "def (begin;end).foo; end"
ruby -ce "def (begin;else;end).foo; end"
ruby -ce "def (begin;ensure;else;end).foo; end"
ruby -e "Rub...
tompng (tomoya ishida)
10:36 AM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
Hi, we are running into the same issue when developing so I was wondering if you got any response on the Apple bug report? Or found a workaround? lars.vonk@gmail.com (Lars Vonk)
10:25 AM Bug #20172: Socket.addrinfo failing randomly
For reference, I had a user report a similar issue due to `Addrinfo#ip_address`: https://github.com/socketry/falcon/issues/217 ioquatix (Samuel Williams)
01:50 AM Bug #20172: Socket.addrinfo failing randomly
Merging into 3.3 is pending
https://github.com/ruby/ruby/pull/9798
naruse (Yui NARUSE)
08:56 AM Feature #20233: pkg-config not working on MSVC
Potential implemented at https://github.com/ruby/ruby/pull/9815#pullrequestreview-1858695400 jmarrec (Julien Marrec)
08:48 AM Feature #20233 (Closed): pkg-config not working on MSVC
The PKG_CONFIG variable is not respected in win32/Makefile.sub
Also, need to ideally use the `--msvc-syntax` flag (pkgconf 1.4.0, released 7 years ago, adds it).
But mostly, I realized that the `try_ldflags` in `lib/mkmf.rb` actual...
jmarrec (Julien Marrec)
05:26 AM Revision ccffc6ee (git): Add an assertion that `%x` literals call `` ` `` method
nobu (Nobuyoshi Nakada)
03:22 AM Bug #20094: Inline while loop behavior changed unexpectedly in 3.3.0
ruby_3_3 119d447d42d4645ac919ee53f3ec294deaa7c59b merged revision(s) bc002971b6ad483dbf69b8a275c44412bb6ab954. naruse (Yui NARUSE)
01:59 AM Bug #20231: Don't wait in io_binwrite_string if not necessary.
@naruse That PR seems unrelated, is the link correct? ioquatix (Samuel Williams)
01:52 AM Bug #20231: Don't wait in io_binwrite_string if not necessary.
Merging into 3.3 but failed
https://github.com/ruby/ruby/pull/9813
naruse (Yui NARUSE)
01:42 AM Revision c0629a05 (git): Prefer `IO.popen` over `IO.foreach` with `|`
nobu (Nobuyoshi Nakada)
01:42 AM Revision f22bec79 (git): leaked-globals: More accurately extract checked function names
nobu (Nobuyoshi Nakada)
12:36 AM Bug #20162: Memory leak when duplicating too complex object
ruby_3_3 3fb51b93d25b0566b71249b1c7ccddf0dab91429 merged revision(s) 82b57d7bfeefd717c10f7a5a3484aca6b3e708a3. naruse (Yui NARUSE)
12:36 AM Bug #20173: Backport 597955a, 8b65d15
ruby_3_3 7231fc5baa0a44ef6264c795071c5fbec8d1102d merged revision(s) 597955a,8b65d15. naruse (Yui NARUSE)

02/01/2024

10:55 PM Revision 7b93e65e (git): [DOC] Pretty tables for Kernel#test doc (#9751)
burdettelamar (Burdette Lamar)
10:11 PM Revision 8d33be98 (git): [PRISM] Respect string encoding override in array literals
Fixes `TestZlibGzipReader#test_gets2`,
`Psych_Unit_Tests#test_spec_explicit_families`, and many failures in
`test_unicode_normalize.rb`.
alanwu (Alan Wu)
10:04 PM Revision 770b5499 (git): [ruby/prism] Amend assert in pm_utf_8_codepoint(), n=0 is fine
This assert used to trip in the included test:
```
./miniruby --parser=prism -e ' "%W"\u" '
```
https://github.com/ruby/prism/commit/8c0f84db4f
alanwu (Alan Wu)
08:52 PM Revision 4fbdbde0 (git): [PRISM] dedup hash string keys
Fixes ruby/prism#2321
Co-authored-by: Adrianna Chang <adrianna.chang@shopify.com>
Co-authored-by: Peter Zhu <peter@peterzhu.ca>
Jenny Shen
08:52 PM Revision 332d2c92 (git): [PRISM] Emit parse warnings
kddnewton (Kevin Newton)
08:50 PM Revision b47d43fa (git): [PRISM] Use rb_fstring() on all string literals
In addition to saving space by deduplicating, this also makes the
literals have code range like TestObjSpace#test_dump_string_coderange
expects. It's testing a detail, but we might as well use rb_fstring().
Note that `putstring` makes a...
alanwu (Alan Wu)
08:23 PM Revision c7fe3ecb (git): [prism] Use block opening line as `source_location` line of lambda
There are several prism tests failing related to the `source_location`
for lambda returning line of the operator (`->`)
while original parser execution results in `source_location` line
pointing to the block opening location (`{` or `do`...
Nikita Vasilevsky
08:17 PM Revision e4e5a1b4 (git): [ruby/prism] Add parentheses around macro arguments
https://github.com/ruby/prism/commit/f81fe9c716
Co-authored-by: Adrianna Chang <adrianna.chang@shopify.com>
Co-authored-by: Peter Zhu <peter@peterzhu.ca>
Jenny Shen
07:45 PM Revision 29b7c31b (git): [ruby/prism] Reject operator writes on operator methods
https://github.com/ruby/prism/commit/78bd142e71 kddnewton (Kevin Newton)
07:13 PM Revision d3ba14a3 (git): [PRISM] Do not shell out in prism tests
kddnewton (Kevin Newton)
05:53 PM Revision ae044135 (git): Update default gems list at e9f132446425089e8e732f68f49e10 [ci skip]
git[bot]
05:52 PM Revision e9f13244 (git): Sync to latest prism
kddnewton (Kevin Newton)
05:46 PM Revision ef427123 (git): [ruby/irb] Add rubocop with a few basic styling rules
(https://github.com/ruby/irb/pull/849)
* Use rubocop to enforce a few styling rules
* Add a CI job for linting
https://github.com/ruby/irb/commit/4f60cd88bb
st0012 (Stan Lo)
04:48 PM Revision 494778c6 (git): [ruby/prism] Remove locals_body_index
We're not using this anymore, and it doesn't make a lot of sense
outside the context of a compiler anyway, and in anyway it's wrong
when you have local variables written in default values.
https://github.com/ruby/prism/commit/5edbd9c25b
kddnewton (Kevin Newton)
04:48 PM Revision 67c5690a (git): [ruby/prism] Check literals for receiver
https://github.com/ruby/prism/commit/56441b08e7 Haldun Bayhantopcu
04:26 PM Misc #20193: DevMeeting-2024-02-14
* [Bug #20203] `TestEnumerable` test failures with GCC 14
* Using `qsort_r` to sort causes corruption when the comparison function is reentered using continuation/fiber and when using GC compaction due to undefined behavior
* Should ...
alanwu (Alan Wu)
04:21 PM Bug #20203: `TestEnumerable` test failures with GCC 14
So there are currently 2 issues with using `qsort_r` that I see.
1. As noticed in this issue, if the comparison function uses coroutine/fiber to reenter the middle of `qsort_r`, that results in heap corruption. This happens on older gli...
alanwu (Alan Wu)
04:19 PM Revision f36c61d2 (git): [ruby/irb] Reset history counter even when @loaded_history_lines is
not defined
(https://github.com/ruby/irb/pull/853)
The issue (https://github.com/ruby/debug/issues/1064) is caused by a
combination of factors:
1. When user starts an IRB session without a history file, the
`@loaded_history_lines` i...
st0012 (Stan Lo)
04:13 PM Revision 6ad585bd (git): [ruby/prism] Only warn for unary + on spcarg
https://github.com/ruby/prism/commit/db0e5ce1ce kddnewton (Kevin Newton)
03:33 PM Revision 1f226b41 (git): [PRISM] Fix multiple return with splat and splat+kwsplat
Previously, `return *array, 1` didn't behave like `return [*array, 1]`
properly. Also, it crashed when splat and kwsplat is combined like in
`array = [*things, **hash]`.
Fix this by grouping `PM_ARGUMENTS_NODE` with `PM_ARRAY_NODE` hand...
alanwu (Alan Wu)
02:59 PM Feature #20215: Introduce `IO#readable?`
I'm interested in this. I previously had to implement a "nonblocking gets" which was a bit tricky.
It would have been nice to just write `io.gets if io.readable?`
But I want to confirm this is the expected behavior: `#readable?` should ...
Dan0042 (Daniel DeLorme)
06:19 AM Feature #20215: Introduce `IO#readable?`
After thinking it for a while, yes I'm for this feature. There seems to be no way right now to achieve what is needed. shyouhei (Shyouhei Urabe)
12:17 PM Revision 8531ac31 (git): Suppress unused-local-typedef warnings
nobu (Nobuyoshi Nakada)
12:12 PM Revision 1236a740 (git): [ruby/irb] Skip re-setup when creating a child session
(https://github.com/ruby/irb/pull/850)
https://github.com/ruby/irb/commit/06b2d00dd3
Nuno Silva
07:42 AM Revision 8ba8e979 (git): Parenthesize casted argument
nobu (Nobuyoshi Nakada)
07:19 AM Revision 3fb51b93 (git): merge revision(s) 82b57d7bfeefd717c10f7a5a3484aca6b3e708a3: [Backport… (#9795)
merge revision(s) 82b57d7bfeefd717c10f7a5a3484aca6b3e708a3: [Backport #20162]
Fix memory leak when duplicating too complex object
[Bug #20162]
Creating a ST table then calling st_replace leaks memory because th...
NARUSE, Yui
07:13 AM Revision 7231fc5b (git): merge revision(s) 597955a,8b65d15: [Backport #20173] (#9794)
Fix to work match cache with peek next optimization (#9459)
---
regexec.c | 3 ++-
test/ruby/test_regexp.rb | 9 +++++++++
2 files changed, 11 insertions(+), 1 deletion(-)
Fix tes...
NARUSE, Yui
06:05 AM Bug #20225: Inconsistent behavior of regex matching for a regex has a null loop
In another problematic case, the following example never finishes its matching.
```
p /((?=(a)))*/ =~ "a"
```
make_now_just (Hiroya Fujinami)
05:59 AM Bug #20225: Inconsistent behavior of regex matching for a regex has a null loop
These two specs block this change:
- <https://github.com/ruby/spec/blob/3267023951a99dc9b79febab10e1ae04c18d5190/language/regexp/empty_checks_spec.rb#L24-L42>
- <https://github.com/ruby/spec/blob/3267023951a99dc9b79febab10e1ae04c18d5...
make_now_just (Hiroya Fujinami)
05:20 AM Bug #20188: `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
I have created https://bugs.ruby-lang.org/issues/20232. fxn (Xavier Noria)
05:20 AM Misc #20232 (Open): Document Kernel#require and Module#autoload concurrency guarantees
I'd like to document `Kernel#require` and `Module#autoload` concurrency guarantees.
In the case of multiple threads loading the same file concurrently, `Kernel#require` will succeed in just one of them and the rest will wait and retur...
fxn (Xavier Noria)
04:40 AM Bug #20166: Backport 149373c to Ruby 3.3
ruby_3_3 commit:57d8d6e58a13c9de7bb84c1c76625789f435bca1. naruse (Yui NARUSE)
04:40 AM Bug #20157: Regression in GC.measure_total_time
ruby_3_3 920c17dc94239baae05b513046b27967f11a3569. naruse (Yui NARUSE)
04:34 AM Revision 57d8d6e5 (git): Backport bundled_gems.rb for Ruby 3.3 (#9457)
racc is extracted at Ruby 3.3, not 3.4 hsbt (Hiroshi SHIBATA)
04:33 AM Revision 920c17dc (git): Backport #20157 to Ruby 3.3 (#9428)
* Fix GC.measure_total_time regression
Commit 93ac7405b80cc61930d73da04441fa09af1851e1 introduced a regression
where measurements would still be taken after setting
GC.measure_total_time = false.
Fixes [Bug #20157]
* Add test case for...
kjtsanaktsidis (KJ Tsanaktsidis)
04:15 AM Feature #20108: Introduction of Happy Eyeballs Version 2 (RFC8305) in Socket.tcp
shioimm (Misaki Shioi) wrote in #note-10:
> Regarding the content mentioned above, I have made the following changes to the commit:
> ...
Thank you. The fast_fallback option of Socket.tcp and Socket.tcp_fast_fallback look fine for me....
shugo (Shugo Maeda)
04:11 AM Bug #20149: Fix memory leak in IPSocket rb_getaddrinfo
ruby_3_3 2886564279dff87a6c293f6e80436eb2b309967e merged revision(s) 6aacbd690ccde53f9b97c6673482cb11df3f2955. naruse (Yui NARUSE)
03:18 AM Revision a7b47f96 (git): [PRISM] Add splatkw to super calls when necessary
kddnewton (Kevin Newton)
03:18 AM Revision d96b4586 (git): [PRISM] Fix up index write nodes to match
kddnewton (Kevin Newton)
03:18 AM Revision d36c31ed (git): [PRISM] Fix keywords in index write nodes
kddnewton (Kevin Newton)
03:18 AM Revision 8acd1f70 (git): [PRISM] Fix combination of safe navigation and ||= and &&= operators
kddnewton (Kevin Newton)
03:18 AM Revision 4d01c590 (git): [PRISM] Fix combination of attribute write and safe navigation
kddnewton (Kevin Newton)
02:39 AM Revision 7fd2c442 (git): Bump ruby/setup-ruby from 1.170.0 to 1.171.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.170.0 to 1.171.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/bd03e04863f52d169e18a2b190e8fa6b84...
dependabot[bot]
02:28 AM Bug #20231 (Closed): Don't wait in io_binwrite_string if not necessary.
ioquatix (Samuel Williams)
01:52 AM Bug #20231 (Closed): Don't wait in io_binwrite_string if not necessary.
PR: https://github.com/ruby/ruby/pull/9792
Writing to a buffered IO can result in the entire internal buffer being flushed, which causes `io_binwrite_string_internal` to return 0. In that case, we were setting `errno = EAGAIN`. This c...
ioquatix (Samuel Williams)
02:27 AM Revision 2554c5d3 (git): Don't wait in `io_binwrite_string` if not necessary. (#9792)
Samuel Williams
02:23 AM Feature #20210: Invalid source encoding raises ArgumentError, not SyntaxError
@naruse I'm fine exiting immediately, I was just hoping to make it a syntax error.
@Edwing123 By default Ruby source assumes UTF-8 unless told otherwise by a magic comment or a command line option.
kddnewton (Kevin Newton)
01:52 AM Feature #20210: Invalid source encoding raises ArgumentError, not SyntaxError
Hi. One question:
When parsing begins, what encoding do `Prism` and `parse.y` use by default?
Anonymous
12:13 AM Feature #20210: Invalid source encoding raises ArgumentError, not SyntaxError
Parsing entire source code with wrong encoding is not reasonable because in some encoding including SJIS (Windows-31J) parsing result won't be valid because some multibyte character may include ASCII character in the trailing byte in the... naruse (Yui NARUSE)
01:39 AM Revision 28865642 (git): merge revision(s) 6aacbd690ccde53f9b97c6673482cb11df3f2955: [Backport #20149]
Free pthread_attr after setting up the thread
[bug #20149]
---
ext/socket/raddrinfo.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
naruse (Yui NARUSE)
01:39 AM Bug #20145: Memory leak when duplicating identhash
ruby_3_3 aeffb5e21de6000a3dcfa0ca88c6ba3c3c42d8db merged revision(s) 6c252912af4981f016a9abdb4c1689307a4f1d2f. naruse (Yui NARUSE)
01:05 AM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
> The key seems to be whether sort was in practice stable on some platform/OS
Ah, until recently, glibc's `qsort` was actually a stable merge sort most of the time, which is why Ruby's sort felt stable on Linux.
https://sourceware....
alanwu (Alan Wu)
12:14 AM Bug #20208 (Closed): Net::HTTP errors with Errno::EAFNOSUPPORT when setting local_host with Addrinfo
OK, I merged https://github.com/ruby/ruby/pull/9790 for the revert, and opened https://github.com/ruby/ruby/pull/9791 to backport to Ruby 3.3.
Sorry for the trouble, and thank you again for the report!
kjtsanaktsidis (KJ Tsanaktsidis)
12:09 AM Revision da33c5ac (git): Revert "Set AI_ADDRCONFIG when making getaddrinfo(3) calls for outgoing conns"
This reverts commit 673ed41c81cf5a6951bcb2c3dec82d7bd6ea7440. kjtsanaktsidis (KJ Tsanaktsidis)
12:09 AM Revision 67404d65 (git): Revert "always omit test_ai_addrconfig."
This reverts commit abf192eb16ea845ac11743a32bd2f3e2d234488b. kjtsanaktsidis (KJ Tsanaktsidis)
12:08 AM Revision aeffb5e2 (git): merge revision(s) 6c252912af4981f016a9abdb4c1689307a4f1d2f: [Backport #20145]
Memory leak when duplicating identhash
[Bug #20145]
Before this commit, both copy_compare_by_id and hash_copy will create a
copy of the ST table, so the ST table created in copy_compare_by_id will
be lea...
naruse (Yui NARUSE)
12:07 AM Bug #20104: Regexp#match returns nil but allocates T_MATCH objects
ruby_3_3 f585171a6b1d6c20b3c162fd59dc874510ed2a49 merged revision(s) e12d4c654e3cb7a4473014610bc3bae41aaf811e. naruse (Yui NARUSE)

01/31/2024

11:44 PM Revision 6a689e33 (git): [ruby/irb] Omit 2 encoding error related tests for TruffleRuby
(https://github.com/ruby/irb/pull/854)
They're failing due to an issue in Prism: https://github.com/ruby/prism/issues/2129
So we need to skip them until:
- The issue is fixed in Prism
- TruffleRuby is updated to a version of Prism that...
st0012 (Stan Lo)
11:26 PM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
Seems like maybe it was changed by #19643 for `sort_by`. But in any case, it was never stable since it was using the platform's unstable `qsort_r`. On macOS, I get `[0.0, 0.0, 0.02, 0.02, -0.02, ...]` even on 3.2.2. Glibc has [warned abo... alanwu (Alan Wu)
10:57 PM Bug #20208: Net::HTTP errors with Errno::EAFNOSUPPORT when setting local_host with Addrinfo
I discussed this a bit with @ioquatix, we've decided to revert the change to make AI_ADDRCONFIG be used in DNS lookups by default. The interaction with services on localhost is just too surprising. kjtsanaktsidis (KJ Tsanaktsidis)
09:29 PM Revision 9fdfdf4f (git): [ruby/prism] Always return the character width for char_is_identifier_start() and char_is_identifier_utf8()
* This is also faster than calling pm_encoding_utf_8_alpha_char/pm_encoding_utf_8_alnum_char
as those compute the character width and do extra checks.
https://github.com/ruby/prism/commit/4cb276ac4c
Eregon (Benoit Daloze)
08:49 PM Revision b5a2c60d (git): [PRISM] Support SCRIPT_LINES__
kddnewton (Kevin Newton)
08:44 PM Revision c4697991 (git): Do not modify provided argument splat when using ruby2_keywords with anonymous splat
Previously, this would push the provided keywords onto the argument
splat. Add ruby2_keywords to the list of other checks for whether
it is safe for treating a given splat as mutable when the called
method accepts an anonymous splat.
jeremyevans (Jeremy Evans)
07:54 PM Revision 71f16d49 (git): Raise errors for dumping prism parse tree
kddnewton (Kevin Newton)
07:20 PM Revision b4880af0 (git): [PRISM] Fix test_bug_reporter with prism
kddnewton (Kevin Newton)
07:11 PM Revision cb98b018 (git): [PRISM] Fix else with rescue
Fixes ruby/prism#2307. peterzhu2118 (Peter Zhu)
07:07 PM Revision 95c9711d (git): [rubygems/rubygems] Fix musl platform not being added to the lockfile
https://github.com/rubygems/rubygems/commit/235f7b4266 deivid (David Rodríguez)
06:41 PM Revision c28ee912 (git): [PRISM] Fix incorrect use of VM_CALL_KW_SPLAT_MUT in zsuper with keyword splat
This copies the changes from 771a2f039b9a059a73e8f111d1d46590fa697f63.
Fixes ruby/prism#2310.
etienne (Étienne Barrié)
06:41 PM Revision 610636fd (git): [PRISM] Mirror iseq APIs
Before this commit, we were mixing a lot of concerns with the prism
compile between RubyVM::InstructionSequence and the general entry
points to the prism parser/compiler.
This commit makes all of the various prism-related APIs mirror
th...
kddnewton (Kevin Newton)
06:13 PM Revision 21031f0a (git): YJIT: Float arithmetics are actually leaf
with these guards in YJIT.
The previous commit was to fix "conflict" between two PRs, but I
actually wanted to use it here, which is why I filed the other one.
k0kubun (Takashi Kokubun)
06:10 PM Revision 2220c4cf (git): YJIT: s/jit_prepare_routine_call/jit_prepare_non_leaf_call/
k0kubun (Takashi Kokubun)
05:58 PM Revision 09427f51 (git): YJIT: Add codegen for Float arithmetics (#9774)
* YJIT: Add codegen for Float arithmetics
* Add Flonum and Fixnum tests
k0kubun (Takashi Kokubun)
05:54 PM Revision cc9bbbdd (git): YJIT: Add jit_prepare_for_gc function (#9775)
* YJIT: Add jit_prepare_for_gc function
* s/jit_prepare_routine_call/jit_prepare_non_leaf_call/
* s/jit_prepare_for_gc/jit_prepare_call_with_gc/
* Use jit_prepare_call_with_gc for leaf builtin
k0kubun (Takashi Kokubun)
04:54 PM Revision 06732d49 (git): [rubygems/rubygems] Remove truffleruby specific stuff no longer needed
We're already testing with truffleruby 23.
https://github.com/rubygems/rubygems/commit/cd0494d628
deivid (David Rodríguez)
04:30 PM Bug #20228: Memory leak in Regexp timeout
> Using ruby APIs in onigmo doesn’t feel nice.
I changed it to call `HANDLE_REG_TIMEOUT_IN_MATCH_AT` in onigmo, which calls `rb_reg_raise_timeout` so then there is no Ruby code in onigmo.
> ...
I think it can only raise when there ...
peterzhu2118 (Peter Zhu)
04:12 AM Bug #20228: Memory leak in Regexp timeout
Good find, thanks!
I'm a little concerned about the overhead of `rb_protect` for a typical simple match, but it's neglectable?
mame (Yusuke Endoh)
12:57 AM Bug #20228: Memory leak in Regexp timeout
Using ruby APIs in onigmo doesn’t feel nice. nobu (Nobuyoshi Nakada)
03:47 PM Revision 51753ec7 (git): Annotate Symbol#to_s as leaf (#9769)
k0kubun (Takashi Kokubun)
01:22 PM Revision a322b2fa (git): [rubygems/rubygems] Make slow perf specs more stable
This seems worse to detect performance regressions, but at least should
not have many false positives.
https://github.com/rubygems/rubygems/commit/0b28e55415
deivid (David Rodríguez)
01:21 PM Revision c70052e5 (git): [rubygems/rubygems] WEBrick:Utils::TimeoutHandler is always provided after webrick gem
https://github.com/rubygems/rubygems/commit/b0502a0c50 hsbt (Hiroshi SHIBATA)
12:43 PM Revision 5808c869 (git): [ruby/prism] Fix description of line parsing option and state it's 1-indexed
https://github.com/ruby/prism/commit/b2d2b91222 andrykonchin (Andrew Konchin)
12:14 PM Revision 171d4bec (git): [rubygems/rubygems] Fix some flaky test failures on Windows
Some specs assert empty output, but sometimes they print warnings about
redefinition warnings. Ignore those until they are fixed upstream.
https://github.com/rubygems/rubygems/commit/0cd3b6dbae
deivid (David Rodríguez)
11:43 AM Bug #19999: Backport: .travis.yml and fixed commits
jaruga (Jun Aruga) wrote in #note-8:
> @nagachika I sent the PR to the ruby_3_2 branch to pass Travis CI with the latest config file that exists on master and ruby_3_3 branches. You can do cherry-pick the commits or merge the PR.
> ......
jaruga (Jun Aruga)
10:43 AM Revision aefc9889 (git): readline: Skip the test_interrupt_in_other_thread on arm32.
Skip the test_interrupt_in_other_thread test failing on Travis arm32.
The failing test is not a new issue. It had already been skipped in .travis.yml
before updating .travis.yml.
https://github.com/ruby/ruby/blob/7b05cb8dbbd637910757f402...
Jun Aruga
10:43 AM Revision fc25e166 (git): Backport .travis.yml from ruby_3_3 branch.
Update the .travis.yml file copied from the latest ruby_3_3 branch
<5124f9ac7513eb590c37717337c430cb93caa151>.
Jun Aruga
08:57 AM Misc #20013: Travis CI status
jaruga (Jun Aruga) wrote in #note-16:
> > Now I am testing the Travis s390x on my forked repository.
> ...
Merged. The s390x is added on Travis again.
jaruga (Jun Aruga)
08:56 AM Revision 816ce53a (git): Revert ".travis.yml: Drop s390x temporarily."
This reverts commit 7ded31d36dc78c1495b03a45ec1a3235fdd81f1e.
I was told from Travis CI support that their infra team has deployed a fix for
the issue we encountered with the s390x build environment.
Jun Aruga
07:15 AM Revision 2deb105a (git): Bump ruby/setup-ruby from 1.169.0 to 1.170.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.169.0 to 1.170.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/5daca165445f0ae10478593083f72ca262...
dependabot[bot]
07:14 AM Revision a7ebe467 (git): Add newline between end and def
ono-max (Naoto Ono)
07:14 AM Revision 45b53dd8 (git): Add the ability to generate Launchable test reports
ono-max (Naoto Ono)
06:23 AM Bug #20230 (Closed): Fix crash when passing large keyword splat to method accepting keywords and keyword splat
The following code causes a crash in Ruby 2.2-3.3 and master:
```ruby
h = {}
1000000.times{|i| h[i.to_s.to_sym] = i}
def f(kw: 1, **kws) end
f(**h)
```
Inside a thread or fiber, the size of the keyword splat could be much smal...
jeremyevans0 (Jeremy Evans)
05:56 AM Revision 3de2ab7f (git): [ruby/yaml] Make PStore support as optional
https://github.com/ruby/yaml/commit/da421ce46f hsbt (Hiroshi SHIBATA)
05:56 AM Revision 7c8f9603 (git): [flori/json] Make OpenStruct support as optional
https://github.com/flori/json/commit/202ffe2335 hsbt (Hiroshi SHIBATA)
04:31 AM Revision f3df218f (git): Introduced `rb_node_const_decl_val` function
Introduce `rb_node_const_decl_val` function to allow `rb_ary_join` and
`rb_ary_reverse` functions to be removed from Universal Parser.
S_H_ (Shun Hiraoka)
03:16 AM Feature #20108: Introduction of Happy Eyeballs Version 2 (RFC8305) in Socket.tcp
Regarding the content mentioned above, I have made the following changes to the commit:
https://github.com/ruby/ruby/pull/9374/commits/461b75830599408feca086f7f6719b8426008802
- Improved performance in the case where there is only one a...
shioimm (Misaki Shioi)

01/30/2024

11:41 PM Misc #20013: Travis CI status
> Now I am testing the Travis s390x on my forked repository.
I tested. I sent a PR to add the s390x again.
https://github.com/ruby/ruby/pull/9773
jaruga (Jun Aruga)
07:48 PM Misc #20013: Travis CI status
jaruga (Jun Aruga) wrote in #note-14:
> I will drop the s390x case in Travis CI temporarily. I am not sure that the issue comes from an infra or Ruby. But right now the test failing with 50 minutes is not convenient as a CI.
> ...
I go...
jaruga (Jun Aruga)
02:33 PM Misc #20013: Travis CI status
I will drop the s390x case in Travis CI temporarily. I am not sure that the issue comes from an infra or Ruby. But right now the test failing with 50 minutes is not convenient as a CI.
https://github.com/ruby/ruby/pull/9758
jaruga (Jun Aruga)
12:46 PM Misc #20013: Travis CI status
It seems that Travis s390x is slow, running out the max 50 minutes (ruby_3_3 specific issue?),
https://app.travis-ci.com/github/ruby/ruby/builds/268615249
Or not starting soon.
https://app.travis-ci.com/github/ruby/ruby/builds/26861...
jaruga (Jun Aruga)
11:06 PM Bug #20227: Unexpected "<internal:array>" appears since c84237f9531aed3b204d3fdacc2dd9d2bd4c7d81
FWIW I'm keeping https://gist.github.com/eregon/912e6359e83781c5fa1c638d3768c526 to show that more methods are being implemented in Ruby (it's great).
And indeed that means gems sometimes need to handle backtrace entries starting with `...
Eregon (Benoit Daloze)
07:23 PM Bug #20227: Unexpected "<internal:array>" appears since c84237f9531aed3b204d3fdacc2dd9d2bd4c7d81
For the record I fixed it in Rails with https://github.com/rails/rails/pull/50923. byroot (Jean Boussier)
05:57 PM Bug #20227: Unexpected "<internal:array>" appears since c84237f9531aed3b204d3fdacc2dd9d2bd4c7d81
As Jean said, this is intentional. It's not new in Ruby 3.4 that we're changing backtraces by Ruby rewrite (Ruby 3.0: `Kernel#tap` and `Kernel#then`, Ruby 3.3: `Kernel#loop` and `Integer#times`), but I guess `Array#each` is more commonly... k0kubun (Takashi Kokubun)
12:19 PM Bug #20227 (Closed): Unexpected "<internal:array>" appears since c84237f9531aed3b204d3fdacc2dd9d2bd4c7d81
@yahonda this isn't a regression, it happens when methods are migrated from pure C to the new Primitive system. It's Rails that should be fixed. byroot (Jean Boussier)
11:47 AM Bug #20227 (Closed): Unexpected "<internal:array>" appears since c84237f9531aed3b204d3fdacc2dd9d2bd4c7d81
Unexpected "<internal:array>" appears since c84237f9531aed3b204d3fdacc2dd9d2bd4c7d81
Rails CI against Ruby master branch gets failed
https://buildkite.com/rails/rails-nightly/builds/85#018d3dec-4a38-41cb-9ebf-1cbc78a697ba/1147-1156
...
yahonda (Yasuo Honda)
10:22 PM Revision 8041b7d9 (git): [PRISM] pm_compile_logical: Fix OrNode in IfNode predicate
Fixes: https://github.com/ruby/prism/issues/2294 eightbitraptor (Matt V-H)
10:22 PM Revision 1142ed2f (git): [PRISM] Remove unneccessary uses of cond_seq
As this is compiled into only on the recursive call and then added, we
can just use `ret` directly
eightbitraptor (Matt V-H)
09:43 PM Revision dddef93b (git): Fix memory leak in File.expand_path
File.expand_path leaks the dir if the encodings are not compatible.
For example:
Encoding.default_external = Encoding::UTF_16BE
10.times do
100_000.times do
File.expand_path("./a")
rescue
end
p...
peterzhu2118 (Peter Zhu)
08:29 PM Bug #20229: Empty keyword splat in array not removed in ARGSPUSH case
I found that this bug was actually reported earlier in #20180, which I already have submitted a pull request to fix. I think we should use the approach in this pull request to fix this issue in master, as it is more efficient. We could... jeremyevans0 (Jeremy Evans)
08:00 PM Bug #20229 (Closed): Empty keyword splat in array not removed in ARGSPUSH case
For the following code:
```ruby
a = []
kw = {}
[*a, **kw]
```
Ruby 2.0-3.3 return `[{}]`, when the desired result (since 2.7) is `[]`.
I discovered this while working on an optimization for the ARGSCAT case, where `[*a, 1, *...
jeremyevans0 (Jeremy Evans)
07:59 PM Revision c1f8d974 (git): YJIT: Specialize splatkw on T_HASH (#9764)
* YJIT: Specialize splatkw on T_HASH
* Fix a typo
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
* Fix a few more comments
---------
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
k0kubun (Takashi Kokubun)
07:57 PM Revision fe5590e4 (git): YJIT: add specialized codegen for fixnum XOR (#9763)
maximecb (Maxime Chevalier-Boisvert)
07:29 PM Bug #20228 (Closed): Memory leak in Regexp timeout
GitHub PR: https://github.com/ruby/ruby/pull/9765
If a Regexp::TimeoutError is raised, the `stk_base` and `OnigRegion` will leak.
For example:
```ruby
Regexp.timeout = 0.001
regex = /^(a*)*$/
str = "a" * 1000000 + "x"
10.t...
peterzhu2118 (Peter Zhu)
06:45 PM Revision 731367d0 (git): [ruby/prism] Fix up CI
https://github.com/ruby/prism/commit/224ea85565 kddnewton (Kevin Newton)
06:19 PM Revision 8e708e4a (git): Update forwarding locals for prism
tenderlovemaking (Aaron Patterson)
05:54 PM Revision 6b350bc6 (git): [DOC] Note about the ticket number
k0kubun (Takashi Kokubun)
05:49 PM Revision 1891b4b6 (git): [DOC] Add a NEWS entry about Array#each
in response to [Bug #20227] k0kubun (Takashi Kokubun)
04:47 PM Revision 20732cad (git): Make compile_array first_chunk argument bool instead of int
jeremyevans (Jeremy Evans)
04:47 PM Revision 332e0db6 (git): Avoid unnecessary array allocation for ARGSCAT with LIST body
Previously, this would use newarray followed by concattoarray.
This now uses pushtoarray instead, avoiding the unnecessary
array allocation.
This is implemented by making compile_array take a first_chunk
argument, passing in 1 in the no...
jeremyevans (Jeremy Evans)
04:10 PM Revision ba06a825 (git): [ruby/prism] Better error messages for unexpected tokens in prefix
https://github.com/ruby/prism/commit/a35b8e45ee kddnewton (Kevin Newton)
03:29 PM Revision c85e28d1 (git): [PRISM] Remove unused variable
peterzhu2118 (Peter Zhu)
03:22 PM Revision 846f87ee (git): .travis.yml: Drop s390x temporarily.
The s390x pipelines are timeout (50 minutes) on both master and ruby_3_3
branches. Drop it temporarily.
* https://app.travis-ci.com/github/ruby/ruby/builds/268617296
* https://app.travis-ci.com/github/ruby/ruby/builds/268615249
Jun Aruga
03:21 PM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
> many developers will have come to rely on and expect that behavior,
I think that's a fair point, similar to e.g Set insertion ordering, even though that's not documented I'm pretty sure some Ruby code relies on it because it holds s...
Eregon (Benoit Daloze)
02:50 PM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
If sort *was* stable for a long time (it does seem like it was, but I am not 100% sure), then despite Ruby's disclaimer, *many developers* will have come to rely on and expect that behavior, and consider this as "a behavior change that b... johnnyshields (Johnny Shields)
01:48 PM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
Regardless of any individual impressions, Ruby never made any stability guarantees for sorting. It was always explicit that sorting MAY BE unstable. This is because Ruby delegates the actual sorting to the efficient sorting routines prov... ufuk (Ufuk Kayserilioglu)
01:34 PM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
Whether or not Ruby's documentation made any explicit guarantees, I was under the strong impression (as per the Ruby behavior I've observed for 10 years) that Ruby did have a stable sort. Other `Array` operations such as `-` (minus), `un... johnnyshields (Johnny Shields)
10:58 AM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
`Enumerable#sort_by` was also documented to not be stable in 3.2 (and previous versions): https://ruby-doc.org/3.2.3/Enumerable.html#method-i-sort_by
What might have changed (this is a layman's guess since I don't know the internals o...
ufuk (Ufuk Kayserilioglu)
10:44 AM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
> Sorting in Ruby never was stable
My mistake, like Roger Pack in https://github.com/crystal-lang/crystal/issues/2350#issuecomment-550188746, my experience is sort looks stable (on Linux).
And sort is stable on TruffleRuby since it u...
Eregon (Benoit Daloze)
10:25 AM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
Here is the previous discussion from 15 years ago: https://bugs.ruby-lang.org/issues/1089
It might be about time to revisit the performance impact of a stable sort, imo, but that's not the discussion on this ticket.
ufuk (Ufuk Kayserilioglu)
10:22 AM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
Sorting in Ruby never was stable. There were discussions to make it stable, but Matz was concerned about the speed impact. I don't think this particular case is a regression, the behaviour of sort depends on the number of elements, and o... ufuk (Ufuk Kayserilioglu)
10:17 AM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
When was `sort`/`sort_by` changed to no longer be stable? I don't remind any ticket about it or NEWS entry.
IMO it's a pretty big change to make it non-stable when it has been stable for so long.
Especially for a high-level language li...
Eregon (Benoit Daloze)
10:15 AM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
You can force stability by using the original index as a tiebreaker.
```ruby
arr = [*Array.new(15,1), -0.02, 0.02]
puts "Unstable: #{arr.sort_by(&:abs)[0..1]}"
puts "Stable: #{arr.sort_by.with_index { [_1.abs, _2] }[0..1]}"
```
bkDJ (Djilani Kebaili)
03:39 AM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
`sort` family methods do not guarantee stable sort.
That means the result order of the same value elements is not affected by the original order of those elements.
nobu (Nobuyoshi Nakada)
03:26 AM Bug #20226 (Closed): Inconsistent Sort results on 3.3.0 compared to previous versions
Try this code block:
```
[-0.9, -0.88, -0.85, -0.83, -0.81, -0.79, -0.77, -0.75, -0.73, -0.71, -0.69, -0.67, -0.65, -0.63, -0.6, -0.58, -0.56, -0.54, -0.52,
-0.5, -0.48, -0.46, -0.44, -0.42, -0.4, -0.38, -0.35, -0.33, -0.31, -0.29, -...
omerby (Omer Ben Yosef)
02:45 PM Revision 4e72c9af (git): rbinstall.rb: Fix a closing parenthesis [ci skip]
nobu (Nobuyoshi Nakada)
02:02 PM Misc #19758: Statically link ext/json
Hello,
I am facing the same issue today, though I am presently on Ubuntu, not windows. I realized that `Init_ext` was doing nothing (I couldn't then use `require 'bigdecimal'` without a crash) by using a debugger and I noticed that it ...
jmarrec (Julien Marrec)
01:49 PM Revision 928f3884 (git): [DOC] Fix Ripper DSL input example
'!' suffix is needed for event dispatch. yui-knk (Kaneko Yuichiro)
01:36 PM Revision 64fa4c75 (git): rbinstall.rb: Show types to install in the help [ci skip]
nobu (Nobuyoshi Nakada)
12:55 PM Revision fd44b42f (git): [ruby/irb] Fix undef and alias indent
(https://github.com/ruby/irb/pull/838)
https://github.com/ruby/irb/commit/a641746b18
tompng (tomoya ishida)
12:18 PM Revision f73ae058 (git): Prefer `sa_handler` to `sa_sigaction` in Wasm
Previously the code assigns `handler` function pointer, which accepts
one argument, to `sigact.sa_sigaction`, which accepts three argument.
This mismatch is not allowed in Wasm.
I don't see the reason to use `sa_sigaction` here, so this...
mame (Yusuke Endoh)
11:29 AM Revision f585171a (git): merge revision(s) e12d4c654e3cb7a4473014610bc3bae41aaf811e: [Backport #20104]
Don't create T_MATCH object if /regexp/.match(string) doesn't match
Fixes [Bug #20104]
---
re.c | 9 ++++++---
test/ruby/test_regexp.rb | 12 ++++++++++++
tool/lib/envutil.rb...
naruse (Yui NARUSE)
11:28 AM Bug #20090: Anonymous arguments are now syntax errors in unambiguous cases
ruby_3_3 f8f0d342e48a38caac6d32b438c145bb581a51e6 merged revision(s) 3d19409637de1462b6790d2a92344bf0a10d8c52. naruse (Yui NARUSE)
10:19 AM Revision 86547fd6 (git): [ruby/io-console] Move the condition to omit to command line option
https://github.com/ruby/io-console/commit/32583460e1 nobu (Nobuyoshi Nakada)
10:19 AM Revision c2cb5b44 (git): [ruby/io-console] Move the condition to omit outside the method
https://github.com/ruby/io-console/commit/8b9b5b611a nobu (Nobuyoshi Nakada)
09:57 AM Revision f8f0d342 (git): merge revision(s) 3d19409637de1462b6790d2a92344bf0a10d8c52: [Backport #20090]
Use index for referring to symbols in `args` rule instead of named
references
In `args: args ',' arg_splat`, `args` is not unique name.
Currently the associated rule is interpreted as
`$$ = rest_arg_appe...
naruse (Yui NARUSE)
09:26 AM Revision 2f54422d (git): [rubygems/rubygems] Update namespace Gem::Resolver::Molinillo to Gem::Molinillo
https://github.com/rubygems/rubygems/commit/6c4caf3ab0 hsbt (Hiroshi SHIBATA)
09:26 AM Revision b31995d8 (git): [rubygems/rubygems] Rename molinillo wrapper file to vendored_molinillo.rb
https://github.com/rubygems/rubygems/commit/d7c15f6fd7 hsbt (Hiroshi SHIBATA)
09:00 AM Revision 9f18cbd7 (git): Revert "merge revision(s) bc002971b6ad483dbf69b8a275c44412bb6ab954: [Backport #20094]"
This reverts commit d4b780e84e9a6b858d0f6c6a44b22da0d2f5835e. naruse (Yui NARUSE)
08:41 AM Revision d4b780e8 (git): merge revision(s) bc002971b6ad483dbf69b8a275c44412bb6ab954: [Backport #20094]
[Bug #20094] Distinguish `begin` and parentheses
---
compile.c | 1 +
parse.y | 36 +++++++++++++++++++++---------------
test/ruby/test_whileuntil.rb | 18 +++++++...
naruse (Yui NARUSE)
05:48 AM Revision 361b3efe (git): Use `UNDEF_P`
nobu (Nobuyoshi Nakada)
05:07 AM Revision 03246171 (git): Move molinillo under the vendor directory
hsbt (Hiroshi SHIBATA)
05:07 AM Revision dfa8e696 (git): Move tsort under the vendor directory
hsbt (Hiroshi SHIBATA)
05:06 AM Revision 881e76ce (git): Move timeout under the vendor directory
hsbt (Hiroshi SHIBATA)
05:05 AM Revision 04dbdc81 (git): Move net-http under the vendor directory
hsbt (Hiroshi SHIBATA)
05:05 AM Revision 6933aee9 (git): Move net-protocol under the vendor directory
hsbt (Hiroshi SHIBATA)
05:03 AM Revision 898090ad (git): Move optparse under the vendor directory
hsbt (Hiroshi SHIBATA)
05:01 AM Revision 5a0302d2 (git): Move resolv under the vendor directory
hsbt (Hiroshi SHIBATA)
04:02 AM Revision d187e06d (git): [rubygems/rubygems] Load wrapper file for vendored timeout
https://github.com/rubygems/rubygems/commit/deb1b6d293 hsbt (Hiroshi SHIBATA)
03:22 AM Revision 83966a57 (git): [PRISM] Method location for calls
kddnewton (Kevin Newton)
03:21 AM Bug #20190 (Closed): `invalid_encoding_string << number` should be valid encoding in some case, but does not
nobu (Nobuyoshi Nakada)
03:19 AM Revision db5d9429 (git): YJIT: No need to RESTORE_REG now that we reject tailcalls
Thanks to Kokubun for noticing.
Follow-up: b0711b1cf152afad0a480ee2f9bedd142a0d24ac
alanwu (Alan Wu)
03:10 AM Bug #20083: String#match? behaving inconsistently with Ruby 3.3.0
ruby_3_3 5f3dfa1c273c6fb9eae65ceca633b46f7e30f686 merged revision(s) d8702ddbfbe8cc7fc601a9a4d19842ef9c2b76c1. naruse (Yui NARUSE)
01:27 AM Bug #20083 (Closed): String#match? behaving inconsistently with Ruby 3.3.0
naruse (Yui NARUSE)
02:53 AM Bug #20225 (Assigned): Inconsistent behavior of regex matching for a regex has a null loop
Usually, in Ruby (Onigmo), when a null loop (a loop consuming no characters) occurs on regex matching, this loop is terminated. But, if a loop has a capture and some complex condition is satisfied, this causes backtracking. This behavior... make_now_just (Hiroya Fujinami)
02:09 AM Bug #20086: Windows memory mapped file `IO::Buffer` is buggy.
ruby_3_3 818b4ea9b16e3570b431b86da9a24a5743b29617 merged revision(s) e5a4f757bdf5dc3d8c329ddd268432f9ecc7bff6. naruse (Yui NARUSE)
01:39 AM Bug #20224 (Closed): Backport https://github.com/ruby/ruby/pull/9634 to Ruby 3.3
It's nice if we can backport https://github.com/ruby/ruby/pull/9634 (3d19409637de1462b6790d2a92344bf0a10d8c52) to Ruby 3.3 branch.
Even so previous codes work as expected but it depends on how parse.c works and misleading.
yui-knk (Kaneko Yuichiro)
01:31 AM Revision 5f3dfa1c (git): merge revision(s) d8702ddbfbe8cc7fc601a9a4d19842ef9c2b76c1: [Backport #20083]
Fix [Bug #20083]: correct a cache point size for atomic groups
(#9367)
---
regexec.c | 2 +-
test/ruby/test_regexp.rb | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
naruse (Yui NARUSE)
01:24 AM Revision 818b4ea9 (git): merge revision(s) e5a4f757bdf5dc3d8c329ddd268432f9ecc7bff6: [Backport #20086]
Fix Window private file mapping unlink EACCES issue. (#9358)
* Don't return early.
* Add missing `mapping` assignment.
* Make debug logs conditional.
---
io_buffer.c | 18 ++++++...
naruse (Yui NARUSE)

01/29/2024

11:59 PM Feature #20196: Proposal: Binary data literal
For what it's worth, there's a shorthand String#b.
``` ruby
"\xAB\xCD\xEF\x12\x34\x56".b
#=> => "\xAB\xCD\xEF\x124V"
```
For fun, here's a Ruby implementation along the lines of what you propose.
```ruby
module Kernel
def...
shan (Shannon Skipper)
11:14 PM Bug #20095 (Closed): Regex lookahead behaving strangely in 3.3.0
If the duplicate has already be resolved, then let's close this, too. duerst (Martin Dürst)
02:03 PM Bug #20095: Regex lookahead behaving strangely in 3.3.0
It is the exact same as #20207. make_now_just (Hiroya Fujinami)
10:15 PM Revision bbb7ab90 (git): [PRISM] Fix crash when multiple underscores
Fixes ruby/prism#2295. peterzhu2118 (Peter Zhu)
10:11 PM Revision 4cf3c026 (git): Fix RegExp warning causing flaky Ripper failure
Sometimes this file get picked up and break Ripper tests:
TestRipper::Generic#test_parse_files:test/ruby
assert_separately failed with error message
pid 63392 exit 0
| test_regexp.rb:2025: warning: character class has du...
alanwu (Alan Wu)
10:05 PM Revision 2d6f7d08 (git): Fix test/ruby/test_rubyoptions.rb + --parser=prism
kddnewton (Kevin Newton)
09:38 PM Revision 3fb74106 (git): [PRISM] Fix rescue frame label
kddnewton (Kevin Newton)
09:34 PM Revision 8e1fe15b (git): [PRISM] Implement opt_str_uminus
peterzhu2118 (Peter Zhu)
09:25 PM Bug #20188: `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
I have tried several things using `require` and `autoload` with the [test scheduler](https://github.com/ruby/ruby/blob/master/test/fiber/scheduler.rb) and cannot get a deadlock by now. fxn (Xavier Noria)
04:29 PM Bug #20188: `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
I'll open a separate issue for this :). If `require` is fiber-safe I'd like to know and maybe improve its docs. If it is not, that may be important. fxn (Xavier Noria)
04:10 PM Bug #20188: `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
So, we are arriving at the concern I expressed above in the first message of this "subthread".
Since fiber schedulers have no contract related to `require` or `autoload`, my understanding is that these methods are thread-safe and not ...
fxn (Xavier Noria)
03:59 PM Bug #20188: `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
> That is less the case with fiber schedulers, no?
It's still cooperative. You implicitly yield on IOs sure, but still won't be prempted after running for too long.
> ...
I don't see why not, but I may be missing something. I'm not...
byroot (Jean Boussier)
03:56 PM Bug #20188: `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
To me, this is related with `autoload`, because it is the `autoload` the one making the fibers deadlock. If the last line was
```ruby
Fiber.new { p 1 }.resume
```
instead of a reference to the constant being autoloaded, there wou...
fxn (Xavier Noria)
01:44 PM Bug #20188: `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
> If a fiber does a non-blocking operation while the file is being loaded, and that was part of an autoload or require, what can we assume about that situation?
I don't think it's anything particular to `autoload`.
`autoload` simpl...
byroot (Jean Boussier)
09:17 PM Revision bc10b958 (git): YJIT: print warning when disasm options used without a dev build (#9744)
* YJIT: print warning when disasm options used without a dev build
I was confused for a few minutes the other way then
--yjit-dump-disasm printed nothing, so I figured this would be
useful for end-users (and future me).
* Fix lone extr...
maximecb (Maxime Chevalier-Boisvert)
07:53 PM Revision 32bbf475 (git): [PRISM] Use opt_str_freeze instruction
Fixes ruby/prism#2290. peterzhu2118 (Peter Zhu)
07:44 PM Feature #20080: Introduce #bounds method on Range
Oh you're right, it seems like I mixed up the #deconstruct comment in note-2 with the rejection notice in note-3.
Although imho it doesn't feel intuitive to pattern-match a range like that. I would expect to able to do `1..8 in [*,5,*]`...
Dan0042 (Daniel DeLorme)
07:13 PM Revision d7501c40 (git): [PRISM] Fix InterpolatedStringNode
If the first element of an interpolated string node is an embedded
statement, CRuby "pre-initializes" the interpolation with a string of
known encoding to concat into.
This patch replicates thate behaviour in Prism
eightbitraptor (Matt V-H)
06:56 PM Revision 3d3d9e83 (git): [PRISM] Support US-ASCII symbols
peterzhu2118 (Peter Zhu)
06:56 PM Revision d980c892 (git): [PRISM] Support ASCII-8BIT symbols
peterzhu2118 (Peter Zhu)
06:56 PM Revision f634c7a2 (git): [PRISM] Support UTF-8 symbols
Fixes ruby/prism#2242. peterzhu2118 (Peter Zhu)
06:42 PM Revision d39d9e06 (git): [ruby/prism] Fix binding power for modifier rescue
https://github.com/ruby/prism/commit/f614863d79 kddnewton (Kevin Newton)
05:23 PM Revision 1005b7d2 (git): Revert "Provisionally ignore panics that happen in these days often"
This reverts commit e0f4c4e410a0e4c6cda67e9000696c8f1f01d8aa.
We expect https://github.com/ruby/ruby/pull/9729 to address the failure.
k0kubun (Takashi Kokubun)
05:22 PM Revision d42330d7 (git): [rubygems/rubygems] Improve gem login scope selection
https://github.com/rubygems/rubygems/commit/26c7abe5f6 Willian Tenfen W
05:21 PM Revision b0711b1c (git): YJIT: Fix tailcall and JIT entry eating up FINISH frames (#9729)
Suppose YJIT runs a rb_vm_opt_send_without_block()
fallback and the control frame stack looks like:
```
will_tailcall_bar [FINISH]
caller_that_used_fallback
```
will_tailcall_bar() runs in the interpreter and sets up a tailcall.
Right ...
alanwu (Alan Wu)
04:54 PM Bug #20223 (Rejected): For simple objects each_cons appears to work as I expect, but for other objects it seems to fail to terminate iterations when I would expect.
Not a bug, you are doing `yield @obj.each(&block)`, and Array#each returns the receiver. jeremyevans0 (Jeremy Evans)
04:48 PM Bug #20223 (Rejected): For simple objects each_cons appears to work as I expect, but for other objects it seems to fail to terminate iterations when I would expect.
Reproduce process:
``` ruby
p `ruby -v`
class X
include Enumerable
attr_accessor :obj
def initialize = @obj = (1..5).to_a
def each(&block) = yield @obj.each(&block)
end
wtf = X.new
(1..5).each_cons(3) { |g| p g }
p '...
mjflynt (Jeffrey Flynt)
04:42 PM Revision 9a5a11f3 (git): [PRISM] Use the splatkw instruction
Fixes ruby/prism#2272. peterzhu2118 (Peter Zhu)
04:33 PM Misc #20222 (Closed): Dedup-ing clarification
``` ruby
source = %q{"foo".freeze.equal?("foo".freeze)}
RubyVM::InstructionSequence.compile(source).eval # => true
RubyVM::InstructionSequence.compile_option = false
RubyVM::InstructionSequence.compile(source).eval # => false
```
...
kddnewton (Kevin Newton)
04:09 PM Revision e050097b (git): [ruby/prism] Raise diagnostics for parser
https://github.com/ruby/prism/commit/102b4a16f5 kddnewton (Kevin Newton)
03:36 PM Revision adf29c9a (git): YJIT: add asm comment when we clear local types (#9713)
Small PR to add a comment when we clear local variable types,
so we can be aware that it's happening when looking at the disasm.
maximecb (Maxime Chevalier-Boisvert)
03:05 PM Revision fde3d065 (git): Add removable and refcnt output to labels
Co-Authored-By: Kevin Newton <kddnewton@gmail.com> peterzhu2118 (Peter Zhu)
03:04 PM Bug #20212 (Closed): Regex match method is crashing - (irb):6: [BUG] Segmentation fault at 0x0000000000000000 ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
Applied in changeset commit:git|3e6e3ca2627b1aa71b17de902cc1b8188246a828.
----------
Correctly handle consecutive lookarounds (#9738)
Fix [Bug #20207]
Fix [Bug #20212]
Handling consecutive lookarounds in init_cache_opcodes is buggy, s...
make_now_just (Hiroya Fujinami)
12:22 PM Bug #20212: Regex match method is crashing - (irb):6: [BUG] Segmentation fault at 0x0000000000000000 ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
It is the exact same bug as #20207. make_now_just (Hiroya Fujinami)
03:04 PM Bug #20207 (Closed): Segmentation fault for a regexp containing positive and negative lookaheads
Applied in changeset commit:git|3e6e3ca2627b1aa71b17de902cc1b8188246a828.
----------
Correctly handle consecutive lookarounds (#9738)
Fix [Bug #20207]
Fix [Bug #20212]
Handling consecutive lookarounds in init_cache_opcodes is buggy, s...
make_now_just (Hiroya Fujinami)
03:04 PM Revision c422805b (git): [PRISM] Fix encoding for interpolated strings.
This wasn't taking into account strings with flags set on the containing
node that could affect the encoding. It does now
eightbitraptor (Matt V-H)
02:51 PM Revision 3e6e3ca2 (git): Correctly handle consecutive lookarounds (#9738)
Fix [Bug #20207]
Fix [Bug #20212]
Handling consecutive lookarounds in init_cache_opcodes is buggy, so it
causes invalid memory access reported in [Bug #20207] and [Bug #20212].
This fixes it by using recursive functions to detected look...
make_now_just (Hiroya Fujinami)
02:45 PM Revision 0d4de0f4 (git): wasm: align fiber stack pointer to 16 bytes
In WebAssembly C ABI, the linear stack pointer must be always aligned
to 16 bytes like other archs.
The misaligned stack pointer causes some weird memory corruption since
compiler assumes the aligned stack pointer.
katei (Yuta Saito)
11:17 AM Bug #20221: ASAN: make test-basic: un-prefixed symbol leakage
Thanks for this. I'm able to reproduce this on my machine (Fedora 39 with clang 17.0.6). A cursory inspection suggests this might be a new behaviour in Clang 17, because of `-fsanitize-address-use-odr-indicator` defaulting to on (https:/... kjtsanaktsidis (KJ Tsanaktsidis)
10:48 AM Bug #20221 (Closed): ASAN: make test-basic: un-prefixed symbol leakage
When building and running the tests (here, test-basic) with ASAN enabled, it fails with the following message:
```
Checking leaked global symbols...leaked
__odr_asan_gen_rb_cArray
__odr_asan_gen_ruby_digitmap
__odr_asan_gen_...
leeN (David Klein)
08:16 AM Revision 8bff7e99 (git): [DOC] Move "Execution Shell on Windows" under "Execution Shell"
nobu (Nobuyoshi Nakada)
07:57 AM Feature #20210: Invalid source encoding raises ArgumentError, not SyntaxError
I'm wondering which encoding should be used if the parser hits invalid source encoding like `# coding: foo`. I think it's needed to clarify which encoding is assumed on this ticket. yui-knk (Kaneko Yuichiro)
07:46 AM Bug #20147: FreeBSD libyaml
Analyzing the changes made on January 6. From 9b78ef75522b1f6aa20fc81ddf06e5fb40db152d I am not able to compile. Even though the previous commits I can compile, the message of yaml.h not being found keep showing up. kaiquekandykoga (Kaíque Koga)
05:30 AM Bug #20147: FreeBSD libyaml
The 76afbda5b566148b9e73939e0ff9b8464d59806c. The last commit from January 6 is not compiling. It seems that something was changed on January 6 that broke the compilation in my environment. kaiquekandykoga (Kaíque Koga)
04:35 AM Bug #20147: FreeBSD libyaml
The day I reported this bug I was still able to compile Ruby using master. Today I have decided to try compiling again from master, before compiling I have fetched from upstream and the compilation was not working anymore. If I use the 7... kaiquekandykoga (Kaíque Koga)
05:39 AM Revision 933ede5d (git): [rubygems/rubygems] Remove `travis_removal_info`
`travis_removal_info` is added by https://github.com/rubygems/rubygems/pull/6150. According to the comment, it's supposed to be removed at bundler v2.5.0 but it hasn't.
https://github.com/rubygems/rubygems/commit/e18797d43f
over.rye@gmail.com (Masato Ohba)
03:20 AM Revision e99951ed (git): [rubygems/rubygems] Simplify how extensions are built
https://github.com/rubygems/rubygems/commit/0b8faf1e39 deivid (David Rodríguez)
03:20 AM Revision 5ea4df6a (git): [rubygems/rubygems] Remove annoying debug info
Sometimes you want this, sometimes you don't. And when you don't, this
hides other debugging puts you may have added.
https://github.com/rubygems/rubygems/commit/df37582c81
deivid (David Rodríguez)
03:19 AM Revision 1991c6d7 (git): [rubygems/rubygems] Remove now unnecessary elseif
https://github.com/rubygems/rubygems/commit/d05b9e659b
Co-authored-by: Samuel Giddins <segiddins@segiddins.me>
deivid (David Rodríguez)
03:19 AM Revision 355480de (git): [rubygems/rubygems] Properly restore empty env vars
https://github.com/rubygems/rubygems/commit/e0d68a8688 deivid (David Rodríguez)
03:18 AM Revision 2956d3a5 (git): Removed duplicated license file
hsbt (Hiroshi SHIBATA)
03:15 AM Revision 5a884c2e (git): [rubygems/rubygems] Add a spec to prove uri is no longer loaded
https://github.com/rubygems/rubygems/commit/3a262f55c8 deivid (David Rodríguez)
03:15 AM Revision 5f9c1200 (git): [rubygems/rubygems] Remove no longer needed uri install during specs
https://github.com/rubygems/rubygems/commit/7f35dc19c5 deivid (David Rodríguez)
03:15 AM Revision f3123f8a (git): [rubygems/rubygems] Use rubygems vendored uri from Bundler when available
https://github.com/rubygems/rubygems/commit/5d6a8f2fb4 deivid (David Rodríguez)
03:14 AM Revision d64d0b54 (git): Vendor uri gem in RubyGems
deivid (David Rodríguez)
03:02 AM Revision 6bbbfb46 (git): [rubygems/rubygems] Require vendored_uri file in Bundler
https://github.com/rubygems/rubygems/commit/62bc261042 deivid (David Rodríguez)

01/28/2024

05:56 PM Bug #20188: `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
While in threads Ruby controls context switching and coordination for autoloading constants or loading files with `Kernel#require` is built-in, the problem I see with fibers is that Ruby has no control, the user has the control by design... fxn (Xavier Noria)
04:12 PM Feature #20080: Introduce #bounds method on Range
@Dan0042 To be fair, that ticket seems to have rejected "old-style" deconstruction mainly (`b, e = range`). The possibility of `#deconstruct` is mentioned in one of the comments, but rejection is more vague on it. zverok (Victor Shepelev)
02:07 AM Feature #20080: Introduce #bounds method on Range
AMomchilov (Alexander Momchilov) wrote in #note-15:
> Could we implement this as `#deconstruct`, so Ranges can support destructuring?
This was rejected in the original ticket from which this one originated: #20027#note-3
Dan0042 (Daniel DeLorme)
03:27 PM Revision 5ac9c8f0 (git): [ruby/win32ole] [DOC] Remove spaces inside parentheses
https://github.com/ruby/win32ole/commit/57e4a38465 nobu (Nobuyoshi Nakada)
03:25 PM Revision 8074525b (git): [ruby/win32ole] Move toplevel constant for olegen under `WIN32OLE`
https://github.com/ruby/win32ole/commit/78ff137c0f nobu (Nobuyoshi Nakada)
03:25 PM Revision 3ad54239 (git): [ruby/win32ole] [DOC] Move sample to toplevel
https://github.com/ruby/win32ole/commit/70ea60c4d2 nobu (Nobuyoshi Nakada)
03:25 PM Revision 703ad99b (git): [ruby/win32ole] Use `end_with?` and fix indent
https://github.com/ruby/win32ole/commit/7648ee7e56 nobu (Nobuyoshi Nakada)
03:25 PM Revision bd6f9834 (git): [ruby/win32ole] Use the scoped names in the tests
https://github.com/ruby/win32ole/commit/2b91b6b838 nobu (Nobuyoshi Nakada)
03:25 PM Revision 8af4ef30 (git): [ruby/win32ole] Move `WIN32OLE` prefixed error classes under `WIN32OLE`
https://github.com/ruby/win32ole/commit/1c95816168 nobu (Nobuyoshi Nakada)
03:25 PM Revision 1e2d088d (git): [ruby/win32ole] Use the scoped names in `inspect` and error messages
https://github.com/ruby/win32ole/commit/2f51493bd1 nobu (Nobuyoshi Nakada)
03:25 PM Revision baef72da (git): [ruby/win32ole] [DOC] Update class names using the scoped names
https://github.com/ruby/win32ole/commit/2c5d193da7 nobu (Nobuyoshi Nakada)
03:25 PM Revision 1bc48684 (git): [ruby/win32ole] Rename `WIN32OLE::Typelib` as `WIN32OLE::TypeLib`
https://github.com/ruby/win32ole/commit/5feede2cc5 nobu (Nobuyoshi Nakada)
03:25 PM Revision 853bcf65 (git): [ruby/win32ole] Rename `WIN32OLE::VARIANT` as `WIN32OLE::VariantType`
Prevent name clash with `WIN32OLE::Variant`, of generated document
files on case-insensitive filesystems, such as Windows.
https://github.com/ruby/win32ole/commit/049e5f0a6e
nobu (Nobuyoshi Nakada)
12:38 PM Revision c1666158 (git): [ruby/reline] Add metadata for rubygems.org
(https://github.com/ruby/reline/pull/638)
https://github.com/ruby/reline/commit/d3a324d22c
Masato Nakamura
10:53 AM Bug #20219 (Closed): Segfault with circular parameter
Applied in changeset commit:git|23b8337cd10329020d74a2f0d8e43434645c4d5b.
----------
[Bug #20219] `gettable` returns NULL on error
nobu (Nobuyoshi Nakada)
10:15 AM Revision 23b8337c (git): [Bug #20219] `gettable` returns NULL on error
nobu (Nobuyoshi Nakada)
10:11 AM Bug #20217 (Closed): void value not checked for begin/ensure/rescue
Applied in changeset commit:git|fed877c791f1c16a2b1a2c9a167b7f433505794d.
----------
[Bug #20217] `return` with `ensure` is a void value expression
nobu (Nobuyoshi Nakada)
09:44 AM Revision 5f733a1a (git): [Bug #20217] `rescue` block is void only if all children are void
nobu (Nobuyoshi Nakada)
09:44 AM Revision fed877c7 (git): [Bug #20217] `return` with `ensure` is a void value expression
nobu (Nobuyoshi Nakada)
06:49 AM Revision d3e6bcd3 (git): [ruby/digest] [DOC] Expand `Digest::SHA2` definitions for RDoc
Since RDoc searches `var = rb_define_class_under(...)` statements
literally, they cannot be built by macros.
https://github.com/ruby/digest/commit/d39b684f91
nobu (Nobuyoshi Nakada)
06:49 AM Revision 81702b4b (git): [ruby/digest] Prefer `rb_const_get` over `rb_path2class` for direct constants
https://github.com/ruby/digest/commit/e5d30394b3 nobu (Nobuyoshi Nakada)
06:49 AM Revision f475dc1c (git): [ruby/digest] [DOC] Add .document
https://github.com/ruby/digest/commit/6db96aa99a nobu (Nobuyoshi Nakada)
04:55 AM Bug #20220 (Closed): M:N threading needs to tell ASAN about stack switches
When switching stacks via `coroutine_transfer` in the M:N threading information, we need to tell ASAN about it in the same way that we do in cont.c. This is a matter of calling `__sanitizer_start_switch_fiber` in the transferring M:N thr... kjtsanaktsidis (KJ Tsanaktsidis)
03:46 AM Revision e0f4c4e4 (git): Provisionally ignore panics that happen in these days often [ci skip]
```
ruby: YJIT has panicked. More info to follow...
thread '<unnamed>' panicked at src/core.rs:2751:9:
assertion `left == right` failed: each stub expects a particular iseq
left: 0x7fc8d8e09850
right: 0x7fc8d2c2f3a0
stac...
nobu (Nobuyoshi Nakada)
03:30 AM Revision 3dde9c1b (git): Extract continue-on-error condition to the matrix [ci skip]
nobu (Nobuyoshi Nakada)
02:12 AM Revision e018036d (git): Rename `nd_head` in `RNode_RESBODY` as `nd_next`
nobu (Nobuyoshi Nakada)
02:11 AM Revision 0f98d284 (git): Remove unused `nd_resq` from `RNode_ENSURE`
nobu (Nobuyoshi Nakada)
01:10 AM Revision e256d44f (git): [ruby/prism] Handle implicit rest in array pattern for parser gem
https://github.com/ruby/prism/commit/d3722d6660 kddnewton (Kevin Newton)
 

Also available in: Atom