Project

General

Profile

Activity

From 02/20/2024 to 02/26/2024

02/26/2024

10:50 PM Revision 89f0c0ce (git): Use `'\n'?` instead of `opt_nl`
ydah (Yudai Takada)
10:05 PM Revision 78ae6dbb (git): Remove rb_objspace_marked_object_p
rb_objspace_marked_object_p is no longer used in the objspace module, so
we can remove it.
peterzhu2118 (Peter Zhu)
10:05 PM Revision 7538703d (git): Make rb_objspace_data_type_memsize private
rb_objspace_data_type_memsize is not used in the objspace module, so we
can make it private.
peterzhu2118 (Peter Zhu)
10:04 PM Revision 81dded10 (git): [rubygems/rubygems] Skip to load vendored libraries if it's already loaded
https://github.com/rubygems/rubygems/commit/3f5093fac9 hsbt (Hiroshi SHIBATA)
10:04 PM Revision c3427265 (git): [rubygems/rubygems] Keep compatiblity for RG 3.5
https://github.com/rubygems/rubygems/commit/d004e36c44 hsbt (Hiroshi SHIBATA)
10:04 PM Revision 8b22198e (git): [rubygems/rubygems] Use wrapper file for vendored tsort
https://github.com/rubygems/rubygems/commit/93514afa28 hsbt (Hiroshi SHIBATA)
10:04 PM Revision d220d273 (git): [rubygems/rubygems] Use renamed file on bundler
https://github.com/rubygems/rubygems/commit/d198ec36f2 hsbt (Hiroshi SHIBATA)
10:04 PM Revision d2da774f (git): [rubygems/rubygems] Rename wrapper files for vendored libraries with 'vendored_' prefix
https://github.com/rubygems/rubygems/commit/cfc908c8c1 hsbt (Hiroshi SHIBATA)
10:03 PM Revision b8572c3f (git): BASERUBY is now >= 3.0
jhawthorn (John Hawthorn)
08:13 PM Feature #20290 (Closed): Add API for C extensions to free memory
I opened #20306 to succeed this ticket. peterzhu2118 (Peter Zhu)
03:51 PM Feature #20290: Add API for C extensions to free memory
> There already is ruby_vm_at_exit(). What's wrong with that?
I didn't know that ruby_vm_at_exit exists. I think ruby_vm_at_exit can do everything in this feature. I might close this ticket in that case.
peterzhu2118 (Peter Zhu)
08:12 PM Feature #20306 (Closed): Add rb_free_at_exit_p
GitHub PR: https://github.com/ruby/ruby/pull/10104
From ticket [#20290](https://bugs.ruby-lang.org/issues/20290#note-6), I found that C extensions could use ruby_vm_at_exit to register hooks to free memory at shutdown. However, they c...
peterzhu2118 (Peter Zhu)
07:34 PM Revision c9b6cd42 (git): Remove unused rb_objspace_each_objects_without_setup
peterzhu2118 (Peter Zhu)
07:28 PM Bug #20305: commit 1d2d25dcadda0764f303183ac091d0c87b432566 breaks grapheme_clusters
I added a failing test to reproduce this issue in this PR: https://github.com/ruby/ruby/pull/10103 fablestales (Fable Tales)
07:02 PM Bug #20305: commit 1d2d25dcadda0764f303183ac091d0c87b432566 breaks grapheme_clusters
fablestales (Fable Tales) wrote:
> given a script:
> ...
to clarify: grapheme_clusters used to ignore partial characters from a byteslice, now it does not.
fablestales (Fable Tales)
06:58 PM Bug #20305 (Closed): commit 1d2d25dcadda0764f303183ac091d0c87b432566 breaks grapheme_clusters
given a script:
```
#script.rb
p "안녕".byteslice(0, 4).grapheme_clusters
```
The commit 1d2d25dcadda0764f303183ac091d0c87b432566 (https://github.com/ruby/ruby/commit/1d2d25dcadda0764f303183ac091d0c87b432566) breaks the grapheme_clu...
fablestales (Fable Tales)
06:29 PM Revision 34bad6d6 (git): [ruby/prism] Triple-check prism encodings
https://github.com/ruby/prism/commit/ab7f261354 kddnewton (Kevin Newton)
05:37 PM Bug #20301: `Set#add?` does two hash look-ups
I don't mind it @Dan0042, but that's a secondary issue IMO. The block call defeats the benefit of this optimization. It'll even slow down the case where you're looking up pre-existing objects (that's currently net-even perf after these c... AMomchilov (Alexander Momchilov)
03:42 PM Bug #20301: `Set#add?` does two hash look-ups
@Dan0042 That's related to #17342 then, and also known as `compute_if_absent` in [concurrent-ruby](https://ruby-concurrency.github.io/concurrent-ruby/1.1.5/Concurrent/Map.html#compute_if_absent-instance_method). Eregon (Benoit Daloze)
03:31 PM Bug #20301: `Set#add?` does two hash look-ups
Now I understand why you proposed #20300 Hash#update_value
However I'd like to suggest an alternative approach for your consideration:
```ruby
def add?(k)
added = false
@hash.add(k){ added = true } #call block only if k not in @has...
Dan0042 (Daniel DeLorme)
02:42 AM Bug #20301 (Open): `Set#add?` does two hash look-ups
A common usage of `Set`s is to keep track of seen objects, and do something different whenever an object is seen for the first time, e.g.:
```ruby
SEEN_VALUES = Set.new

def receive_value(value)
if SEEN_VALUES.add?(value)
put...
AMomchilov (Alexander Momchilov)
05:12 PM Revision f5412236 (git): [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.88 to 0.9.89.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.88...v0.9.89)
---
updated-depende...
dependabot[bot]
05:12 PM Revision 9c5a91e3 (git): [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.88 to 0.9.89.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.88...v0.9.89)
---
updated-depende...
dependabot[bot]
04:38 PM Revision 27e3e443 (git): Fix verify_internal_consistency_i for zombie objects
FL_FINALIZE is now kept for zombie objects. peterzhu2118 (Peter Zhu)
04:21 PM Feature #20300: Hash: set value and get pre-existing value in one call
In my mind, `get_and_set` is clear as it is in the order the operations are done.
But if you want clearer, `get_then_set` puts emphasis on the order.
Things like `exchange` and `swap` can sound like swapping the value between two k...
MaxLap (Maxime Lapointe)
10:38 AM Feature #20300: Hash: set value and get pre-existing value in one call
Not so sure about these names. Note that get_and_set() may have people wonder why it is not set_and_get(). :D
In regards to .update_value() people could ask why the old value is returned rather than the new one.
I guess **exchange_valu...
rubyFeedback (robert heiler)
10:16 AM Feature #20300: Hash: set value and get pre-existing value in one call
FWIW, concurrent-ruby calls this `get_and_set`: https://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Map.html#get_and_set-instance_method
`Hash#exchange_value` sounds fine to me too.
Eregon (Benoit Daloze)
04:18 AM Feature #20300: Hash: set value and get pre-existing value in one call
The name `update_value` doesn't feel to return the previous value, to me.
What about `Hash#exchange_value`?
nobu (Nobuyoshi Nakada)
02:42 AM Feature #20300 (Open): Hash: set value and get pre-existing value in one call
When using a Hash, sometimes you want to set a new value, **and** see what was already there. Today, you **have** to do this in two steps:
```ruby
h = { k: "old value" }
# 1. Do a look-up for `:k`.
old_value = h[:k]
# 2. Do anot...
AMomchilov (Alexander Momchilov)
03:55 PM Feature #17342: Hash#fetch_set
It's confusing that this ticket, #17342, is striked out even though the status is "Feedback".
Another name for this could be `Hash#add`; at least that's the terminology used in memcached and I believe some other caching servers.
Dan0042 (Daniel DeLorme)
03:40 PM Bug #20206 (Closed): PTY.spawn seems to fail to capture the output of "echo foo" once in a while
jeremyevans0 (Jeremy Evans)
03:34 PM Bug #20206: PTY.spawn seems to fail to capture the output of "echo foo" once in a while
Changing the command to `"echo 'foo'"` or `"stdbuf -i0 -o0 -e0 echo foo"` doesn't reproduce the failure.
So this could very much be caused by buffering issues on the terminal side and not a bug in ruby. I think we can close this issue.
lacostej (Jerome Lacoste)
03:39 PM Bug #20304: Memory leak when setting Encoding.default_internal
Ah, thank you! I would have expected that to be in 3.3-head too. MaxLap (Maxime Lapointe)
02:55 PM Bug #20304 (Closed): Memory leak when setting Encoding.default_internal
This was fixed in: https://github.com/ruby/ruby/pull/9409 peterzhu2118 (Peter Zhu)
02:28 PM Bug #20304 (Closed): Memory leak when setting Encoding.default_internal
Problem is present in Ruby 3.2.2, 3.2.3, 3.3.0. Didn't check before.
Put this in a file:
```
10.times do
100000.times do
Encoding.default_internal = nil
end
puts `ps -o rss= -p #{$$}`.to_i
end
```
Result:
```...
MaxLap (Maxime Lapointe)
02:48 PM Revision 1ce3d9ac (git): [ruby/prism] Fix xstring heredoc parser translator
https://github.com/ruby/prism/commit/4e0f703975 kddnewton (Kevin Newton)
02:35 PM Revision 99d0f687 (git): [ruby/prism] Fix parser translator for pinned expression
https://github.com/ruby/prism/commit/eeae07193b kddnewton (Kevin Newton)
02:26 PM Revision af3145bb (git): [ruby/prism] Handle negated numeric in parser translation
https://github.com/ruby/prism/commit/5877a95be4 kddnewton (Kevin Newton)
02:20 PM Revision 83e676e5 (git): Don't lookup finalizers if FL_FINALIZE flag not set
The FL_FINALIZE flag is set when there are finalizers for the object. We
can improver performance by not looking up in the table if the flag is
not set.
Using the following C extension:
#include "ruby/ruby.h"
static void data_...
peterzhu2118 (Peter Zhu)
01:58 PM Revision 1a57fee7 (git): [ruby/prism] Fix multi write with modifier rescue
https://github.com/ruby/prism/commit/8ea7a3270f kddnewton (Kevin Newton)
01:45 PM Revision 815db5c0 (git): Update to ruby/spec@3a510bb
Eregon (Benoit Daloze)
01:45 PM Revision 40c9a3da (git): Update to ruby/mspec@36e8ed8
Eregon (Benoit Daloze)
11:45 AM Revision 1ca3482e (git): Fix compilation for platforms without pthread
Found when compiling ruby for windows-arm64 using msys2
Missing return type for function Init_lock_native_thread
lock_native_thread.c:45:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int ...
Pierrick Bouvier
10:10 AM Bug #20302 (Closed): Multiple refinements cannot be applied to the same module
If we are using multiple refinements for the Kernel module, it seems that only the last refinement is enabled.
In the following example, we can call `f2` of M2, which is enabled later. but cannot call `f1` of M1.
```ruby
module M1
...
mame (Yusuke Endoh)
06:56 AM Revision dddf6242 (git): [ruby/tempfile] Use `IO.popen` to list files
- Redirect `git ls-files` without shelling out.
- When building by `gem`, `__FILE__` is the path name given in the
command line, or the gemspec file name in the current directory. In
that case, comparison it and expanded path never...
nobu (Nobuyoshi Nakada)
06:55 AM Revision 38e3ad26 (git): Update gemspec according to the recent bundler template
nobu (Nobuyoshi Nakada)
06:54 AM Revision 164e464b (git): [ruby/strscan] Add a method for peeking and reading bytes as
integers
(https://github.com/ruby/strscan/pull/89)
This commit adds `scan_byte` and `peek_byte`. `scan_byte` will scan the
current byte, return it as an integer, and advance the cursor.
`peek_byte` will return the current byte as an int...
tenderlovemaking (Aaron Patterson)
06:27 AM Revision 7176c186 (git): [rubygems/rubygems] Fix `Fiddle::Handle` leaks
Windows disallows to unlink opened files.
https://github.com/rubygems/rubygems/commit/e0b63754bf
nobu (Nobuyoshi Nakada)
06:27 AM Revision 7dd4b30b (git): [rubygems/rubygems] The temporary directory must been removed
On Windows, open files cannot be removed and `FileUtils.rm_rf` just
silently fails. This means also handle leaks, not only temporary file
leaks.
https://github.com/rubygems/rubygems/commit/80a9c3ec08
nobu (Nobuyoshi Nakada)
06:27 AM Revision 65f40967 (git): [rubygems/rubygems] Get rid of too long paths
This is a fix-up of #7483.
Test method names in Rubygems are often very long, and the path under
the temporary directory generated from them can easily exceed system
limits.
Even without including the method name in the path name, by s...
nobu (Nobuyoshi Nakada)
06:27 AM Revision 91ec1fc4 (git): Revert "Revert rubygems tempdir check"
This reverts commit 6aa5067ab970e70693529cde5102fab587158f7f. hsbt (Hiroshi SHIBATA)
05:55 AM Feature #20108 (Closed): Introduction of Happy Eyeballs Version 2 (RFC8305) in Socket.tcp
This proposal has been merged at https://github.com/ruby/ruby/commit/9ec342e07df6aa5e2c2e9003517753a2f1b508fd hsbt (Hiroshi SHIBATA)
05:46 AM Feature #20108: Introduction of Happy Eyeballs Version 2 (RFC8305) in Socket.tcp

As previously posted, I was considering a way to avoid name resolution within a thread when the host is single-stack.
However, it's clear that it will take a significant cost to associate with determining whether the host is single-s...
shioimm (Misaki Shioi)
04:20 AM Revision 45919899 (git): Expand Launchable into ubuntu workflow
ono-max (Naoto Ono)
04:12 AM Revision d4e24021 (git): Revise 9ec342e07df6aa5e2c2e9003517753a2f1b508fd
nobu (Nobuyoshi Nakada)
03:29 AM Revision a0f7de81 (git): [Bug #20296] Fix the default assertion message
nobu (Nobuyoshi Nakada)
03:23 AM Bug #20299: Tracepoint staying enable after a disable
And here is a similar problem, using only the block form (no calls to disable):
```
def check_speed(msg = nil)
t1 = Time.now.to_f
a = 0
1000000.times { |i|
a += 10
}
t2 = Time.now.to_f
puts "#{t2-t1} - #{msg}"
...
MaxLap (Maxime Lapointe)
01:06 AM Bug #20299 (Open): Tracepoint staying enable after a disable
Problem is present in Ruby 3.2.2, 3.2.3, 3.3.0. Didn't check before.
It seems that TracePoint can sometime be "stuck" enabled after using disabled once on it.
Here is a reproduction step using a "check speed" method that just does ...
MaxLap (Maxime Lapointe)
03:14 AM Revision 9ec342e0 (git): Introduction of Happy Eyeballs Version 2 (RFC8305) in Socket.tcp (#9374)
* Introduction of Happy Eyeballs Version 2 (RFC8305) in Socket.tcp
This is an implementation of Happy Eyeballs version 2 (RFC 8305) in Socket.tcp.
[Background]
Currently, `Socket.tcp` synchronously resolves names and makes connection a...
Misaki Shioi
03:02 AM Revision 616b4146 (git): Bump capstone from 0.11.0 to 0.12.0 in /yjit (#10094)
Bumps [capstone](https://github.com/capstone-rust/capstone-rs) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/capstone-rust/capstone-rs/releases)
- [Changelog](https://github.com/capstone-rust/capstone-rs/blob/master/CHANGEL...
dependabot[bot]
02:56 AM Bug #20296 (Closed): Complex(:sym, exception: false) generate exception with weird timing
Applied in changeset commit:git|dc146babf47a84bbd1f176d766637d4a40327019.
----------
[Bug #20296] Clear errinfo when `exception: false`
nobu (Nobuyoshi Nakada)
02:56 AM Revision f23d5028 (git): [Bug #20296] Refine the test
nobu (Nobuyoshi Nakada)
02:56 AM Revision dc146bab (git): [Bug #20296] Clear errinfo when `exception: false`
nobu (Nobuyoshi Nakada)
02:47 AM Revision a1ca96e1 (git): Bump github/codeql-action from 3.24.4 to 3.24.5
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.4 to 3.24.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md...
dependabot[bot]
12:34 AM Feature #20298 (Open): Introduce `Time()` type-cast / constructor.
Many Ruby primitive types have constructors, e.g. `Integer(...)`, `String(...)`, `Float(...)`, etc. These usually convert from some subset of types, e.g. `Float(1) -> 1.0` will convert an Integer to a Float, and `Float("1") -> 1.0` will ... ioquatix (Samuel Williams)

02/25/2024

04:13 PM Misc #20281: DevMeeting-2024-03-14
* [Feature #13557] Allow to pass Array of `Backtrace::Location` to `Exception#set_backtrace` (byroot)
- Proposed patch: https://github.com/ruby/ruby/pull/10017
- I think this is better than passing an Array of String because with str...
byroot (Jean Boussier)
03:22 PM Revision c976cb52 (git): [ruby/irb] Add help messages to `show_source` and `show_doc`
commands
(https://github.com/ruby/irb/pull/887)
* Add help message to the show_source command
* Add help message to the show_doc command
https://github.com/ruby/irb/commit/06f43aadb3
st0012 (Stan Lo)
03:21 PM Revision 898f30f8 (git): [ruby/irb] Refactor IRB::Context#prompting
(https://github.com/ruby/irb/pull/889)
https://github.com/ruby/irb/commit/7b323ee514
st0012 (Stan Lo)
12:22 PM Feature #20290: Add API for C extensions to free memory
There already is `ruby_vm_at_exit()`. What's wrong with that? shyouhei (Shyouhei Urabe)
10:12 AM Revision 3c4d0b13 (git): Exclude `.mailmap` from snapshots [ci skip]
It is only for old commits, useless without full repository logs. nobu (Nobuyoshi Nakada)
10:03 AM Revision eb661364 (git): Add `.mailmap` file to map SVN IDs [ci skip]
nobu (Nobuyoshi Nakada)
09:29 AM Bug #18743: Enumerator#next / peek re-use each others stacktraces
ruby_3_2 5e4606423da96c2e26b00981c22bddfce0d970bf merged revision(s) f15123c34ce80f3928612befe2a9aaf4c9d27fda. nagachika (Tomoyuki Chikanaga)
09:29 AM Revision 5e460642 (git): merge revision(s) f15123c34ce80f3928612befe2a9aaf4c9d27fda: [Backport #18743]
Fix stack trace for rescued StopIteration
---
enumerator.c | 15 +++++++++++++--
test/ruby/test_enumerator.rb | 20 ++++++++++++++++++++
2 files changed, 33 insertions(+), 2 deletions(-)
nagachika (Tomoyuki Chikanaga)
08:36 AM Revision c16b5075 (git): [ruby/tmpdir] [DOC] `require` inside each method on Dir
(https://github.com/ruby/tmpdir/pull/31)
https://github.com/ruby/tmpdir/commit/a1ec977923
adam12 (Adam Daniels)
08:32 AM Revision c0c56d17 (git): [ruby/tmpdir] Use `IO.popen` to list files
- Redirect `git ls-files` without shelling out.
- When building by `gem`, `__FILE__` is the path name given in the
command line, or the gemspec file name in the current directory. In
that case, comparison it and expanded path never...
nobu (Nobuyoshi Nakada)
08:07 AM Revision 61089620 (git): Update default gems list at 2c1b7bc51c335d85da994c87dfb37c [ci skip]
git[bot]
08:07 AM Revision 2c1b7bc5 (git): [ruby/reline] Bump version to v0.4.3
(https://github.com/ruby/reline/pull/642)
https://github.com/ruby/reline/commit/5137a3f3af
st0012 (Stan Lo)
07:08 AM Revision 2721a64e (git): [ruby/reline] Use gray and white as the default dialog theme
(https://github.com/ruby/reline/pull/637)
I think this has a few benefits:
1. Most terminal themes generally don't change or pick similar colors
for their black and white colors, so it's more likely to be consistent
across termi...
st0012 (Stan Lo)
05:04 AM Bug #19973: Duplicate keyword argument names don't always warn
reverted backport commit at 1b9ff146e38c348519434754e0466352b8b25c50.
it cause CI failures.
http://rubyci.s3.amazonaws.com/ubuntu2204/ruby-3.2/log/20240225T042407Z.fail.html.gz
nagachika (Tomoyuki Chikanaga)
02:52 AM Bug #19973: Duplicate keyword argument names don't always warn
ruby_3_2 24dd529750c08b5603fb418a4f34998b9bf6c8f9 merged revision(s) c8d162c889008028b148437d02f36f4edaa749fd. nagachika (Tomoyuki Chikanaga)
05:04 AM Revision 7356067b (git): [ruby/tmpdir] Update gemspec according to the recent bundler template
https://github.com/ruby/tmpdir/commit/4ef7bc4f2a nobu (Nobuyoshi Nakada)
05:03 AM Revision 1b9ff146 (git): Revert "merge revision(s) c8d162c889008028b148437d02f36f4edaa749fd: [Backport #19973]"
This reverts commit 24dd529750c08b5603fb418a4f34998b9bf6c8f9. nagachika (Tomoyuki Chikanaga)
04:39 AM Revision 012a0b91 (git): [ruby/resolv] Simplify adding new entries
https://github.com/ruby/resolv/commit/081b8df705 nobu (Nobuyoshi Nakada)
04:39 AM Revision 30b99868 (git): [ruby/resolv] Treat hostname as same as aliases
https://github.com/ruby/resolv/commit/fa812d6454 nobu (Nobuyoshi Nakada)
03:50 AM Revision 2c0cf683 (git): Launchable: Fix the warning of pip
ono-max (Naoto Ono)
02:52 AM Revision 24dd5297 (git): merge revision(s) c8d162c889008028b148437d02f36f4edaa749fd: [Backport #19973]
[Bug #19973] Warn duplicated keyword arguments after keyword splat
---
parse.y | 11 +++++++----
test/ruby/test_syntax.rb | 6 ++++++
2 files changed, 13 insertions(+), 4 deletions(-)
nagachika (Tomoyuki Chikanaga)

02/24/2024

10:08 PM Bug #20297 (Closed): Segmentation fault with ubuntu 22.04 ,Ruby 2.5.3 and mysql2, when I try to run console query
This is a likely a bug in the mysql2 gem, you could ask them: https://github.com/brianmario/mysql2
In any case, Ruby 2.5 is end of life and no longer supported.
jeremyevans0 (Jeremy Evans)
09:01 PM Bug #20297 (Closed): Segmentation fault with ubuntu 22.04 ,Ruby 2.5.3 and mysql2, when I try to run console query
I am trying to run query in rails console, but it gives Segmentation fault error, Ubuntu 22.04, MySql version 8.0,34, ruby 2.5.3, rails, 5.1.7
Here is my error output when I run any query in console,
rails c
User.first
When I run ...
sreenak (Sreena Kodoth)
09:01 PM Bug #20296 (Closed): Complex(:sym, exception: false) generate exception with weird timing
Happens in Ruby 3.2.2, 3.2.3 and 3.3.0 (didn't test others).
Add this to a file and execute it as-is:
```
3.times { Complex(:sym, exception: false) }
puts "hi"
```
The output will be:
```
$ ruby local2.rb
hi
local2.rb:1...
MaxLap (Maxime Lapointe)
07:17 PM Misc #20013: Travis CI status
FYI mspec has a `--timeout SECONDS` option, which should help identify which spec is hanging/very slow. Eregon (Benoit Daloze)
09:08 AM Misc #20013: Travis CI status
jaruga (Jun Aruga) wrote in #note-19:
> We are seeing one of s390x build[1] is very slow, exceeding the maximum timeout 50 minutes, totally taking the `make test-all` build time for 1515 seconds (= about 25 minutes) So far this build is...
jaruga (Jun Aruga)
09:01 AM Misc #20013: Travis CI status
jaruga (Jun Aruga) wrote in #note-19:
> We are seeing one of s390x build[1] is very slow, exceeding the maximum timeout 50 minutes, totally taking the `make test-all` build time for 1515 seconds (= about 25 minutes) So far this build is...
jaruga (Jun Aruga)
03:23 PM Bug #19967: Already installed libruby.dylib is used for test on macOS
ruby_3_2 3960d894d98d20540e646a0d6c2186a2d676b96c merged revision(s) 665b4c5b2a31078d7db0173ad60daad0b463c1fd,642875e474b4e6a13770b1dbbc33d466ba5e0718,54b9b80b84760717aadb8bf67f638785ed895a58,361bce8d2c4c90a01eb3b7365a87dec0d93bb2b6. nagachika (Tomoyuki Chikanaga)
03:23 PM Revision 3960d894 (git): merge revision(s) 665b4c5b2a31078d7db0173ad60daad0b463c1fd,642875e474b4e6a13770b1dbbc33d466ba5e0718,54b9b80b84760717aadb8bf67f638785ed895a58,361bce8d2c4c90a01eb3b7365a87dec0d93bb2b6: [Backport #19967]
[Bug #19967] Reset `LIBPATHENV` env after started
Not to affect other tools invoked as child processes.
---
common.mk | 3 ++-
template/Makefile.in | 3 +++
template/fake.rb.in | 3 ++...
nagachika (Tomoyuki Chikanaga)
10:02 AM Misc #20254: Add Launchable into Ruby CI
jaruga (Jun Aruga) wrote in #note-5:
> ...
> ...
Note the https://github.com/ruby/ruby/pull/9777 mentioned above was merged and integrated into the GitHub Actions CI yesterday. Everyone can check how the test reports look like on the p...
jaruga (Jun Aruga)
04:29 AM Feature #20274: Add RubyVM::ASAN.enabled?
I opened https://github.com/ruby/ruby/pull/10087 to implement this as an extension in `ext/-test-/` as suggested. kjtsanaktsidis (KJ Tsanaktsidis)
04:19 AM Revision e9e752c7 (git): Assert running_iseq before using it
When running_iseq happens to be 0, it's better to fail on the assertion
rather than referencing the null pointer.
k0kubun (Takashi Kokubun)
03:39 AM Revision 804b2a37 (git): [ruby/prism] Rebase against main
https://github.com/ruby/prism/commit/813e20d449 kddnewton (Kevin Newton)
03:39 AM Revision aa884140 (git): [ruby/prism] Less code modifications. More steep:ignore for now
https://github.com/ruby/prism/commit/7905bdbf83 Gopal Patel
03:39 AM Revision dfee0337 (git): [ruby/prism] Replace awkward code changes with steep:ignore
Also remove RBS for currently ignored files. Will follow-up when those
check fully in later PRs.
https://github.com/ruby/prism/commit/2cae58f86d
Gopal Patel
03:39 AM Revision 66565e36 (git): [ruby/prism] Add documentation for Location#source!
https://github.com/ruby/prism/commit/467e1cc2c4 nixme (Gopal Patel)
03:39 AM Revision 8fa18435 (git): [ruby/prism] Relax Location#source to be optional
https://github.com/ruby/prism/commit/9f00fe7510 nixme (Gopal Patel)
03:39 AM Revision bfbaafbd (git): [ruby/prism] Make rake check_annotations verify public RBS
https://github.com/ruby/prism/commit/db78eef6a2 nixme (Gopal Patel)
03:39 AM Revision ca8a6265 (git): [ruby/prism] Fix my RipperCompat logic mistake from expansion for steep flow analysis
https://github.com/ruby/prism/commit/f71a390c12 nixme (Gopal Patel)
03:39 AM Revision 935d4fab (git): [ruby/prism] Remove Ripper from public RBS, type-assert remaining issues
https://github.com/ruby/prism/commit/5fda7a0760 nixme (Gopal Patel)
03:39 AM Revision 7556fd93 (git): [ruby/prism] Split private types
https://github.com/ruby/prism/commit/0209d093ec nixme (Gopal Patel)
03:39 AM Revision e03e9c36 (git): [ruby/prism] wip: node unions
https://github.com/ruby/prism/commit/99a71675d4 nixme (Gopal Patel)
03:39 AM Revision 46fe3dc7 (git): [ruby/prism] Fix IgnoredNewlineToken comparison of Ripper::Lexer::State
https://github.com/ruby/prism/commit/8c9502f61b nixme (Gopal Patel)
03:39 AM Revision b9b07125 (git): [ruby/prism] Use steep to type check RBS and Ruby files
https://github.com/ruby/prism/commit/eabed9f4fd nixme (Gopal Patel)
03:12 AM Feature #20290: Add API for C extensions to free memory
Thanks Peter, that all sounds reasonable to me.
> If we want to use this feature for general bound library destruction, it's better that this feature is invoked even when RUBY_FREE_AT_EXIT isn't 1.
Hm. I wonder if extension develop...
kjtsanaktsidis (KJ Tsanaktsidis)
02:43 AM Feature #20290: Add API for C extensions to free memory
mdalessio (Mike Dalessio) wrote in #note-3:
> I would consider calling libxml2's `xmlCleanupParser` from Nokogiri's `Destruct` function if this feature is made available, because libxml2 keeps some long-lived global state (like charac...
kou (Kouhei Sutou)
03:02 AM Bug #20085: Fiber.new{ }.resume causes Segmentation fault for Ruby 3.3.0 on aarch64-linux
^ that docker fix unfortunately does not work for the Debian Bookworm image.
Is there anyone reading this that can turn whatever crank will get the 3.3.0 backport to materialize into a binary release? Based on https://github.com/ruby/d...
navels (Lee Nave)
02:56 AM Revision fc656ace (git): [PRISM] Sync to latest prism
kddnewton (Kevin Newton)
12:21 AM Revision e439419b (git): [DOC] Fix a typo
k0kubun (Takashi Kokubun)

02/23/2024

10:57 PM Misc #20013: Travis CI status
We are seeing one of s390x build[1] is very slow, exceeding the maximum timeout 50 minutes, totally taking the `make test-all` build time for 1515 seconds (= about 25 minutes) So far this build is only the case. This behavior is not norm... jaruga (Jun Aruga)
10:00 PM Misc #20013: Travis CI status
It seems some s390x builds are not starting after 3 hours now. I am asking Travis customer support.
https://app.travis-ci.com/github/ruby/ruby/builds
https://app.travis-ci.com/github/ruby/ruby/builds/269093276
https://app.travis-ci....
jaruga (Jun Aruga)
10:22 PM Feature #20290: Add API for C extensions to free memory
> > Have you got an example of a particular C extension which needs to free memory in this way?
> ...
I would consider calling libxml2's `xmlCleanupParser` from Nokogiri's `Destruct` function if this feature is made available, because li...
mdalessio (Mike Dalessio)
09:29 PM Feature #20290: Add API for C extensions to free memory
> Are extensions supposed to undefine the Ruby constants they defined?
No. Any Ruby managed objects don’t need to be undefined.
> ...
I think it makes more sense for the Destruct_ function to be called after all the T_DATA objects ...
peterzhu2118 (Peter Zhu)
10:17 PM Revision a255b43f (git): Update common.mk
peterzhu2118 (Peter Zhu)
09:54 PM Revision 96907f94 (git): [ruby/prism] Convert pm_integer_t to strings
https://github.com/ruby/prism/commit/fa9a30ad91 kddnewton (Kevin Newton)
08:53 PM Revision e4584941 (git): [DOC] Doc for command line options (#10059)
burdettelamar (Burdette Lamar)
08:02 PM Revision ec6532b4 (git): [ruby/prism] Add some encoding debugging to make testing easier
https://github.com/ruby/prism/commit/0c042561c6 kddnewton (Kevin Newton)
07:08 PM Revision ce8531fe (git): Stop using rb_str_locktmp_ensure publicly
rb_str_locktmp_ensure is a private API. peterzhu2118 (Peter Zhu)
07:08 PM Revision 8a6740c7 (git): YJIT: Lazily push a frame for specialized C funcs (#10080)
* YJIT: Lazily push a frame for specialized C funcs
Co-authored-by: Maxime Chevalier-Boisvert <[email protected]>
* Fix a comment on pc_to_cfunc
* Rename rb_yjit_check_pc to rb_yjit_lazy_push_frame
* Rename it to j...
k0kubun (Takashi Kokubun)
06:59 PM Bug #20234 (Closed): Segfault parsing begin statement inside method definition receiver
Applied in changeset commit:git|50ace992c75724aac6765b944f9017e21901e276.
----------
[Bug #20234] Fix segv when parsing begin statement in method definition
In a method definition, the `begin` may not have an `nd_body`. When that
happe...
eileencodes (Eileen Uchitelle)
06:59 PM Revision 50ace992 (git): [Bug #20234] Fix segv when parsing begin statement in method definition
In a method definition, the `begin` may not have an `nd_body`. When that
happens we get a null expr back from `last_expr_node` which causes a
segv for the following examples:
```ruby
def (begin;end).foo; end
def (begin;else;end).foo; en...
eileencodes (Eileen Uchitelle)
06:33 PM Revision 510404f2 (git): Stop using rb_fstring publicly
rb_fstring is a private API, so we should use rb_str_to_interned_str
instead, which is a public API.
peterzhu2118 (Peter Zhu)
06:33 PM Revision 01f9b2ae (git): Use rb_str_to_interned_str in parse.y
This commit changes rb_fstring to rb_str_to_interned_str in parse.y.
rb_fstring is private so it shouldn't be used by ripper.
peterzhu2118 (Peter Zhu)
06:25 PM Revision 9a09e27a (git): [PRISM] Use new static literal comparisons
kddnewton (Kevin Newton)
06:25 PM Revision 02b531a8 (git): [ruby/prism] Factor in sign to integer comparison
https://github.com/ruby/prism/commit/377666a5df kddnewton (Kevin Newton)
06:25 PM Revision b9202788 (git): [ruby/prism] Refactor pm_node_list_insert to use a binary search
https://github.com/ruby/prism/commit/a060b21e1d kddnewton (Kevin Newton)
06:25 PM Revision a38cc177 (git): [ruby/prism] Duplicated when clauses
https://github.com/ruby/prism/commit/865b0d5fbe kddnewton (Kevin Newton)
06:25 PM Revision d1ce9898 (git): [ruby/prism] Duplicated hash keys
https://github.com/ruby/prism/commit/3e10c46c14 kddnewton (Kevin Newton)
05:56 PM Revision 73dd3ce0 (git): [ruby/ipaddr] Prefer String#start_with? over Regexp.match
https://github.com/ruby/ipaddr/commit/054fe12ec4 matsuda (Akira Matsuda)
05:55 PM Revision 6ad52e33 (git): [ruby/ipaddr] String#split seems to be faster than capturing digits with Regexp
https://github.com/ruby/ipaddr/commit/e0feb0708b matsuda (Akira Matsuda)
05:54 PM Bug #20258 (Closed): Socket::IPV6_RECVERR for IPv6
Applied in changeset commit:git|4bb432722832b6451a289d906b08db322de6bad7.
----------
Fixes [Bug #20258]
Signed-off-by: Marek Küthe <[email protected]>
marek22k (Marek Küthe)
05:54 PM Revision 32f8ed7a (git): Typo fix.
Mike Shaver
05:47 PM Revision 8b2c421a (git): Add option for mtu discovery flag
Signed-off-by: Marek Küthe <[email protected]> marek22k (Marek Küthe)
05:47 PM Revision 4bb43272 (git): Fixes [Bug #20258]
Signed-off-by: Marek Küthe <[email protected]> marek22k (Marek Küthe)
03:24 PM Revision df5b8ea4 (git): Remove unneeded RUBY_FUNC_EXPORTED
peterzhu2118 (Peter Zhu)
03:24 PM Revision 386a0066 (git): Use rb_hash_foreach in objspace.c
Using RHASH_TBL_RAW is a private API, so we should use rb_hash_foreach
rather than RHASH_TBL_RAW with st_foreach.
peterzhu2118 (Peter Zhu)
03:24 PM Revision 6bd3e8fb (git): Use rb_hash_foreach in coverage
Using RHASH_TBL_RAW is a private API, so we should use rb_hash_foreach
rather than RHASH_TBL_RAW with st_foreach.
peterzhu2118 (Peter Zhu)
01:45 PM Misc #20281: DevMeeting-2024-03-14
* [Feature #20202] Memoized endless method definitions
* Do Matz and others have opinions on the syntax?
* If this is approved, should the ivar name match the method named exactly? For example, should it behave like `def foo = (@fo...
matheusrich (Matheus Richard)
01:11 PM Revision ea2fb746 (git): [ruby/irb] Remove useless loaded file check
(https://github.com/ruby/irb/pull/885)
https://github.com/ruby/irb/commit/f6d489658e
tompng (tomoya ishida)
01:10 PM Revision 3371936b (git): Add Launchable into CI
ono-max (Naoto Ono)
12:50 PM Revision 7da3f8dc (git): [ruby/optparse] [DOC] About return value of OptionParser#new
https://github.com/ruby/optparse/commit/59b9fd7ddc nobu (Nobuyoshi Nakada)
12:32 PM Revision f0172fc7 (git): [ruby/irb] Remove workaround for empty lines in dynamic_prompt
(https://github.com/ruby/irb/pull/884)
https://github.com/ruby/irb/commit/820b9e8dd6
tompng (tomoya ishida)
12:32 PM Revision 598b0364 (git): [ruby/irb] Remove remaining `frozen_string_literal: false` in lib/
(https://github.com/ruby/irb/pull/883)
https://github.com/ruby/irb/commit/4bfdb23ae6
tompng (tomoya ishida)
12:16 PM Revision 41c0fb69 (git): [ruby/optparse] Add `exact:` keyword argument
https://github.com/ruby/optparse/commit/07e83673a8 nobu (Nobuyoshi Nakada)
10:53 AM Revision 4831bb5b (git): [ruby/irb] Turn on frozen literal in files
(https://github.com/ruby/irb/pull/881)
https://github.com/ruby/irb/commit/83d90550c2
st0012 (Stan Lo)
10:02 AM Revision 37dde6e2 (git): [ruby/irb] Unroll extension method generation
(https://github.com/ruby/irb/pull/882)
* Unroll extension method generation
Given we only have 2 remaining extension setter methods, both of which
only take 1 argument and don't have any alias, the current method generation
logic is ov...
st0012 (Stan Lo)
04:55 AM Revision f4036608 (git): Fallback more macos-arm-oss jobs to macos-14
A follow-up on https://github.com/ruby/ruby/pull/10074 k0kubun (Takashi Kokubun)
03:42 AM Revision a154ea0c (git): [ruby/prism] Ignore other ERANGE errors for floats
https://github.com/ruby/prism/commit/4267161ca7 kddnewton (Kevin Newton)
03:42 AM Revision 40165354 (git): [PRISM] Integrate new number parsing
kddnewton (Kevin Newton)
03:42 AM Revision 5e0589cf (git): [ruby/prism] Parse float values
https://github.com/ruby/prism/commit/9137226a52 kddnewton (Kevin Newton)
03:42 AM Revision 3b3def5d (git): [ruby/prism] Regenerate snapshots using integer values
kddnewton (Kevin Newton)
03:42 AM Revision af0a6ea1 (git): [ruby/prism] Add an IntegerField for parsing integer values
https://github.com/ruby/prism/commit/120d8c0479 kddnewton (Kevin Newton)
03:42 AM Revision ff6ebba9 (git): [ruby/prism] Parse numeric values
https://github.com/ruby/prism/commit/a6a552411c kddnewton (Kevin Newton)
03:34 AM Revision 548151d1 (git): Bump github/codeql-action from 3.24.3 to 3.24.4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.3 to 3.24.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md...
dependabot[bot]
02:14 AM Bug #20295: Segmentation fault when parsing `/invalid_regexp/ =~ s`
This bug was introduced by https://github.com/ruby/ruby/commit/e7ab5d891c3272e72caef6879e90ad8ae4e13dea. Then only happened on 3.4-dev. yui-knk (Kaneko Yuichiro)
02:12 AM Bug #20295 (Closed): Segmentation fault when parsing `/invalid_regexp/ =~ s`
Applied in changeset commit:git|3ca6da24e397e550d589a69791be7697c0cb73c6.
----------
[Bug #20295] Fix SEGV when parsing invalid regexp
yui-knk (Kaneko Yuichiro)
02:12 AM Revision 3ca6da24 (git): [Bug #20295] Fix SEGV when parsing invalid regexp
yui-knk (Kaneko Yuichiro)
12:11 AM Revision d5080f6e (git): Fix -Wsign-compare on String#initialize
../string.c:1886:57: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘long int’ [-Wsign-compare]
1886 | if (STR_EMBED_P(str)) RUBY_ASSERT(osize <= str_embed_capa...
k0kubun (Takashi Kokubun)

02/22/2024

11:28 PM Revision 38bf622c (git): Fix -Wmaybe-uninitialized on Complex#** (#10075)
k0kubun (Takashi Kokubun)
11:15 PM Revision cdca9420 (git): Fallback every macos-arm-oss usage to macos-14 (#10074)
k0kubun (Takashi Kokubun)
10:34 PM Revision bccf4b30 (git): Skip under_gc_compact_stress on s390x (#10073)
k0kubun (Takashi Kokubun)
10:32 PM Revision 2b0bc447 (git): Remove unused matrix.configure from macos.yml
k0kubun (Takashi Kokubun)
09:43 PM Revision 3c61222d (git): [ruby/prism] all constant nodes should have full_name and full_name_parts methods
https://github.com/ruby/prism/commit/792265ae0b exterm (Philip Müller)
08:52 PM Revision 9d8d029e (git): Remove unused variable in imemo.c
The variable klass is only used in debug builds and generates a warning
on non-debug builds.
peterzhu2118 (Peter Zhu)
06:33 PM Revision a16fefcf (git): YJIT: Optimize attr_writer (#9986)
* YJIT: Optimize attr_writer
* Comment about StackOpnd vs SelfOpnd
k0kubun (Takashi Kokubun)
06:08 PM Bug #20295 (Closed): Segmentation fault when parsing `/invalid_regexp/ =~ s`
These should be Syntax Error, but segfaults
~~~sh
./ruby -ce "/[/=~s"
./ruby -ce "/(?<>)/=~s"
./ruby -ce "/(?<a>[)/=~s"
~~~
~~~
./ruby -ce "/[/=~s"
-e:1: premature end of char-class: /[/
./ruby: [BUG] Segmentation fault at ...
tompng (tomoya ishida)
04:35 PM Revision e65315a7 (git): Extract imemo functions from gc.c into imemo.c
peterzhu2118 (Peter Zhu)
02:22 PM Bug #20292 (Closed): Abort ruby by `String#initialize`
Applied in changeset commit:git|e04146129ec6898dd6a9739dad2983c6e9b68056.
----------
[Bug #20292] Truncate embedded string to new capacity
nobu (Nobuyoshi Nakada)
01:50 PM Bug #20292: Abort ruby by `String#initialize`
ksss (Yuki Kurihara) wrote:
> - String must be at least 64 characters long
Embedded string.
> ...
Small but positive capacity also crashes.
Overwriting heap when initializing with smaller capacity.
nobu (Nobuyoshi Nakada)
12:25 PM Bug #20292 (Closed): Abort ruby by `String#initialize`
I found a code that causes an anomaly.
```
$ uname -a
Darwin 20208671n 22.6.0 Darwin Kernel Version 22.6.0: Wed Oct 4 21:26:55 PDT 2023; root:xnu-8796.141.3.701.17~4/RELEASE_ARM64_T6020 arm64
$ ruby -v
ruby 3.4.0dev (2024-02-22...
ksss (Yuki Kurihara)
02:11 PM Bug #20294: Parser no longer warns on some duplicated keys
In addition, it appears that integers with different bases are not handled:
```ruby
{ 0xA => 1, 10 => 1 }
{ 0b1 => 1, 1 => 1 }
{ 0o1 => 1, 1 => 1 }
```
kddnewton (Kevin Newton)
02:09 PM Bug #20294 (Closed): Parser no longer warns on some duplicated keys
Previously, the parser would warn on all duplicated keys. Now some cases are not handled:
```ruby
{ 100.0 => 1, 1e2 => 1 }
{ 100.0 => 1, 1E2 => 1 }
{ 100.0 => 1, 100.00 => 1 }
{ 100.0r => 1, 100.00r => 1 }
{ 100.0i => 1, 100.00i ...
kddnewton (Kevin Newton)
01:46 PM Revision e0414612 (git): [Bug #20292] Truncate embedded string to new capacity
nobu (Nobuyoshi Nakada)
01:22 PM Revision 5f7f229a (git): Adjust indent [ci skip]
nobu (Nobuyoshi Nakada)
01:16 PM Revision 88431c47 (git): [ruby/irb] Delete IRB::NotImplementedError
(https://github.com/ruby/irb/pull/878)
https://github.com/ruby/irb/commit/6751778948
tompng (tomoya ishida)
01:05 PM Revision 183c574d (git): Save the performance warning flag
nobu (Nobuyoshi Nakada)
01:03 PM Feature #20293 (Closed): Add `Warning.categories` method that returns the warning category names
I propose a new method `Warning.categories`.
This would be useful (or necessary) for tests mainly.
Currently, `EnvUtil.capture_global_values` saves the original warning settings as followings:
```ruby
@original_warning = de...
nobu (Nobuyoshi Nakada)
12:12 PM Feature #20291: Add --warning=category option the same as -W:category
Hello, what's the rationale? Anonymous
11:56 AM Feature #20291 (Open): Add --warning=category option the same as -W:category
I propose a `--warning` option that corresponds to the `-W` option, like the `--encoding` option to the `-E` option.
The argument after `--warning=` is same as `-W:`.
https://github.com/ruby/ruby/pull/4113
nobu (Nobuyoshi Nakada)
11:18 AM Revision d597335c (git): Remove unused variable
It was used only in old `SAVE_ROOT_JMPBUF`, and the warning was
suppressed by this macro.
nobu (Nobuyoshi Nakada)
11:05 AM Revision 64785145 (git): CI: Refactor a logic for skipped tests.
* Make the make's TESTS argument update easily by updating TESTS env with added steps.
* Use the `$(...)` rather than backquotes.
See <https://www.shellcheck.net/wiki/SC2006>.
* Use double-quotes for the make's argument `TESTS="$(...)"...
Jun Aruga
10:45 AM Revision 133d7743 (git): Cover all warning category options
nobu (Nobuyoshi Nakada)
10:08 AM Revision 7d112b04 (git): Use `rb_encoding *` as literal hash of NODE_ENCODING
This reduces dependency on VALUE. yui-knk (Kaneko Yuichiro)
09:35 AM Revision 6a0b05f4 (git): Remove `SAVE_ROOT_JMPBUF` as it no longer has any effect. (#10066)
Samuel Williams
09:29 AM Bug #20289 (Closed): Bug in Zlib::GzipReader#eof? breaks reading certain sizes of gzipped files.
https://github.com/ruby/zlib/pull/72 has been merged. hsbt (Hiroshi SHIBATA)
09:22 AM Revision b7f5c800 (git): Use `terms?` instead of `opt_terms`
ydah (Yudai Takada)
08:33 AM Feature #19422 (Assigned): Make `--enabled-shared` mandatory on macOS
hsbt (Hiroshi SHIBATA)
06:43 AM Revision e1c684e4 (git): Refactor to use `struct string_part`
nobu (Nobuyoshi Nakada)
06:43 AM Revision 97a39ccc (git): Split `init_funcname`
Extract `build_funcname` that takes the prefix as an argument, and
`concat_funcname` that concats the parts.
nobu (Nobuyoshi Nakada)
06:42 AM Revision 9f8f32bf (git): [ruby/zlib] In Zlib::GzipReader#eof? check if we're actually at eof
Only consider it eof if we read ahead and something fills the buf.
If not, we may only have empty blocks and the footer.
Fixes https://github.com/ruby/zlib/pull/56
https://github.com/ruby/zlib/commit/437bea8003
martinemde (Martin Emde)
02:51 AM Revision 7acc8bbe (git): Bump ruby/setup-ruby from 1.171.0 to 1.172.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.171.0 to 1.172.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/22fdc77bf4148f810455b226c90fb81b5c...
dependabot[bot]

02/21/2024

11:09 PM Revision 35f68e7d (git): YJIT: Assert Opnd::Stack's SP expectation (#10061)
k0kubun (Takashi Kokubun)
11:05 PM Revision 5f00b2dc (git): Fix the insn position shown by rb_vm_check_canary (#10062)
k0kubun (Takashi Kokubun)
10:55 PM Revision be96dc9f (git): [PRISM] Support it local variable
kddnewton (Kevin Newton)
10:55 PM Revision 31735d77 (git): [ruby/prism] Update for Ruby 3.4 errors
https://github.com/ruby/prism/commit/20fea2cf2b kddnewton (Kevin Newton)
10:55 PM Revision 90c5393f (git): [ruby/prism] Support ItParametersNode
So that compilers know they need to add to add an anonymous
variable to the local table.
https://github.com/ruby/prism/commit/7f1aadd057
kddnewton (Kevin Newton)
10:42 PM Revision 0be09967 (git): YJIT: Grab stack operands after SP change in String#byteslice (#10060)
Previously, `StackOperand`s caching `sp_offset` was held across a
jit_prepare_call_with_gc(), which invalidates the offsets. With the
right register allocation state, the canary overlapped with the old
address of the receiver and YJIT cl...
alanwu (Alan Wu)
10:38 PM Revision 551f6474 (git): [ruby/prism] Allow skipping warnings as needed, and pass a reason through to Parser::Diagnostic
https://github.com/ruby/prism/commit/6a84a3c9fb noahgibbs (Noah Gibbs)
10:38 PM Revision 45ae69e3 (git): [ruby/prism] Update lib/prism/translation/parser.rb
https://github.com/ruby/prism/commit/c3cc282343
Co-authored-by: Kevin Newton <[email protected]>
noahgibbs (Noah Gibbs)
10:38 PM Revision e3b9eec3 (git): [ruby/prism] Translation::Parser should process warnings, not just errors
https://github.com/ruby/prism/commit/ea7e400f85 noahgibbs (Noah Gibbs)
10:25 PM Revision 80ffa300 (git): [PRISM] Eval frames should not have an absolute path
kddnewton (Kevin Newton)
09:57 PM Feature #20290: Add API for C extensions to free memory
I'm positive on this idea in general, but I'd like the semantics of a) what extensions can/can't do inside this function, and b) what actions the extension is expected to take, nailed down a bit.
* Are extensions supposed to undefine ...
kjtsanaktsidis (KJ Tsanaktsidis)
07:33 PM Feature #20290 (Closed): Add API for C extensions to free memory
GitHub PR: https://github.com/ruby/ruby/pull/10055
Ticket #19993 added the new feature RUBY_FREE_AT_EXIT, which frees memory in Ruby at shutdown. This allowed tools like Valgrind, ASAN, and macOS leaks to find memory leaks in Ruby wit...
peterzhu2118 (Peter Zhu)
08:42 PM Revision fce78047 (git): [DOC] Doc for field processing (#10008)
burdettelamar (Burdette Lamar)
08:24 PM Revision 577d07cf (git): YJIT: Allow non-leaf calls on opt_* insns (#10033)
* YJIT: Allow non-leaf calls on opt_* insns
* s/on_send_insn/is_sendish/
* Repeat known_cfunc_codegen
k0kubun (Takashi Kokubun)
07:38 PM Misc #20281: DevMeeting-2024-03-14
* [Feature #20306] Add rb_free_at_exit_p (peterzhu2118 & HParker)
* Ticket #19993 added the new feature RUBY_FREE_AT_EXIT, which frees memory in Ruby at shutdown.
* ruby_vm_at_exit can be used to register a callback for when the VM e...
peterzhu2118 (Peter Zhu)
08:31 AM Misc #20281: DevMeeting-2024-03-14
- [Misc #20287] DevMeeting before or after RubyKaigi
- It would be great to plan ahead, so that people can make their flight/hotel reservations.
duerst (Martin Dürst)
07:14 PM Revision 5c02d977 (git): [PRISM] Remove more dummy line usage
* or
* optional parameter
* parentheses
* pre execution
* post execution
* range
* rational
* redo
kddnewton (Kevin Newton)
07:14 PM Revision e19fde52 (git): [PRISM] Remove more dummy line usage
* if
* unless
kddnewton (Kevin Newton)
07:14 PM Revision e1f6b477 (git): [PRISM] Remove more dummy line usage
* regular expressions
* rescue
* rescue modifier
kddnewton (Kevin Newton)
07:14 PM Revision e7d480df (git): [PRISM] Remove more dummy line usage
* returns
* retry
* self
* singleton class
kddnewton (Kevin Newton)
07:14 PM Revision 61c5936d (git): [PRISM] Remove more dummy line usage
* source files
* source encodings
* source lines
kddnewton (Kevin Newton)
07:14 PM Revision 220ced74 (git): [PRISM] Remove more dummy line usage
* yields
* xstrings
* while
* until
* undef
* true
* symbol
* super
* string
* statements
* splat
kddnewton (Kevin Newton)
06:53 PM Bug #20289 (Closed): Bug in Zlib::GzipReader#eof? breaks reading certain sizes of gzipped files.
Hello,
A bug in the implementation of Zlib::GzipReader#eof? makes it very difficult to read certain rubygems using readpartial without receiving an EOFError.
The bug is caused when the chunk size read from the gzip leaves only empt...
martinemde (Martin Emde)
05:45 PM Revision 8bc51a39 (git): [rubygems/rubygems] Check for correct exception on older psych versions
https://github.com/rubygems/rubygems/commit/52de6eccf5 segiddins (Samuel Giddins)
05:45 PM Revision 997470b7 (git): [rubygems/rubygems] Commit missing new method
https://github.com/rubygems/rubygems/commit/5265b4ce3d segiddins (Samuel Giddins)
05:45 PM Revision 466ed0e1 (git): [rubygems/rubygems] Add a test for safe yaml
https://github.com/rubygems/rubygems/commit/148deade0a segiddins (Samuel Giddins)
05:45 PM Revision 5dcc7a03 (git): [rubygems/rubygems] Use a writer method on the module instead of a constant
https://github.com/rubygems/rubygems/commit/240d84eea3 segiddins (Samuel Giddins)
05:44 PM Revision c2812fb6 (git): [rubygems/rubygems] Control whether YAML aliases are enabled in Gem::SafeYAML.safe_load via a constant
https://github.com/rubygems/rubygems/commit/6bedb1cb79 segiddins (Samuel Giddins)
04:57 PM Revision 5ab6b318 (git): [ruby/fileutils] [DOC] FileUtils::VERSION
https://github.com/ruby/fileutils/commit/48742e2921 nobu (Nobuyoshi Nakada)
04:57 PM Revision 2edc14be (git): [ruby/fileutils] [DOC] nodoc for private methods and module
https://github.com/ruby/fileutils/commit/75c6010aab nobu (Nobuyoshi Nakada)
04:45 PM Misc #20260 (Closed): ISEQ flag for prism compiler
@mame remembered that we have `RubyVM::AbstractSyntaxTree.node_id_for_backtrace_location(loc)`, so we don't actually need `Thread::Backtrace::Location#node_id`. In this case we've only implemented the flag for the body. kddnewton (Kevin Newton)
04:45 PM Revision 6e704311 (git): [ruby/pp] Extract pp_hash_pair
The method which prints single pair of a hash, to make extending
pretty printing Hash easier, apart from Hash construct itself.
https://github.com/ruby/pp/commit/3fcf2d1142
nobu (Nobuyoshi Nakada)
04:45 PM Revision 37b8fc74 (git): [ruby/pp] Get rid of hardcoded class name
So that the `pp` method can work in inherited classes with that
class.
https://github.com/ruby/pp/commit/f204df3aad
nobu (Nobuyoshi Nakada)
04:44 PM Revision 82a4c3af (git): Add error for iseqs compiled by prism
kddnewton (Kevin Newton)
04:44 PM Revision 0f1ca949 (git): [PRISM] Provide runtime flag for prism in iseq
kddnewton (Kevin Newton)
04:39 PM Revision d9ebb65b (git): [ruby/pp] Fix compatibility with 3.3 or earlier
https://github.com/ruby/pp/commit/f5cee21a1e nobu (Nobuyoshi Nakada)
04:33 PM Revision 330830dd (git): Add IMEMO_NEW
Rather than exposing that an imemo has a flag and four fields, this
changes the implementation to only expose one field (the klass) and
fills the rest with 0. The type will have to fill in the values themselves.
peterzhu2118 (Peter Zhu)
04:04 PM Revision 2e6f8554 (git): [ruby/date] Remove the unintentional ability to parse `Symbol`
It's been 2 years since ruby/date#49, so it's okay.
https://github.com/ruby/date/commit/435dfec6c8
nobu (Nobuyoshi Nakada)
03:58 PM Revision 96f21e9d (git): Re-enable test now that dump is all ASCII
kddnewton (Kevin Newton)
03:47 PM Revision 2b2e61e6 (git): [ruby/prism] Only call encoding_changed callback on change
https://github.com/ruby/prism/commit/7d0bea3ce0 kddnewton (Kevin Newton)
03:22 PM Revision bf680af7 (git): [ruby/prism] Remove non-ASCII characters from --dump=parsetree
https://github.com/ruby/prism/commit/6d4cd21e98 kddnewton (Kevin Newton)
03:13 PM Revision 402690c3 (git): Fix incomplete switch statement in imemo_memsize
The switch statement is not exhaustive, meaning the "unreachable"
comment was not correct. This commit fixes it by making the list
exhaustive and adding an rb_bug in the default case.
peterzhu2118 (Peter Zhu)
02:37 PM Revision 01c7e16c (git): Separate miniruby from dmyext.c
nobu (Nobuyoshi Nakada)
12:19 PM Misc #20254: Add Launchable into Ruby CI
I updated the GitHub comments feature based on https://bugs.ruby-lang.org/issues/20254#note-10. Thank you for your feedback! ono-max (Naoto Ono)
11:47 AM Bug #20286: TracePoint does not emit `thread_end` event when thread exits with exception
We can backport this to Ruby 3.0, however the PR will be a bit different. I am okay if we choose not to backport to 3.0 since it is EOL soon. ioquatix (Samuel Williams)
11:35 AM Bug #20286 (Closed): TracePoint does not emit `thread_end` event when thread exits with exception
ioquatix (Samuel Williams)
05:47 AM Bug #20286: TracePoint does not emit `thread_end` event when thread exits with exception
Proposed fix: https://github.com/ruby/ruby/pull/10039 ioquatix (Samuel Williams)
05:40 AM Bug #20286 (Closed): TracePoint does not emit `thread_end` event when thread exits with exception
Using TracePoint to trace `thread_begin` and `thread_end` events fails to emit the `thread_end` event when an exception (e.g., Interrupt) is raised within a thread. This behavior occurs because the exception handling bypasses the interna... ioquatix (Samuel Williams)
11:46 AM Bug #20288 (Closed): `rb_fiber_scheduler_close` exceptions are not handled in `rb_fiber_scheduler_set`.
ioquatix (Samuel Williams)
08:46 AM Bug #20288: `rb_fiber_scheduler_close` exceptions are not handled in `rb_fiber_scheduler_set`.
PR: https://github.com/ruby/ruby/pull/10042 ioquatix (Samuel Williams)
08:45 AM Bug #20288 (Closed): `rb_fiber_scheduler_close` exceptions are not handled in `rb_fiber_scheduler_set`.
The code responsible for setting a new scheduler on a thread does not properly handle exceptions raised by `rb_fiber_scheduler_close`. If `rb_fiber_scheduler_close` raised an exception, the assignment `thread->scheduler = scheduler` woul... ioquatix (Samuel Williams)
11:33 AM Revision 04729fe6 (git): Fix exception handling in `rb_fiber_scheduler_set`. (#10042)
Samuel Williams
11:32 AM Revision 78d9fe69 (git): Ensure that exiting thread invokes end-of-life behaviour. (#10039)
Samuel Williams
10:37 AM Revision fd913546 (git): [DOC] Comment about logic to care about static/dynamic hetero build
The condition is rarely met in usual cases, so it's worth to note about
the situation and the reason why we care about it.
katei (Yuta Saito)
10:28 AM Revision 6aa5067a (git): Revert rubygems tempdir check
This check was added to check if other tests still remain tempdir, and these tests do on Windows.
* `TestGemCommandsSetupCommand#test_destdir_flag_does_not_try_to_write_to_the_default_gem_home`
* `TestGemInstaller#test_install_build_roo...
nobu (Nobuyoshi Nakada)
09:56 AM Misc #20287: DevMeeting before or after RubyKaigi
Thank you for the ticket!
There is no room reservation but
* 5/14 (Tue) (RubyKaigi day0) 14:00-16:00 (16:00-18:00 for free time to discuss)
seems good (and I'm happy if we can have a casual party 18:00-?).
Perhaps after RubyK...
ko1 (Koichi Sasada)
08:29 AM Misc #20287 (Closed): DevMeeting before or after RubyKaigi
RubyKaigi itself runs from May 15-17 (Wed-Fri) in Naha.
It would be nice to have a DevMeeting before or afterwards. We should try to plan ahead, so that people can make the right flight and hotel reservations early.
I have never be...
duerst (Martin Dürst)
08:57 AM Revision b1431ce4 (git): Add comments to dmydln.c, dmyenc.c, and dmyext.c
They are used conditionally in miniruby, dynamically-linked ruby, and
statically-linked ruby (--with-static-linked-ext).
I asked @nobu about the conditions. and I leave comments because the
conditions are insanely difficult.
mame (Yusuke Endoh)
08:14 AM Revision 6ecb14df (git): [rubygems/rubygems] Reset `Gem.state_file` along with `Gem.state_home`
As `Gem.state_file` is placed under `Gem.state_home` directory, when
the latter is reset, also the former should be reset.
If left unreset, the file for a previously run test will be re-created
and will not be deleted.
https://github.co...
nobu (Nobuyoshi Nakada)
06:45 AM Revision 1fa4d15c (git): Add `Test::Unit::TestCase#method_name`
For the compatibility with test-unit gem. nobu (Nobuyoshi Nakada)
06:39 AM Revision fc1a7a46 (git): [rubygems/rubygems] Use Hash#compact
https://github.com/rubygems/rubygems/commit/9d4ff6ff30
Co-authored-by: Samuel Giddins <[email protected]>
hsbt (Hiroshi SHIBATA)
06:39 AM Revision c8fb4f30 (git): [rubygems/rubygems] Skip nil-value keys to make metadata reproducible
Nil-value keys in a mapping end with a space or not depending on
libyaml versions, and result metadata are different per platforms.
This commit makes to skip such keys to make metadata reproducible
accross platforms.
https://github.com/...
nobu (Nobuyoshi Nakada)
06:38 AM Revision d5786849 (git): `rb_thread_lock_native_thread()`
Introduce `rb_thread_lock_native_thread()` to allocate dedicated
native thread to the current Ruby thread for M:N threads.
This C API is similar to Go's `runtime.LockOSThread()`.
Accepted at https://github.com/ruby/dev-meeting-log/blob/...
ko1 (Koichi Sasada)
04:36 AM Revision 91cb3035 (git): Remove not used universal parser macros and functions
yui-knk (Kaneko Yuichiro)
03:30 AM Revision d0786cde (git): [rubygems/rubygems] rake man:build
https://github.com/rubygems/rubygems/commit/e0ef515732 hsbt (Hiroshi SHIBATA)
03:30 AM Revision 08753f20 (git): [rubygems/rubygems] Use https instead of http
https://github.com/rubygems/rubygems/commit/bcbe6f7b7a hsbt (Hiroshi SHIBATA)
02:55 AM Revision 081ee3d3 (git): Add memory leak test for eval kwargs
jhawthorn (John Hawthorn)
02:55 AM Revision 1c97abaa (git): 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
kwarg callsite had its own CI.
When calling, different CIs result in different CCs. These CIs an...
jhawthorn (John Hawthorn)
02:53 AM Bug #20285: Stale inline method caches when refinement modules are reopened
Fixed by https://github.com/ruby/ruby/pull/10037
I'll mark this as requiring a backport for 3.3, but I think there's probably minimal impact from this issue.
jhawthorn (John Hawthorn)
02:44 AM Bug #20285 (Closed): Stale inline method caches when refinement modules are reopened
This is essentially the same issue as #11672, but for inline method caches rather than class caches.
In Ruby 3.3 we started using inline caches for refinements. However, we weren't clearing inline caches when defined on a reopened ref...
jhawthorn (John Hawthorn)
02:00 AM Revision 2a6917b4 (git): Fix string value in hash literal being forced frozen
We should pass `false` for `hash_key` for value nodes. Credits to
`@kddnewton` for noticing and bisecting.
alanwu (Alan Wu)
01:57 AM Revision 5fb574ae (git): `rb_parser_warn_duplicate_keys` doesn't need to take care of NODE_LIT anymore
NODE_LIT is created only for `shareable_constant_value`.
This means hash key node is never NODE_LIT.
yui-knk (Kaneko Yuichiro)
01:23 AM Revision ce4142bc (git): YJIT: rb_str_concat_literals is not leaf (#10035)
k0kubun (Takashi Kokubun)
12:16 AM Revision 776dbbba (git): Remove hack for ripper.y generation
Before Rearchitect Ripper (89cfc15), parser and ripper used different
semantic value data type for same symbols.
"ext/ripper/tools/preproc.rb" replaced these types when it generated
ripper.y. Starting the line with other than `%token` su...
yui-knk (Kaneko Yuichiro)

02/20/2024

11:06 PM Revision e7ab5d89 (git): Introduce NODE_REGX to manage regexp literal
yui-knk (Kaneko Yuichiro)
10:39 PM Revision 97d4363d (git): [DOC] Improve docs for GC.latest_compact_info
peterzhu2118 (Peter Zhu)
09:53 PM Revision 35fdf1a6 (git): YJIT: Remove duplicate test
alanwu (Alan Wu)
09:53 PM Revision 8e109048 (git): YJIT: Fix calling leaf builtins with empty splat and kw_splat
These don't pass anything and just need to be popped off the stack.
https://github.com/ruby/ruby/actions/runs/7977363890/job/21780095289#step:13:104
alanwu (Alan Wu)
09:42 PM Revision 9216a2ac (git): YJIT: Verify the assumption of leaf C calls (#10002)
k0kubun (Takashi Kokubun)
09:10 PM Revision d4b4b53b (git): [DOC] Fix links in doc (#9970)
burdettelamar (Burdette Lamar)
08:09 PM Feature #20282: Enhancing Ruby's Coverage with Per-Test Coverage Reports
@anmarchenko I think you want to look into a C API called `rb_thread_add_event_hook`. You can use it to register your C hook function to be called for each specified event, e.g., line execution (RUBY_EVENT_LINE), method call (RUBY_EVENT_... mame (Yusuke Endoh)
12:04 PM Feature #20282: Enhancing Ruby's Coverage with Per-Test Coverage Reports
ioquatix (Samuel Williams) wrote:
> As Ruby applications grow in complexity, the need for more sophisticated testing and coverage analysis tools becomes paramount. Current coverage tools in Ruby offer a good starting point but fall shor...
anmarchenko (Andrey Marchenko)
08:47 AM Feature #20282: Enhancing Ruby's Coverage with Per-Test Coverage Reports
>Coverage.suspend and Coverage.resume does not work for multi-thread test runner unfortunately
Yes, I mentioned the issue when I propose `Coverage.resume/suspend` in https://bugs.ruby-lang.org/issues/18176#note-1. Per-thread coverage...
mame (Yusuke Endoh)
01:03 AM Feature #20282: Enhancing Ruby's Coverage with Per-Test Coverage Reports
`Coverage.suspend` and `Coverage.resume` does not work for multi-thread test runner unfortunately, unless there is something I'm missing. In my integration with `vscode` and `sus`, this can be a problem, as the test host can run multiple... ioquatix (Samuel Williams)
12:51 AM Feature #20282: Enhancing Ruby's Coverage with Per-Test Coverage Reports
`Coverage.resume` and `Coverage.suspend` were introduced for per-test coverage. You can use them as follows.
```ruby
# target.rb
def test1
p 1
end
def test2
p 2
end
```
```ruby
require "coverage"
Coverage.setup
...
mame (Yusuke Endoh)
06:59 PM Revision b3c13de8 (git): skip a test on non-UTF-8 locale
`ruby --parser=prism -W:no-experimental --dump=parsetree -e :hi` prints
non-ASCII char(s) so the following test with non UTF-8 locale fails.
```
$ LANG=C make test-all TESTS='-n /parser/ ruby/rubyoptions' -o encs -o exts
Run options:
...
ko1 (Koichi Sasada)
06:51 PM Bug #20180 (Closed): Inconsistent evaluation of `**{}` depending on position in array
Fixed by commit:77c1233f79a0f96a081b70da533fbbde4f3037fa. However, that adds an instruction, so the implementation is not backportable. To backport, use the change in https://github.com/ruby/ruby/pull/9624 jeremyevans0 (Jeremy Evans)
06:49 PM Bug #20229 (Closed): Empty keyword splat in array not removed in ARGSPUSH case
Committed as commit:77c1233f79a0f96a081b70da533fbbde4f3037fa jeremyevans0 (Jeremy Evans)
06:47 PM Revision 77c1233f (git): Add pushtoarraykwsplat instruction to avoid unnecessary array allocation
This is designed to replace the newarraykwsplat instruction, which is
no longer used in the parse.y compiler after this commit. This avoids
an unnecessary array allocation in the case where ARGSCAT is followed
by LIST with keyword:
```...
jeremyevans (Jeremy Evans)
06:29 PM Revision 2e2e3d89 (git): YJIT: Support `**nil` for cfuncs
Similar to the iseq call support. Fairly straight forward. alanwu (Alan Wu)
05:17 PM Bug #20258: Socket::IPV6_RECVERR for IPv6
`Socket::IPV6_MTU_DISCOVER` is also missing in the current Ruby version. marek22k (Marek Küthe)
05:13 PM Revision c0e5de95 (git): Fix the version in missing-baseruby
k0kubun (Takashi Kokubun)
03:59 PM Misc #20281: DevMeeting-2024-03-14
* [Feature #20265] Deprecate and remove rb_newobj and rb_newobj_of (peterzhu2118)
* These two APIs are difficult to use, fragile to use, and requires internal knowledge of internal implementation of data types in Ruby.
* The rb_new...
peterzhu2118 (Peter Zhu)
03:43 PM Misc #20281: DevMeeting-2024-03-14
* [Feature #20261] Add symbol synonyms for `''` (empty string) and `nil` for IO method line separator arguments (BurdetteLamar)
* For value `''` (read paragraph), add synonym `:paragraph`.
* For value `nil` (read all), add synonym `:...
burdettelamar (Burdette Lamar)
04:00 AM Misc #20281: DevMeeting-2024-03-14
Note: The next meeting will be held not only at P.M. but also at A.M. (09:00-12:00) in JST. We will try this time slot once for those who want to attend from the U.S. (It has not been decided if this slot will be permanent, though.) mame (Yusuke Endoh)
03:39 PM Revision c184aa87 (git): Use rb_gc_mark_and_move for imemo
peterzhu2118 (Peter Zhu)
03:36 PM Revision 20f03100 (git): [ruby/prism] Fix eval encoding switching to UTF-8
https://github.com/ruby/prism/commit/24e3ff5d6d kddnewton (Kevin Newton)
03:17 PM Misc #20238: Use prism for mk_builtin_loader.rb
Respectfully, I disagree. If we switch to prism for this now, then every time we want to bump the version of syntax that can be used in builtin files, it will involve changing a single line of code (the version that prism should support)... kddnewton (Kevin Newton)
02:56 PM Revision 835fa98a (git): Update warning flags before dump
nobu (Nobuyoshi Nakada)
02:31 PM Revision bcfcdae5 (git): [ruby/prism] Fix windows build checking for _POSIX_MAPPED_FILES
https://github.com/ruby/prism/commit/acf603603f kddnewton (Kevin Newton)
02:21 PM Revision f0a46c63 (git): [ruby/prism] Include unistd.h before cheching _POSIX_MAPPED_FILES
https://github.com/ruby/prism/commit/84b3c294f0 hasumikin (hitoshi hasumi)
02:21 PM Revision 15b53e90 (git): [ruby/prism] Use `_POSIX_MAPPED_FILES` and `_WIN32` to know if memory map interface is available in the target platform
https://github.com/ruby/prism/commit/88e2ff52d4 hasumikin (hitoshi hasumi)
01:30 PM Feature #19979: Allow methods to declare that they don't accept a block via `&nil`
Eregon (Benoit Daloze) wrote in #note-14:
> Is there any reason not to do #15554 instead?
> ...
+1
Dan0042 (Daniel DeLorme)
11:26 AM Feature #19979: Allow methods to declare that they don't accept a block via `&nil`
Is there any reason not to do #15554 instead?
This proposal requires manual effort to annotate methods, which feels to me very un-Ruby-like. #15554 is automatic.
Regarding `yield in eval` that's already discussed in #15554 and requir...
Eregon (Benoit Daloze)
10:40 AM Feature #19979: Allow methods to declare that they don't accept a block via `&nil`
https://github.com/nobu/ruby/tree/nil-blockarg nobu (Nobuyoshi Nakada)
09:03 AM Feature #19979: Allow methods to declare that they don't accept a block via `&nil`
How about introducing a magic comment like `# no_block_by_default: true`? Methods defined under this magic comment should raise an exception if a block is passed, unless they explicitly receive `&blk` or literally have `yield` keyword wi... mame (Yusuke Endoh)
02:47 AM Feature #19979: Allow methods to declare that they don't accept a block via `&nil`
Honestly, '&nil' isn't very appealing looking, but I'm willing to accept this suggestion because I was hoping for a way to explicitly indicate that a method won't accept a block. There is already an equally unattractive `**nil` notation ... matz (Yukihiro Matsumoto)
12:01 PM Bug #10436 (Closed): ruby -c and ripper inconsistency: m(&nil) {}
This is solved by https://bugs.ruby-lang.org/issues/20257 (https://github.com/ruby/ruby/pull/9923). yui-knk (Kaneko Yuichiro)
12:00 PM Bug #18988 (Closed): Ripper cannot parse some code that has regexp named capture
This is solved by https://bugs.ruby-lang.org/issues/20257 (https://github.com/ruby/ruby/pull/9923). yui-knk (Kaneko Yuichiro)
12:00 PM Bug #20055 (Closed): Ripper seems to skip some checks like `void value expression` and `duplicated variable name`
This is solved by https://bugs.ruby-lang.org/issues/20257 (https://github.com/ruby/ruby/pull/9923). yui-knk (Kaneko Yuichiro)
11:52 AM Revision c22cb960 (git): Use commit with Ruby 3.4 support
hsbt (Hiroshi SHIBATA)
11:16 AM Feature #18576: Rename `ASCII-8BIT` encoding to `BINARY`
`BINARY (ASCII-8BIT)` seems a good compromise.
The `/` seems potentially confusing for:
`incompatible character encodings: BINARY / ASCII-8BIT and EUC-JP (Encoding::CompatibilityError)`.
So I think using parenthesis is OK and cleare...
Eregon (Benoit Daloze)
07:51 AM Feature #18576: Rename `ASCII-8BIT` encoding to `BINARY`
```
>> "fée" + "fée".b
(irb):8:in `+': incompatible character encodings: UTF-8 and BINARY (ASCII-8BIT) (Encoding::CompatibilityError)
```
I don't mind `BINARY` being first or last. I'll adjust my PR.
As for the consecutive paren...
byroot (Jean Boussier)
11:14 AM Revision 386b956a (git): Remove never used method
nobu (Nobuyoshi Nakada)
11:14 AM Revision e3917fc7 (git): Remove no longer used methods
`find_object_in_recycled_slot` and `memory_location` have not been
used since commit:b99833baec2e567e38758f4fd017c90c7ce57d75.
nobu (Nobuyoshi Nakada)
11:05 AM Bug #20284: Regexp::TimeoutError is not triggered by a specific Regexp
mame (Yusuke Endoh) wrote in #note-1:
> Thanks for the report.
> ...
Got it, makes complete sense. A note in the docs about it would be helpful though.
jbeschi (jacopo beschi)
10:55 AM Bug #20284 (Feedback): Regexp::TimeoutError is not triggered by a specific Regexp
Thanks for the report.
This takes a long time in the preprocessing part before regexp matching. I think this process is O(n) for the length n of the input string. Since `Regexp.timeout=` is a countermeasure against super-linear behavi...
mame (Yusuke Endoh)
09:35 AM Bug #20284 (Feedback): Regexp::TimeoutError is not triggered by a specific Regexp
I've noticed that the Regexp::TimeoutError is not triggered for this Regexp:
```ruby
jacopo-37s-mb 3.3.0 ~ cat fail.rb
require 'benchmark'
p RUBY_DESCRIPTION
Regexp.timeout = 0.1
puts "Regexp.timeout: #{Regexp.timeout}"
re =...
jbeschi (jacopo beschi)
10:19 AM Revision 7cb8fd78 (git): Move ripper_validate_object to ripper_init.c.tmpl
yui-knk (Kaneko Yuichiro)
10:13 AM Revision fa3d6aaf (git): [ruby/uri] Use https instead of http
https://github.com/ruby/uri/commit/ad2591f0d1 hsbt (Hiroshi SHIBATA)
10:07 AM Revision 474f4188 (git): Suppress unused function warning for UNIVERSAL_PARSER build
Suppress the warning:
```
parse.y:2221:1: warning: unused function 'rb_parser_str_hash' [-Wunused-function]
2221 | rb_parser_str_hash(rb_parser_string_t *str)
| ^~~~~~~~~~~~~~~~~~
```
yui-knk (Kaneko Yuichiro)
10:02 AM Revision fba64708 (git): Remove uneeded Universal Parser properties
S_H_ (Shun Hiraoka)
08:34 AM Feature #20257 (Closed): Rearchitect Ripper
Applied in changeset commit:git|89cfc1520717257073012ec07105c551e4b8af7c.
----------
[Feature #20257] Rearchitect Ripper
Introduce another semantic value stack for Ripper so that
Ripper can manage both Node and Ruby Object separately.
...
yui-knk (Kaneko Yuichiro)
02:19 AM Feature #20257: Rearchitect Ripper
I am OK with it.
Matz.
matz (Yukihiro Matsumoto)
08:33 AM Revision 2a4b6ed3 (git): Workaround for `Prism::ParseTest#test_filepath` for "unparser/corpus/literal/def.txt"
See the discussion on https://github.com/ruby/ruby/pull/9923 yui-knk (Kaneko Yuichiro)
08:33 AM Revision 20dbc7a5 (git): Skip `test_filepath` of "unparser/corpus/literal/def.txt"
The previous commit changes Ripper lex state behavior of `tLABEL`.
For example, Ripper lex state for the second `bar` was changed
by the previous commit.
```
def foo(bar: bar())
end
```
Before the commit, Ripper didn’t add label `bar` ...
yui-knk (Kaneko Yuichiro)
08:33 AM Revision 89cfc152 (git): [Feature #20257] Rearchitect Ripper
Introduce another semantic value stack for Ripper so that
Ripper can manage both Node and Ruby Object separately.
This rearchitectutre of Ripper solves these issues.
Therefore adding test cases for them.
* [Bug 10436] https://bugs.ruby-...
yui-knk (Kaneko Yuichiro)
07:21 AM Bug #20043: `defined?` checks for method existence but only sometimes
In future, should we deprecate defined? usecase which return `expression`? ko1 (Koichi Sasada)
07:17 AM Revision a605234b (git): NEWS.md: Add a note for [Feature #16495] and [Feature #19117]
mame (Yusuke Endoh)
07:14 AM Bug #20283: Build failed since Ruby 3.2.3 if Xcode.app was renamed to space contained name.
It looks like 3.2.2 and earlier also have the same issue. I think the root problem is the below error, which indicates `$(MAKE)` are not quoted in Makefiles
```
ruby-3.3.0$ make srcs-enc V=1
file2lastrev.rb: does not seem to be under a ...
katei (Yuta Saito)
06:41 AM Bug #20283 (Open): Build failed since Ruby 3.2.3 if Xcode.app was renamed to space contained name.
When I renamed Xcode.app to space contained name (like `Xcode 15.2.0.app`), then I met build error with Ruby 3.2.3 and Ruby 3.3.0.
(Ruby 3.2.2 can be built with successfully.)
## How to reproduce
```
$ sudo mv /Applications/Xcode.a...
watson1978 (Shizuo Fujita)
07:07 AM Bug #20151: Can't build Ruby 3.1 on FreeBSD 14.0
@nobu found to fix this with https://github.com/ruby/ruby/commit/cfc564ac4049
hsbt (Hiroshi SHIBATA)
05:33 AM Revision f75b9dbf (git): [rubygems/rubygems] Keep Gem.install_extension_in_lib for compatibility
https://github.com/rubygems/rubygems/commit/b2bf239147 hsbt (Hiroshi SHIBATA)
05:33 AM Revision f2d45334 (git): [rubygems/rubygems] re-order util methods
https://github.com/rubygems/rubygems/commit/4b5eb7a02c hsbt (Hiroshi SHIBATA)
05:33 AM Revision 018261eb (git): [rubygems/rubygems] Added small tests
https://github.com/rubygems/rubygems/commit/08a245bdf8 hsbt (Hiroshi SHIBATA)
05:33 AM Revision a551d936 (git): [rubygems/rubygems] Now install extension in lib is true
https://github.com/rubygems/rubygems/commit/bbcad80772 hsbt (Hiroshi SHIBATA)
05:33 AM Revision 27501a55 (git): [rubygems/rubygems] Restore Gem.configuration during installation test
https://github.com/rubygems/rubygems/commit/bf7156968e hsbt (Hiroshi SHIBATA)
05:33 AM Revision 94dd4dc3 (git): [rubygems/rubygems] Gem.install_extension_in_lib is now under the Gem.configuration
https://github.com/rubygems/rubygems/commit/c394375b28 hsbt (Hiroshi SHIBATA)
05:33 AM Revision 83148f83 (git): [rubygems/rubygems] Allow to set install_extension_in_lib as Gem configuration
https://github.com/rubygems/rubygems/commit/c59d40f425 hsbt (Hiroshi SHIBATA)
04:15 AM Bug #20218: aset/masgn/op_asgn with keyword arguments
https://github.com/nobu/ruby/tree/ary_set-prohibited-args nobu (Nobuyoshi Nakada)
04:14 AM Revision 4e864d0a (git): Architecture-dependent files must not pollute libdir [ci skip]
Copying compiled binaries to libdir is a really evil practice. nobu (Nobuyoshi Nakada)
12:56 AM Revision cdf39ed6 (git): Don't sync prism.{so,bundle,dll} from `ruby/prism`
hsbt (Hiroshi SHIBATA)
 

Also available in: Atom