Project

General

Profile

Activity

From 11/05/2023 to 11/11/2023

11/11/2023

10:01 PM Revision e6916f13 (git): [ruby/prism] Implement JavaScript visitors
https://github.com/ruby/prism/commit/ea00a1b3c6 marcoroth (Marco Roth)
08:37 PM Revision cd91e8e7 (git): [ruby/prism] Introduce non-associativility to `in` and `=>`
Fix https://github.com/ruby/prism/pull/1596
Fix https://github.com/ruby/prism/pull/1771
Close https://github.com/ruby/prism/pull/1773
https://github.com/ruby/prism/commit/a3413e5605
make_now_just (Hiroya Fujinami)
10:26 AM Revision 64f03460 (git): [DOC] Update comment for `DECIMAL_SIZE_OF_BITS`
nobu (Nobuyoshi Nakada)
10:24 AM Bug #19969 (Closed): Regression of memory usage with Ruby 3.1
Applied in changeset commit:git|9eac9d71786a8dbec520d0541a91149f01adf8ea.
----------
[Bug #19969] Compact st_table after deleted if possible
nobu (Nobuyoshi Nakada)
09:49 AM Revision 9eac9d71 (git): [Bug #19969] Compact st_table after deleted if possible
nobu (Nobuyoshi Nakada)
09:16 AM Feature #18996: Proposal: Introduce new APIs to reline for changing dialog UI colours
@hasumikin proposed a more powerful and mature design and it has been merged. So I think both this and #19010 can be closed :-) st0012 (Stan Lo)
08:10 AM Bug #19994: Seemingly require causes segfault??
I was just using the reproduction code from the OP - I'm still trying to work out something minimal that can be checked in as a test which doesn't involve sqlite3 or activerecord. I did at least work out the reason test/unit is needed to... kjtsanaktsidis (KJ Tsanaktsidis)
06:56 AM Bug #19994: Seemingly require causes segfault??
kjtsanaktsidis (KJ Tsanaktsidis) wrote in #note-2:
> OK, I made a bit of progress - I was able to get the repro working with ASAN, and it spat out this likely looking memory error:
> ...
What is the repro code?
Is it possible to add a...
nobu (Nobuyoshi Nakada)
06:13 AM Bug #19994: Seemingly require causes segfault??
I think I understand-ish the issue now and it looks like https://github.com/ruby/ruby/pull/8899 fixes it (on my machine).
@mtasaka would you be able to tell me if this fixes the issue for you?
And @ko1 would you be able to look at ...
kjtsanaktsidis (KJ Tsanaktsidis)
07:58 AM Revision 2a442121 (git): Stabilize outer variable list
Sort outer variables by names to make dumped binary data stable. nobu (Nobuyoshi Nakada)
06:57 AM Revision 1fe2bc4b (git): RCLASS_EXT is never NULL now
nobu (Nobuyoshi Nakada)
12:08 AM Revision 277a3ecb (git): [DOC] RubyVM::YJIT doc improvements
* Weaken notice about API stability. A few public APIs in here now.
* Prune out APIs from the docs that are private in nature
* Enable markdown mode and ensure `--` options are quoted so they are
rendered as two dashes in the HTML.
alanwu (Alan Wu)
12:08 AM Revision cdaca574 (git): [DOC] NEWS.md update about code GC
See <https://github.com/ruby/ruby/pull/8865> and
50402db5a7d3bb2a9a93d63a63295b4d85a68088
alanwu (Alan Wu)

11/10/2023

11:13 PM Feature #19998: Emit deprecation warnings when the old (non-Typed) Data_XXX API is used
I do not have anything against the proposal itself, but in
regards to "This would help drive the effort to fix outdated
gems", I believe this to be slightly too optimistic. Many gems
that have not been updated in, say, 2-3 years, are ...
rubyFeedback (robert heiler)
02:16 PM Feature #19998: Emit deprecation warnings when the old (non-Typed) Data_XXX API is used
> Maybe we should deprecate the corresponding C functions instead/in addition to runtime warnings?
Yes, I don't have a string opinion on the specific. I'm happy to implement whatever Matz decide.
byroot (Jean Boussier)
01:07 PM Feature #19998: Emit deprecation warnings when the old (non-Typed) Data_XXX API is used
Maybe we should deprecate the corresponding C functions instead/in addition to runtime warnings?
i.e. the fix is in C extensions, not Ruby code.
+1 on deprecating those, it would simplify to have one (TypedData) instead of two data-l...
Eregon (Benoit Daloze)
12:14 PM Feature #19998 (Closed): Emit deprecation warnings when the old (non-Typed) Data_XXX API is used
The replacement API was introduced in Ruby 1.9.2 (2010) [Feature #3064], and the old untyped data API was marked a deprecated in the documentation as of Ruby 2.3.0 (2015): https://github.com/ruby/ruby/commit/98544c372d948717de22afc86d162... byroot (Jean Boussier)
09:55 PM Revision f5fa90fe (git): YJIT: Fix `clippy::useless_vec` in a test
alanwu (Alan Wu)
09:55 PM Revision 8dfbfa15 (git): YJIT: Take cargo --fix for unnecessary calls to into()
alanwu (Alan Wu)
09:55 PM Revision 408d5886 (git): YJIT: Auto fix for clippy::unnecessary_cast
alanwu (Alan Wu)
09:55 PM Revision 0a93ea48 (git): YJIT: Auto fix for clippy::clone_on_copy
alanwu (Alan Wu)
09:50 PM Revision 85db7bac (git): [ruby/prism] Remove extra locals added by ...
https://github.com/ruby/prism/commit/b7850f2d30 kddnewton (Kevin Newton)
09:50 PM Revision 98e5ea94 (git): [ruby/prism] Disallow forwarding in blocks
https://github.com/ruby/prism/commit/2bbd35943c kddnewton (Kevin Newton)
09:49 PM Revision 03aa1092 (git): [ruby/prism] Add source code and changelog uris
https://github.com/ruby/prism/commit/33a85f7867 Mateus Pereira
07:42 PM Revision 22e1d54f (git): Use bundler-2.3.27 for Ruby 3.1 (#8895)
Use bundler-2.3.27 hsbt (Hiroshi SHIBATA)
07:28 PM Revision 642b9c69 (git): Update default gems list at 8044feb7ab75989d5c8bd40131801e [ci skip]
git[bot]
07:27 PM Revision 8044feb7 (git): [ruby/irb] Bump version to 1.9.0
(https://github.com/ruby/irb/pull/757)
https://github.com/ruby/irb/commit/41548b8bd0
ima1zumi (Mari Imaizumi)
05:43 PM Revision 7e6609e8 (git): [ci skip] Fix indentation in rb_class_ivar_set
peterzhu2118 (Peter Zhu)
05:15 PM Revision 82ce4741 (git): [ruby/open3] [DOC] RDoc for Open3
(https://github.com/ruby/open3/pull/18)
https://github.com/ruby/open3/commit/9f3f5d004c
burdettelamar (Burdette Lamar)
04:51 PM Revision b8eb4bd4 (git): YJIT: Panic with more info when global invalidation patching fails
alanwu (Alan Wu)
04:51 PM Revision 38fe710e (git): YJIT: Invoke PosMarker callbacks only with solid positions
Previously, PosMarker callbacks ran even when the assembler failed to
assemble its contents due to insufficient space. This was problematic
because when Assembler::compile() failed, the callbacks were given
positions that have no valid c...
alanwu (Alan Wu)
04:27 PM Revision 5f3fb4f4 (git): Revert "Remove SHAPE_CAPACITY_CHANGE shapes"
This reverts commit f6910a61122931e4193bcc0fad18d839c319b720.
We're seeing crashes in the test suite of Shopify's core monolith after
this change.
peterzhu2118 (Peter Zhu)
04:20 PM Bug #19994: Seemingly require causes segfault??
OK, I made a bit of progress - I was able to get the repro working with ASAN, and it spat out this likely looking memory error:
```
kj@kj-thinkpad ruby % installed~/bin/ruby ~/repro.rb
===============================================...
kjtsanaktsidis (KJ Tsanaktsidis)
06:51 AM Bug #19994: Seemingly require causes segfault??
So, I was able to reproduce this and bisect it, and found that https://github.com/ruby/ruby/commit/4f0d58260a7f506ead198064d12a967edd11fe5e was the commit that made your reproduction start crashing. That change _looks_ correct to me, how... kjtsanaktsidis (KJ Tsanaktsidis)
03:51 PM Bug #20000 (Closed): Backport: Fix OpenSSL.fips_mode and OpenSSL::PKey.read in OpenSSL 3 FIPS.
Ruby 3.3 (master branch) includes Ruby OpenSSL library (openssl gem) to fix OpenSSL.fips_mode and OpenSSL::PKey.read in OpenSSL 3 FIPS. And I want to see the following 5 commits to fix the issues will be backported to Ruby 3.2, 3.1 and 3... jaruga (Jun Aruga)
02:56 PM Revision 3b69637e (git): Embed Backtrace objects
rb_backtrace_t is 32B, so it fits well in a 80B slot.
There is some unused spaces but given Backtrace objects are
rarely held onto it should be inconsequential and avoid
the malloc churn.
Co-Authored-By: Étienne Barrié <etienne.barrie@...
byroot (Jean Boussier)
02:56 PM Revision a9f45aac (git): rb_data_free: Fix freeing embedded TypedData
The previous implementation was using the pointer given
by `DATA_PTR` in all cases. But in the case of an embedded
TypedData, that pointer is garbage, we need to use RTYPEDDATA_GET_DATA
to get the proper data pointer.
Co-Authored-By: Ét...
byroot (Jean Boussier)
02:56 PM Revision a2442e91 (git): Embed Backtrace::Location objects
The struct is 16B, so they will use the 80B size pool, so on paper it
wastes 80 - 32 - 16 = 52B, however most malloc implementations will
either pad sizes or use an extra 16B for each segment, so in practice
the waste isn't that big. Als...
byroot (Jean Boussier)
02:47 PM Revision 1ee69688 (git): YJIT: Fix comment typos [ci skip]
Edwin Garcia
02:43 PM Bug #19999 (Closed): Backport: .travis.yml and fixed commits
jaruga (Jun Aruga)
02:42 PM Bug #19999 (Closed): Backport: .travis.yml and fixed commits
This is a backport suggestion to make Travis CI stable on the Ruby stable branches ruby_3_2 and etc.
Travis CI for Ruby master branch became stable recently with arm64, ppc64le, s390x and arm32 cases. All the CI cases are running with...
jaruga (Jun Aruga)
01:34 PM Misc #19997: DevMeeting-2023-11-30
* [Feature #19993] Optionally free all memory at exit (HParker & peterzhu2118)
* Environment variable `RB_FREE_ON_SHUTDOWN` to free all memory during shutdown.
* Useful for using memory checkers (e.g. Valgrind, ASAN) to find memory...
peterzhu2118 (Peter Zhu)
10:07 AM Misc #19997 (Closed): DevMeeting-2023-11-30
# The next dev meeting
**Date: 2023/11/30 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/tree/master/2023
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bug tracker.
- Dev me...
mame (Yusuke Endoh)
12:30 PM Revision 068bf59b (git): .travis.yml: Run arm64 without allow_failiures.
Checking the past 10 builds in Travis CI arm64, it looks stable. So, disable
`allow_failures`.
Also sorted the order of the jobs for the priority. The arm64 is the first. And
I would like to run arm32 using the arm64 pipeline a bit late...
Jun Aruga
10:02 AM Revision b1f345b1 (git): Update default gems list at cdd6127c823fbda8dd5ff5b1b4243d [ci skip]
git[bot]
10:00 AM Revision cdd6127c (git): [ruby/io-console] bump up to 0.6.1.dev.1
https://github.com/ruby/io-console/commit/057ab96a73 nobu (Nobuyoshi Nakada)
10:00 AM Revision 83064592 (git): [ruby/io-console] Include FFI version version.rb
https://github.com/ruby/io-console/commit/b0c688c57e nobu (Nobuyoshi Nakada)
10:00 AM Revision f08400a0 (git): [ruby/io-console] Define IO::ConsoleMode::VERSION from gemspec
https://github.com/ruby/io-console/commit/ebdbebf461 nobu (Nobuyoshi Nakada)
10:00 AM Revision 5309e3c4 (git): [ruby/io-console] Update file list in gemspec
https://github.com/ruby/io-console/commit/0bfde8372c nobu (Nobuyoshi Nakada)
07:56 AM Bug #19576: Backport request: Gemfile.lock resolving is broken with bundler shipped with Ruby 3.1.4
mergerd via GitHub.
thx!
usa (Usaku NAKAMURA)
05:50 AM Bug #19576: Backport request: Gemfile.lock resolving is broken with bundler shipped with Ruby 3.1.4
https://github.com/ruby/ruby/pull/8889 hsbt (Hiroshi SHIBATA)
05:47 AM Bug #19576 (Closed): Backport request: Gemfile.lock resolving is broken with bundler shipped with Ruby 3.1.4
I released RubyGems-3.3.27 and Bundler 2.3.27 for Ruby 3.1.
https://blog.rubygems.org/2023/11/10/3.3.27-released.html
hsbt (Hiroshi SHIBATA)
07:56 AM Revision 3d32962e (git): * 2023-11-10 [ci skip]
git[bot]
07:56 AM Revision c39b19c5 (git): Merge RubyGems-3.3.27 and Bundler-2.3.27 (#8889)
hsbt (Hiroshi SHIBATA)
04:16 AM Bug #19996 (Assigned): `RUBY_MN_THREADS=1` triggers Action Cable unit test failures
### Steps to reproduce
1. Install `ruby 3.3.0dev`
2. Set `RUBY_MN_THREADS=1` environment variable
3. Follow these steps
```
git clone https://github.com/rails/rails
cd rails
rm Gemfile.lock
bundle install
cd actioncable
bin/...
yahonda (Yasuo Honda)
02:43 AM Bug #19924: Character literal escaped \xFF stops parsing
ruby_3_2 482e1f573ee45ef562cc6d218ba26d44660f8e0a merged revision(s) 17b0643392749f45b7aacb64fc1c1bd704d42b4c. nagachika (Tomoyuki Chikanaga)
02:41 AM Revision 482e1f57 (git): merge revision(s) 17b0643392749f45b7aacb64fc1c1bd704d42b4c: [Backport #19924]
[Bug #19924] Source code should be unsigned char stream
Use `peekc` or `nextc` to fetch the next character, instead of reading
from `lex.pcur` directly, for compilers that plain char is signed.
---
parse...
nagachika (Tomoyuki Chikanaga)
02:03 AM Feature #19842: Introduce M:N threads
Sorry I forget to summary the specification.
The following design was accepted by matz.
* Enable/disable and default behavior
* On the main Ractor, M:N scheduler is not enabled by default. `RUBY_MN_THREADS=1` envval will enables i...
ko1 (Koichi Sasada)

11/09/2023

11:41 PM Feature #19995 (Open): Proposal: Signal._trap as analogue to Process._fork
This is a proposal to define a method `Signal#_trap`, which would function as a single place to be wrapped by monitoring libraries for detecting when signal handlers are entered and exited.
## Motivation #1 - stack-based context leaks...
kjtsanaktsidis (KJ Tsanaktsidis)
11:29 PM Revision 5398bbcb (git): Tests of irb is still broken.
Revert "[ruby/irb] Revert "Skip TypeCompletion test in ruby ci"
This reverts commit 589e2b6782f17d5a1d55021c0395d5d73224e9da.
hsbt (Hiroshi SHIBATA)
10:56 PM Revision 589e2b67 (git): [ruby/irb] Revert "Skip TypeCompletion test in ruby ci
(https://github.com/ruby/irb/pull/748)"
(https://github.com/ruby/irb/pull/755)
This reverts commit https://github.com/ruby/irb/commit/d394af0bbce4.
https://github.com/ruby/irb/commit/a9d0145115
hsbt (Hiroshi SHIBATA)
10:53 PM Revision 293aced0 (git): Update checkout
xuanxu (Juanjo Bazan)
07:30 PM Feature #19993: Optionally Free all memory at exit
I can't think of a situation where an environment variable is worse then a command line option, so I am going to update the PR to just use a environment variable. It should make testing in environments like Rails apps easier. HParker (Adam Hess)
08:18 AM Feature #19993: Optionally Free all memory at exit
> I don't even know if the real-world cases could be ever a problem
Well, for one thing we are currently experiencing a (moderate) issue caused by slow exit in production. We have some code in Pitchfork that basically daemonize and is...
byroot (Jean Boussier)
03:16 AM Feature #19993: Optionally Free all memory at exit
I wonder what kind of micro-benchmark would have the largest overhead.
Loading 100,000 empty files
```
$ time ./miniruby -e 'n = "a"; 100000.times { require "./empty-files/#{ n }"; n.succ! }'
real 0m2.706s
user 0m1.112s
...
mame (Yusuke Endoh)
04:24 PM Revision c49adfab (git): Add "Optimization" section to regexp.rdoc (#8849)
* Add "Optimization" section to regexp.rdoc
* Apply the suggestions by @BurdetteLamar
---------
Co-authored-by: Burdette Lamar <BurdetteLamar@Yahoo.com>
make_now_just (Hiroya Fujinami)
04:12 PM Feature #16968 (Closed): Remove `$IGNORECASE` from English.rb
nobu (Nobuyoshi Nakada)
02:53 PM Feature #14548: Allow some_array&.[1] to be a valid syntax
> What about using `dig`
Actually, many codebases are already using `dig` in those cases (and it is _clearer_ without redefinition on `nil`, telling the reader "we are aware there might be `nil` here"):
```ruby
array_or_nil&.dig(i...
zverok (Victor Shepelev)
02:30 PM Feature #14548: Allow some_array&.[1] to be a valid syntax
What about using `dig` for this like `array_or_nil.dig(index)` and adding `class NilClass; def dig(*) = nil; end`?
There is also nothing wrong with `array_or_nil && array_or_nil[index]`.
IMO these `?.[` look too cryptic.
Eregon (Benoit Daloze)
02:19 AM Feature #14548 (Open): Allow some_array&.[1] to be a valid syntax
Can we reconsider this? JavaScript already introduced this syntax a while ago and we are already getting pretty much used to it.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining#syntax
``...
knu (Akinori MUSHA)
02:27 PM Revision ad3db671 (git): Update files under .github other than workflows
While `directory: "/"` is defaulted to ".github/workflows", we need to
update the files under ".github/actions".
nobu (Nobuyoshi Nakada)
02:25 PM Revision f6910a61 (git): Remove SHAPE_CAPACITY_CHANGE shapes
We don't need to create a shape to transition capacity as we can
transition the capacity when the capacity of the SHAPE_IVAR changes.
peterzhu2118 (Peter Zhu)
01:15 PM Revision c4efd170 (git): [ruby/irb] Add command line option to select which completor to use
(https://github.com/ruby/irb/pull/754)
* Add command line option to select which completor to use
* Add test for completor argv
https://github.com/ruby/irb/commit/1dec2708c9
tompng (tomoya ishida)
12:45 PM Revision ae1fad4c (git): [PRISM] Implement compilation for ForwardingArgumentssNode
jemmai (Jemma Issroff)
11:38 AM Revision ea1b1ea1 (git): String#force_encoding don't clear coderange if encoding is unchanged
Some code out there blind calls `force_encoding` without checking
what the original encoding was, which clears the coderange uselessly.
If the String is big, it can be a rather costly mistake.
For instance the `rack-utf8_sanitizer` gem...
byroot (Jean Boussier)
11:03 AM Revision 0a7e620a (git): .travis.yml: Add arm64 case.
In the past, I saw that the 2nd arm64 pipeline was unstable. Now I want to try
it to check if it is stable enough to run again.
As far as I know, right now the only native arm64 cases are MacOS Arm
`macos-arm-oss` on GitHub Actions. And...
Jun Aruga
10:45 AM Revision b013aae0 (git): IO#read always check the provided buffer is mutable
Otherwise you can have work in some circumstance but not in others. byroot (Jean Boussier)
09:21 AM Revision 0f02fbd9 (git): Range check in pm_constant_id_lookup
nobu (Nobuyoshi Nakada)
09:21 AM Revision e824b69a (git): Remove useless casts
nobu (Nobuyoshi Nakada)
09:01 AM Bug #19977: (nil..nil) === x can raise an exception, differing from Range#cover?
Matz agreed to fix this. knu (Akinori MUSHA)
08:46 AM Bug #19916: URI#to_s can serialize to a value that doesn't deserialize to the original
It is not appropriate to parse a path string with URI() without specifying any scheme or base URI.
If you know the piece of text is a path in the HTTP protocol, you should say something like this:
```ruby
url = URI.join("https:", "exam...
knu (Akinori MUSHA)
08:37 AM Revision fae44d65 (git): [ruby/prism] Reset do_loop_stack around a body of a endless method definition
Fix https://github.com/ruby/prism/pull/1772
https://github.com/ruby/prism/commit/cdf58e845e
make_now_just (Hiroya Fujinami)
08:36 AM Bug #19985: Confusing error message when nonexistent `Pathname` for `require`
ruby_3_2 2aaa9af75989bb0993a44e9690ed2ca890b2ff91 merged revision(s) 4329554f171fdb483cafa672df5f2a08741940c5,b5c74d548872388921402ff2db36be15e924a89b. nagachika (Tomoyuki Chikanaga)
08:36 AM Revision 2aaa9af7 (git): merge revision(s) 4329554f171fdb483cafa672df5f2a08741940c5,b5c74d548872388921402ff2db36be15e924a89b: [Backport #19985]
[Bug #19985] Raise LoadError with the converted feature name
`Kernel#require` converts feature name objects that have the `to_path`
method such as `Pathname`, but had used the original object on error
and had res...
nagachika (Tomoyuki Chikanaga)
07:37 AM Revision b73e087d (git): [DOC] Fix typos
nobu (Nobuyoshi Nakada)
07:20 AM Revision 195a09cc (git): [ruby/digest] Suppress implicit cast down warnings
https://github.com/ruby/digest/commit/2f3505bf3f nobu (Nobuyoshi Nakada)
07:01 AM Revision 7e8d9f49 (git): [Bug #18286] Show checksum of builtin_binary.inc for confirmation
nobu (Nobuyoshi Nakada)
07:01 AM Revision 22939382 (git): [Bug #18286] Make builtin binary if sharable in universal binaries
nobu (Nobuyoshi Nakada)
07:01 AM Revision e2ef85b1 (git): Finer granularity IBF dependendency
It depends on only `VALUE` definition. Check for endianness and word
size instead of the platform name.
nobu (Nobuyoshi Nakada)
07:01 AM Revision 61bb5c05 (git): Use `uint32_t` instead of `unsigned int` for the exact size
nobu (Nobuyoshi Nakada)
07:01 AM Revision 40d40a65 (git): Revert "Disable iseq-dumped builtin module for universal x86_64/arm64 binaries"
This reverts commit 1d5598fe0d3470e7cab06a756d40a9221fcd501b. nobu (Nobuyoshi Nakada)
05:17 AM Revision 486b674e (git): Do not allow test-all to load the bundled gems
This change prevents default gems from inadvertently depending on
bundled gems. This issue was discovered by being able to
`require "rbs"` from test/irb.
mame (Yusuke Endoh)
03:24 AM Bug #18286 (Closed): Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
Applied in changeset commit:git|1d5598fe0d3470e7cab06a756d40a9221fcd501b.
----------
Disable iseq-dumped builtin module for universal x86_64/arm64 binaries
During the build, Ruby has special logic to serialize its own builtin
module to...
benhamilton (Ben Hamilton)
03:24 AM Revision 1d5598fe (git): Disable iseq-dumped builtin module for universal x86_64/arm64 binaries
During the build, Ruby has special logic to serialize its own builtin
module to disk using the binary iseq format during the build (I assume
for speed so it doesn't have to parse builtin every time it starts
up).
However, since iseq for...
benhamilton (Ben Hamilton)
01:34 AM Revision a1684268 (git): [rubygems/rubygems] Make the `test_build_extensions` more predictable
The `test_build_extensions` make assumptions about return value of
`Gem.install_extension_in_lib`. Givent that RubyGems allow to override
this method via `defaults.rb` / `operating_system.rb`, this test might
not always pass. This change...
Vít Ondruch
01:34 AM Revision 54547417 (git): [rubygems/rubygems] Use `extension_in_lib` helper instead of custom code
`extension_in_lib` helper improves readibility and it also uses `stub`
on on background instead of custom code.
https://github.com/rubygems/rubygems/commit/aacc8ac22c
Vít Ondruch
01:34 AM Revision a1d0c048 (git): [rubygems/rubygems] Fix daily Bundler CI
Daily Bundler CI against ruby-head is failing because ruby-head now
uses bigdecimal 3.1.5, so that gets locked by this spec.
This change should make the test stable until bigdecimal 99.1.5 is
bundled with Ruby :)
https://github.com/rub...
deivid (David Rodríguez)
01:34 AM Revision 28356c28 (git): [rubygems/rubygems] Explicitly pass install-dir when installing system gems in Bundler specs
We want to avoid any "user home" fallbacks, since that won't work with
Bundler.
So if there's a permissions issue during specs, it's best to raise
immediately.
https://github.com/rubygems/rubygems/commit/767a3e7533
deivid (David Rodríguez)
01:34 AM Revision f67a80cd (git): [rubygems/rubygems] No need to let this command fail
This command is not expected to fail. If it fails, we can stop the test.
https://github.com/rubygems/rubygems/commit/2511a5b093
deivid (David Rodríguez)
01:34 AM Revision d9ac2d91 (git): [rubygems/rubygems] Remove unused logic
https://github.com/rubygems/rubygems/commit/2eb2860e9e deivid (David Rodríguez)
01:28 AM Revision 5c8d2c2d (git): [PRISM] Always lookup idERROR_INFO consistently.
We know where it is in the iseq local table, because we forced it using
`iseq_set_exception_local_table` when compiling the BEGIN_NODE, so we
can always look it up from the same place.
Co-Authored-By Peter Zhu <peter@peterzhu.ca>
eightbitraptor (Matt V-H)

11/08/2023

11:27 PM Feature #19993: Optionally Free all memory at exit
> I don't know how concerned about exit time I should be
Minor increase is acceptable, but it's quite important in several cases, e.g. command line tools, etc. Perhaps it can be an environment variable?
byroot (Jean Boussier)
06:19 PM Feature #19993: Optionally Free all memory at exit
> The reason for making it optional is to prevent an increase in the exit time? I wonder if it is worth the complexity of adding the command-line option.
Yeah, I don't know how concerned about exit time I should be, but if you aren't ...
HParker (Adam Hess)
07:45 AM Feature #19993: Optionally Free all memory at exit
Nice job! It's also very good that they actually fix a lot of memory leak bugs. Thanks.
The reason for making it optional is to prevent an increase in the exit time? I wonder if it is worth the complexity of adding the command-line op...
mame (Yusuke Endoh)
06:41 AM Feature #19993 (Closed): Optionally Free all memory at exit
Add a runtime option allowing Ruby to optionally free all memory at shutdown.
# why
Today, memory sanitizers are difficult to use with Ruby, since not all memory is freed at shutdown. it is difficult to detect memory leaks or error...
HParker (Adam Hess)
10:17 PM Revision 201853f4 (git): [ruby/prism] Provide Parameters#signature for mirroring Method#parameters
https://github.com/ruby/prism/commit/90b3245528 kddnewton (Kevin Newton)
09:15 PM Revision f9e34a1f (git): [PRISM] Add tests for OptionalKeywordParameterNode
This commit adds tests for the compilation of the
OptionalKeywordParameterNode, and fixes cases on the
RequiredKeywordParameterNode
jemmai (Jemma Issroff)
09:15 PM Revision 70e4ff9f (git): [PRISM] Added tests for ForwardingParameterNode, KeywordRestParameterNode
jemmai (Jemma Issroff)
09:15 PM Revision 26cff6ae (git): [PRISM] Add tests for several parameters nodes
This commit adds tests for BlockParameterNode, RequiredParameterNode,
RequiredKeywordParameterNode and RestParameterNode
jemmai (Jemma Issroff)
06:29 PM Revision 8d0eb872 (git): Add foo.gemspec for failing test
foo.gemspec was added in
rubygems/rubygems@8d699ed096960ed9a6636bd27143952ff5f8addc but was not
sync'd in commit b4bf8c9ee2d716adf5fc08e67c4b26d6a8f929c2. This causes
the spec to fail.
peterzhu2118 (Peter Zhu)
04:47 PM Revision ddd99a52 (git): [ruby/tempfile] Make Tempfile#open return the underlying File
Add test for this behavior.
https://github.com/ruby/tempfile/commit/0ca31a6b8d
jeremyevans (Jeremy Evans)
03:41 PM Bug #19991: rb_register_postponed_job async-signal-unsafety causes crash in GC
Thanks for sharing this one 😅.
The datadog profiler tries to mimic what stackprof does for interruption (signal + postponed_job_register) but indeed the race you're describing seems feasible, thus making the `rb_postponed_job_register...
ivoanjo (Ivo Anjo)
03:37 PM Revision eb2abc3f (git): YJIT: refactor format_number (#8869)
Replace enumerators with simpler and faster version that only inserts commas before '.' or end of integer string. Maumagnaguagno (Mau Magnaguagno)
03:21 PM Revision 50402db5 (git): YJIT: Disable code GC (#8865)
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
k0kubun (Takashi Kokubun)
03:20 PM Revision 32e89b7f (git): * remove trailing spaces. [ci skip]
git[bot]
03:20 PM Bug #19441 (Closed): Closing an Tempfile#dup behaviour
Applied in changeset commit:git|ddcfc9feabf22ed6cc1071e65948a1d512a906fe.
----------
[ruby/tempfile] Fix Tempfile#{dup,clone}
Instead of storing the delegate in @tmpfile, use __getobj__, since
delegate library already handles dup/clone...
jeremyevans (Jeremy Evans)
03:19 PM Revision ddcfc9fe (git): [ruby/tempfile] Fix Tempfile#{dup,clone}
Instead of storing the delegate in @tmpfile, use __getobj__, since
delegate library already handles dup/clone for that. Copy the
unlinked, mode, and opts instance variables to the returned object
when using dup/clone.
Split the close/u...
jeremyevans (Jeremy Evans)
03:08 PM Bug #19992: Seemingly GC causes double free for regparse
Confirmed fixed for the test case of rubygem-addressable, thank you! mtasaka (Mamoru TASAKA)
01:06 PM Bug #19992 (Closed): Seemingly GC causes double free for regparse
I've merged the PR, so I will be closing this issue. Thank you for reporting it! peterzhu2118 (Peter Zhu)
06:55 AM Bug #19992: Seemingly GC causes double free for regparse
Updated! let me know how it looks. I just used the reproduction script directly as the test. HParker (Adam Hess)
04:16 AM Bug #19992: Seemingly GC causes double free for regparse
@HParker Could you add the test to the PR? nobu (Nobuyoshi Nakada)
02:26 PM Revision d80009d1 (git): [DOC] RDoc for module Process (#8847)
burdettelamar (Burdette Lamar)
01:05 PM Revision f694bd15 (git): Improve error and memory handling
Apply Nobu's suggestions which improve style, memory handling and error correction.
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Adam Hess
01:05 PM Revision 05cde415 (git): fix regex from regex memory corruption
before this change, creating a regex from a regex with a named capture, Regexp.new(/(?<name>)/), causes memory to be shared between the two named capture groups which can cause a segfault if the original is GCed. HParker (Adam Hess)
12:40 PM Revision b4bf8c9e (git): [rubygems/rubygems] Ensure we are using the same extension dir
Since #6945 the extension dir changed to Gem::BasicSpecification's implementation, we didn't hook that in rubygems_ext.rb. So for universal rubies, we ended up using the universal platform name when installing, but arch replaced platform... Han Young
12:38 PM Feature #14602: Version of dig that raises error if a key is not present
As far as I understand, Matz expects that, for a tree structure:
* `dig_*` touches only nodes on a specific path,
* `deep_*` touches all nodes.
mame (Yusuke Endoh)
11:45 AM Feature #14602: Version of dig that raises error if a key is not present
mame (Yusuke Endoh) wrote in #note-30:
> * `deep` sounds to be an operation on the entire data structure, due to the influence of deep_copy.
It actually is a deep operation, on the entire data structure/multiple objects, exactly li...
Eregon (Benoit Daloze)
01:48 AM Feature #14602: Version of dig that raises error if a key is not present
We discussed at the dev meeting but did not reach a conclusion. But there has been some progress.
* @akr said we shouldn't add new vocabulary, and Matz agreed.
* There is `Array#fetch` which throws an exception when it is not found, ...
mame (Yusuke Endoh)
10:33 AM Revision 7efe0669 (git): TypedData_Make_Struct0: cast RTYPEDDATA_GET_DATA return pointer
Fixes:
```
/usr/local/ruby/include/ruby-3.3.0+0/ruby/internal/core/rtypeddata.h:467:33:
error: invalid conversion from ‘void*’ to ‘parser_t*’ [-fpermissive]
467 | (sval) = RTYPEDDATA_GET_DATA(result); \
| ~~~~~~...
byroot (Jean Boussier)
10:29 AM Bug #19969: Regression of memory usage with Ruby 3.1
As a note, this repro code is very "lucky" to trigger a `dup` after removing 99.99% of the elements.
I suppose it's done that way to make the effect very clear though.
Without the `- [0]` the same problem occurs on 3.0:
```
$ ruby -v...
Eregon (Benoit Daloze)
10:02 AM Revision d898e8d6 (git): Refactor rb_shape_transition_shape_capa out
Right now the `rb_shape_get_next` shape caller need to
first check if there is capacity left, and if not call
`rb_shape_transition_shape_capa` before it can call `rb_shape_get_next`.
And on each of these it needs to checks if we got a T...
byroot (Jean Boussier)
09:55 AM Bug #19994 (Closed): Seemingly require causes segfault??
With commit:c8d4b103a9 , trying to execute stringex-2.8.6 https://github.com/rsl/stringex/releases/tag/v2.8.6 testsuite seems to cause ruby segfault.
Trying to minimize code, the following causes segfault for almost all time (about 90%)...
mtasaka (Mamoru TASAKA)
07:17 AM Revision c2a81416 (git): NEWS entry for M:N thread scheduler.
ko1 (Koichi Sasada)
07:05 AM Revision 4abf6cde (git): Update default gems list at 8cd6c65af13ce1ce5ec1b9bd7b8a12 [ci skip]
git[bot]
07:04 AM Revision 8cd6c65a (git): [ruby/stringio] Development of 3.1.0 started.
https://github.com/ruby/stringio/commit/a2f8ef1a6a Sutou Kouhei
06:42 AM Revision 8da33bff (git): [ruby/irb] Skip TypeCompletion test in ruby ci
(https://github.com/ruby/irb/pull/748)
https://github.com/ruby/irb/commit/d394af0bbc
tompng (tomoya ishida)
06:39 AM Revision 7f565b92 (git): Prevent a warning: assigned but unused variable - raised_exception
mame (Yusuke Endoh)
06:19 AM Revision 7c731b5f (git): NEWS entry for new TracePoint event `rescue`
ko1 (Koichi Sasada)
04:02 AM Revision 4da63336 (git): Export functions used for builtins
nobu (Nobuyoshi Nakada)
02:48 AM Revision 906f6cfe (git): Bump ruby/setup-ruby from 1.159.0 to 1.160.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.159.0 to 1.160.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/54a18e26dbbb1eabc604f317ade9a5788d...
dependabot[bot]
02:46 AM Revision e3440104 (git): [ruby/irb] Type based completion using Prism and RBS
(https://github.com/ruby/irb/pull/708)
* Add completor using prism and rbs
* Add TypeCompletion test
* Switchable completors: RegexpCompletor and TypeCompletion::Completor
* Add completion info to irb_info
* Complete reserved words
...
tompng (tomoya ishida)
02:04 AM Feature #19972 (Assigned): Install default/bundled gems into dedicated directories
hsbt (Hiroshi SHIBATA)
01:54 AM Misc #19980: Is the Ruby 3.3 ABI frozen?
For now, there is no agreement/practice to freeze the ABI before its release. Therefore, it is possible that changes may be made even a day before the official release.
If we were to freeze the ABI, @naruse, the release manager, would...
mame (Yusuke Endoh)
01:35 AM Feature #19370: Anonymous parameters for blocks?
We discussed this issue and #19983 at the dev meeting.
* Only method arguments can be delegated by `foo(*)`.
* It should raise a SyntaxError to use `foo(*)` in a block that accepts `*` explicitly.
* It is allowed to use `foo(*)` in ...
mame (Yusuke Endoh)
12:47 AM Feature #19324: Enumerator.product => Enumerable#product
Discussed at the dev meeting. @knu will respond, but I'll give you just an overview of the discussion.
* We do not remove `Enumerator.product`.
* We may add `Enumerable#product` that returns an Array (not an Enumerator)
* because ...
mame (Yusuke Endoh)
12:46 AM Revision 7ed37388 (git): [ruby/stringio] Add missing row separator encoding conversion
(https://github.com/ruby/stringio/pull/69)
The conversion logic is borrowed from ruby/ruby's io.c:
https://github.com/ruby/ruby/blob/40391faeab608665da87a05c686c074f91a5a206/io.c#L4059-L4079
Fix ruby/stringio#68
Reported by IWAMOTO Ko...
Sutou Kouhei
12:37 AM Feature #18915: New error class: NotImplementedYetError or scope change for NotImplementedError
Discussed at the dev meeting. This is tentative, but @matz said:
* I don't want to change the documentation of `NotImplementedError`.
* `NotImplementedYetError` is too confusing with `NotImplementedError`.
* `ToBeDefinedError` or so...
mame (Yusuke Endoh)
12:30 AM Revision 2f079636 (git): Update default gems list at ce8301084f661f8a22b36bc6f7207b [ci skip]
git[bot]
12:26 AM Revision ce830108 (git): [ruby/strscan] Bump version
https://github.com/ruby/strscan/commit/1b3393be05 Sutou Kouhei
12:25 AM Revision 9c2e0d49 (git): [ruby/fiddle] Remove garbage
https://github.com/ruby/fiddle/commit/bbcb66e16e Sutou Kouhei
12:25 AM Revision c19ea106 (git): [ruby/fiddle] Include stdbool.h explicitly for old Ruby
https://github.com/ruby/fiddle/commit/74a05fb358 Sutou Kouhei
12:25 AM Revision 2a6d6d3d (git): [ruby/fiddle] Use Ruby's true/false for C bool
GitHub: fix https://github.com/ruby/fiddle/pull/130
Reported by Benoit Daloze. Thanks!!!
https://github.com/ruby/fiddle/commit/2640e0148e
Sutou Kouhei
12:25 AM Revision d30ea583 (git): CI: Change the openssl_fips.cnf.tmpl and openssl_fips.cnf directories.
Jun Aruga
12:17 AM Revision c8d4b103 (git): [ruby/irb] Fix dancing-ruby Ctrl+C stop
(https://github.com/ruby/irb/pull/735)
https://github.com/ruby/irb/commit/802b1cb6d8
tompng (tomoya ishida)
12:04 AM Revision d8e0337d (git): Escape the target string to be checked
Comparing file paths as strings may not work well for some reasons,
symlink, relative `__FILE__`, etc.
Some alternatives are possible: comparing with `File.realpath`, or
with `File.identical?`, it should be most robust to escape the tar...
nobu (Nobuyoshi Nakada)
12:04 AM Revision e6e4b488 (git): [rubygems/rubygems] Hack to get `Gem::Specification#extensions_dir` documented
https://github.com/rubygems/rubygems/commit/625b8293f7 deivid (David Rodríguez)
12:04 AM Revision 9afd2957 (git): [rubygems/rubygems] Simplify spec wording and implementation
https://github.com/rubygems/rubygems/commit/3e7f1379fb deivid (David Rodríguez)
12:04 AM Revision 9f67118d (git): [rubygems/rubygems] Simplify selecting specs with `force_ruby_platform` set
https://github.com/rubygems/rubygems/commit/5f90a43635
Co-authored-by: Martin Emde <martin.emde@gmail.com>
deivid (David Rodríguez)
12:04 AM Revision a131ea39 (git): [rubygems/rubygems] Better error when having an insecure install folder
https://github.com/rubygems/rubygems/commit/e41156e272 deivid (David Rodríguez)
12:04 AM Revision 05ea3bcf (git): [rubygems/rubygems] Remove redundant error class
It's a `BundlerError`.
https://github.com/rubygems/rubygems/commit/53ea676dab
deivid (David Rodríguez)
12:04 AM Revision 5b076e00 (git): [rubygems/rubygems] Fix regression on old git versions
https://github.com/rubygems/rubygems/commit/abd91ca2e5 deivid (David Rodríguez)
12:04 AM Revision 7f7a7f13 (git): [rubygems/rubygems] Don't show bug report template when GEM_HOME has no writable bit
Instead, don't check that at all and proceed. If something fails to be
written inside GEM_HOME, we'll eventually fail with a proper permissions
error.
In addition to that, the writable bit in GEM_HOME is not even reliable,
because only ...
deivid (David Rodríguez)
12:04 AM Revision 2d719cd1 (git): [rubygems/rubygems] Remove unnecessary rescue
https://github.com/rubygems/rubygems/commit/c0b549f943 deivid (David Rodríguez)
12:04 AM Revision ca7444cc (git): [rubygems/rubygems] Allow `--install-dir` to be specified together with `--user-install`
The combination of `install-dir` and `--user-install` used to be
disabled for no good reason. This even makes problem on Linux
distributions such as Fedora, where `--user-install` is set by default
via operating_system.rb.
The `--instal...
Vít Ondruch
12:04 AM Revision bd5368fd (git): [rubygems/rubygems] Don't use `util_installer` for user install
It is not nice to require install directory to be always specified,
while this option is later ignored for user installed gems.
Actually, the next step will be to remove `check_install_dir` check and
let the install dir override the use...
Vít Ondruch
12:04 AM Revision d0ad90df (git): [rubygems/rubygems] Check for `:install_dir` precedence over `:user_install`
https://github.com/rubygems/rubygems/commit/6539da07aa Vít Ondruch
12:04 AM Revision 42cf1307 (git): [rubygems/rubygems] Make the user installation less exceptional
The main purpose is to put handling of user installation into the same
place as e.g. handling the --build-root option handling. There is no
reason why the --build-root option should not prefix also paths used for
user installation.
Plea...
Vít Ondruch
12:04 AM Revision acd428c8 (git): [rubygems/rubygems] Remove kludge that should be unnecessary.
https://github.com/rubygems/rubygems/commit/f1d44ecb62 Ellen Marie Dash
12:04 AM Revision 55840d0a (git): [rubygems/rubygems] Allow test_gem_install_update_options to raise Errno::ACCES, in addition to Gem::FilePermissionError.
https://github.com/rubygems/rubygems/commit/784fe2a814 Ellen Marie Dash
12:04 AM Revision d12e8810 (git): [flori/json] Enhanced RDoc for Range extensions
https://github.com/flori/json/commit/ec47749b53 burdettelamar (Burdette Lamar)

11/07/2023

11:50 PM Revision 7367336c (git): YJIT: Fix assert in OOM scenario
We still need to do `jit.record_boundary_patch_point = false`
when gen_outlined_exit() returns `None` and we return with `?`.
Previously, we tripped the assert at codegen.rs:1042.
Found with `--yjit-exec-mem-size=3` on the lobsters benc...
alanwu (Alan Wu)
10:43 PM Revision a1c61f0a (git): YJIT: Use u32 for CodePtr to save 4 bytes each
We've long had a size restriction on the code memory region such that a
u32 could refer to everything. This commit capitalizes on this
restriction by shrinking the size of `CodePtr` to be 4 bytes from 8.
To derive a full raw pointer fro...
alanwu (Alan Wu)
10:39 PM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
@nobu Yes, at least in initial tests. A universal ruby built on an x86 Mac with that patch seems to work on an Apple Silicon Mac. ccaviness (Clay Caviness)
09:28 PM Bug #19992: Seemingly GC causes double free for regparse
This should be fixed by this PR: https://github.com/ruby/ruby/pull/8813
The easy reproduction is
```
10_000.times do
Regexp.new(Regexp.new("(?<name>)"))
end
```
HParker (Adam Hess)
02:41 PM Bug #19992 (Closed): Seemingly GC causes double free for regparse
Using ruby3.3.0dev (now I've tried commit:ced84beb2518d173988bb92c6d96aa854a35abe6 ), trying to execute rubygem-addressable 2.8.5 ( https://github.com/sporkmonger/addressable/releases/tag/addressable-2.8.5 ) testsuite causes ruby segfaul... mtasaka (Mamoru TASAKA)
08:48 PM Revision aa6642de (git): Use embedded TypedData for Time objects
This drops the total size of a Time object from 86 bytes to 80 bytes.
Running the benchmark benchmark/time_now.yml, this commit improves
performance of Time.now by about 30%:
```
Time.now
Branch: 13159405.4 i/s
Master: 10036908.7 i...
peterzhu2118 (Peter Zhu)
08:48 PM Revision 392238e3 (git): Implement embedded TypedData objects
This commit adds a new flag RUBY_TYPED_EMBEDDABLE that allows the data
of a TypedData object to be embedded after the object itself. This will
improve cache locality and allow us to save the 8 byte data pointer.
Co-Authored-By: Jean Bou...
peterzhu2118 (Peter Zhu)
06:15 PM Revision bc07b0b9 (git): [PRISM] Implement compilation for different parameters
This commit compiles most parameter types, setting appropriate values on
the ISEQ_BODY. It also adds tests for callers and callees of methods,
using many versions of tests from bootstraptest
jemmai (Jemma Issroff)
06:08 PM Bug #19989 (Closed): Fix refinement refine performance
jeremyevans0 (Jeremy Evans)
05:56 PM Bug #19989: Fix refinement refine performance
OK, thanks. Make sense. Feel free to close this. bkuhlmann (Brooke Kuhlmann)
02:37 PM Bug #19989: Fix refinement refine performance
> Maybe this is the wrong way to tackle the problem and I should be using a different benchmark?
Yes, the performance of `refine` itself should be irrelevant, it's paid once during startup (unless it would amount to taking a significa...
Eregon (Benoit Daloze)
05:46 PM Revision d9d09381 (git): YJIT: update yjit.md, add MPLR 2023 paper and bibtex (#8861)
* YJIT: update yjit.md, add MPLR 2023 paper and bibtex
* Update doc/yjit/yjit.md
maximecb (Maxime Chevalier-Boisvert)
03:59 PM Revision 1910bd42 (git): String for string literal is not resizable
nobu (Nobuyoshi Nakada)
03:54 PM Revision 9877f3ad (git): YJIT: Inline basic Ruby methods (#8855)
* YJIT: Inline basic Ruby methods
* YJIT: Fix "InsnOut operand made it past register allocation"
checktype should not generate a useless instruction.
k0kubun (Takashi Kokubun)
03:49 PM Revision a294bb84 (git): YJIT: handle out of shape situation in gen_setinstancevariable (#8857)
If the VM ran out of shape, `rb_shape_transition_shape_capa` might
return `OBJ_TOO_COMPLEX_SHAPE`.
Co-authored-by: Jean Boussier <byroot@ruby-lang.org>
Jean byroot Boussier
03:39 PM Revision 96557bc2 (git): Update default gems list at e8ef010a8106785797f9a863df2e3a [ci skip]
git[bot]
03:38 PM Revision e8ef010a (git): [ruby/reline] Bump version to 0.4.0
(https://github.com/ruby/reline/pull/601)
https://github.com/ruby/reline/commit/d15ab72d4f
ima1zumi (Mari Imaizumi)
02:31 PM Feature #14602: Version of dig that raises error if a key is not present
I like `deep_fetch` too. Eregon (Benoit Daloze)
02:19 PM Revision 1cfc853b (git): Suppress nonnull warning from gcc 13
nobu (Nobuyoshi Nakada)
02:19 PM Revision 8becc889 (git): Suppress array-bounds warnings from gcc 13
nobu (Nobuyoshi Nakada)
02:19 PM Revision f2d6b41c (git): Ignore warnings about currently unsupported .debug_macinfo
nobu (Nobuyoshi Nakada)
02:19 PM Revision 6031fdc6 (git): Select proper dsymutil for gcc 13
nobu (Nobuyoshi Nakada)
02:19 PM Revision f8456b65 (git): Ignore duplicate libraries warnings from gcc 13
nobu (Nobuyoshi Nakada)
02:03 PM Revision e7bdd9e4 (git): [PRISM] Move Local table setup into EnsureNode compilation
eightbitraptor (Matt V-H)
02:03 PM Revision b7d5a63b (git): [PRISM] Don't generate leave insns for Ensure nodes
eightbitraptor (Matt V-H)
02:03 PM Revision 8ef7f273 (git): [PRISM] CompileEnsureNode
eightbitraptor (Matt V-H)
02:03 PM Revision 237b85c2 (git): [PRISM] PM_COMPILE into a specified LINK_ANCHOR
eightbitraptor (Matt V-H)
11:57 AM Bug #19928: IPV6 nameserver issues: "Protocol not supported - socket(2) - udp"
Hmm. The resolver is already catching `Errno::EAFNOSUPPORT` for this, but I guess `Errno::EPROTONOSUPPORT` can happen as well (is this a BSD vs linux thing, I wonder?) - see https://github.com/ruby/resolv/blob/b28a2665cd87c4749096ab5201b... kjtsanaktsidis (KJ Tsanaktsidis)
11:40 AM Bug #19922: ObjectSpace.dump_all in multiple threads in parallel causes SEGV
I think your diagnosis is correct, and that https://github.com/ruby/ruby/pull/8858 should fix this - does it look reasonable to you? kjtsanaktsidis (KJ Tsanaktsidis)
11:27 AM Bug #19990: Could we reconsider the second argument to Kernel#load?
Yes, besides the `module` and `class` keywords, the other thing that can change the nesting is the `eval STRING` family. For example,
```
>> String.class_eval 'Module.nesting'
=> [String]
> ...
=> [#<Class:String>]
>> ''.instance_...
fxn (Xavier Noria)
09:57 AM Bug #19990: Could we reconsider the second argument to Kernel#load?
Because of the reasons you identify, `Kernel#load` is absolutely not some kind of general module containerisation feature (of the kind perhaps envisaged by https://bugs.ruby-lang.org/issues/19744). But I think it does have a _limited_ us... kjtsanaktsidis (KJ Tsanaktsidis)
10:22 AM Revision ced84beb (git): [ruby/cgi] Add snake case aliases for escapeURIComponent
As agreed in [Feature #18822]
https://github.com/ruby/cgi/commit/9d1161ec9d
byroot (Jean Boussier)
09:23 AM Bug #19991 (Closed): rb_register_postponed_job async-signal-unsafety causes crash in GC
Our production application experienced an interpreter crash today that I’m fairly sure is the result of a bug in the `rb_register_postponed_job` infrastructure.
## Diagnosis
I’ve attached a more complete version of the crash dump, ...
kjtsanaktsidis (KJ Tsanaktsidis)
09:11 AM Revision f8ffe907 (git): Added racc to warning targets of bundled gems
hsbt (Hiroshi SHIBATA)
08:52 AM Revision 803aa5b4 (git): Update default gems list at 3d5fef77125a99458767c80347c01f [ci skip]
git[bot]
08:50 AM Revision 3d5fef77 (git): [ruby/zlib] Bump up 3.1.0
https://github.com/ruby/zlib/commit/2561e122ac hsbt (Hiroshi SHIBATA)
08:47 AM Revision 79544157 (git): [ruby/zlib] Support Ruby 2.5+ again
https://github.com/ruby/zlib/commit/661ea3ec5f hsbt (Hiroshi SHIBATA)
08:30 AM Revision 65ca3205 (git): Update default gems list at 123b2e2fb493618260dffca0dedbf6 [ci skip]
git[bot]
08:29 AM Revision 123b2e2f (git): [ruby/cgi] Bump up 0.4.0
https://github.com/ruby/cgi/commit/6ddd5fc7d7 hsbt (Hiroshi SHIBATA)
08:09 AM Bug #19985: Confusing error message when nonexistent `Pathname` for `require`
note: also needs backporting b5c74d54887 usa (Usaku NAKAMURA)
07:56 AM Revision 5a2779d4 (git): Update default gems list at fbb63605c4dc9d0dbff3ba819bc78d [ci skip]
git[bot]
07:55 AM Revision fbb63605 (git): [ruby/pathname] Bump up 0.3.0
https://github.com/ruby/pathname/commit/f3d23679b0 hsbt (Hiroshi SHIBATA)
07:38 AM Revision 51ba406f (git): Update default gems list at b13d00a7c0e9795b4bdeaeffe2b7c2 [ci skip]
git[bot]
07:37 AM Revision b13d00a7 (git): [ruby/open-uri] Bump up 0.4.0
https://github.com/ruby/open-uri/commit/09df813305 hsbt (Hiroshi SHIBATA)
07:33 AM Revision 5d09d948 (git): Update default gems list at 31dfebccbf758d27f7c72223434ffc [ci skip]
git[bot]
07:32 AM Revision 31dfebcc (git): [ruby/English] Bump up 0.8.0
https://github.com/ruby/English/commit/826ff728cf hsbt (Hiroshi SHIBATA)
07:24 AM Revision 78e07e29 (git): [ruby/English] Combine duplicate aliases into single sections to more clearly denote sameness and make more concise.
https://github.com/ruby/English/commit/dcff090f6f keithrbennett (Keith Bennett)
07:16 AM Revision 1f2796d0 (git): Update default gems list at 9857499d3dc4a1777f66951e88a269 [ci skip]
git[bot]
07:15 AM Revision 9857499d (git): [ruby/fileutils] Bump up 1.7.2
https://github.com/ruby/fileutils/commit/577fd38f15 hsbt (Hiroshi SHIBATA)
07:02 AM Revision 8a822a98 (git): Update default gems list at 3ac15f7e5791fb0f9307312f002286 [ci skip]
git[bot]
07:01 AM Revision 3ac15f7e (git): [ruby/base64] Bump up 0.2.0
https://github.com/ruby/base64/commit/09e839e5ad hsbt (Hiroshi SHIBATA)
06:59 AM Revision 48d8f62c (git): [ruby/base64] Enhanced Rdoc for Base64
(https://github.com/ruby/base64/pull/7)
* Enhanced Rdoc for Base64
* Enhanced RDoc for Base64
https://github.com/ruby/base64/commit/155c39a949
burdettelamar (Burdette Lamar)
06:56 AM Revision 91be1f67 (git): Update default gems list at d63c29ceca1652e6c73b282a48a42d [ci skip]
git[bot]
06:55 AM Revision d63c29ce (git): [ruby/fcntl] Bump up 1.1.0
https://github.com/ruby/fcntl/commit/fe780abe07 hsbt (Hiroshi SHIBATA)
06:37 AM Revision 84b2a6ad (git): [ruby/drb] Removed old version on doc section
https://github.com/ruby/drb/commit/104f1a4db3 hsbt (Hiroshi SHIBATA)
06:36 AM Revision ef3feae8 (git): [ruby/drb] Load DRb::VERSION automatically
https://github.com/ruby/drb/commit/b250502c43 hsbt (Hiroshi SHIBATA)
06:36 AM Feature #19982: Bump required Visual Studio version to 2015 after 3.3
It's ok.
Thank you for letting us know.
usa (Usaku NAKAMURA)
06:35 AM Revision 8d562609 (git): [ruby/logger] [DOC] Fix broken link
https://github.com/ruby/logger/commit/8c135bce9a burdettelamar (Burdette Lamar)
06:30 AM Revision 42325aa8 (git): Ease the `Encoding::CompatibilityError` test failure
At the time this test first started using `assert_raise_with_message`,
it did not touch `Encoding.default_internal`.
nobu (Nobuyoshi Nakada)
06:29 AM Revision 77f90867 (git): [ruby/timeout] tests for blank seconds
https://github.com/ruby/timeout/commit/54bc7639d2 jjb (John Bachir)
06:17 AM Revision 3059a9d1 (git): Update default gems list at 01d86818ff56720f479ceabc38c36e [ci skip]
git[bot]
06:16 AM Revision 01d86818 (git): [ruby/ostruct] Bump up 0.6.0
https://github.com/ruby/ostruct/commit/0985296e72 hsbt (Hiroshi SHIBATA)
05:54 AM Revision f0ee5998 (git): Update default gems list at eaf0ca4cfe7d7b53c3812b593a5e49 [ci skip]
git[bot]
05:52 AM Revision eaf0ca4c (git): [ruby/win32ole] Bump up 1.8.10
https://github.com/ruby/win32ole/commit/9a18f388a9 hsbt (Hiroshi SHIBATA)
05:41 AM Revision fbd22346 (git): Update default gems list at 65e1f918d9bc549045906bc16855f1 [ci skip]
git[bot]
05:40 AM Revision 65e1f918 (git): [ruby/drb] Bump up 2.2.0
https://github.com/ruby/drb/commit/c62076f940 hsbt (Hiroshi SHIBATA)
05:35 AM Revision e584a619 (git): [ruby/bigdecimal] fixed docs for .scale
the scale of `1` is actually 0
https://github.com/ruby/bigdecimal/commit/9a8bc9c417
Tim Kretschmer
05:32 AM Revision f0abe610 (git): [ruby/bigdecimal] Update doc for bigdecimal/util
Follow up https://github.com/ruby/bigdecimal/issues/89.
`BigDecimal.new` has already been removed. This PR replaces `BigDecimal.new` with
`Kernel.BigDecimal` in the documentation, following the message below:
> BigDecimal.new is deprec...
koic (Koichi ITO)
05:18 AM Revision 8ac6b2ec (git): Update default gems list at 7d2d0f054f6fcbf04f20baec261cdd [ci skip]
git[bot]
05:17 AM Revision 7d2d0f05 (git): [ruby/logger] Bump up 1.6.0
https://github.com/ruby/logger/commit/0996f90650 hsbt (Hiroshi SHIBATA)
05:11 AM Revision 6b2c10ba (git): Update default gems list at 360607c7f1bb1cd75a882d4cbf6366 [ci skip]
git[bot]
05:09 AM Revision 360607c7 (git): [ruby/time] Bump up 0.3.0
https://github.com/ruby/time/commit/8dba14997c hsbt (Hiroshi SHIBATA)
04:57 AM Revision f5df3b45 (git): Update default gems list at acf0f8551e6acc4f14143433e798c5 [ci skip]
git[bot]
04:56 AM Revision acf0f855 (git): [ruby/timeout] Bump up 0.4.1
https://github.com/ruby/timeout/commit/a65e49cc31 hsbt (Hiroshi SHIBATA)
04:45 AM Revision f26e89c4 (git): [ruby/timeout] nested exception tests for discussion
https://github.com/ruby/timeout/commit/3e42aa4d84 jjb (John Bachir)
04:38 AM Revision d6f5c275 (git): Update default gems list at 027f0a4564e64f888ab9d2c1e5546a [ci skip]
git[bot]
04:37 AM Revision 027f0a45 (git): [ruby/delegate] Bump up 0.3.1
https://github.com/ruby/delegate/commit/d4bdf89328 hsbt (Hiroshi SHIBATA)
04:22 AM Revision b1413cb3 (git): Update default gems list at c3a11f1cfc9b5da62a45246e40aaac [ci skip]
git[bot]
04:21 AM Revision c3a11f1c (git): [ruby/securerandom] Bump up 0.3.0
https://github.com/ruby/securerandom/commit/12c4ef3ea1 hsbt (Hiroshi SHIBATA)
04:17 AM Revision 5f00e679 (git): Update default gems list at da2cf947bc9580a8d188ccfeae5588 [ci skip]
git[bot]
04:16 AM Revision da2cf947 (git): [ruby/date] Bump up 3.3.4
https://github.com/ruby/date/commit/50e18d2684 hsbt (Hiroshi SHIBATA)
04:08 AM Revision 57181726 (git): Update default gems list at eb4dd7001fd1e5a6e39a9a215c4c4f [ci skip]
git[bot]
04:06 AM Revision eb4dd700 (git): [ruby/net-protocol] Bump up 0.2.2
https://github.com/ruby/net-protocol/commit/2d3c4b43a8 hsbt (Hiroshi SHIBATA)
03:57 AM Revision 7149b534 (git): Update default gems list at 0c55886fc2aad1688dbbb116803f36 [ci skip]
git[bot]
03:54 AM Revision 0c55886f (git): [ruby/tempfile] Bump up 0.2.0
https://github.com/ruby/tempfile/commit/d6ddf7881e hsbt (Hiroshi SHIBATA)
03:53 AM Revision b94c407f (git): [ruby/find] Bump up 0.2.0
https://github.com/ruby/find/commit/192237e766 hsbt (Hiroshi SHIBATA)
03:48 AM Revision 687c3cfb (git): Update default gems list at b4901d54a5f89525de98a8775d4233 [ci skip]
git[bot]
03:47 AM Revision b4901d54 (git): [ruby/getoptlong] Bump up 0.2.1
https://github.com/ruby/getoptlong/commit/f49629dfaa hsbt (Hiroshi SHIBATA)
03:43 AM Revision 7832a52c (git): Update default gems list at bf330853404b38c857d6c08bbc23f4 [ci skip]
git[bot]
03:42 AM Revision bf330853 (git): [ruby/observer] Bump up 0.1.2
https://github.com/ruby/observer/commit/6c978e6196 hsbt (Hiroshi SHIBATA)
03:11 AM Revision caa7a4f7 (git): Update default gems list at 308d7943666f7aea7926809ee8dc07 [ci skip]
git[bot]
03:10 AM Revision 308d7943 (git): [ruby/pstore] Bump up 0.1.3
https://github.com/ruby/pstore/commit/6d5c0833e7 hsbt (Hiroshi SHIBATA)
02:53 AM Revision ff48d195 (git): Update default gems list at eeaa2cdba2913096b14d4319804faf [ci skip]
git[bot]
02:52 AM Revision eeaa2cdb (git): [ruby/mutex_m] Bump up 0.2.0
https://github.com/ruby/mutex_m/commit/635da25a09 hsbt (Hiroshi SHIBATA)
02:40 AM Revision ed30d7e7 (git): Update default gems list at ad81af22d4a1a24c3a63a960d558d0 [ci skip]
git[bot]
02:39 AM Revision ad81af22 (git): [ruby/tmpdir] Bump up 0.2.0
https://github.com/ruby/tmpdir/commit/8bbd87c8ac hsbt (Hiroshi SHIBATA)
02:33 AM Revision 65d6861e (git): Update default gems list at f32c5e1c94682537f38f29889da454 [ci skip]
git[bot]
02:32 AM Revision f32c5e1c (git): [ruby/open3] Bump up 0.2.0
https://github.com/ruby/open3/commit/0db9a0afe7 hsbt (Hiroshi SHIBATA)
02:28 AM Revision 94d2958a (git): Update default gems list at 1fdb8ef15623f78a6319c698b166c8 [ci skip]
git[bot]
02:27 AM Revision 1fdb8ef1 (git): [ruby/rinda] Bump up 0.2.0
https://github.com/ruby/rinda/commit/f6d76b3927 hsbt (Hiroshi SHIBATA)
02:00 AM Revision ec390f1d (git): Update default gems list at d9f1211a2f2dbb37441f12c6bcdfa5 [ci skip]
git[bot]
01:59 AM Revision d9f1211a (git): [ruby/tsort] Bump up 0.2.0
https://github.com/ruby/tsort/commit/2b3fe78646 hsbt (Hiroshi SHIBATA)
01:47 AM Revision daf8b7ef (git): Update default gems list at c9ee600cef88751aeda89e90fc25ac [ci skip]
git[bot]
01:46 AM Revision c9ee600c (git): [ruby/weakref] Bump up 0.1.3
https://github.com/ruby/weakref/commit/f763384744 hsbt (Hiroshi SHIBATA)
01:45 AM Revision 304194d7 (git): Remove files which are newly added but to be ignored
nobu (Nobuyoshi Nakada)
01:42 AM Revision a3282285 (git): Update default gems list at 3f33bfa1e51afc916250e7a7a93e59 [ci skip]
git[bot]
01:40 AM Revision 3f33bfa1 (git): [ruby/optparse] Bump up 0.4.0
https://github.com/ruby/optparse/commit/acbf6e3e12 hsbt (Hiroshi SHIBATA)
01:11 AM Revision 3f00a606 (git): Update default gems list at e8fda04d0a5e96e7425259fc4c3d15 [ci skip]
git[bot]
01:10 AM Revision e8fda04d (git): [ruby/prettyprint] Bump up 0.2.0
https://github.com/ruby/prettyprint/commit/5ea64f43fa hsbt (Hiroshi SHIBATA)
01:01 AM Revision 0a1c81a3 (git): Update default gems list at 0ac39f226dc847cd4bd9211da17fa7 [ci skip]
git[bot]
01:00 AM Revision 0ac39f22 (git): [ruby/pp] Bump up 0.5.0
https://github.com/ruby/pp/commit/6e086e6df9 hsbt (Hiroshi SHIBATA)
12:56 AM Revision 31c36a44 (git): Skip example for 07df8a5d5ee725eee00632717ea4deead5fc783b
hsbt (Hiroshi SHIBATA)
12:41 AM Revision 07df8a5d (git): [ruby/English] Remove `$IGNORECASE`
`$=` has been obsolete and has no effect since 1.9.
https://github.com/ruby/English/commit/121939695a
nobu (Nobuyoshi Nakada)
12:37 AM Feature #15554 (Open): warn/error passing a block to a method which never use a block
hsbt (Hiroshi SHIBATA)

11/06/2023

07:52 PM Misc #19925: DevMeeting-2023-11-07
* [Misc #19980] Is the Ruby 3.3 ABI frozen? (flavorjones)
* Is the Ruby 3.3 ABI frozen now? If a native gem is built against Ruby 3.3.0_preview2, is there any reason to believe that it wouldn't work with Ruby 3.3 final when it is rele...
mdalessio (Mike Dalessio)
02:31 PM Misc #19925: DevMeeting-2023-11-07
* [Feature #14602] Version of dig that raises error if a key is not present (sinsoku)
* The last comment (one before mine) was a year ago, so I think all the method name candidates have come up.
* Would you like to choose one from ...
sinsoku (Takumi Shotoku)
11:32 AM Misc #19925: DevMeeting-2023-11-07
* [Feature #19979] Allow methods to declare that they don't accept a block via `&nil` (ufuk)
* Can we reconsider the introduction of `&nil` as a signal to declare that a method does not accept a block?
* This would make many public...
ufuk (Ufuk Kayserilioglu)
05:45 AM Misc #19925: DevMeeting-2023-11-07
* [Feature #19985] Support `Pathname` for `require`
* Should we support that?
hsbt (Hiroshi SHIBATA)
07:39 PM Feature #19965 (Closed): Make the name resolution interruptible
Applied in changeset commit:git|d0066211f2052bf1444ffeb11544860a12cebff2.
----------
Detach a pthread after pthread_setaffinity_np
After a pthread for getaddrinfo is detached, we cannot predict when the
thread will exit. It would lead ...
mame (Yusuke Endoh)
11:50 AM Feature #19965: Make the name resolution interruptible
I guess https://github.com/ruby/ruby/pull/8852 will solve the issue. mame (Yusuke Endoh)
11:16 AM Feature #19965: Make the name resolution interruptible
Actually, I saw the same problem with CI on RedHat on s390x.
https://rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20231025T093302Z.fail.html.gz
```
-- C level backtrace information -------------------------------------------
...
mame (Yusuke Endoh)
11:06 AM Feature #19965: Make the name resolution interruptible
Important note: in our environment we do fork a lot, so it's not impossible that the cause may be the that the thread in dead. byroot (Jean Boussier)
11:05 AM Feature #19965 (Assigned): Make the name resolution interruptible
@byroot Thanks! Maybe I'm misunderstanding the usage of `pthread_setaffinity_np`. I'll check it out. If I don't understand it, I'll stop using `pthread_setaffinity_np`. mame (Yusuke Endoh)
09:08 AM Feature #19965: Make the name resolution interruptible
@mame we just ran into a crash on our `ruby-head` nightly CI that seem related:
```
/app/components/platform/essentials/lib/http_host_restriction.rb:50: [BUG] Segmentation fault at 0x00007ff23f795910
ruby 3.3.0dev (2023-11-06T03:01:...
byroot (Jean Boussier)
07:39 PM Revision 49b6dc8f (git): Prevent cpu_set_t overflow even if there are more than 63 cores
Do not use `pthread_attr_setaffinity_np` if `sched_getcpu()` exceeds
`CPU_SETSIZE`. (Using `CPU_ALLOC()` would be more appropriate.)
mame (Yusuke Endoh)
07:39 PM Revision deb6dd76 (git): Fix a memory leak
pointed by @nobu mame (Yusuke Endoh)
07:39 PM Revision dc636fec (git): Use pthread_attr_setaffinity_np instead of pthread_setaffinity_np
mame (Yusuke Endoh)
07:39 PM Revision d0066211 (git): Detach a pthread after pthread_setaffinity_np
After a pthread for getaddrinfo is detached, we cannot predict when the
thread will exit. It would lead to a segfault by setting
pthread_setaffinity to the terminated pthread. I guess this problem
would be more likely to occur in high-l...
mame (Yusuke Endoh)
07:39 PM Revision 15560cce (git): Revert "Do not use pthread_setaffinity_np on s390x"
This reverts commit de82439215dd2770ef9a3a2cf5798bdadb788533. mame (Yusuke Endoh)
05:46 PM Revision ee25ac49 (git): [DOC] Use a relative link like other links
following up on https://github.com/ruby/ruby/pull/8832 k0kubun (Takashi Kokubun)
05:43 PM Bug #19984: `make test-bundler-parallel` fails with ` --enable-shared`
jaruga (Jun Aruga) wrote in #note-4:
> vo.x (Vit Ondruch) wrote in #note-2:
> ...

Yes, there is Ruby installed, so I would not be surprised if `BASERUBY` is used to run the test suite. But there is not enough details in the log.
...
vo.x (Vit Ondruch)
02:36 PM Bug #19984: `make test-bundler-parallel` fails with ` --enable-shared`
vo.x (Vit Ondruch) wrote in #note-2:
> jaruga (Jun Aruga) wrote in #note-1:
> ...
Okay. I see.
Interestingly the `make test-bundler-parallel` passes in the latest master branch in Ubuntu on GitHub Actions. I suppose that there is a ...
jaruga (Jun Aruga)
05:26 PM Feature #19972: Install default/bundled gems into dedicated directories
Dan0042 (Daniel DeLorme) wrote in #note-5:
> I'm not against the idea, but there's already quite few a directories for ruby libraries and TBH it's getting a bit confusing.
> ...
These are for Ruby *libraries* as you say. Not for gems. ...
vo.x (Vit Ondruch)
03:36 PM Feature #19972: Install default/bundled gems into dedicated directories
I'm not against the idea, but there's already quite few a directories for ruby libraries and TBH it's getting a bit confusing.
lib/ruby/3.2.0
lib/ruby/gems/3.2.0
lib/ruby/site_ruby/3.2.0/x86_64-linux
lib/ruby/vendor_ruby/3.2.0/x86_...
Dan0042 (Daniel DeLorme)
05:19 PM Bug #19990: Could we reconsider the second argument to Kernel#load?
And to help people not familiar with nesting and the constant resolution algorithms explore the ramifications, another example that looks even more innocent:
```ruby
X = 1
class C
X = 2
end
class D < C
p X
end
```
That program pr...
fxn (Xavier Noria)
04:05 PM Bug #19990: Could we reconsider the second argument to Kernel#load?
Let me add that example with `::A` is just _one_ way to illustrate lack of transparency.
There are many others, for example:
```ruby
class String # expected to reopen ::String
def foo
end
end
"".foo # expected to work
```
That pr...
fxn (Xavier Noria)
03:44 PM Bug #19990: Could we reconsider the second argument to Kernel#load?
@jeremyevans0 We certainly could consider that.
Perhaps instead of "protect", the documentation could say what is exactly doing. Like, "pushes the module to the nesting, and changes where top-level methods are defined". This written i...
fxn (Xavier Noria)
03:31 PM Bug #19990: Could we reconsider the second argument to Kernel#load?
@fxn is correct that module wrapping offers no protection. We should remove the "protecting the calling program’s global namespace" part. However, the other parts of the documentation are accurate. Just because you are wrapping code i... jeremyevans0 (Jeremy Evans)
01:48 PM Bug #19990: Could we reconsider the second argument to Kernel#load?
Sure, it is public API, so the possibility of people using it is a given. I don't think this is used widely, but anyway, that is why my suggestion includes a deprecation cycle.
> I don't think this is a good change to the documentation
...
fxn (Xavier Noria)
01:26 PM Bug #19990: Could we reconsider the second argument to Kernel#load?
Just two short things:
1) I believe it should be assessed whether this proposed change may
affect existing gems and ruby devs, e. g. how many make use of this
feature. Personally it would not affect me as I do not use the second
paramet...
rubyFeedback (robert heiler)
10:57 AM Bug #19990 (Closed): Could we reconsider the second argument to Kernel#load?
The documentation of `Kernel#load` says:
> If the optional wrap parameter is true, the loaded script will be executed under an anonymous module, protecting the calling program’s global namespace. If the optional wrap parameter is a mo...
fxn (Xavier Noria)
05:13 PM Revision 14bf7164 (git): Revert an unwanted sync from Reline
It wasn't supposed to be sync-ed in:
2dd32e7c3b6904e61b9068596f5e4e82920c1fb0
k0kubun (Takashi Kokubun)
04:10 PM Revision dc911a33 (git): Remove rb_complex_ivar_set
peterzhu2118 (Peter Zhu)
04:10 PM Revision e2ef957c (git): Use general_ivar_set for generic ivars
peterzhu2118 (Peter Zhu)
04:10 PM Revision 18f67591 (git): Use general_ivar_set for Class ivars
peterzhu2118 (Peter Zhu)
04:10 PM Revision 679e98dc (git): Use general_ivar_set for Objects
peterzhu2118 (Peter Zhu)
04:10 PM Revision c747c675 (git): Implement general_ivar_set
peterzhu2118 (Peter Zhu)
03:53 PM Revision 2dd32e7c (git): [ruby/reline] Test Reline::Face without mocking
(https://github.com/ruby/reline/pull/600)
* Test Reline::Face without mocking
Because `test-unit-rr` is not a default gem, using it would break CRuby's
CI.
* Add ruby-core workflow
https://github.com/ruby/reline/commit/d2189ac436
st0012 (Stan Lo)
02:40 PM Revision 16403f41 (git): [ruby/reline] Introduce a new class Reline::Face to configure
character attributes
(https://github.com/ruby/reline/pull/552)
* Reine::Face
* fix test_yamatanooroti
* Define singleton methods to make accessors to attributes of a face
* s/display/foreground/
* s/default/default_style/ && s/norma...
hasumikin (hitoshi hasumi)
02:16 PM Feature #14602: Version of dig that raises error if a key is not present
I agree with [#14602#note-23](https://bugs.ruby-lang.org/issues/14602#note-23).
I think a fetch-based or dig-based name would be better, since the function can be inferred from the method name.
Personally, I feel that **deep_fetch** ...
sinsoku (Takumi Shotoku)
02:01 PM Feature #15554: warn/error passing a block to a method which never use a block
I think this was closed by mistake and should be re-opened. Dan0042 (Daniel DeLorme)
02:00 PM Feature #19979: Allow methods to declare that they don't accept a block via `&nil`
> > It's also a bit similar to `**nil`, which is almost never used.
> ...
If it's not meant to be frequently used, I don't think it's worth adding new syntax. I mean, a new method is fine and can often be backported/polyfilled, but the ...
Dan0042 (Daniel DeLorme)
01:39 PM Revision f6ba87ca (git): [PRISM] Implement compilation for MultiWriteNodes, fix MultiTargetNodes
Compilation now works for MultiWriteNodes and MultiTargetNodes, with
nesting on MultiWrites. See the tests added in this commit for example
behavior.
jemmai (Jemma Issroff)
11:41 AM Bug #19754: `IO::Buffer#get_string` raises unsuitable exception for too large offset
Thanks! ioquatix (Samuel Williams)
11:18 AM Bug #19754: `IO::Buffer#get_string` raises unsuitable exception for too large offset
ruby_3_1 4f7b595815bd75706c276b03c8d445748e869f2e merged revision(s) 19346c2336053b351673da030b00c704138252d8. usa (Usaku NAKAMURA)
11:39 AM Revision 4a6bdbd6 (git): generic_ivar_set: properly check for TOO_COMPLEX on capacity transition
byroot (Jean Boussier)
11:22 AM Bug #19985: Confusing error message when nonexistent `Pathname` for `require`
ruby_3_1 881088e06f092d20a361c9528b2927cdc2b1616c merged revision(s) 4329554f171fdb483cafa672df5f2a08741940c5. usa (Usaku NAKAMURA)
09:15 AM Bug #19985: Confusing error message when nonexistent `Pathname` for `require`
A little explanation.
Actually, the builtin `Kernel#require` has accepted a Pathname object by calling #to_path.
```
$ cat test.rb
puts "Hello"
$ ruby -v --disable-gems -rpathname -e 'require Pathname("./test")'
ruby 3.2.2 (2...
mame (Yusuke Endoh)
09:07 AM Bug #19985 (Closed): Confusing error message when nonexistent `Pathname` for `require`
Applied in changeset commit:git|4329554f171fdb483cafa672df5f2a08741940c5.
----------
[Bug #19985] Raise LoadError with the converted feature name
`Kernel#require` converts feature name objects that have the `to_path`
method such as `Pa...
nobu (Nobuyoshi Nakada)
11:22 AM Revision 881088e0 (git): merge revision(s) 4329554f171fdb483cafa672df5f2a08741940c5: [Backport #19985]
[Bug #19985] Raise LoadError with the converted feature name
`Kernel#require` converts feature name objects that have the `to_path`
method such as `Pathname`, but had used the original object on error
and had res...
U.Nakamura
11:18 AM Revision 4f7b5958 (git): merge revision(s) 19346c2336053b351673da030b00c704138252d8: [Backport #19754]
[Bug #19754] Make `IO::Buffer#get_string` check `offset` range
(#8016)
---
io_buffer.c | 3 +++
test/ruby/test_io_buffer.rb | 8 ++++++++
2 files changed, 11 insertions(+)
U.Nakamura
11:14 AM Bug #18991: False LocalJumpError when branch coverage is enabled
ruby_3_1 d494cf4ddababb80660381e963f910ccacc3f7bc merged revision(s) 4a7d6c2852aa734506be83c932168e8f974687b5. usa (Usaku NAKAMURA)
11:14 AM Revision d494cf4d (git): merge revision(s) 4a7d6c2852aa734506be83c932168e8f974687b5: [Backport #18991]
Fix false LocalJumpError when branch coverage is enabled
`throw TAG_BREAK` instruction makes a jump only if the continuation of
catch of TAG_BREAK exactly matches the instruction immediately following
the "send" ...
U.Nakamura
10:10 AM Revision 66769dcd (git): Update default gems list at 460c7b22934a1cc98915877ef48fbf [ci skip]
git[bot]
10:08 AM Revision 460c7b22 (git): [ruby/uri] Bump up 0.13.0
https://github.com/ruby/uri/commit/b50d37f7a1 hsbt (Hiroshi SHIBATA)
10:04 AM Revision 72bf0e79 (git): Update default gems list at 00e5abae3ffce61970118809b7f7ff [ci skip]
git[bot]
10:03 AM Revision 00e5abae (git): [ruby/yaml] Bump up 0.3.0
https://github.com/ruby/yaml/commit/f83b0404d5 hsbt (Hiroshi SHIBATA)
09:47 AM Revision 85576b0c (git): Update default gems list at bda3f67f8b0f63c126e97e40bbf8a2 [ci skip]
git[bot]
09:46 AM Revision bda3f67f (git): [ruby/shellwords] Bump up 0.2.0
https://github.com/ruby/shellwords/commit/fc63ac832d hsbt (Hiroshi SHIBATA)
09:45 AM Revision 88b6f4c2 (git): Update default gems list at b5e7065d9a710f070fdcdb09570d6b [ci skip]
git[bot]
09:44 AM Revision b5e7065d (git): [ruby/singleton] Bump up 0.2.0
https://github.com/ruby/singleton/commit/3c7fb5f258 hsbt (Hiroshi SHIBATA)
09:34 AM Revision b2b20ea0 (git): Update default gems list at ebb18167185157b9f32f9338f7b5ec [ci skip]
git[bot]
09:33 AM Revision ebb18167 (git): [ruby/benchmark] Bump up 0.3.0
https://github.com/ruby/benchmark/commit/81af12352d hsbt (Hiroshi SHIBATA)
09:30 AM Revision 428c07d8 (git): Update default gems list at 5a1934416f5338514f3400b6334484 [ci skip]
git[bot]
09:29 AM Revision 5a193441 (git): [ruby/un] Bump up 0.3.0
https://github.com/ruby/un/commit/1f636a6239 hsbt (Hiroshi SHIBATA)
09:29 AM Revision 479717b4 (git): [ruby/un] Removed commented-out code
https://github.com/ruby/un/commit/0d6669bff0 hsbt (Hiroshi SHIBATA)
08:58 AM Revision 4329554f (git): [Bug #19985] Raise LoadError with the converted feature name
`Kernel#require` converts feature name objects that have the `to_path`
method such as `Pathname`, but had used the original object on error
and had resulted in an unexpected `TypeError`.
nobu (Nobuyoshi Nakada)
08:53 AM Revision 7a6c72e0 (git): Update rdoc parsers generated by racc-1.7.3
hsbt (Hiroshi SHIBATA)
08:42 AM Revision 34b7c91e (git): Update default gems list at ee13da3e2a3632eca6401bb510941f [ci skip]
git[bot]
08:40 AM Revision ee13da3e (git): [ruby/rdoc] Bump up 6.6.0
https://github.com/ruby/rdoc/commit/9c14229876 hsbt (Hiroshi SHIBATA)
08:27 AM Bug #19007 (Closed): Unicode tables differences from Unicode.org 14.0 data
nobu (Nobuyoshi Nakada)
08:24 AM Revision d55364a5 (git): Update default gems list at e3a19b8a4306ae3103e6a27cdac748 [ci skip]
git[bot]
08:23 AM Revision e3a19b8a (git): [ruby/net-http] Bump up 0.4.0
https://github.com/ruby/net-http/commit/4be99c204c hsbt (Hiroshi SHIBATA)
08:22 AM Revision 66d26624 (git): [ruby/net-http] Removed obsolated Revision constant
https://github.com/ruby/net-http/commit/c1c5638014 hsbt (Hiroshi SHIBATA)
08:12 AM Revision 0cd6eb60 (git): Fix the CI failure in OpenBSD
LibreSSL seems not to support `scrypt`.
https://rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20231105T233005Z.fail.html.gz
```
1)
OpenSSL::KDF.scrypt creates the same value with the same input ERROR
NoMethodError: undefined m...
mame (Yusuke Endoh)
07:09 AM Revision 44a1d2e7 (git): NEWS.md: Add a mention to [Feature #19965]
mame (Yusuke Endoh)
05:43 AM Revision 9059d42c (git): Align comment [ci skip]
nobu (Nobuyoshi Nakada)
05:33 AM Feature #19987: add sample method to Range
Maybe what you want is `Random#rand` with a `Range`?
```ruby
r = Random.new
5.times.map {r.rand(0..99)} #=> [83, 63, 43, 70, 90]
```
nobu (Nobuyoshi Nakada)
01:48 AM Feature #19987 (Feedback): add sample method to Range
Even if limited to bound `Range`, we can't enumerate all possible elements in `Float`.
As in the first proposal, it would make sense only for `Integer` ranges.
May we close this?
nobu (Nobuyoshi Nakada)
02:52 AM Revision a763d085 (git): Updated building_ruby.md to include reference for building on Windows
Looking at building_ruby.md it is unclear that you are able to build Ruby on Windows. To fix that a reference has been added to the windows.md file. JorandeBoer

11/05/2023

11:21 PM Bug #19989: Fix refinement refine performance
> this shouldn't really affect the runtime performance of real programs
Thanks and fair point. I'm using the above benchmark to track performance across Ruby versions. I agree, dynamically creating refinements *isn't normal* but wante...
bkuhlmann (Brooke Kuhlmann)
07:35 PM Bug #19989: Fix refinement refine performance
> By fixing this, we could improve refinement performance and encourage more adoption since refinements are a powerful way to make small adjustments to the language without resorting to more complicated solutions -- or worse -- using mon... ahorek (Pavel Rosický)
03:35 PM Bug #19989 (Closed): Fix refinement refine performance
## Why
Hello. 👋 Would it be possible to improve the performance of refining an object as I'm seeing a significant performance cost? I know some of this is already known but, when searching through existing issues, I couldn't find any ...
bkuhlmann (Brooke Kuhlmann)
01:52 PM Feature #19988: AI for inner code behavior analysis at runtime
Just a note: It does not need POC from the standpoint that multivariate anomaly detection works OOB that is provided by the chosen algo. So if the goal is to get notification about weird inner variable combinations, then it is a straigh... Anonymous
01:43 PM Feature #19988: AI for inner code behavior analysis at runtime
Assuming the above is real - of which I am unsure - I believe this would fit more
into the line of "add-ons", e. g. rubocop or other means to analyse software. Other
than that I don't think MRI will go "AI style"; the philosophy of Rub...
rubyFeedback (robert heiler)
09:47 AM Feature #19988 (Open): AI for inner code behavior analysis at runtime
Dear Devs,
I've been using Ruby extensively in my work and sometimes I use AI algos to debug inner workings of complex code loops. I wanted to send you the idea because I believe it is very easy to add the following functionality to R...
horv77@protonmail.com (Andras Horvath)
01:44 PM Feature #19987: add sample method to Range
I think conceptually .first() is not the same as .sample(). At the least when I read
it, I would assume that .first() yields the first five elements (if the argument is
5), whereas .sample() should probably return 5 random elements. No...
rubyFeedback (robert heiler)
09:51 AM Feature #19987: add sample method to Range
Sounds logical, thank you.

Andras



Sent with Proton Mail secure email.
Anonymous
09:39 AM Feature #19987: add sample method to Range
The `first` call works because `Range` is an `Enumerable`, and since getting the first element is an act of enumeration. On the other hand, `sample` needs to know the full list to do what it is doing, so can't be seen as an act of enumer... ufuk (Ufuk Kayserilioglu)
09:32 AM Feature #19987 (Feedback): add sample method to Range
Dear Devs, I'd like to suggest a change. Since the following works:
(1..99).first(5)
Therefore this one could be logical and useful to work:
(1..99).sample(5)
Thanks,
Andras
horv77@protonmail.com (Andras Horvath)
11:50 AM Revision 40391fae (git): [ruby/etc] Fix inconsistent dll linkage warning
https://github.com/ruby/etc/commit/e4c71e5996 nobu (Nobuyoshi Nakada)
03:54 AM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
Does this help it?
https://github.com/ruby/ruby/pull/8708
nobu (Nobuyoshi Nakada)
03:15 AM Bug #19986 (Open): Win32: `HOME` is set to just `HOMEDRIVE` if `HOMEPATH` is unset
```
$ env -u HOME -u USERPROFILE -u HOMEPATH HOMEDRIVE=no/such/home ./miniruby.exe -e 'p ENV["HOME"], Dir.home'
"no/such/home"
"no/such/home"
```
`HOMEDRIVE` should be ignored without `HOMEPATH`, and `HOME` should fallback to `CSI...
nobu (Nobuyoshi Nakada)
03:04 AM Revision a15aa259 (git): Lrama v0.5.9
yui-knk (Kaneko Yuichiro)
 

Also available in: Atom