Project

General

Profile

Activity

From 03/19/2024 to 03/25/2024

03/25/2024

11:21 PM Bug #20392: Delegate super calls with a block
In Ruby 3.2, example 3 raised an exception "both block arg and actual block given"
So this looks like a Ruby 3.3 regression.
Dan0042 (Daniel DeLorme)
10:51 PM Bug #20392 (Closed): Delegate super calls with a block
I'm seeing strange behavior with calls to `super` when combined with `...` and a block. I'm not sure if this is expected behavior or not, so I'm filing this ticket.
Using delegate `...` with an explicit block will cause an error:
...
tenderlovemaking (Aaron Patterson)
09:50 PM Revision de742b42 (git): YJIT: Inline simple getlocal+leave iseqs
This mainly targets things like `T.unsafe()` from Sorbet, which is just an
identity function at runtime and only a hint for the static checker.
Only deal with simple caller and callees (no keywords and splat etc.).
Co-authored-by: Takas...
alanwu (Alan Wu)
09:47 PM Bug #20391 (Feedback): Segmentation fault at 0x0000000000000028 on Ruby 3.3.0
When running a couple apps on Digital Ocean Kubernetes, I am getting a segmentation fault. Reverting to 3.2.3 fixes the error.
I am currently using ruby:3.3.0-alpine3.19 from dockerhub.
=> Booting Puma
=> Rails 7.1.3.2 application ...
jason.hobbs (Jason Hobbs)
07:45 PM Revision aa900138 (git): [rubygems/rubygems] Fix: vendor_gem takes a block
https://github.com/rubygems/rubygems/commit/50cda56fc3 Martin Emde
07:45 PM Revision 06d5d4f1 (git): [rubygems/rubygems] Fix resolver bug where ActivationRequest objects were not properly compared
They were delegating their `#hash` value to a class not overriding that
method, and so were returning inconsistent results.
https://github.com/rubygems/rubygems/commit/723e4ee0fc
deivid (David Rodríguez)
07:08 PM Revision 453de8c2 (git): [ruby/prism] Revert "Frozen parts"
https://github.com/ruby/prism/commit/48f2e8c169 kddnewton (Kevin Newton)
05:36 PM Revision ff8f98f5 (git): [ruby/prism] Mark interpolated nodes as static literal
https://github.com/ruby/prism/commit/d00977a9bd kddnewton (Kevin Newton)
05:36 PM Revision eef272f1 (git): [ruby/prism] Mark inner parts of interpolated* nodes as frozen
https://github.com/ruby/prism/commit/58a127cd5d kddnewton (Kevin Newton)
05:07 PM Revision 9cf754b6 (git): Fix --debug=gc_stress flag
ruby_env_debug_option gets called after Init_gc_stress, so the
--debug=gc_stress flag never works.
peterzhu2118 (Peter Zhu)
04:06 PM Revision 46bf6ae8 (git): YJIT: Propagate Array, Hash, and String classes (#10323)
k0kubun (Takashi Kokubun)
03:54 PM Revision a0895456 (git): [ruby/prism] Fix up minimal build setting
https://github.com/ruby/prism/commit/98c85c4acb kddnewton (Kevin Newton)
03:52 PM Revision 53cc2723 (git): [ruby/prism] Handle CLRF in regexp
https://github.com/ruby/prism/commit/b96bada9ae kddnewton (Kevin Newton)
03:52 PM Revision 86077fbc (git): [ruby/prism] Refactor regexp lexing to make it easier to support CLRF
https://github.com/ruby/prism/commit/60805d85ca kddnewton (Kevin Newton)
03:52 PM Revision 0bc764b7 (git): [ruby/prism] Handle CLRF inside string contents
https://github.com/ruby/prism/commit/aac606301e kddnewton (Kevin Newton)
03:52 PM Revision 14ab6989 (git): [ruby/prism] Handle CLRF inside heredoc contents
https://github.com/ruby/prism/commit/1fbac72485 kddnewton (Kevin Newton)
02:43 PM Revision a31ca350 (git): Mark iseq structs with rb_gc_mark_movable
Using rb_gc_mark_movable and a reference update function, we can make
instruction sequences movable in memory, and avoid pinning compiled iseqs.
```
require "objspace"
iseqs = []
GC.disable
50_000.times do
iseqs << RubyVM::Instruction...
gmcgibbon (Gannon McGibbon)
02:25 PM Revision 55264717 (git): [rubygems/rubygems] Improve validation of `bundle plugin install` options
Ensure only one source type is specified, and ensure options that
are only relevant to git sources are only specified with git.
https://github.com/rubygems/rubygems/commit/58b043215e
Cody Cutrer
02:11 PM Revision 65264b0d (git): [ruby/prism] Fix build error for C99 and C23 CI matrix
This PR fixes the following build error for C99 and C23 Ruby's CI matrix:
```console
../src/prism/prism.c:1241:19: error: initializing 'char *' with an expression of
type 'const char *' discards qualifiers [-Werror,-Wincompatible-pointe...
koic (Koichi ITO)
01:13 PM Revision 3b4dacf2 (git): Let the docs of base_label and label be similar
fxn (Xavier Noria)
01:13 PM Revision dadaa114 (git): Update vm_backtrace.c
Co-authored-by: Jean Boussier <jean.boussier@gmail.com> fxn (Xavier Noria)
01:13 PM Revision 4235bc29 (git): Add an example to base_label API
fxn (Xavier Noria)
12:16 PM Revision 54428c2b (git): [ruby/prism] Add missing symbol in comment for binding powers for `||=`
This adds in the descriptive comment the `||=` operator corresponding to `PM_TOKEN_PIPE_PIPE_EQUAL` for pm_binding_powers[PM_TOKEN_MAXIMUM] in prism.c
https://github.com/ruby/prism/commit/315ca16e23
francktrouillez (Franck Trouillez)
12:16 PM Revision d0513572 (git): [ruby/prism] Fix comment typos in prism.c
This fixes some comment typos in English in the prism.c file. It fixes some typos and follows the current conventions:
- Sentences in comments end with `.`
- Use infinitive instead of 3rd person present simple to describe functions
http...
francktrouillez (Franck Trouillez)
12:16 PM Revision 56a2fad2 (git): [ruby/prism] Fix incorrect paring when using invalid regexp options
Fixes https://github.com/ruby/prism/pull/2617.
There was an issue with the lexer as follows.
The following are valid regexp options:
```console
$ bundle exec ruby -Ilib -rprism -ve 'p Prism.lex("/x/io").value.map {|token| token[0].type...
koic (Koichi ITO)
12:14 PM Revision 9b921f66 (git): Update default gems list at daf1d7bfefa89a0473af9b304a3798 [ci skip]
git[bot]
12:13 PM Revision f5a2f55a (git): [ruby/prism] Use Sexp#line_max not Sexp#max_line
for RubyParser translation
https://github.com/ruby/prism/commit/a37169621a
jsc (Justin Collins)
12:13 PM Revision daf1d7bf (git): [ruby/reline] Bump version to v0.5.0
(https://github.com/ruby/reline/pull/664)
https://github.com/ruby/reline/commit/1d6569600c
ima1zumi (Mari Imaizumi)
11:48 AM Revision f53209f0 (git): [ruby/irb] Cache RDoc::RI::Driver.new
(https://github.com/ruby/irb/pull/911)
* Cache RDoc::RI::Driver.new to improve performance and to avoid flaky test
* Insert sleep to fix flaky rendering test that renders document dialog
https://github.com/ruby/irb/commit/da84e6cb56
tompng (tomoya ishida)
11:06 AM Revision 5f334b67 (git): [ruby/reline] Remove useless tests
(https://github.com/ruby/reline/pull/665)
The pasting tests hadn't been working since as early as v0.2.0. Since
what it tried to cover is already gone for such a long time, I think it's
better to write new ones if needed then to keep th...
st0012 (Stan Lo)
09:17 AM Revision 219d7cc1 (git): lib/bundled_gems.rb: dynamically ignore Kernel.require decorators
Followup: https://github.com/ruby/ruby/pull/10347
This avoid directly referencing bootsnap and zeitwerk, and also
handle other gems that may decorate `require`.
byroot (Jean Boussier)
09:04 AM Revision e70ccc91 (git): Update minitest and power_assert bundled gems
They were pointing to branches to be chilled string compatible.
Both patches have been merged now.
byroot (Jean Boussier)
09:02 AM Bug #20389: Issue with chilled strings and mutability after 12be40ae
Thank you @nobu, I was about to look into it :) byroot (Jean Boussier)
01:27 AM Bug #20389 (Closed): Issue with chilled strings and mutability after 12be40ae
Applied in changeset commit:git|fdd7ffb70ca6e9f7d790aadde86dbc8172e19f4d.
----------
[Bug #20389] Chilled string cannot be a shared root
nobu (Nobuyoshi Nakada)
08:37 AM Revision 152192c9 (git): Use load_gemspec instead of Gem::Specification.load.
We need to purge `git ls-files` from gemspec in default gems. hsbt (Hiroshi SHIBATA)
08:28 AM Feature #19057: Hide implementation of `rb_io_t`.
> the nagging from chilled strings
Eric, I understand that it won't make your annoyance go away, but just in case you didn't know, if you wish to get rid of these warnings easily, you can add `# frozen_string_literal: false` at the t...
byroot (Jean Boussier)
08:09 AM Revision 2f654588 (git): Backport https://github.com/ruby/ruby/pull/10347 (#10349)
Fix incorrect warning target with Zeitwerk and support warning with Bootsnap. hsbt (Hiroshi SHIBATA)
07:42 AM Bug #19161: Cannot compile 3.0.5 or 3.1.3 on Red Hat Enterprise Linux 7
> From here, I found a simple workaround: ./configure cflags="-std=gnu99". Just FYI.
> ...
Just a notice/heads-up that when modifying CFLAGS you need to remember to keep optimization flags "-O2"/"-O3".
Failure to build Ruby with opti...
Aile5ooQuaerah1oiyoh (- -)
06:39 AM Revision 6c65f11c (git): Bump github/codeql-action from 3.24.8 to 3.24.9
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.8 to 3.24.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md...
dependabot[bot]
06:16 AM Revision bd85fd6d (git): Guard makefile target at cross-build
http://rubyci.s3.amazonaws.com/crossruby/crossruby-master-aarch64/log/20240325T041917Z.fail.html.gz hsbt (Hiroshi SHIBATA)
06:04 AM Revision 675dcf91 (git): Partly Revert "Show the chilled status of a String [ci skip]"
This reverts commit e720a6b48582900efd1bd326210644b2fc0f2c5d. hsbt (Hiroshi SHIBATA)
05:33 AM Revision e720a6b4 (git): Show the chilled status of a String [ci skip]
nobu (Nobuyoshi Nakada)
05:33 AM Revision 990e11b6 (git): Bootsnap and Zeitwerk are working correctly now
hsbt (Hiroshi SHIBATA)
05:33 AM Revision 6b1691eb (git): Remove rubylibdir from bootsnap
hsbt (Hiroshi SHIBATA)
05:33 AM Revision d6e9367e (git): Skip Bootsnap and Zeitwerk in bundled gems warning
fxn (Xavier Noria)
05:33 AM Revision 02a4bdd6 (git): Add newline each test script
hsbt (Hiroshi SHIBATA)
05:33 AM Revision 9db30021 (git): Added test script for bundled_gems.rb with zeitwerk
hsbt (Hiroshi SHIBATA)
03:57 AM Bug #20310 (Closed): ASAN fake stacks need to be marked during GC for non-current execution context
Applied in changeset commit:git|48d3bdddbaeabed5fb6a97bfbe65e250d1383a9c.
----------
Move asan_fake_stack_handle to EC, not thread
It's really a property of the EC; each fiber (which has its own EC) also
has its own asan_fake_stack_han...
Anonymous
03:57 AM Revision 69579ed5 (git): Mark fiber stacks in rb_execution_context_mark
Currently, fiber stacks are marked separately from the rest of the
execution context. The fiber code deliberately does _NOT_ set
ec->machine.stack_end on the saved EC, so that the code in
`rb_execution_context_mark` does not mark it; ins...
KJ Tsanaktsidis
03:57 AM Revision 2535a09e (git): Check ASAN fake stacks when marking non-current threads
Currently, we check the values on the machine stack & register state to
see if they're actually a pointer to an ASAN fake stack, and mark the
values on the fake stack too if required. However, we are only doing
that for the _current_ thr...
KJ Tsanaktsidis
03:57 AM Revision 48d3bddd (git): Move asan_fake_stack_handle to EC, not thread
It's really a property of the EC; each fiber (which has its own EC) also
has its own asan_fake_stack_handle.
[Bug #20310]
KJ Tsanaktsidis
03:39 AM Bug #18455: `IO#close` has poor performance and difficult to understand semantics.
After reviewing `async-io`, it looks like `wait_readable` and `wait_writable` might not be interrupted by `close`, leading to some odd behaviour. ioquatix (Samuel Williams)
02:55 AM Revision ea31228d (git): Consider extensions in gems outside of ext/
deivid (David Rodríguez)
02:55 AM Revision 2dd2204d (git): Extract `root` helper
It holds the root directory for each type of default gem (ext/ or lib/). deivid (David Rodríguez)
02:55 AM Revision 083e7080 (git): Consider `target_prefix` in extension Makefiles
deivid (David Rodríguez)
02:55 AM Revision 2b703eed (git): Consistently put requirable features in default gemspecs file list
deivid (David Rodríguez)
02:55 AM Revision bece07e6 (git): Fix gemspec file list for extension gems
So that it also includes requirable features provided by extensions. deivid (David Rodríguez)
02:55 AM Revision 1e6117d6 (git): Simplify FileCollector interface
deivid (David Rodríguez)
02:55 AM Revision 348d8bdb (git): Use `$ext_build_dir` consistently
Instead of hardcoded "ext". deivid (David Rodríguez)
01:26 AM Revision fdd7ffb7 (git): [Bug #20389] Chilled string cannot be a shared root
nobu (Nobuyoshi Nakada)
12:28 AM Revision 95864a6e (git): Bump dependabot/fetch-metadata from 1.6.0 to 2.0.0
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.6.0 to 2.0.0.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compar...
dependabot[bot]

03/24/2024

11:34 PM Revision e86a6191 (git): Lrama v0.6.5
yui-knk (Kaneko Yuichiro)
04:05 PM Feature #20390: Issue with StringIO and chilled strings
This is being discussed at https://github.com/ruby/stringio/pull/93 byroot (Jean Boussier)
03:46 PM Feature #20390 (Closed): Issue with StringIO and chilled strings
StringIO doesn't appear to handle chilled strings in a backwards-compatible way after 12be40ae
```ruby
require "stringio"
sio = StringIO.new("")
sio.write("hello")
```
When not specifying a value for `frozen-string-literal`, ...
mdalessio (Mike Dalessio)
03:27 PM Revision 5e4b4d66 (git): [rubygems/rubygems] Remove typo name
It is more 2 years since #5109, probably enough time to warn.
https://github.com/rubygems/rubygems/commit/1e9433e77f
nobu (Nobuyoshi Nakada)
01:37 PM Revision 7c015c3b (git): Remove never used macros related to RJIT [ci skip]
These macros have not been used since the commit "Stop exporting
symbols for MJIT" 233ddfac541749a0da80ea27913dc1ef4ea700bb, and
renamed as RJIT.
nobu (Nobuyoshi Nakada)
01:35 PM Bug #20389: Issue with chilled strings and mutability after 12be40ae
tagging @byroot @etienne mdalessio (Mike Dalessio)
01:33 PM Bug #20389 (Closed): Issue with chilled strings and mutability after 12be40ae
Commit 12be40ae introduced the concept of "chilled" strings when code is compiled with frozen-string-literals not explicitly enabled or disabled. I believe I've found a related bug, which I've bisected to this commit.
This reproductio...
mdalessio (Mike Dalessio)
01:04 PM Revision 74593613 (git): [ruby/reline] Disable dialog proc if TERM=dumb
(https://github.com/ruby/reline/pull/663)
https://github.com/ruby/reline/commit/4928e06a24
tompng (tomoya ishida)
12:54 PM Revision 82f4cff1 (git): [ruby/irb] Fix indent test for new reline
(https://github.com/ruby/irb/pull/908)
https://github.com/ruby/irb/commit/7c16ce033e
tompng (tomoya ishida)
10:47 AM Revision b0eda83e (git): [ruby/reline] Add mode_string to prompt calculation dependencies
(https://github.com/ruby/reline/pull/658)
* Add mode_string to prompt calculation dependencies
* Update vi show-mode-in-prompt test
https://github.com/ruby/reline/commit/a0cee06ec5
tompng (tomoya ishida)
10:45 AM Revision b03705db (git): [ruby/reline] Refactor key actor test
(https://github.com/ruby/reline/pull/645)
* Add assertion assert_cursor_line to test helper
* Autofix key_actor test to use assert_cursor_line
* Rename the assertion to assert_line_around_cursor and remove other assertions for line an...
tompng (tomoya ishida)
04:45 AM Feature #19057: Hide implementation of `rb_io_t`.
Eric, thanks for your comment. I understand your concern about Ruby's incompatibility.
Sometimes it is inevitable to introduce incompatibilities to improve a language specification (you may not agree with me here), but I believe that ...
mame (Yusuke Endoh)

03/23/2024

11:06 PM Revision 7c61506b (git): Do not use macos-14 for CodeQL [ci skip]
It is known that macos-14 runner is small to run CodeQL. nobu (Nobuyoshi Nakada)
11:00 PM Revision 3adaba0e (git): [ruby/reline] Do not send color reset sequence when GeneralIO is
used
(https://github.com/ruby/reline/pull/661)
https://github.com/ruby/reline/commit/3719702808
tompng (tomoya ishida)
10:50 PM Revision f46b7759 (git): [ruby/reline] Make mutated string in yamatanooroti explicitly
mutable
(https://github.com/ruby/reline/pull/662)
This avoids the frozen literal warning in Ruby 3.4.
https://github.com/ruby/reline/commit/cccb985804
st0012 (Stan Lo)
09:49 PM Feature #19057: Hide implementation of `rb_io_t`.
> Why don't you reconsider the "nested public interface" approach?
My assessment of this approach is that it would require a rewrite of internal code that accesses `rb_io_t` private outer struct. Rewriting code isn't a problem, but it t...
ioquatix (Samuel Williams)
06:31 PM Feature #19057: Hide implementation of `rb_io_t`.
ioquatix (Samuel Williams) wrote:
> - Companies could contact Eric and offer incentives for him to make a release.

That's not possible, https://yhbt.net/unicorn/ISSUES states:

The author of unicorn must never be allowed to profit...
Anonymous
04:40 PM Revision 8265a753 (git): Use dedicated methods to abort
When `RUBY_DEBUG` is set, accessing a class in an invalid object will
cause a breakpoint trap instead of a segfault on some implementations.
nobu (Nobuyoshi Nakada)
04:09 PM Revision 678cb800 (git): Move `-test-/fatal/rb_fatal` to `-test-/fatal`
nobu (Nobuyoshi Nakada)
02:58 PM Revision 5a773974 (git): Ignore method chains succeeding `git ls-files`
nobu (Nobuyoshi Nakada)
01:43 PM Revision c505bb0c (git): Ignore method chains succeeding `git ls-files`
nobu (Nobuyoshi Nakada)
01:09 PM Bug #20330: [BUG] Segmentation fault at 0xffffffffffffffff
cc @tenderlovemaking because red-black shape cache. Maybe the backtrace speaks to you. byroot (Jean Boussier)
07:01 AM Bug #20330: [BUG] Segmentation fault at 0xffffffffffffffff
nobu (Nobuyoshi Nakada) wrote in #note-1:
> Seems related to shape and jemalloc.
Im not to sure what that means
but i don't think its an issue with jemalloc here is the stack trace for the normal ruby image
```
2024-03-23T06...
l33tname (Sir l33tname)
01:06 PM Revision 43fe89d9 (git): [ruby/win32ole] Refine pathspecs for `spec.files`
https://github.com/ruby/win32ole/commit/8d443417a9 nobu (Nobuyoshi Nakada)
10:34 AM Revision 14fba5a7 (git): [ruby/win32ole] Exclude unused files from packages
https://github.com/ruby/win32ole/commit/f4aff99dda nobu (Nobuyoshi Nakada)
10:34 AM Revision a8075caa (git): [ruby/win32ole] Test constants for the backward compatibility
https://github.com/ruby/win32ole/commit/22facf50fd nobu (Nobuyoshi Nakada)
08:19 AM Revision 40125197 (git): [DOC] Small edits in rbasic.h
fxn (Xavier Noria)
06:59 AM Revision a15b2443 (git): Update bundled gems list as of 2024-03-22
git[bot]

03/22/2024

11:54 PM Bug #20388 (Closed): super + ruby2_keywords isn't working
Applied in changeset commit:git|2dbcc123f4f605b51a3698d38ccd53ba6ef482ac.
----------
Do not apply anon_rest optimization when passed array uses keyword-flagged hash
The optimization sets args->rest_dupped to avoid allocating an array,
...
jeremyevans (Jeremy Evans)
10:31 PM Bug #20388: super + ruby2_keywords isn't working
jeremyevans0 (Jeremy Evans) wrote in #note-3:
> jeremyevans0 (Jeremy Evans) wrote in #note-2:
> ...
PR: https://github.com/ruby/ruby/pull/10338
jeremyevans0 (Jeremy Evans)
10:24 PM Bug #20388: super + ruby2_keywords isn't working
jeremyevans0 (Jeremy Evans) wrote in #note-2:
> tenderlovemaking (Aaron Patterson) wrote in #note-1:
> ...
Actually, compiler is fine, this is due to the anonymous splat optimization. Fix appears simple enough, I'll submit a PR shortl...
jeremyevans0 (Jeremy Evans)
09:52 PM Bug #20388: super + ruby2_keywords isn't working
tenderlovemaking (Aaron Patterson) wrote in #note-1:
> Sorry, I should be more specific. The code sample returns `nil` before 4f77d8d3, and since 4f77d8d3 it will raise an exception (it tries to mutate the `args` array)
Thanks for t...
jeremyevans0 (Jeremy Evans)
09:46 PM Bug #20388: super + ruby2_keywords isn't working
Sorry, I should be more specific. The code sample returns `nil` before 4f77d8d3, and since 4f77d8d3 it will raise an exception (it tries to mutate the `args` array) tenderlovemaking (Aaron Patterson)
09:44 PM Bug #20388 (Closed): super + ruby2_keywords isn't working
```ruby
class A
def process action, ...
end
end
class B < A
def process method_name, *args
args.freeze
super
end
ruby2_keywords(:process)
end
p B.new.process(:foo, bar: :baz)
```
The above code start...
tenderlovemaking (Aaron Patterson)
11:54 PM Revision 2dbcc123 (git): Do not apply anon_rest optimization when passed array uses keyword-flagged hash
The optimization sets args->rest_dupped to avoid allocating an array,
but this is not safe if the splat array ends in a keyword flagged
hash. Unset args->rest_dupped in this case.
Fixes [Bug #20388]
jeremyevans (Jeremy Evans)
09:42 PM Revision a2ac28d8 (git): .travis.yml: Add lscpu command to see the details of the CPU.
Jun Aruga
01:15 PM Revision 8ef923dc (git): [rubygems/rubygems] Respect global umask when writing regular files
https://github.com/rubygems/rubygems/commit/fd5cb7396f deivid (David Rodríguez)
01:14 PM Revision 7b3ef370 (git): [rubygems/rubygems] Fix incorrect `bundle update --bundler` message
https://github.com/rubygems/rubygems/commit/146de56353 deivid (David Rodríguez)
01:05 PM Revision 78e12beb (git): Propagate jobserver FDs to `cargo` and `rustc` [ci skip]
https://doc.rust-lang.org/cargo/reference/build-scripts.html#jobserver
> Cargo and `rustc` use the jobserver protocol, developed for GNU
> ...
Older GNU make used FDs to connect to the jobserver, and needs an
explicit use of `$(MAKE)` va...
nobu (Nobuyoshi Nakada)
11:34 AM Revision d85c2405 (git): [ruby/irb] Remove misleading documentation
(https://github.com/ruby/irb/pull/906)
https://github.com/ruby/irb/issues/904
https://github.com/ruby/irb/commit/89bca01bba
Artur
11:30 AM Feature #20275 (Closed): Avoid extra backtrace entries for rescue and ensure
Applied in changeset commit:git|74995a1a772903c5247886da1105caa27a4afa2d.
----------
[Feature #20275] Remove extra backtrace entries for rescue and ensure
Eregon (Benoit Daloze)
11:30 AM Revision 74995a1a (git): [Feature #20275] Remove extra backtrace entries for rescue and ensure
Eregon (Benoit Daloze)
09:53 AM Revision e2a9b871 (git): `rb_thread_sched_destroy` is not used now at all
nobu (Nobuyoshi Nakada)
09:20 AM Revision 127d7a35 (git): Some functions are not used when `THREAD_MODEL=none`
nobu (Nobuyoshi Nakada)
09:18 AM Revision 055613fd (git): Fix pointer incompatiblity
Since the subsecond part is discarded, WIDEVAL to VALUE conversion is
needed.
nobu (Nobuyoshi Nakada)
08:17 AM Revision 2c4170ea (git): Extension in gems cannot be statically linked
A gem is meant to be added later, so an extension within it cannot be
statically linked.
nobu (Nobuyoshi Nakada)
07:59 AM Feature #5133: Array#unzip as an alias of Array#transpose
In issue #20336, @matheusrich wrote:
```
* [Feature #5133] Array#unzip as an alias of Array#transpose
* Seems a more friendly name for this method (easier if you don't have a strong math background)
* It is nice that we can do ...
duerst (Martin Dürst)
05:09 AM Revision af88ca4c (git): Match `--with/--without` options against gem names
The simple names in `default_exclude_exts` do not match extension
paths under gems.
Extract each gem name from the gemspec file at the top level of each
gem directory. For example, if `ext` is `syslog-0.1.2/ext/syslog/`,
find out `sysl...
nobu (Nobuyoshi Nakada)
05:06 AM Revision 235aa7ad (git): Pass blocks to blocks as block parameters
nobu (Nobuyoshi Nakada)
03:55 AM Feature #19057: Hide implementation of `rb_io_t`.
> I don't see any other realistic option. I wish there was another way.
FWIW, @byroot built a fork https://github.com/shopify/pitchfork, which has a reforking feature Unicorn doesn't have, and Shopify uses that for our largest applicati...
k0kubun (Takashi Kokubun)
02:28 AM Feature #19057: Hide implementation of `rb_io_t`.
At @mame's request, I've reverted this change. The reversion itself was straightforward, yet it does not mitigate the underlying concerns that have come to light through this work. My attempt to enhance Ruby's `IO` implementation has hig... ioquatix (Samuel Williams)
02:53 AM Revision c5045830 (git): Lrama v0.6.4
yui-knk (Kaneko Yuichiro)
01:58 AM Misc #20387 (Assigned): Meta-ticket for ASAN support
I was asked to provide a bit of information about the current status of ASAN in CRuby, so I thought I'd open this meta-ticket to track all of the work I've been performing on fixing up address sanitizer support.
So far, I have fixed t...
kjtsanaktsidis (KJ Tsanaktsidis)
01:56 AM Revision b4d73e9f (git): Revert "Hide public implementation of `rb_io`. (#9568)" (#10283)
This reverts commit 9ab1fa3bf570bf19b0d6808adf12e965aacc6d83. Samuel Williams
01:33 AM Revision 6d681888 (git): merge revision(s) b176315827d1082f43628013a7d89fda02724d33: [Backport #20324] (#10329)
[Bug #20324] Uncomparable ranges are not overlapping NARUSE, Yui
01:09 AM Revision 35fe4b04 (git): Sort links [ci skip]
znz (Kazuhiro NISHIYAMA)
12:25 AM Revision a24802e8 (git): merge revision(s) c7ce2f537f96ab2cf2f5fc2982d6147866ff5340: [Backport #20304] (#10311)
Fix memory leak in setting encodings
There is a memory leak in Encoding.default_external= and
Encoding.default_internal= because the duplicated name is not freed
when overwriting.
10.times do
...
NARUSE, Yui

03/21/2024

11:44 PM Revision 49eddad7 (git): Declare all jobs in matrix.include (#10327)
Declare all jobs using matrix.include k0kubun (Takashi Kokubun)
08:08 PM Feature #20275: Avoid extra backtrace entries for rescue and ensure
PR: https://github.com/ruby/ruby/pull/10325 Eregon (Benoit Daloze)
06:14 PM Revision 75d9019e (git): [DOC] Fix link in NEWS.md
peterzhu2118 (Peter Zhu)
06:12 PM Revision 0546764c (git): [DOC] Add link in NEWS.md
peterzhu2118 (Peter Zhu)
05:33 PM Misc #20013: Travis CI status
For your information, I saw the following ppc64le job not starting 10 days ago, and contacted Travis support at that time, and still waiting for the fix, though I didn't find any other failures in last few days.
https://app.travis-ci.co...
jaruga (Jun Aruga)
05:32 PM Bug #20338 (Closed): certain **kwsplat calls have regressed allocations over past few ruby releases
After commit:aceee71c35e0b387691836e756b4e008efd84cf1 and commit:15dc3aaa311b32203d8ffb414bcf9b8e55ce5691, it's now back down to 3.2 levels on the master branch:
```
$ ./miniruby -v test.rb
ruby 3.4.0dev (2024-03-21T17:20:32Z master...
alanwu (Alan Wu)
05:20 PM Revision 15dc3aaa (git): Remove excess allocation for kwsplat to kw call
Previously, calls like the following duplicated the kwsplat hash
unnecessarily:
```ruby
def foo(a:) = a
hash = {a: 10}
foo(**hash)
```
This is due to the fix in ca204a20231. Since it targets when the callee
has no keyword parameters, s...
alanwu (Alan Wu)
02:43 PM Revision 806edd29 (git): Pass objspace into heap_check_moved_i
peterzhu2118 (Peter Zhu)
02:43 PM Revision 9a6a6b4b (git): Pass objspace into root_obj_check_moved_i
peterzhu2118 (Peter Zhu)
12:21 PM Bug #20386: Backport CVE-2024-27281
Merged https://github.com/ruby/ruby/pull/10317 nagachika (Tomoyuki Chikanaga)
07:07 AM Bug #20386 (Closed): Backport CVE-2024-27281
I disclosed https://www.ruby-lang.org/en/news/2024/03/21/rce-rdoc-cve-2024-27281/ today.
We should backport fixed RDoc to all stable version.
* For 3.0: https://github.com/ruby/ruby/pull/10319
* For 3.1: https://github.com/ruby/ru...
hsbt (Hiroshi SHIBATA)
12:21 PM Revision d5dbada8 (git): Merge RDoc-6.5.1.1
hsbt (Hiroshi SHIBATA)
12:15 PM Revision 0a2238d5 (git): merge revision(s) 64b6a018a38f200c957fdbbe7d0cbe0e64781c9f:
Fix test session reuse but expire (#9824)
* OpenSSL 3.2.1 30 Jan 2024 is also broken
Import 45064610725ddd81a5ea3775da35aa46985bc789 from ruby_3_3 branch
tentatively.
---
test/net/http/test_http...
nagachika (Tomoyuki Chikanaga)
09:10 AM Revision 060a71d4 (git): Fix Ripper memory allocation size when enabled Universal Parser
The size of `struct parser_params` is 8 bytes difference in `ripper_s_allocate` and `rb_ruby_parser_allocate` when the universal parser is
enabled.
This causes a situation where `*r->p` is not fully initialized in `ripper_s_allocate` as ...
S_H_ (Shun Hiraoka)
07:15 AM Revision 9e3077a7 (git): Move old OS versions to `include:` and simplify test matrices
nobu (Nobuyoshi Nakada)
07:12 AM Revision eb7cb164 (git): CVE-2024-27281 for Ruby 3.3 (#10316)
Merge RDoc-6.6.3.1 hsbt (Hiroshi SHIBATA)
07:03 AM Bug #20385 (Closed): Backport CVE-2024-27280
I disclosed https://www.ruby-lang.org/en/news/2024/03/21/buffer-overread-cve-2024-27280/ today.
This StringIO versions should be backported in the next release.
* For Ruby 3.0: https://github.com/ruby/ruby/pull/10320
* For Ruby 3....
hsbt (Hiroshi SHIBATA)
06:59 AM Bug #20183: `erb/escape.so` cannot be loaded when `--with-static-linked-ext`
ruby_3_3 a406c516685f1950269c4e43d13cc748f0bfbc06 merged revision(s) ae8990aef098410ecc2b5f48fea9d7d171a3c5f6. naruse (Yui NARUSE)
06:59 AM Bug #20250: Crash with "Object ID seen, but not in mapping table: proc" error
ruby_3_3 a63e979853783601a60228b45741f8b3776e5507 merged revision(s) d19d683a354530a27b4cbb049223f8dc70c75849,de1a586ecc2ee7f465f0c0a69291054136a3a819. naruse (Yui NARUSE)
06:58 AM Bug #20327: Time.new behaves differently when passing a zone as timezone object
ruby_3_3 821719a505bbc628ddd80b90ae892666006eada1 merged revision(s) d3279a0c11ca45ca85027e7eb74dc4aac52c478b. naruse (Yui NARUSE)
06:58 AM Bug #20311: Struct.new("A") memory leak?
ruby_3_3 f79b1d1ef1f7aa64d20f0eadbb3b0f8f7084deb3 merged revision(s) e626da82eae3d437b84d4f9ead0164d436b08e1a,f3af5ae7e6c1c096bbfe46d69de825a02b1696cf. naruse (Yui NARUSE)
06:58 AM Bug #19907: Method calls with keyword arguments in eval leaks callcache and callinfo objects
ruby_3_3 57a0afe2090b8d05673d650b1e8bf9ae67449b1f merged revision(s) 081ee3d35509110f383cb7dd8d1205def0cdd1e8,1c97abaabae6844c861705fd07f532292dcffa74. naruse (Yui NARUSE)
05:31 AM Revision f79b1d1e (git): merge revision(s) e626da82eae3d437b84d4f9ead0164d436b08e1a,f3af5ae7e6c1c096bbfe46d69de825a02b1696cf: [Backport #20311] (#10312)
Don't pin named structs defined in Ruby
[Bug #20311]
`rb_define_class_under` assumes it's called from C and that the
reference might be held in a C global variable, so it adds the
class to the VM root.
...
NARUSE, Yui
04:39 AM Revision 92f72221 (git): Update default gems list at c5ac18bbf4e67a30471cf9add5696c [ci skip]
git[bot]
04:38 AM Revision c5ac18bb (git): [ruby/rdoc] Bump up 6.6.3.1
https://github.com/ruby/rdoc/commit/ffbf8ae089 hsbt (Hiroshi SHIBATA)
04:18 AM Revision 385c31e7 (git): [ruby/rdoc] Fix NoMethodError for start_with
https://github.com/ruby/rdoc/commit/e21dfccb4a hsbt (Hiroshi SHIBATA)
04:05 AM Revision f5dc9c98 (git): Update default gems list at ee1ad009f355c32a75bcc67bb79abb [ci skip]
git[bot]
04:04 AM Revision ee1ad009 (git): [ruby/rdoc] Bump up 6.6.3
https://github.com/ruby/rdoc/commit/d98baf4917 hsbt (Hiroshi SHIBATA)
04:04 AM Revision 3d353afe (git): [ruby/rdoc] Filter marshaled objets
https://github.com/ruby/rdoc/commit/da7a0c7553 nobu (Nobuyoshi Nakada)
02:29 AM Bug #20341 (Closed): Parser segfault with shareable constant with array of more than 1 element
Applied in changeset commit:git|8ba4d7d75fd231b61727eb0561eb686c1d67bfd4.
----------
Fix unexpected node bug for `shareable_constant_value: literal`
[Bug #20339]
[Bug #20341]
`const_decl_path` changes the value of `NODE **dest`, LHS o...
yui-knk (Kaneko Yuichiro)
02:29 AM Bug #20339 (Closed): Parser segfault with ractor comment
Applied in changeset commit:git|8ba4d7d75fd231b61727eb0561eb686c1d67bfd4.
----------
Fix unexpected node bug for `shareable_constant_value: literal`
[Bug #20339]
[Bug #20341]
`const_decl_path` changes the value of `NODE **dest`, LHS o...
yui-knk (Kaneko Yuichiro)
02:29 AM Revision 8ba4d7d7 (git): Fix unexpected node bug for `shareable_constant_value: literal`
[Bug #20339]
[Bug #20341]
`const_decl_path` changes the value of `NODE **dest`, LHS of an assignment,
with `NODE_LIT` created by `const_decl_path`. `shareable_literal_constant` calls
`const_decl_path` via `ensure_shareable_node` multipl...
yui-knk (Kaneko Yuichiro)
02:23 AM Revision 57a0afe2 (git): merge revision(s) 081ee3d35509110f383cb7dd8d1205def0cdd1e8,1c97abaabae6844c861705fd07f532292dcffa74: [Backport #19907] (#10315)
Add memory leak test for eval kwargs
De-dup identical callinfo objects
Previously every call to vm_ci_new (when the CI was not packable) would
result in a different callinfo being returned this meant that every
...
NARUSE, Yui
02:18 AM Revision 821719a5 (git): merge revision(s) d3279a0c11ca45ca85027e7eb74dc4aac52c478b: [Backport #20327] (#10313)
[Bug #20327] Do not count subsecond to calculate UTC offset
Assume that there will never be any time zones with UTC offsets that
are subseconds. Historically, UTC offset has only been used down to
the second.
NARUSE, Yui
01:45 AM Revision a63e9798 (git): merge revision(s) d19d683a354530a27b4cbb049223f8dc70c75849,de1a586ecc2ee7f465f0c0a69291054136a3a819: [Backport #20250] (#10308)
rb_obj_setup: do not copy RUBY_FL_SEEN_OBJ_ID
[Bug #20250]
We're seting up a new instance, so it never had an associated
object_id.
proc.c: get rid of `CLONESETUP`
MIME-Version: 1.0
Cont...
NARUSE, Yui
01:29 AM Bug #20245: Crash when checking symbol encoding
ruby_3_3 b2c2702f20abfd4bb5f38cad60170e2bbb3adff9 merged revision(s) 01fd262e62076277a41af72ea13f20deb1b462a2. naruse (Yui NARUSE)
01:29 AM Bug #20246: Unexpected behavior for Regexp in Subexpression Calls on Ruby 3.3.0
ruby_3_3 05787897f69087abdabee926971cdf364bd73730 merged revision(s) 18ee7c9a108bf3424814565377c8796e5e455cf7,4a6384ed9358e8fb8464f6e37efb5477182f01db. naruse (Yui NARUSE)
01:28 AM Revision a406c516 (git): merge revision(s) ae8990aef098410ecc2b5f48fea9d7d171a3c5f6: [Backport #20183] (#10310)
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 ...
NARUSE, Yui
01:23 AM Revision 6650b3ae (git): Point to the correct hash for gacts/run-and-post-run-1.4.0
hsbt (Hiroshi SHIBATA)
12:10 AM Revision 05787897 (git): merge revision(s) 18ee7c9a108bf3424814565377c8796e5e455cf7,4a6384ed9358e8fb8464f6e37efb5477182f01db: [Backport #20246] (#10309)
Clear all refined CCs on reopening refinement mod
In cfd7729ce7a31c8b6ec5dd0e99c67b2932de4732 we started using inline
caches for refinements. However, we weren't clearing inline caches when
defined on a reopened ...
NARUSE, Yui
12:05 AM Revision b2c2702f (git): merge revision(s) 01fd262e62076277a41af72ea13f20deb1b462a2: [Backport #20245] (#10307)
Fix crash when checking symbol encoding
[Bug #20245]
We sometimes pass in a fake string to sym_check_asciionly. This can crash
if sym_check_asciionly raises because it creates a CFP with the fake
string ...
NARUSE, Yui

03/20/2024

11:53 PM Bug #20098: Wrong regexp match in ruby 3.2 and 3.3
ruby_3_3 7ae8abc23961bf4fa143a7a2cc0bc38167d468ae merged revision(s) bb59696614083660241ef272f222628cbfa95844. naruse (Yui NARUSE)
10:21 AM Bug #20098 (Closed): Wrong regexp match in ruby 3.2 and 3.3
naruse (Yui NARUSE)
11:27 PM Bug #20184: Ruby segfaults on Fly.io with 256 MB RAM
ruby_3_3 commit:53f0c5a4e8834f11af0f903d2c59754d9be2a7f2. naruse (Yui NARUSE)
11:19 PM Bug #20095: Regex lookahead behaving strangely in 3.3.0
ruby_3_3 commit:5f3dfa1c273c6fb9eae65ceca633b46f7e30f686. naruse (Yui NARUSE)
11:18 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]
ruby_3_3 00cb72157a60c20a9b9d9fe81fc974ea83d672b4 merged revision(s) 3e6e3ca2627b1aa71b17de902cc1b8188246a828. naruse (Yui NARUSE)
11:17 PM Bug #20207: Segmentation fault for a regexp containing positive and negative lookaheads
ruby_3_3 00cb72157a60c20a9b9d9fe81fc974ea83d672b4 merged revision(s) 3e6e3ca2627b1aa71b17de902cc1b8188246a828. naruse (Yui NARUSE)
10:16 PM Revision 392dbe06 (git): Bump actions/cache from 4.0.1 to 4.0.2
Bumps [actions/cache](https://github.com/actions/cache) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.co...
dependabot[bot]
09:32 PM Revision af7bf9e0 (git): [ruby/prism] Provide options for reducing size
https://github.com/ruby/prism/commit/592128de4d kddnewton (Kevin Newton)
08:27 PM Feature #20384 (Closed): RubyVM::InstructionSequence.{new,compile} use --parser option
Right now we have `RubyVM::InstructionSequence.compile` and `RubyVM::InstructionSequence.compile_prism`. We introduced this API in order to properly test the integration, even when running with `--parser=parse.y`.
I'm running into iss...
kddnewton (Kevin Newton)
06:40 PM Feature #19057: Hide implementation of `rb_io_t`.
Re beauty of the implementation this change is more than that, we can see in https://github.com/ruby/ruby/pull/10283/files that `rb_io_t` exposes way too much internals, which in turns prevents changing/evolving these internals without a... Eregon (Benoit Daloze)
01:02 PM Feature #19057: Hide implementation of `rb_io_t`.
ioquatix (Samuel Williams) wrote in #note-43:
> Here is the revert PR: https://github.com/ruby/ruby/pull/10283
Thanks!
Just FYI, I think the precedence in Ruby's decision is basically:
* beauty of the language (conciseness and ...
mame (Yusuke Endoh)
06:32 PM Bug #20203: `TestEnumerable` test failures with GCC 14
I ran some benchmarks comparing the builtin `ruby_qsort()` and `qsort_r()` on macOS with an M1 chip and on Ubuntu 22.04 (glibc 2.35) wtih a Xeon Platinum 8000 chip. The rubies are built off of commit:3f5f04afa7 and the `ruby_qsort()` one... alanwu (Alan Wu)
06:28 PM Revision 0e8b6c62 (git): [PRISM] Enable specs in CI
kddnewton (Kevin Newton)
05:13 PM Revision 00cb7215 (git): merge revision(s) 3e6e3ca2627b1aa71b17de902cc1b8188246a828: [Backport #20207] (#10299)
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 #20...
NARUSE, Yui
04:34 PM Bug #20228: Memory leak in Regexp timeout
ruby_3_3 c626c201e4129bbea17583ecef73472c6f668c81 merged revision(s) 01bfd1a2bf013a9ed92a9722ac5228187e05e6a8,1c120efe02d079b0a1dea573cf0fd7978d9cc857,31378dc0969f4466b2122d730b7298dd7004acdf. naruse (Yui NARUSE)
04:34 PM Bug #20190: `invalid_encoding_string << number` should be valid encoding in some case, but does not
ruby_3_3 ce372be903e5f3597f1dc83cb558f165850b3bee merged revision(s) ade56737e2273847426214035c0ff2340b43799a. naruse (Yui NARUSE)
03:29 PM Revision 42386154 (git): YJIT: Get rid of Type::TProc (#10287)
k0kubun (Takashi Kokubun)
02:57 PM Feature #20351 (Closed): Optionally extract common GC routines into a DSO
**UPDATE: Based on feedback on the original PR (thank you @katei and @nobu) we have
changed our approach to this project.**
**An updated PR can be found here: [[GH #10456]](https://github.com/ruby/ruby/pull/10456)**
---
~~[Gith...
eightbitraptor (Matt V-H)
02:27 PM Revision e07441f0 (git): Make rb_aligned_malloc private
It is not used anywhere else. peterzhu2118 (Peter Zhu)
01:40 PM Revision c626c201 (git): merge revision(s) 01bfd1a2bf013a9ed92a9722ac5228187e05e6a8,1c120efe02d079b0a1dea573cf0fd7978d9cc857,31378dc0969f4466b2122d730b7298dd7004acdf: [Backport #20228] (#10301)
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.
Fix memory leak in stk_base when Regexp timeout...
NARUSE, Yui
01:40 PM Revision ce372be9 (git): merge revision(s) ade56737e2273847426214035c0ff2340b43799a: [Backport #20190] (#10300)
Fix coderange of invalid_encoding_string.<<(ord)
Appending valid encoding character can change coderange from invalid to valid.
Example: "\x95".force_encoding('sjis')<<0x5C will be a valid string "\x{955C}"
NARUSE, Yui
12:58 PM Bug #20209: YJIT can leak memory by retaining objects with singleton class
ruby_3_3 cdcabd8a44ee2f4a2b549a3460a5c77c2dffca36 merged revision(s) 2cc7a56e,b0711b1,db5d9429. naruse (Yui NARUSE)
12:53 PM Bug #20208: Net::HTTP errors with Errno::EAFNOSUPPORT when setting local_host with Addrinfo
ruby_3_3 606dd03e9b0d4cf65ef56e52fab063e3ed5ef797. naruse (Yui NARUSE)
12:48 PM Bug #20213: zsuper with keyword splat without explicit keywords incorrectly uses mutable keyword splat
ruby_3_3 69cee6fee50f63cd52d59325dc3780a6fc4e5ae2 merged revision(s) 771a2f039b9a059a73e8f111d1d46590fa697f63. naruse (Yui NARUSE)
12:48 PM Bug #20197: Postponed job invocations are significantly reduced in Ruby 3.3
ruby_3_3 0793cbbfde261f4fc9bf7045594d62a21e391811 merged revision(s) ef276858d9295208add48e27208c69184dc50472. naruse (Yui NARUSE)
12:48 PM Bug #20194: Memory leak with TracePoint on bmethod
ruby_3_3 23bfe6218a690bbde5143e26bc6fb243347fb4b3 merged revision(s) b14674b236445fb70f484603e678722760f678f4. naruse (Yui NARUSE)
11:44 AM Revision 6ecee4ec (git): [ruby/openssl] Revert "Always respect the openssl prefix chosen by truffle/openssl-prefix on TruffleRuby"
* This reverts commit https://github.com/ruby/openssl/commit/ca738e7e1357.
* No longer needed since https://github.com/oracle/truffleruby/issues/3170 was fixed.
https://github.com/ruby/openssl/commit/1f641a5604
Eregon (Benoit Daloze)
11:20 AM Revision a008c568 (git): Avoid deprecation warnings in TestString
byroot (Jean Boussier)
11:05 AM Revision 69cee6fe (git): merge revision(s) 771a2f039b9a059a73e8f111d1d46590fa697f63: [Backport #20213] (#10297)
Fix incorrect use of VM_CALL_KW_SPLAT_MUT in zsuper with keyword splat
For zsuper calls with a keyword splat but no actual keywords, the
keyword splat is passed directly, so it cannot be mutable, because
if the c...
NARUSE, Yui
11:05 AM Feature #20349: Pattern Matching - Expose local variable captures
nobu (Nobuyoshi Nakada) wrote in #note-2:
> You look like just want a method to make this local variable hash, to me.
`Binding#to_h` or similar would be convenient.
Eregon (Benoit Daloze)
08:32 AM Feature #20349: Pattern Matching - Expose local variable captures
baweaver (Brandon Weaver) wrote:
> PatternMatch.last_match.transform_values(&:source)
Your proposal is `PatternMatch.last_match`, right?
> ...
Why `:node` and `:result` which are not involved in the pattern matching are contained?...
nobu (Nobuyoshi Nakada)
11:05 AM Revision 0793cbbf (git): merge revision(s) ef276858d9295208add48e27208c69184dc50472: [Backport #20197] (#10296)
Trigger postponed jobs on running_ec if that is available
Currently, any postponed job triggered from a non-ruby thread gets sent
to the main thread, but if the main thread is sleeping it won't be
checking ints. ...
NARUSE, Yui
11:05 AM Revision 23bfe621 (git): merge revision(s) b14674b236445fb70f484603e678722760f678f4: [Backport #20194] (#10295)
Memory leak with TracePoint on bmethod
[Bug #20194]
When disabling the TracePoint on bmethod, the hooks list is not freed.
For example:
obj = Object.new
obj.define_singleton_method(:foo...
NARUSE, Yui
11:00 AM Revision 7ae8abc2 (git): merge revision(s) bb59696614083660241ef272f222628cbfa95844: [Backport #20098] (#10298)
Fix [Bug #20098]: set counter value for {n,m} repetition correctly (#9391) NARUSE, Yui
10:52 AM Feature #20350: Return chilled string from Symbol#to_s
+1, I was thinking the same yesterday, that we could revisit `Symbol#to_s` and have a proper deprecation before changing it due to chilled strings landing. Eregon (Benoit Daloze)
08:58 AM Feature #20350: Return chilled string from Symbol#to_s
To provide some data-point. Our monolith runs with https://github.com/Shopify/symbol-fstring, which makes the return value of `Symbol#to_s` frozen without any problem. I think we had to fix a single gem to make it work a few years back, ... byroot (Jean Boussier)
09:45 AM Bug #20153: Backport 7f9c174102 to fix --yjit-stats with RubyVM::YJIT.enable
Merged https://github.com/ruby/ruby/pull/9424 naruse (Yui NARUSE)
09:43 AM Bug #20214: Backport https://github.com/ruby/ruby/pull/9711 to fix exits on Ruby 3.3's new instruction
ruby_3_3 3f0e3ede02f7d4b31c9073c9eb912f11aa4349cd. naruse (Yui NARUSE)
09:35 AM Bug #19907 (Closed): Method calls with keyword arguments in eval leaks callcache and callinfo objects
Fixed by `1c97abaabae6844c861705fd07f532292dcffa74` and `081ee3d35509110f383cb7dd8d1205def0cdd1e8` byroot (Jean Boussier)
09:33 AM Bug #20348 (Closed): Memory leak with method kwargs in ERB template
Confirmed, this is a duplicate of [Bug #19907]. I'll make that one for backport. byroot (Jean Boussier)
09:25 AM Bug #20348: Memory leak with method kwargs in ERB template
I suspect it's https://github.com/ruby/ruby/pull/9973, trying to confirm. byroot (Jean Boussier)
03:12 AM Revision e5b585ba (git): Bump ruby/setup-ruby from 1.172.0 to 1.173.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.172.0 to 1.173.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/d4526a55538b775af234ba4af27118ed6f...
dependabot[bot]
02:45 AM Revision 3c92fce7 (git): Bump actions/cache in /.github/actions/setup/directories
Bumps [actions/cache](https://github.com/actions/cache) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.co...
dependabot[bot]
01:39 AM Revision aa2cdaa2 (git): [ruby/reline] Change rendered_screen.lines to non-nil
(https://github.com/ruby/reline/pull/650)
https://github.com/ruby/reline/commit/9685db55f1
tompng (tomoya ishida)
12:46 AM Feature #6317: Range#cover?の引数としてRangeインスタンスを受けられるようにして欲しい
@mame @naruse This currently works on Ruby. Can we close this as completed? matheusrich (Matheus Richard)
12:38 AM Feature #6337: FileUtils#sync
@trans I'm not sure I understand the proposal. Is this basically cloning the source dir with a different name? could that be the name you want `clone_dir`? matheusrich (Matheus Richard)
12:34 AM Misc #20336: DevMeeting-2024-04-17
* [Feature #5133] Array#unzip as an alias of Array#transpose
* Seems a more friendly name for this method (easier if you don't have a strong math background)
* It is nice that we can do an operation and reverse it with two similar-na...
matheusrich (Matheus Richard)
12:22 AM Feature #3731: Easier Embedding API for Ruby
@mame @ko1, is this still needed given that we have mruby? matheusrich (Matheus Richard)
12:21 AM Feature #6594: Integrated Functor
@mame Can we close this issue? matheusrich (Matheus Richard)

03/19/2024

11:12 PM Feature #8421: add Enumerable#find_map and Enumerable#find_all_map
zverok (Victor Shepelev) wrote in #note-4:
> @alexbarret There is a somewhat lesser-known trick which looks pretty close to your code:
> ...
Thanks I learned something, and it makes sense thinking about it.
Both `and` and `break` aren't ...
alexbarret (Alexandre Barret)
11:08 PM Feature #8421: add Enumerable#find_map and Enumerable#find_all_map
jeremyevans0 (Jeremy Evans) wrote in #note-5:
> `find_map` seems like a bad name as there is no map. map implies calling the same function over all elements in a collection, and in this case, there would be a single element (or none if n...
alexbarret (Alexandre Barret)
10:46 PM Feature #8421: add Enumerable#find_map and Enumerable#find_all_map
`find_map` seems like a bad name as there is no map. map implies calling the same function over all elements in a collection, and in this case, there would be a single element (or none if nothing was found). Combining `find` and `then` ... jeremyevans0 (Jeremy Evans)
08:50 PM Feature #8421: add Enumerable#find_map and Enumerable#find_all_map
@alexbarret There is a somewhat lesser-known trick which looks pretty close to your code:
```ruby
# proposal:
find_map(emails) do |email|
(matches = pattern.match(email)) && matches[:identifier]
end
# a "trick"
emails.find { |em...
zverok (Victor Shepelev)
08:38 PM Feature #8421: add Enumerable#find_map and Enumerable#find_all_map
Can we reconsider introducing `#find_map` please, especially since `#find_all_map` has been introduced as `#filter_map` in Ruby in 2.7?
Here are some examples
```ruby
require "minitest/autorun"
# Option 1
def identifier(emails, ...
alexbarret (Alexandre Barret)
09:06 PM Feature #20350 (Closed): Return chilled string from Symbol#to_s
During Ruby 2.7 development there was an attempt to return a frozen string from Symbol#to_s (#16150#note-22)
This had to be rolled back due to incompatibility, but now we have chilled strings (#20205)
Symbol#to_s can safely return ...
Dan0042 (Daniel DeLorme)
08:52 PM Feature #16153 (Closed): eventually_frozen flag to gradually phase-in frozen strings
jeremyevans0 (Jeremy Evans)
08:47 PM Feature #16153: eventually_frozen flag to gradually phase-in frozen strings
This proposal is made redundant by #20205 chilled strings. Please close. Dan0042 (Daniel DeLorme)
08:37 PM Feature #20205: Enable `frozen_string_literal` by default
> it's debatable whether the benefit outweigh the maintenance burden long term.
Yeah, good point. And if truly necessary we could get a chilled string with `eval(str.inspect)` anyway.
Dan0042 (Daniel DeLorme)
07:00 PM Feature #20205: Enable `frozen_string_literal` by default
> Would it be possible to have a ruby API for chilled strings? Something like str.chill or String.chill(str)
It's technically very easy to implement, yes. Would need to be a separate feature request though.
Also one drawback is tha...
byroot (Jean Boussier)
05:17 PM Feature #20205: Enable `frozen_string_literal` by default
Thank you for this great feature!
Would it be possible to have a ruby API for chilled strings? Something like `str.chill` or `String.chill(str)` ...
> - `String#+@`: acts as if the string was mutable.
Nitpick: actually, `String#+@` ...
Dan0042 (Daniel DeLorme)
08:27 AM Feature #20205 (Closed): Enable `frozen_string_literal` by default
Applied in changeset commit:git|12be40ae6be78ac41e8e3f3c313cc6f63e7fa6c4.
----------
Implement chilled strings
[Feature #20205]
As a path toward enabling frozen string literals by default in the future,
this commit introduce "chilled ...
etienne (Étienne Barrié)
08:01 PM Feature #20349: Pattern Matching - Expose local variable captures
This would make every pattern matching a lot slower which seems a big no-no performance wise.
I think that's enough to reject this proposal.
Because it would force to create that binding/Hash eagerly in case `PatternMatch.last_match` i...
Eregon (Benoit Daloze)
05:58 PM Feature #20349 (Open): Pattern Matching - Expose local variable captures
In Regular Expressions we have the ability to utilize `Regexp.last_match` ([link](https://ruby-doc.org/3.2.2/Regexp.html#method-c-last_match)) to access the most recent match data from a regular expression match. I would like to propose ... baweaver (Brandon Weaver)
06:14 PM Revision 0a107027 (git): [ruby/prism] Fix a diagnostic incompatibility
This PR fixes a diagnostic incompatibility when using no anonymous keyword rest parameter:
```ruby
foo(**)
```
Note, although the actual update applies only to the `foo(**)` case, for reference,
`foo(*)` and `foo(&) are also mentioned ...
koic (Koichi ITO)
06:13 PM Revision 72a613bc (git): [ruby/prism] Fix a diagnostic incompatibility for `Prism::Translation::Parser`
This PR fixes a diagnostic incompatibility for `Prism::Translation::Parser` when using constant argument:
```ruby
def foo(A)
end
```
## Parser gem (Expected)
Displays `formal argument cannot be a constant (Parser::SyntaxError)`:
```c...
koic (Koichi ITO)
05:59 PM Revision cbcb2d46 (git): [DOC] Unify Doxygen formats (#10285)
k0kubun (Takashi Kokubun)
02:39 PM Bug #20348: Memory leak with method kwargs in ERB template
This has been fixed in the master branch. However, I'm not sure which commit fixed it. jeremyevans0 (Jeremy Evans)
10:47 AM Bug #20348 (Closed): Memory leak with method kwargs in ERB template
Evaluating ERB templates with kwarg method calls leads to unbounded growth in memory use.
Example script:
```ruby
require "erb"
def noop(kwarg1:); end
template = ERB.new("<%= noop kwarg1: false %>")
50.times do
10_000....
davidtaylorhq (David Taylor)
02:18 PM Revision 5c293773 (git): Update default gems list at d7bc6f0effa1531a12b5c6b6286805 [ci skip]
git[bot]
02:17 PM Misc #20279 (Closed): Is the implementation of `respond_to_missing?` in BasicObject documentation correct?
Applied in changeset commit:git|e127289632396f268099c9815a59bc7e7f13b3ec.
----------
[Bug #20279] [DOC] Update for `BasicObject`
The current implementation raises on the call to super
Anonymous
02:17 PM Revision d7bc6f0e (git): [ruby/reline] Reline 0.5.0.pre
(https://github.com/ruby/reline/pull/614)
* Re-architecture LineEditor's internal state and rendering
* Fix test related to LineEditor re-architecture
* Bump to 0.5.0.pre.1
* Hide cursor only when updating screen. Frequent hide&show ...
tompng (tomoya ishida)
12:49 PM Revision e1272896 (git): [Bug #20279] [DOC] Update for `BasicObject`
The current implementation raises on the call to super Earlopain (Earlopain _)
12:33 PM Feature #19057: Hide implementation of `rb_io_t`.
As an alternative (optional) course of action, I've released the latest head of unicorn as `unicorn-maintained` gem. You can use this instead of `unicorn` and it will work on Ruby head.
https://github.com/unicorn-ruby/unicorn
Anyone wh...
ioquatix (Samuel Williams)
11:44 AM Feature #19057: Hide implementation of `rb_io_t`.
> From the reaction to this ticket, it is clear that forcing the "hide all the details" approach could destroy the Ruby ecosystem.
"destroy the Ruby ecosystem" seems an exaggeration if it's just `unicorn` not working, because there wa...
Eregon (Benoit Daloze)
10:56 AM Feature #19057: Hide implementation of `rb_io_t`.
Here is the revert PR: https://github.com/ruby/ruby/pull/10283 ioquatix (Samuel Williams)
09:33 AM Feature #19057: Hide implementation of `rb_io_t`.
The simplest option right now is to revert this change and try again later.
@mame are there any other gems apart from `unicorn` you are concerned about? In other words, if `unicorn` makes a release, then you don't have a problem with ...
ioquatix (Samuel Williams)
03:07 AM Feature #19057: Hide implementation of `rb_io_t`.
I agree with @mame. This change would break too many tests, apps, etc. We cannot accept the change at the moment.
Can we be more conservative?
Matz.
matz (Yukihiro Matsumoto)
02:35 AM Feature #19057: Hide implementation of `rb_io_t`.
Why don't you reconsider the "nested public interface" approach?
From the reaction to this ticket, it is clear that forcing the "hide all the details" approach could destroy the Ruby ecosystem. And there is no need to force it because...
mame (Yusuke Endoh)
09:10 AM Feature #20347 (Closed): Separate docs task from all
I would like to migrate RDoc as bundled gems at Ruby 3.5.
We need to handle `install-doc` and related task with that. I removed `docs` task from `all` and re-order `docs` task at `install-all`.
https://github.com/ruby/ruby/pull/102...
hsbt (Hiroshi SHIBATA)
08:26 AM Revision 12be40ae (git): Implement chilled strings
[Feature #20205]
As a path toward enabling frozen string literals by default in the future,
this commit introduce "chilled strings". From a user perspective chilled
strings pretend to be frozen, but on the first attempt to mutate them,
...
etienne (Étienne Barrié)
05:55 AM Revision 86b15316 (git): Bump github/codeql-action from 3.24.7 to 3.24.8
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.7 to 3.24.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md...
dependabot[bot]
03:05 AM Feature #20345: Add `--target-rbconfig` option to mkmf
Sounds nice. Go ahead.
Matz.
matz (Yukihiro Matsumoto)
02:36 AM Feature #20345: Add `--target-rbconfig` option to mkmf
Code to load the last one only.
```ruby
target_rbconfig = nil
ARGV.delete_if do |arg|
unless (opt = arg.delete_prefix("--target-rbconfig=")) == arg
target_rbconfig = opt
end
end
if target_rbconfig
# Loa...
nobu (Nobuyoshi Nakada)
02:36 AM Feature #20345: Add `--target-rbconfig` option to mkmf
> It seems ambiguous when multiple --target-rbconfig options are given.
Nice catch, I prefer to respect the last one only to allow it to be overridden by trailing arguments.
katei (Yuta Saito)
01:49 AM Feature #20345: Add `--target-rbconfig` option to mkmf
It seems ambiguous when multiple `--target-rbconfig` options are given.
Your patch uses the first one and leaves the rest.
I think all options should be removed, and which would be preferable?
1. load the first one only
2. load the l...
nobu (Nobuyoshi Nakada)
12:27 AM Feature #20345: Add `--target-rbconfig` option to mkmf
+1 as well. shyouhei (Shyouhei Urabe)
02:56 AM Revision 59849fee (git): Bump actions/checkout from 4.1.1 to 4.1.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](http...
dependabot[bot]
02:17 AM Revision 6c18b247 (git): Update default gems list at 0985e587901a9039ee0f523d285ed3 [ci skip]
git[bot]
02:16 AM Revision 0985e587 (git): [ruby/resolv] Bump up 0.4.0
https://github.com/ruby/resolv/commit/44ae1e8531 hsbt (Hiroshi SHIBATA)
01:54 AM Revision ef0e08f3 (git): Don't replace doc url for vendored files
hsbt (Hiroshi SHIBATA)
01:30 AM Revision ce544f8d (git): [ruby/prism] [Compatibility] Improve printf format
For better compatibility, this patch suggests using __MINGW_PRINTF_FORMAT that GCC provides for MINGW environment.
https://github.com/ruby/prism/commit/a3a792b64f
hasumikin (hitoshi hasumi)
01:27 AM Revision 6c1e8029 (git): [ruby/did_you_mean] Do not use #inspect to avoid unexpected performance degradation
closes https://github.com/ruby/did_you_mean/pull/100
https://github.com/ruby/did_you_mean/commit/bd11eefd6c
Yuki Nishijima
 

Also available in: Atom